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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
    border: 0;
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

html {
    line-height: 1
}

@media(prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        -webkit-animation-duration: .01ms !important;
        animation-duration: .01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: .01ms !important;
        transition-duration: .01ms !important
    }
}

ol,
ul {
    list-style: none
}

li,
dd {
    list-style-type: none
}

em,
i {
    font-style: normal
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
    display: block
}

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

input,
button,
textarea,
select {
    background-color: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

input[type=number] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

textarea {
    resize: vertical;
    overflow: auto
}

button {
    cursor: pointer
}

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

table {
    border-collapse: collapse;
    border-spacing: 0
}

:root {
    --color-text: #313131;
    --color-primary: #58804c;
    --color-secondary: #dbb54a;
    --color-bg: #ffffff;
    --color-bg-dark: #434343;
    --color-bg-light: #f5f3f0;
    --color-reservation-bg: #ede9e6;
    --color-accent: #ac1515;
    --color-white: #fff;
    --color-black: #000
}

@-webkit-keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fade-in-down {
    from {
        opacity: 0;
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fade-in-down {
    from {
        opacity: 0;
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes fade-in-up {
    from {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes fade-in-left {
    from {
        opacity: 0;
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes fade-in-left {
    from {
        opacity: 0;
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes fade-in-right {
    from {
        opacity: 0;
        -webkit-transform: translateX(30px);
        transform: translateX(30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes fade-in-right {
    from {
        opacity: 0;
        -webkit-transform: translateX(30px);
        transform: translateX(30px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes fade-in-scale {
    from {
        opacity: 0;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes fade-in-scale {
    from {
        opacity: 0;
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes slide-in-down {
    from {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes slide-in-down {
    from {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes slide-in-up {
    from {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes slide-in-up {
    from {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes slide-out-up {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@keyframes slide-out-up {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@-webkit-keyframes slide-out-down {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@keyframes slide-out-down {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes pulse {

    0%,
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    50% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: .8
    }
}

@keyframes pulse {

    0%,
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    50% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: .8
    }
}

@-webkit-keyframes shake {

    0%,
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    25% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

    75% {
        -webkit-transform: translateX(5px);
        transform: translateX(5px)
    }
}

@keyframes shake {

    0%,
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    25% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }

    75% {
        -webkit-transform: translateX(5px);
        transform: translateX(5px)
    }
}

@media screen and (max-width: 2079px)and (min-width: 768px) {
    html {
        font-size: calc(16/2000*100vw)
    }
}

@media screen and (max-width: 389px) {
    html {
        font-size: calc(16/390*100vw)
    }
}

body {
    color: var(--color-text);
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-display: swap;
    background: var(--color-bg)
}

summary,
label,
button,
a {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    color: inherit
}

summary:focus,
label:focus,
button:focus,
a:focus {
    outline: none
}

summary:focus-visible,
label:focus-visible,
button:focus-visible,
a:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 2px
}

a {
    text-decoration: none
}

.mouse-mode a:hover:not(:disabled) {
    opacity: .7
}

button {
    font: inherit;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer
}

.mouse-mode button:hover:not(:disabled) {
    opacity: .7
}

button:disabled {
    cursor: not-allowed;
    opacity: .6
}

button:active:not(:disabled) {
    -webkit-transform: scale(0.98);
    transform: scale(0.98)
}

label {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.mouse-mode label:hover:not(:disabled) {
    opacity: .7
}

summary {
    cursor: pointer;
    list-style: none
}

summary::-webkit-details-marker {
    display: none
}

.mouse-mode summary:hover:not(:disabled) {
    opacity: .7
}

@media(prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        -webkit-animation-duration: .01ms !important;
        animation-duration: .01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }

    a,
    button,
    label,
    summary {
        -webkit-transition: none;
        transition: none
    }

    a:active,
    button:active,
    label:active,
    summary:active {
        -webkit-transform: none;
        transform: none
    }
}

picture,
img,
span {
    display: inline-block
}

video,
img,
svg {
    width: 100%;
    height: 100%
}

input,
textarea,
select {
    font: inherit
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 2px
}

dialog {
    padding: 0;
    border: none;
    border-radius: 1.25rem;
    -webkit-box-shadow: 0 1.5625rem 3.125rem rgba(0, 0, 0, .15);
    box-shadow: 0 1.5625rem 3.125rem rgba(0, 0, 0, .15);
    max-width: 43.75rem;
    width: 90%;
    max-height: 90vh;
    overflow: visible;
    background: rgba(0, 0, 0, 0)
}

dialog::-ms-backdrop {
    background: rgba(0, 0, 0, .5);
    backdrop-filter: blur(0.625rem);
    animation: fade-in .3s ease
}

dialog::backdrop {
    background: rgba(0, 0, 0, .5);
    backdrop-filter: blur(0.625rem);
    -webkit-animation: fade-in .3s ease;
    animation: fade-in .3s ease
}

dialog[open] {
    -webkit-animation: slide-in .3s ease;
    animation: slide-in .3s ease
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes slide-in {
    from {
        opacity: 0;
        -webkit-transform: translateY(-1.875rem);
        transform: translateY(-1.875rem)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes slide-in {
    from {
        opacity: 0;
        -webkit-transform: translateY(-1.875rem);
        transform: translateY(-1.875rem)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.l-header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 9.375rem;
    background: var(--color-white)
}

@media screen and (width < 768px) {
    .l-header {
        height: 3.75rem
    }
}

.l-drawer {
    position: fixed;
    z-index: 101;
    overflow-y: scroll;
    top: 0;
    right: 0;
    width: 20rem;
    height: 100vh;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: visibility .3s, opacity .3s ease;
    transition: visibility .3s, opacity .3s ease
}

.l-drawer.js-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto
}

@media screen and (width >=768px) {
    .l-drawer {
        display: none
    }
}

.l-container {
    position: relative;
    overflow: clip;
    width: 100%;
    height: 100%
}

.l-section-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (width < 768px) {
    .l-section-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.l-section-column__container {
    width: 50%
}

@media screen and (width < 768px) {
    .l-section-column__container {
        width: 100%
    }
}

.l-main {
    -webkit-margin-before: 9.375rem;
    margin-block-start: 9.375rem
}

@media screen and (width < 768px) {
    .l-main {
        -webkit-margin-before: 3.75rem;
        margin-block-start: 3.75rem
    }
}

.l-inner {
    position: relative;
    width: 100%;
    max-width: 2080px;
    height: inherit;
    padding: 0 2.5rem;
    margin-inline: auto
}

@media screen and (width < 768px) {
    .l-inner {
        width: 100%;
        max-width: 430px;
        padding: 0 1.25rem
    }
}

.l-inner__narrow {
    max-width: 105rem
}

@media screen and (width < 768px) {
    .l-inner__narrow {
        padding: 0 1.25rem;
        max-width: 430px
    }
}

.l-footer {
    background: url(../../../f-all/bg_footer.png) no-repeat center top/cover;
    padding-block: 6.25rem 9.375rem;
    -webkit-margin-after: 7.5rem;
    margin-block-end: 7.5rem
}

@media screen and (width < 768px) {
    .l-footer {
        padding-block: 3.125rem 5rem;
        -webkit-margin-after: 0;
        margin-block-end: 0
    }
}

.c-loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-bg);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 9999;
    cursor: pointer;
    -webkit-transition: opacity .6s cubic-bezier(0.4, 0, 0.2, 1), visibility .6s cubic-bezier(0.4, 0, 0.2, 1);
    transition: opacity .6s cubic-bezier(0.4, 0, 0.2, 1), visibility .6s cubic-bezier(0.4, 0, 0.2, 1)
}

.c-loading.js-loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.c-loading__content {
    text-align: center;
    -webkit-animation: fade-in-up .8s ease-out;
    animation: fade-in-up .8s ease-out
}

@media(prefers-reduced-motion: reduce) {
    .c-loading__content {
        -webkit-animation: none;
        animation: none
    }
}

.c-loading__logo {
    margin-bottom: 2rem
}

.c-loading__logo img {
    width: 28.125rem;
    height: auto
}

.c-loading__spinner {
    width: 3.75rem;
    height: 3.75rem;
    position: relative;
    margin: 0 auto 2rem
}

.c-loading__spinner-body {
    width: 100%;
    height: 100%;
    border: .1875rem solid rgba(0, 0, 0, .1);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    -webkit-animation: spin 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
    animation: spin 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite
}

@media(prefers-reduced-motion: reduce) {
    .c-loading__spinner-body {
        -webkit-animation: none;
        animation: none;
        border-top-color: rgba(0, 0, 0, 0);
        border-right-color: var(--color-primary)
    }
}

.c-loading__progress {
    width: min(12.5rem, 80vw);
    height: .25rem;
    background-color: rgba(0, 0, 0, .1);
    border-radius: .125rem;
    overflow: hidden;
    margin: 0 auto 1.5rem
}

.c-loading__progress-bar {
    height: 100%;
    background-color: var(--color-primary);
    border-radius: .125rem;
    -webkit-animation: progress 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation: progress 3s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@media(prefers-reduced-motion: reduce) {
    .c-loading__progress-bar {
        -webkit-animation: none;
        animation: none;
        width: 100%
    }
}

.c-loading__text {
    font-size: .875rem;
    -webkit-animation: pulse 2s ease-in-out infinite;
    animation: pulse 2s ease-in-out infinite
}

@media(prefers-reduced-motion: reduce) {
    .c-loading__text {
        -webkit-animation: none;
        animation: none
    }
}

.c-loading__skip {
    position: absolute;
    bottom: 2rem;
    font-size: .75rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: .5rem 1rem;
    border-radius: .25rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    text-decoration: underline;
    font-family: inherit
}

.mouse-mode .c-loading__skip:hover:not(:disabled) {
    color: var(--color-text);
    background-color: rgba(0, 0, 0, .05)
}

.c-loading__skip:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 2px
}

.mouse-mode .c-loading__skip:hover:not(:disabled) {
    color: var(--color-primary);
    background-color: hsla(0, 0%, 100%, .05)
}

@media screen and (width < 768px) {
    .c-loading {
        font-size: .6875rem;
        padding: .375rem .75rem
    }
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        -webkit-transform: translateY(1.25rem);
        transform: translateY(1.25rem)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes progress {
    from {
        width: 0%
    }

    to {
        width: 100%
    }
}

@keyframes progress {
    from {
        width: 0%
    }

    to {
        width: 100%
    }
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .5
    }
}

.c-section-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    row-gap: 1.125rem;
    -webkit-margin-after: 5rem;
    margin-block-end: 5rem
}

@media screen and (width < 768px) {
    .c-section-title {
        row-gap: .625rem;
        -webkit-margin-after: 2.5rem;
        margin-block-end: 2.5rem
    }
}

.c-section-title__ja {
    color: var(--color-primary);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2
}

@media screen and (width < 768px) {
    .c-section-title__ja {
        font-size: 1.75rem
    }
}

.c-section-title__en {
    color: var(--color-secondary);
    font-family: "EB Garamond", serif;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .06em
}

@media screen and (width < 768px) {
    .c-section-title__en {
        font-size: .875rem
    }
}

.c-title {
    text-align: center;
    color: var(--color-primary);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.5;
    -webkit-margin-after: 3.75rem;
    margin-block-end: 3.75rem
}

@media screen and (width < 768px) {
    .c-title {
        font-size: 1.5rem;
        -webkit-margin-after: 1.875rem;
        margin-block-end: 1.875rem
    }
}

.c-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: .8125rem 1.5rem .875rem;
    color: var(--color-white);
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: .06em;
    background: var(--color-primary)
}

@media screen and (width < 768px) {
    .c-btn {
        padding: .625rem 1rem .6875rem;
        font-size: 1rem
    }
}

.c-fade-in {
    translate: 0 1.25rem;
    opacity: 0;
    will-change: translate, opacity;
    -webkit-transform: translateY(1.25rem);
    transform: translateY(1.25rem);
    -webkit-transition: translate .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: translate .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: translate .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: translate .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.c-fade-in.js-show {
    translate: 0;
    opacity: 1;
    will-change: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

@media(prefers-reduced-motion: reduce) {
    .c-fade-in {
        -webkit-transition: none;
        transition: none
    }

    .c-fade-in.js-show {
        -webkit-transition: none;
        transition: none
    }
}

.p-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 9.375rem
}

@media screen and (width < 768px) {
    .p-header__inner {
        height: 3.75rem;
        max-width: 100%;
        width: 100%
    }
}

.p-header__logo {
    width: 28.125rem
}

@media screen and (width < 768px) {
    .p-header__logo {
        width: 12.5rem
    }
}

@media screen and (width < 768px) {
    .p-header__nav {
        display: none
    }
}

.p-header__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    row-gap: 1.25rem
}

.p-header__nav--main .p-header__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-header__nav--main .p-header__list li:last-child span {
    border-right: 1px solid var(--color-primary)
}

.p-header__nav--main .p-header__list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: .625rem
}

.p-header__nav--main .p-header__list li a img {
    width: 2rem;
    height: 2rem
}

.p-header__nav--main .p-header__list li a span {
    padding-inline: 1.5rem;
    color: var(--color-primary);
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: .06em;
    border-left: 1px solid var(--color-primary)
}

.p-header__nav--sub .p-header__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.p-header__nav--sub .p-header__link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: .25rem .625rem;
    color: var(--color-white);
    font-size: 1rem;
    border-radius: .1875rem;
    background: var(--color-primary);
    -webkit-margin-end: 1.875rem;
    margin-inline-end: 1.875rem
}

.p-drawer__icon {
    position: fixed;
    z-index: 104;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    top: 1.25rem;
    right: 1.25rem;
    width: 1.875rem;
    height: 1.25rem;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (width >=768px) {
    .p-drawer__icon {
        display: none
    }
}

.p-drawer__icon--bar {
    width: 100%;
    height: .125rem;
    background: var(--color-primary);
    border-radius: .3125rem;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-child(1) {
    rotate: 45deg;
    translate: 0 .5625rem
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-child(2) {
    opacity: 0
}

.p-drawer__icon.js-show .p-drawer__icon--bar:nth-child(3) {
    rotate: -45deg;
    translate: 0 -0.5625rem
}

.p-drawer {
    width: 100%;
    height: 100%
}

.p-drawer__overlay {
    position: fixed;
    z-index: 102;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    opacity: 0;
    pointer-events: none
}

.l-drawer.js-show .p-drawer__overlay {
    opacity: 1;
    pointer-events: none;
    cursor: pointer
}

.p-drawer__content {
    position: absolute;
    top: 0;
    right: 0;
    width: 20rem;
    height: 100%;
    padding: 5rem 1.25rem 5rem 3.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 2rem;
    background-color: var(--color-bg-light);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    overflow-y: auto;
    z-index: 103
}

.l-drawer.js-show .p-drawer__content {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.p-drawer__nav--main .p-drawer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 1.5rem
}

.p-drawer__nav--main .p-drawer__list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .75rem;
    -moz-column-gap: .75rem;
    column-gap: .75rem
}

.p-drawer__nav--main .p-drawer__list li a img {
    width: 1.5rem;
    height: 1.5rem
}

.p-drawer__nav--main .p-drawer__list li a span {
    color: var(--color-primary);
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: .06em
}

.p-drawer__nav--sub .p-drawer__list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 1rem
}

.p-drawer__nav--sub .p-drawer__link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: .25rem .625rem;
    color: var(--color-white);
    font-size: 1rem;
    border-radius: .1875rem;
    background: var(--color-primary)
}

.p-drawer__nav--sub .p-drawer__sns-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: .3125rem;
    -moz-column-gap: .3125rem;
    column-gap: .3125rem
}

.p-footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (width < 768px) {
    .p-footer__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

.p-footer__logo {
    width: 28.125rem
}

@media screen and (width < 768px) {
    .p-footer__logo {
        width: 15.625rem
    }
}

.p-footer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    row-gap: 1.25rem
}

@media screen and (width < 768px) {
    .p-footer__content {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        row-gap: 1.875rem
    }
}

.p-footer__nav--main .p-footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (width < 768px) {
    .p-footer__nav--main .p-footer__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 1rem
    }
}

.p-footer__nav--main .p-footer__list li:last-child {
    border-right: 1px solid var(--color-text)
}

@media screen and (width < 768px) {
    .p-footer__nav--main .p-footer__list li:last-child {
        border-right: none
    }
}

.p-footer__nav--main .p-footer__list li a {
    font-size: 1.25rem;
    letter-spacing: .06em;
    line-height: 1;
    padding-inline: 2rem;
    border-left: 1px solid var(--color-text)
}

@media screen and (width < 768px) {
    .p-footer__nav--main .p-footer__list li a {
        font-size: 1rem;
        padding-inline: 0;
        border-left: none
    }
}

.p-footer__nav--sub .p-footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (width < 768px) {
    .p-footer__nav--sub .p-footer__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 1rem
    }
}

.p-footer__nav--sub .p-footer__list .p-footer__link a {
    -webkit-margin-end: 1.5rem;
    margin-inline-end: 1.5rem;
    display: inline-block;
    padding: .3125rem .625rem .25rem .625rem;
    color: var(--color-white);
    font-size: 1rem;
    border-radius: .1875rem;
    background: var(--color-bg-dark)
}

@media screen and (width < 768px) {
    .p-footer__nav--sub .p-footer__list .p-footer__link a {
        -webkit-margin-end: 0;
        margin-inline-end: 0;
        font-size: .875rem
    }
}

.p-footer__nav--sub .p-footer__list .p-footer__sns-link .u-icon-instagram {
    background-image: url("../../../f-all/icon_instagram_footer.png")
}

.p-footer__nav--sub .p-footer__list .p-footer__sns-link .u-icon-facebook {
    background-image: url("../../../f-all/icon_facebook_footer.png")
}

.p-reservation {
    position: relative;
    z-index: 2
}

.p-reservation::before {
    content: "";
    position: absolute;
    top: 9.75rem;
    left: 0;
    width: 13.5625rem;
    height: 17.625rem;
    background: url(../../f-index/deco_reservation01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    .p-reservation::before {
        display: none
    }
}

.p-reservation::after {
    content: "";
    position: absolute;
    bottom: -5.75rem;
    right: 0;
    width: 12.75rem;
    height: 16.3125rem;
    background: url(../../f-index/deco_reservation02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    .p-reservation::after {
        display: none
    }
}

.p-reservation__inner {
    padding-block: 7.5rem;
    max-width: 62.5rem
}

@media screen and (width < 768px) {
    .p-reservation__inner {
        width: 100%;
        max-width: 430px;
        padding: 3.75rem 1.25rem;
        margin-inline: auto;
        height: inherit
    }
}

.p-reservation__container {
    padding: 2.5rem 5.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: .625rem;
    background: var(--color-reservation-bg);
    border: 1px solid var(--color-primary)
}

@media screen and (width < 768px) {
    .p-reservation__container {
        padding: 1.875rem 1rem;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.p-reservation__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    .p-reservation__items {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: left;
        -ms-flex-pack: left;
        justify-content: left;
        row-gap: .625rem
    }
}

.p-reservation__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: .625rem
}

@media screen and (width < 768px) {
    .p-reservation__item {
        width: 100%
    }

    .p-reservation__item:first-child {
        width: 100%
    }

    .p-reservation__item:not(:first-child) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

.p-reservation__item>span {
    color: #1a1a1a;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .02em;
    white-space: nowrap
}

@media screen and (width < 768px) {
    .p-reservation__item>span {
        font-size: .875rem
    }
}

.p-reservation__item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .3125rem;
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    cursor: auto
}

.mouse-mode .p-reservation__item label:hover:not(:disabled) {
    opacity: 1
}

.p-reservation__item label>span {
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: .08em;
    white-space: nowrap
}

.p-reservation__item--adults {
    -webkit-margin-start: 0;
    margin-inline-start: 0
}

.p-reservation__item--meals {
    -webkit-margin-start: 0;
    margin-inline-start: 0
}

.p-reservation__selects {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .625rem;
    -moz-column-gap: .625rem;
    column-gap: .625rem
}

.p-reservation__select {
    display: inline-block;
    position: relative
}

.p-reservation__select::after {
    content: "";
    position: absolute;
    top: 1.25rem;
    right: .75rem;
    width: .625rem;
    height: .625rem;
    border-right: .125rem solid #1a1a1a;
    border-bottom: .125rem solid #1a1a1a;
    rotate: 45deg;
    pointer-events: none
}

@media screen and (width < 768px) {
    .p-reservation__select::after {
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: .5rem;
        width: .375rem;
        height: .375rem;
        border-right: .09375rem solid var(--color-text);
        border-bottom: .09375rem solid var(--color-text)
    }
}

.p-reservation__select select {
    padding: .9375rem 1.875rem .9375rem .625rem;
    color: #1a1a1a;
    font-size: 1.2rem;
    background: var(--color-white);
    border: .0625rem solid #1a1a1a;
    border-radius: .125rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-transition: border-color .2s;
    transition: border-color .2s
}

.p-reservation__select select:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-color: var(--color-primary)
}

.mouse-mode .p-reservation__select select:hover:not(:disabled) {
    border-color: var(--color-primary)
}

@media screen and (width < 768px) {
    .p-reservation__select select {
        padding: .625rem 1.25rem .4375rem .5rem;
        font-size: .875rem
    }
}

.p-reservation__nodate {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .3125rem;
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    cursor: pointer !important
}

.mouse-mode .p-reservation__nodate:hover:not(:disabled) {
    opacity: .7 !important
}

.p-reservation__nodate input[type=checkbox] {
    margin: .3125rem 0 0;
    width: 1.5625rem;
    height: 1.5625rem;
    background: var(--color-white);
    border: .0625rem solid #1a1a1a;
    border-radius: .125rem;
    position: relative;
    cursor: pointer
}

.p-reservation__nodate input[type=checkbox]:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px
}

@media screen and (width < 768px) {
    .p-reservation__nodate input[type=checkbox] {
        width: 1rem;
        height: 1rem;
        margin: .1875rem 0 0
    }
}

.p-reservation__nodate input[type=checkbox]:checked {
    background: var(--color-primary);
    border-color: var(--color-primary)
}

.p-reservation__nodate input[type=checkbox]:checked::after {
    content: "";
    position: absolute;
    top: .1875rem;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    width: .5rem;
    height: .875rem;
    border-right: .125rem solid var(--color-white);
    border-bottom: .125rem solid var(--color-white)
}

@media screen and (width < 768px) {
    .p-reservation__nodate input[type=checkbox]:checked::after {
        top: .125rem;
        width: .375rem;
        height: .625rem;
        border-right: .125rem solid var(--color-secondary);
        border-bottom: .125rem solid var(--color-secondary)
    }
}

.p-reservation__nodate span {
    color: #1a1a1a !important;
    font-size: 1.2rem !important;
    font-weight: 500
}

@media screen and (width < 768px) {
    .p-reservation__nodate span {
        font-size: .875rem !important
    }
}

.p-reservation__btn {
    -webkit-margin-before: 1.5625rem;
    margin-block-start: 1.5625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

@media screen and (width < 768px) {
    .p-reservation__btn {
        -webkit-column-gap: .5rem;
        -moz-column-gap: .5rem;
        column-gap: .5rem
    }
}

.p-reservation__btn-search {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 15.7rem;
    height: 4rem;
    padding-inline: 3rem 2.1875rem;
    color: var(--color-white);
    font-size: 1.35rem;
    font-weight: 700;
    background: var(--color-secondary);
    border-radius: .25rem;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative
}

.p-reservation__btn-search::after {
    content: "";
    position: absolute;
    top: 1.75rem;
    left: 1.5625rem;
    width: 1rem;
    height: .625rem;
    background: var(--color-white);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.p-reservation__btn-search--primary {
    background: var(--color-primary)
}

.mouse-mode .p-reservation__btn-search:hover:not(:disabled) {
    opacity: .8;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2);
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2)
}

.p-reservation__btn-search:active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

@media screen and (width < 768px) {
    .p-reservation__btn-search {
        min-width: 6.25rem;
        height: 2.5rem;
        font-size: .75rem;
        padding-inline: .625rem
    }

    .p-reservation__btn-search::after {
        display: none
    }
}

.p-reservation__btn-link {
    color: var(--color-accent);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    -webkit-transition: opacity .2s;
    transition: opacity .2s
}

.mouse-mode .p-reservation__btn-link:hover:not(:disabled) {
    opacity: .7
}

@media screen and (width < 768px) {
    .p-reservation__btn-link {
        font-size: .75rem
    }
}

.p-page-head__inner {
    width: 120.9375rem;
    height: 28.125rem;
    margin: 0 auto;
    position: relative
}

@media screen and (width < 768px) {
    .p-page-head__inner {
        max-width: 100%;
        height: 12.5rem
    }
}

.p-page-head__title {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 3.75rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--color-white);
    white-space: nowrap;
    z-index: 2
}

@media screen and (width < 768px) {
    .p-page-head__title {
        font-size: 1.5rem
    }
}

.p-page-head__image {
    width: 100%;
    height: 100%;
    border-radius: .625rem;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    position: relative
}

.p-page-head__image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .4);
    border-radius: .625rem
}

#p-garden .p-page-head__image {
    background-image: url(../../f-garden/bg_garden_mv.png)
}

#p-about .p-page-head__image {
    background-image: url(../../f-about/bg_about_mv.jpg)
}

#p-rooms .p-page-head__image {
    background-image: url(../../f-rooms/bg_rooms_mv.jpg)
}

#p-sightseeing .p-page-head__image {
    background-image: url(../../f-sightseeing/bg_sightseeing_mv.jpg)
}

#p-contact .p-page-head__image {
    background-image: url(../../f-about/bg_about_mv.jpg)
}

.p-page-top {
    position: fixed;
    bottom: 9.375rem;
    right: 1.25rem;
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    background-color: var(--color-text);
    border-radius: 50%;
    text-decoration: none;
    -webkit-box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .2);
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .2);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
}

@media screen and (width < 768px) {
    .p-page-top {
        bottom: .625rem;
        right: .625rem;
        width: 3.125rem;
        height: 3.125rem
    }
}

.p-page-top.js-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.mouse-mode .p-page-top:hover:not(:disabled) {
    opacity: 1;
    background-color: var(--color-secondary);
    -webkit-transform: translateY(-0.125rem);
    transform: translateY(-0.125rem);
    -webkit-box-shadow: 0 .125rem .75rem rgba(0, 0, 0, .3);
    box-shadow: 0 .125rem .75rem rgba(0, 0, 0, .3)
}

.p-page-top:focus {
    background-color: var(--color-secondary);
    -webkit-transform: translateY(-0.125rem);
    transform: translateY(-0.125rem);
    -webkit-box-shadow: 0 .125rem .75rem rgba(0, 0, 0, .3);
    box-shadow: 0 .125rem .75rem rgba(0, 0, 0, .3);
    outline: 3px solid var(--color-secondary);
    outline-offset: 2px
}

.p-page-top:active {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .2);
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .2)
}

.p-page-top__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .25rem
}

.p-page-top__arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 .5rem .75rem;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) var(--color-white);
    margin-bottom: .125rem
}

@media screen and (width < 768px) {
    .p-page-top__arrow {
        border-width: 0 .375rem .625rem
    }
}

.p-page-top__text {
    color: var(--color-white);
    font-size: .75rem;
    font-weight: bold;
    letter-spacing: .05em
}

@media screen and (width < 768px) {
    .p-page-top__text {
        font-size: .625rem
    }
}

@media(prefers-contrast: high) {
    .p-page-top {
        border: 2px solid currentcolor
    }
}

@media(prefers-reduced-motion: reduce) {
    .p-page-top {
        -webkit-transition: opacity .3s ease, visibility .3s ease;
        transition: opacity .3s ease, visibility .3s ease
    }

    .p-page-top.js-show {
        -webkit-transform: none;
        transform: none
    }

    .p-page-top:hover,
    .p-page-top:focus {
        -webkit-transform: none;
        transform: none
    }
}

.p-fixed-area {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #ccc5b3;
    -webkit-box-shadow: 0 -0.25rem 1.25rem rgba(0, 0, 0, .15);
    box-shadow: 0 -0.25rem 1.25rem rgba(0, 0, 0, .15);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: -webkit-transform .4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform .4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none
}

.p-fixed-area.js-show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto
}

@media screen and (width < 768px) {
    .p-fixed-area {
        display: none
    }
}

.p-fixed-area__container {
    max-width: 94rem;
    margin-inline: auto;
    padding: 1.25rem 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem
}

.p-fixed-area__title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--color-text)
}

.p-fixed-area__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.p-fixed-area__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: .625rem
}

.p-fixed-area__item>span {
    color: #1a1a1a;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .03em;
    white-space: nowrap
}

.p-fixed-area__item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    cursor: auto
}

.mouse-mode .p-fixed-area__item label:hover:not(:disabled) {
    opacity: 1
}

.p-fixed-area__item label>span {
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: .08em;
    white-space: nowrap
}

.p-fixed-area__item--adults {
    -webkit-margin-start: 0;
    margin-inline-start: 0
}

.p-fixed-area__selects {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .625rem;
    -moz-column-gap: .625rem;
    column-gap: .625rem
}

.p-fixed-area__select {
    display: inline-block;
    position: relative
}

.p-fixed-area__select::after {
    content: "";
    position: absolute;
    top: .95rem;
    right: .75rem;
    width: .625rem;
    height: .625rem;
    border-right: .125rem solid #1a1a1a;
    border-bottom: .125rem solid #1a1a1a;
    rotate: 45deg;
    pointer-events: none
}

.p-fixed-area__select select {
    padding: .7375rem 2.1875rem .7375rem .625rem;
    color: #1a1a1a;
    font-size: 1.1rem;
    background: var(--color-white);
    border: .0625rem solid #1a1a1a;
    border-radius: .125rem;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-transition: border-color .2s;
    transition: border-color .2s
}

.p-fixed-area__select select:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
    border-color: var(--color-primary)
}

.mouse-mode .p-fixed-area__select select:hover:not(:disabled) {
    border-color: var(--color-primary)
}

.p-fixed-area__nodate {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: .3125rem;
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    cursor: pointer !important
}

.mouse-mode .p-fixed-area__nodate:hover:not(:disabled) {
    opacity: .7 !important
}

.p-fixed-area__nodate input[type=checkbox] {
    margin: .3125rem 0 0;
    width: 1.5625rem;
    height: 1.5625rem;
    background: var(--color-white);
    border: .0625rem solid #1a1a1a;
    border-radius: .125rem;
    position: relative;
    cursor: pointer
}

.p-fixed-area__nodate input[type=checkbox]:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px
}

.p-fixed-area__nodate input[type=checkbox]:checked {
    background: var(--color-primary);
    border-color: var(--color-primary)
}

.p-fixed-area__nodate input[type=checkbox]:checked::after {
    content: "";
    position: absolute;
    top: .1875rem;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    width: .5rem;
    height: .875rem;
    border-right: .125rem solid var(--color-white);
    border-bottom: .125rem solid var(--color-white)
}

.p-fixed-area__nodate span {
    color: #1a1a1a !important;
    font-size: 1.1rem !important;
    font-weight: 500
}

.p-fixed-area__btn {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

.p-fixed-area__btn-search {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 16rem;
    height: 3.6875rem;
    padding-inline: 3.375rem 2.8125rem;
    color: var(--color-white);
    font-size: 1.2rem;
    font-weight: 700;
    background: var(--color-text);
    border-radius: .25rem;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative
}

.p-fixed-area__btn-search::after {
    content: "";
    position: absolute;
    top: 1.5rem;
    left: 2.5rem;
    width: 1rem;
    height: .625rem;
    background: var(--color-white);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.p-fixed-area__btn-search--primary {
    background: var(--color-primary)
}

.mouse-mode .p-fixed-area__btn-search:hover:not(:disabled) {
    opacity: .8;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
    -webkit-box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2);
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2)
}

.p-fixed-area__btn-search:active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.p-fixed-area__btn-link {
    color: var(--color-accent);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    -webkit-transition: opacity .2s;
    transition: opacity .2s
}

.mouse-mode .p-fixed-area__btn-link:hover:not(:disabled) {
    opacity: .7
}

@media screen and (width < 768px) {
    #p-top .p-mv__inner {
        padding-block: .625rem;
        max-width: 100%
    }
}

@media screen and (width < 768px) {
    #p-top .p-mv__image {
        height: 12.5rem
    }

    #p-top .p-mv__image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        border-radius: .625rem
    }
}

#p-top .p-news {
    background: url(../../img/bg_news.png) no-repeat center/cover;
    position: relative
}

#p-top .p-news::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    left: -1.4375rem;
    width: 19.3125rem;
    height: 22.5625rem;
    background: url(../../f-index/deco_news01.png) no-repeat center/contain;
    z-index: -1
}

@media screen and (width < 768px) {
    #p-top .p-news::before {
        width: 9.375rem;
        height: 10.9375rem;
        top: -0.9375rem;
        left: -0.75rem
    }
}

#p-top .p-news::after {
    content: "";
    position: absolute;
    bottom: 2.1875rem;
    left: -0.625rem;
    width: 10.1875rem;
    height: 18.875rem;
    background: url(../../f-index/deco_news02.png) no-repeat center/contain;
    z-index: -1
}

@media screen and (width < 768px) {
    #p-top .p-news::after {
        display: none
    }
}

#p-top .p-news__inner {
    padding: 4.375rem 3.125rem 3.75rem
}

@media screen and (width < 768px) {
    #p-top .p-news__inner {
        width: 100%;
        max-width: 430px;
        padding: 3.75rem 1.25rem;
        margin-inline: auto;
        height: inherit
    }
}

#p-top .p-news__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: masonry;
    gap: 3.125rem 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-news__items {
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#p-top .p-news__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 0
}

#p-top .p-news__item-image {
    width: 100%;
    aspect-ratio: 270/190;
    overflow: hidden
}

#p-top .p-news__item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

#p-top .p-news__item-body {
    -webkit-padding-before: 1.25rem;
    padding-block-start: 1.25rem;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2
}

@media screen and (width < 768px) {
    #p-top .p-news__item-body {
        -webkit-padding-before: .625rem;
        padding-block-start: .625rem
    }
}

#p-top .p-news__item-text {
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.4;
    -webkit-margin-after: 1.5rem;
    margin-block-end: 1.5rem
}

@media screen and (width < 768px) {
    #p-top .p-news__item-text {
        font-size: 1rem;
        -webkit-margin-after: 1.25rem;
        margin-block-end: 1.25rem
    }
}

#p-top .p-news__item-link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    padding: 0 2.5rem .3125rem .3125rem;
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: .06em;
    position: relative
}

@media screen and (width < 768px) {
    #p-top .p-news__item-link {
        font-size: 1rem;
        padding: 0 1.875rem .3125rem .3125rem
    }
}

#p-top .p-news__item-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9375rem;
    background: url(../../f-all/icon_arrow.png) no-repeat bottom right/contain
}

@media screen and (width < 768px) {
    #p-top .p-news__item-link::after {
        height: .625rem
    }
}

#p-top .p-news__btn {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-top .p-news__btn {
        -webkit-margin-before: 3.75rem;
        margin-block-start: 3.75rem
    }
}

#p-top .p-instagram {
    background: url(../../f-index/bg_instagram.png) no-repeat bottom right/cover
}

@media screen and (width < 768px) {
    #p-top .p-instagram {
        background-position: center
    }
}

#p-top .p-instagram__inner {
    padding: 3.75rem 6.25rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__inner {
        width: 100%;
        max-width: 430px;
        padding: 3.75rem 1.25rem;
        margin-inline: auto;
        height: inherit
    }
}

#p-top .p-instagram__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    row-gap: .9375rem;
    -webkit-margin-after: 5rem;
    margin-block-end: 5rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__title {
        row-gap: .625rem;
        -webkit-margin-after: 3.125rem;
        margin-block-end: 3.125rem
    }
}

#p-top .p-instagram__title-en {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-column-gap: .625rem;
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    color: var(--color-primary);
    font-family: "EB Garamond", serif;
    font-size: 3.4375rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__title-en {
        font-size: 2.5rem
    }
}

#p-top .p-instagram__title-en img {
    width: 2.5rem;
    height: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__title-en img {
        width: 1.875rem;
        height: 1.875rem
    }
}

#p-top .p-instagram__title-ja {
    color: var(--color-secondary);
    font-size: .875rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__title-ja {
        font-size: .75rem
    }
}

#p-top .p-instagram__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 3.125rem
}

@media screen and (width < 768px) {
    #p-top .p-instagram__items {
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#p-top .p-instagram__item {
    width: 100%
}

#p-top .p-instagram__item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

#p-top .p-instagram__btn {
    -webkit-margin-before: 8.125rem;
    margin-block-start: 8.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-top .p-instagram__btn {
        -webkit-margin-before: 3.75rem;
        margin-block-start: 3.75rem
    }
}

#p-top .p-garden-head {
    width: 100%;
    height: 26.875rem;
    margin-inline: auto;
    background: url(../../f-index/bg_garden_head.png) no-repeat center/cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-top .p-garden-head {
        height: 15.625rem
    }
}

#p-top .p-garden-head__title {
    width: 33.125rem;
    height: 31.25rem;
    z-index: 2
}

@media screen and (width < 768px) {
    #p-top .p-garden-head__title {
        width: 18.75rem;
        height: 17.5rem;
        position: relative
    }
}

#p-top .p-garden-head__title img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

#p-top .p-garden-body {
    background: url(../../f-index/bg_garden_vegetable.png) no-repeat center/cover;
    position: relative
}

#p-top .p-garden-body__inner {
    padding: 3.125rem 6.25rem 0
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__inner {
        width: 100%;
        max-width: 430px;
        padding: 3.75rem 1.25rem;
        margin-inline: auto;
        height: inherit
    }
}

#p-top .p-garden-body::before {
    content: "";
    position: absolute;
    top: 4.375rem;
    left: -2.125rem;
    width: 13.8125rem;
    height: 15.0625rem;
    background: url(../../f-index/deco_garden_body01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-garden-body::before {
        display: none
    }
}

#p-top .p-garden-body::after {
    content: "";
    position: absolute;
    top: 23.75rem;
    right: -2.125rem;
    width: 17.75rem;
    height: 23.125rem;
    background: url(../../f-index/deco_garden_body02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-garden-body::after {
        display: none
    }
}

#p-top .p-garden-body__wrap {
    max-width: 112.5rem;
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        row-gap: 1.875rem
    }
}

#p-top .p-garden-body__main-image {
    width: 54.375rem
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__main-image {
        width: 100%
    }
}

#p-top .p-garden-body__content {
    width: calc(100% - 54.375rem)
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__content {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        row-gap: 1.25rem
    }
}

#p-top .p-garden-body__sub-image {
    width: 56.25rem
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__sub-image {
        width: 100%
    }
}

#p-top .p-garden-body__text-wrap {
    -webkit-margin-before: .625rem;
    margin-block-start: .625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__text-wrap {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        -webkit-column-gap: .625rem;
        -moz-column-gap: .625rem;
        column-gap: .625rem;
        position: relative
    }
}

#p-top .p-garden-body__text {
    -webkit-margin-before: 3.125rem;
    margin-block-start: 3.125rem;
    width: 25rem;
    font-size: 1.125rem;
    line-height: 1.8
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__text {
        width: 65%;
        -webkit-margin-before: 0;
        margin-block-start: 0;
        font-size: 1rem
    }
}

#p-top .p-garden-body__people {
    width: 28.75rem
}

@media screen and (width < 768px) {
    #p-top .p-garden-body__people {
        width: 70%;
        position: absolute;
        bottom: 1.25rem;
        right: -7.5rem
    }

    #p-top .p-garden-body__people img {
        width: 9.375rem;
        height: auto
    }
}

#p-top .p-garden-foot {
    max-width: 125rem;
    margin-inline: auto;
    padding: 7.5rem 12.5rem 4.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    position: relative
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        row-gap: 2.5rem;
        padding: 3.75rem 1.25rem
    }
}

#p-top .p-garden-foot::before {
    content: "";
    position: absolute;
    top: 14.375rem;
    right: -0.3125rem;
    width: 15rem;
    height: 19.625rem;
    background: url(../../f-index/deco_garden_foot.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot::before {
        display: none
    }
}

#p-top .p-garden-foot__image {
    width: 70.625rem
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot__image {
        width: 100%
    }
}

#p-top .p-garden-foot__content {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    width: calc(100% - 70.625rem - 2.5rem)
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot__content {
        width: 100%;
        -webkit-margin-before: 0;
        margin-block-start: 0
    }
}

#p-top .p-garden-foot__title {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot__title {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

#p-top .p-garden-foot__menu {
    font-size: 1.875rem;
    font-weight: 500;
    letter-spacing: .06em
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot__menu {
        font-size: 1.25rem;
        text-align: center
    }
}

#p-top .p-garden-foot__menu-list {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    font-size: 1.125rem;
    line-height: 2.4
}

@media screen and (width < 768px) {
    #p-top .p-garden-foot__menu-list {
        -webkit-margin-before: 1.25rem;
        margin-block-start: 1.25rem;
        font-size: 1rem;
        line-height: 2.1;
        text-align: center
    }
}








#p-top .p-map__inner {
    padding-inline: 0rem
}

#p-top .p-map__content {
    padding: 7.5rem 7.5rem
}

@media screen and (width < 768px) {
    #p-top .p-map__content {
        padding: 3.75rem 1.25rem
    }
}

#p-top .p-map__content--reverse {
    background: url(../../f-about/bg_about.png) no-repeat center/cover;
    position: relative
}

#p-top .p-map__content--reverse::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: url(../../f-about/bg_about.png) no-repeat center/cover;
    z-index: -1
}

#p-top .p-map__content--reverse .p-map__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media screen and (width < 768px) {
    #p-top .p-map__content--reverse .p-map__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

/* #p-top .p-map__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 6.25rem;
    -moz-column-gap: 6.25rem;
    column-gap: 6.25rem
}

@media screen and (width < 768px) {
    #p-top .p-map__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem;
        position: relative
    }
} */

#p-top .p-map__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

@media screen and (width < 768px) {
    #p-top .p-map__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}


#p-top .p-map__text-wrap {
    width: calc(100% - 56.25rem - 6.25rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-map__text-wrap {
        width: 100%;
        row-gap: 1.25rem
    }
}

#p-top .p-info__inner {
    padding-inline: 0rem;
}

#p-top .p-info__content {
    padding: 7.5rem 7.5rem;
}

#p-top .p-info__wrap {
    display: flex;
    align-items: flex-start; /* 上揃え */
    column-gap: 3.75rem;
}

@media screen and (width < 768px) {
    #p-top .p-info__content {
    padding: 4.5rem 1.5rem;
    }
    #p-top .p-info__wrap {
        flex-direction: column;
        row-gap: 2.5rem;
    }
}

/* 左右を50%ずつ */
#p-top .p-info__text-wrap,
#p-top .p-info__main-image {
    flex: 1;
}

/* 左側（テキスト） */
#p-top .p-info__text-wrap {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem;
}

#p-top .p-info__text-wrap h2 {
  margin-bottom: 0 !important;
}


/* SP時 */
@media screen and (width < 768px) {
    #p-top .p-info__text-wrap {
        width: 100%;
        row-gap: 1.25rem;
    }
}

@media screen and (width < 768px) {
    #p-top .p-info__main-image {
        width: 100%;
    }
}

#p-top .p-info__time {
    padding: 1.25rem;
    font-size: 1.5rem;
    text-align: center;
    line-height: 1.8;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary)
}

@media screen and (width < 768px) {
    #p-top .p-info__time {
        -webkit-margin-before: 1.875rem;
        margin-block-start: 1.875rem;
        font-size: 1.125rem;
        text-align: center;
        padding: 1rem
    }
}

#p-top .p-news__text {
    -webkit-margin-before: .75rem;
    margin-block-start: .75rem;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: left
}

@media screen and (width < 768px) {
    #p-top .p-news__text {
        font-size: .875rem
    }
}


#p-top .p-map__text {
    font-size: 1.125rem;
    line-height: 2.4;
    text-align: center
}

@media screen and (width < 768px) {
    #p-top .p-map__text {
        font-size: 1rem;
        line-height: 2.1
    }
}

#p-top .p-map__sub-image {
    width: 80%
}

@media screen and (width < 768px) {
    #p-top .p-map__sub-image {
        width: 40%;
        position: absolute;
        bottom: -3.125rem;
        right: -0.625rem
    }
}

#p-top .p-map__main-image {
    width: 62.5rem
}

@media screen and (width < 768px) {
    #p-top .p-map__main-image {
        width: 100%
    }
}








#p-top .p-plan {
    background: url(../../f-index/bg_plan.png) no-repeat center/cover;
    position: relative
}

#p-top .p-plan::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    right: -0.3125rem;
    width: 19.3125rem;
    height: 22.5625rem;
    background: url(../../f-index/deco_plan01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-plan::before {
        width: 9.375rem;
        height: 10.9375rem;
        top: -0.625rem;
        right: -0.125rem
    }
}

#p-top .p-plan::after {
    content: "";
    position: absolute;
    bottom: 4.375rem;
    left: -0.625rem;
    width: 12.8125rem;
    height: 20.875rem;
    background: url(../../f-index/deco_plan02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-plan::after {
        display: none
    }
}

#p-top .p-plan__inner {
    padding-block: 6.25rem 7.5rem
}

@media screen and (width < 768px) {
    #p-top .p-plan__inner {
        padding-block: 3.75rem
    }
}

#p-top .p-plan__items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-plan__items {
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#p-top .p-plan__item-body {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-plan__item-body {
        -webkit-margin-before: .625rem;
        margin-block-start: .625rem;
        row-gap: 1.25rem
    }
}

#p-top .p-plan__item-text {
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5
}

@media screen and (width < 768px) {
    #p-top .p-plan__item-text {
        font-size: 1rem
    }
}

#p-top .p-room {
    background: url(../../f-index/bg_room.png) no-repeat center/cover;
    position: relative
}

#p-top .p-room::before {
    content: "";
    position: absolute;
    top: 3.75rem;
    left: -0.625rem;
    width: 22.4375rem;
    height: 26.1875rem;
    background: url(../../f-index/deco_room01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-room::before {
        display: none
    }
}

#p-top .p-room::after {
    content: "";
    position: absolute;
    top: 4.375rem;
    right: -0.3125rem;
    width: 12.5rem;
    height: 22.5rem;
    background: url(../../f-index/deco_room02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-top .p-room::after {
        display: none
    }
}

#p-top .p-room__inner {
    padding-block: 6.25rem 7.5rem
}

@media screen and (width < 768px) {
    #p-top .p-room__inner {
        padding-block: 3.75rem
    }
}

#p-top .p-room__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5rem
}

#p-top .p-room__items2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-room__items {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 1.875rem
    }

    #p-top .p-room__items2 {
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#p-top .p-room__item {
    width: 31.25rem
}

@media screen and (width < 768px) {
    #p-top .p-room__item {
        width: 100%
    }
}

#p-top .p-room__item-body {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-top .p-room__item-body {
        -webkit-margin-before: .625rem;
        margin-block-start: .625rem;
        row-gap: 1.25rem
    }
}

#p-top .p-room__item-title {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.5
}

@media screen and (width < 768px) {
    #p-top .p-room__item-title {
        font-size: 1.125rem
    }
}

#p-top .p-access {
    background: url(../../f-index/bg_access.png) no-repeat top left/80rem 48.125rem
}

@media screen and (width < 768px) {
    #p-top .p-access {
        background-size: cover
    }
}

#p-top .p-access__inner {
    position: relative;
    padding-block: 5rem 3rem;
    height: auto; 
    min-height: 0;
}

@media screen and (width < 768px) {
    #p-top .p-access__inner {
        padding-block: 3.75rem;
        height: auto
    }
}

#p-top .p-access__title {
    -webkit-margin-after: 6.25rem;
    margin-block-end: 6.25rem
}

@media screen and (width < 768px) {
    #p-top .p-access__title {
        -webkit-margin-after: 3.75rem;
        margin-block-end: 3.75rem
    }
}

#p-top .p-access__title .c-section-title__ja {
    color: var(--color-text)
}

#p-top .p-access__title .c-section-title__ja em {
    font-size: 3.75rem
}

@media screen and (width < 768px) {
    #p-top .p-access__title .c-section-title__ja em {
        font-size: 1.875rem
    }
}

#p-top .p-access__title .c-section-title__en {
    color: var(--color-text)
}

#p-top .p-access__text-wrap {
    width: 46.875rem;
    text-align: right
}

@media screen and (width < 768px) {
    #p-top .p-access__text-wrap {
        width: 100%;
        text-align: center
    }
}

#p-top .p-access__text {
    -webkit-margin-before: .75rem;
    margin-block-start: .75rem;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-top .p-access__text {
        font-size: .875rem
    }
}

#p-top .p-access__image {
    position: absolute;
    z-index: 0;
    top: -2.5rem;
    right: 0;
    width: 60%;
    height: auto;
}

@media screen and (width < 768px) {
    #p-top .p-access__image {
        position: static;
        width: 100%;
        height: auto;
        -webkit-margin-before: 2.5rem;
        margin-block-start: 2.5rem
    }
}

#p-top .p-access__image img {
    width: 100%;
    height: auto;
    display: block;
}

#p-top .p-access__map {
    width: 100%;
    height: 34.375rem
}

@media screen and (width < 768px) {
    #p-top .p-access__map {
        height: 15.625rem
    }
}

#p-top .p-access__map iframe {
    width: 100%;
    height: 100%
}

#p-about .p-about__inner {
    padding-inline: 0rem
}

#p-about .p-about__content {
    padding: 7.5rem 7.5rem
}

@media screen and (width < 768px) {
    #p-about .p-about__content {
        padding: 3.75rem 1.25rem
    }
}

#p-about .p-about__content--reverse {
    background: url(../../f-about/bg_about.png) no-repeat center/cover;
    position: relative
}

#p-about .p-about__content--reverse::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: url(../../f-about/bg_about.png) no-repeat center/cover;
    z-index: -1
}

#p-about .p-about__content--reverse .p-about__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media screen and (width < 768px) {
    #p-about .p-about__content--reverse .p-about__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

#p-about .p-about__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 6.25rem;
    -moz-column-gap: 6.25rem;
    column-gap: 6.25rem
}

@media screen and (width < 768px) {
    #p-about .p-about__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem;
        position: relative
    }
}

#p-about .p-about__text-wrap {
    width: calc(100% - 56.25rem - 6.25rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-about .p-about__text-wrap {
        width: 100%;
        row-gap: 1.25rem
    }
}

#p-about .p-about__text {
    font-size: 1.125rem;
    line-height: 2.4;
    text-align: center
}

@media screen and (width < 768px) {
    #p-about .p-about__text {
        font-size: 1rem;
        line-height: 2.1
    }
}

#p-about .p-about__sub-image {
    width: 80%
}

@media screen and (width < 768px) {
    #p-about .p-about__sub-image {
        width: 40%;
        position: absolute;
        bottom: -3.125rem;
        right: -0.625rem
    }
}

#p-about .p-about__main-image {
    width: 62.5rem
}

@media screen and (width < 768px) {
    #p-about .p-about__main-image {
        width: 100%
    }
}

#p-about .p-garden {
    -webkit-margin-before: 7.5rem;
    margin-block-start: 7.5rem
}

@media screen and (width < 768px) {
    #p-about .p-garden {
        -webkit-margin-before: 3.75rem;
        margin-block-start: 3.75rem
    }
}

#p-about .p-garden-head {
    width: 100%;
    height: 26.875rem;
    margin-inline: auto;
    background: url(../../f-index/bg_garden_head.png) no-repeat center/cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-about .p-garden-head {
        height: 15.625rem
    }
}

#p-about .p-garden-head__title {
    width: 33.125rem;
    height: 31.25rem;
    z-index: 2
}

@media screen and (width < 768px) {
    #p-about .p-garden-head__title {
        width: 18.75rem;
        height: 17.5rem;
        position: relative
    }
}

#p-about .p-garden-head__title img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center
}

#p-about .p-garden-season__inner {
    padding: 7.5rem 0
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__inner {
        padding: 3.75rem 0
    }
}

#p-about .p-garden-season__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .3125rem
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__list {
        grid-template-columns: 1fr
    }
}

#p-about .p-garden-season__item {
    padding: 7.5rem 3.75rem 6.25rem;
    background: url(../../f-garden/bg_season01.png) no-repeat center/cover;
    position: relative
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__item {
        padding: 1.875rem 1.25rem 1.25rem
    }
}

#p-about .p-garden-season__item-title {
    position: absolute;
    top: 1.25rem;
    left: 2.5rem;
    width: 8.125rem;
    height: 7.5rem
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__item-title {
        position: static;
        width: 5rem;
        height: 4.375rem
    }
}

#p-about .p-garden-season__item-content {
    -webkit-padding-start: 6.25rem;
    padding-inline-start: 6.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__item-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-padding-start: 0;
        padding-inline-start: 0;
        row-gap: 2.5rem
    }
}

#p-about .p-garden-season__item-text {
    width: calc(100% - 30.625rem - 3.75rem);
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__item-text {
        width: 100%;
        font-size: 1rem
    }
}

#p-about .p-garden-season__item-image {
    width: 30.625rem
}

@media screen and (width < 768px) {
    #p-about .p-garden-season__item-image {
        width: 100%
    }
}

#p-garden .p-garden {
    position: relative
}

#p-garden .p-garden::before {
    content: "";
    position: absolute;
    top: 8.75rem;
    left: -0.625rem;
    width: 13.5625rem;
    height: 17.625rem;
    background: url(../../f-garden/deco_garden01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-garden::before {
        display: none
    }
}

#p-garden .p-garden::after {
    content: "";
    position: absolute;
    bottom: 8.125rem;
    right: -0.625rem;
    width: 12.75rem;
    height: 16.3125rem;
    background: url(../../f-garden/deco_garden02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-garden::after {
        display: none
    }
}

#p-garden .p-garden__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-garden__inner {
        padding-block: 3.75rem
    }
}

#p-garden .p-garden__image {
    margin-inline: auto;
    max-width: 62.5rem;
    width: 100%;
    height: auto;
    aspect-ratio: 1000/720
}

#p-garden .p-calendar {
    background: url(../../f-garden/bg_calendar.png) no-repeat center/cover;
    position: relative
}

#p-garden .p-calendar::before {
    content: "";
    position: absolute;
    top: 3.75rem;
    left: -0.625rem;
    width: 22.4375rem;
    height: 26.1875rem;
    background: url(../../f-index/deco_room01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-calendar::before {
        display: none
    }
}

#p-garden .p-calendar::after {
    content: "";
    position: absolute;
    bottom: 4.375rem;
    right: -0.3125rem;
    width: 12.5rem;
    height: 22.5rem;
    background: url(../../f-index/deco_room02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-calendar::after {
        display: none
    }
}

#p-garden .p-calendar__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-calendar__inner {
        padding-block: 3.75rem
    }
}

#p-garden .p-calendar__image {
    margin-inline: auto;
    max-width: 80rem;
    width: 100%;
    height: auto;
}

#p-garden .p-season__inner {
    padding: 0
}

#p-garden .p-season__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .3125rem
}

@media screen and (width < 768px) {
    #p-garden .p-season__list {
        grid-template-columns: 1fr
    }
}

#p-garden .p-season__item {
    padding: 7.5rem 3.75rem 6.25rem;
    background: url(../../f-garden/bg_season01.png) no-repeat center/cover;
    position: relative
}

@media screen and (width < 768px) {
    #p-garden .p-season__item {
        padding: 1.875rem 1.25rem 1.25rem
    }
}

#p-garden .p-season__item-title {
    position: absolute;
    top: 1.25rem;
    left: 2.5rem;
    width: 8.125rem;
    height: 7.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-season__item-title {
        position: static;
        width: 5rem;
        height: 4.375rem
    }
}

#p-garden .p-season__item-content {
    -webkit-padding-start: 6.25rem;
    padding-inline-start: 6.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

@media screen and (width < 768px) {
    #p-garden .p-season__item-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-padding-start: 0;
        padding-inline-start: 0;
        row-gap: 2.5rem
    }
}

#p-garden .p-season__item-text {
    width: calc(100% - 30.625rem - 3.75rem);
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-garden .p-season__item-text {
        width: 100%;
        font-size: 1rem
    }
}

#p-garden .p-season__item-image {
    width: 30.625rem
}

@media screen and (width < 768px) {
    #p-garden .p-season__item-image {
        width: 100%
    }
}

#p-garden .p-breakfast {
    position: relative
}

#p-garden .p-breakfast::before {
    content: "";
    position: absolute;
    top: 2.5rem;
    left: -2.5rem;
    width: 16.5625rem;
    height: 14.75rem;
    background: url(../../f-garden/deco_breakfast01.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast::before {
        display: none
    }
}

#p-garden .p-breakfast::after {
    content: "";
    position: absolute;
    top: 3.75rem;
    right: -2.5rem;
    width: 22.3125rem;
    height: 21.25rem;
    background: url(../../f-garden/deco_breakfast02.png) no-repeat center/contain
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast::after {
        display: none
    }
}

#p-garden .p-breakfast__inner {
    padding: 7.5rem 12.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__inner {
        padding: 3.75rem 1.25rem
    }
}

#p-garden .p-breakfast__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        row-gap: 2.5rem
    }
}

#p-garden .p-breakfast__image {
    width: 70.625rem
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__image {
        width: 100%
    }
}

#p-garden .p-breakfast__content {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    width: calc(100% - 70.625rem - 2.5rem)
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__content {
        width: 100%;
        -webkit-margin-before: 0;
        margin-block-start: 0
    }
}

#p-garden .p-breakfast__title {
    text-align: left;
    -webkit-margin-after: 2.5rem;
    margin-block-end: 2.5rem;
    font-size: 2rem
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__title {
        text-align: center;
        -webkit-margin-after: 1.25rem;
        margin-block-end: 1.25rem;
        font-size: 1.25rem
    }
}

#p-garden .p-breakfast__menu {
    font-size: 1.125rem;
    line-height: 2.4
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__menu {
        font-size: 1rem;
        line-height: 2.1;
        text-align: center
    }
}

#p-garden .p-breakfast__menu-image {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    width: 80%
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__menu-image {
        -webkit-margin-before: 1.25rem;
        margin-block-start: 1.25rem;
        margin-inline: auto
    }
}

#p-garden .p-breakfast__btn {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-garden .p-breakfast__btn {
        -webkit-margin-before: 2.5rem;
        margin-block-start: 2.5rem;
        text-align: center
    }
}

#p-garden .p-sightseeing__inner {
    padding-block: 7.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 7.5rem
}

@media screen and (width < 768px) {
    #p-garden .p-sightseeing__inner {
        padding-block: 3.75rem;
        row-gap: 3.75rem
    }
}




#p-rooms .p-rooms__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-rooms__inner {
        padding-block: 3.75rem
    }
}

#p-rooms .p-rooms__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-rooms__items {
        grid-template-columns: 1fr
    }
}

#p-rooms .p-rooms__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 1.25rem
}

#p-rooms .p-rooms__item-title {
    font-size: 2rem;
    font-weight: 500;
    color: var(--color-primary)
}

@media screen and (width < 768px) {
    #p-rooms .p-rooms__item-title {
        font-size: 1.5rem
    }
}

#p-rooms .p-rooms__item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

#p-rooms .p-rooms__item-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 1.25rem
}

#p-rooms .p-rooms__item-text {
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-rooms .p-rooms__item-text {
        font-size: 1rem
    }
}

#p-rooms .p-rooms__item-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: .75rem
}

#p-rooms .p-room-detail {
    background: url(../../f-rooms/bg_room_detail.png) no-repeat center/cover
}

#p-rooms .p-room-detail__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__inner {
        padding-block: 3.75rem
    }
}

#p-rooms .p-room-detail__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 6.25rem
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__items {
        row-gap: 5rem
    }
}

#p-rooms .p-room-detail__item--reverse .p-room-detail__item-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item--reverse .p-room-detail__item-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

#p-rooms .p-room-detail__item-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem;
    position: relative
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

#p-rooms .p-room-detail__item-content {
    width: calc(100% - 62.5rem - 3.75rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-content {
        width: 100%
    }
}

#p-rooms .p-room-detail__item-title {
    color: var(--color-primary);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .06em
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-title {
        font-size: 1.5rem
    }
}

#p-rooms .p-room-detail__item-title span {
    -webkit-margin-start: 1.25rem;
    margin-inline-start: 1.25rem;
    color: var(--color-text);
    font-size: 1.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-title span {
        -webkit-margin-start: .625rem;
        margin-inline-start: .625rem;
        font-size: 1rem
    }
}

#p-rooms .p-room-detail__item-amenity {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .06em
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-amenity {
        -webkit-margin-before: 1.875rem;
        margin-block-start: 1.875rem;
        font-size: 1rem
    }
}

#p-rooms .p-room-detail__item-amenity-list {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.8
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-amenity-list {
        -webkit-margin-before: 1rem;
        margin-block-start: 1rem;
        font-size: .875rem
    }
}

#p-rooms .p-room-detail__item-sub-image {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    width: 80%
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-sub-image {
        position: absolute;
        bottom: -3.125rem;
        right: -0.625rem;
        width: 40%
    }
}

#p-rooms .p-room-detail__item-main-image {
    width: 62.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-main-image {
        width: 100%
    }
}

#p-rooms .p-room-detail__item-btn {
    -webkit-margin-before: 3.75rem;
    margin-block-start: 3.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (width < 768px) {
    #p-rooms .p-room-detail__item-btn {
        -webkit-margin-before: 5rem;
        margin-block-start: 5rem
    }
}

#p-rooms .p-facility__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__inner {
        padding-block: 3.75rem
    }
}

#p-rooms .p-facility__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

#p-rooms .p-facility__image {
    width: 56.25rem
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__image {
        width: 100%
    }
}

#p-rooms .p-facility__content {
    width: calc(100% - 56.25rem - 3.75rem)
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__content {
        width: 100%;
        -webkit-margin-before: 0;
        margin-block-start: 0
    }
}

#p-rooms .p-facility__title {
    font-size: 2rem;
    font-weight: 500;
    color: var(--color-primary);
    letter-spacing: .06em
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__title {
        font-size: 1.5rem
    }
}

#p-rooms .p-facility__time {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    padding: 1.25rem;
    font-size: 1.5rem;
    line-height: 1.8;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary)
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__time {
        -webkit-margin-before: 1.875rem;
        margin-block-start: 1.875rem;
        font-size: 1.125rem;
        padding: 1rem
    }
}

#p-rooms .p-facility__text {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    font-size: 1.125rem;
    line-height: 1.8
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__text {
        -webkit-margin-before: 1.25rem;
        margin-block-start: 1.25rem;
        font-size: 1rem
    }
}

#p-rooms .p-facility__items {
    -webkit-margin-before: 5rem;
    margin-block-start: 5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__items {
        -webkit-margin-before: 3.75rem;
        margin-block-start: 3.75rem;
        grid-template-columns: 1fr
    }
}

#p-rooms .p-facility__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#p-rooms .p-facility__item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

#p-rooms .p-facility__item-title {
    -webkit-margin-before: 1.25rem;
    margin-block-start: 1.25rem;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-primary)
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__item-title {
        font-size: 1.25rem
    }
}

#p-rooms .p-facility__item-text {
    -webkit-margin-before: .75rem;
    margin-block-start: .75rem;
    font-size: 1rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-rooms .p-facility__item-text {
        font-size: .875rem
    }
}

#p-sightseeing .p-anchor__inner {
    padding-block: 7.5rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-anchor__inner {
        padding-block: 3.75rem
    }
}

#p-sightseeing .p-anchor__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-anchor__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem
    }
}

#p-sightseeing .p-anchor__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.25rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-anchor__item {
        gap: .625rem
    }
}

#p-sightseeing .p-anchor__title {
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .06em;
    color: var(--color-primary)
}

@media screen and (width < 768px) {
    #p-sightseeing .p-anchor__title {
        font-size: 1.25rem
    }
}

#p-sightseeing .p-anchor__image {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

@media screen and (width < 768px) {
    #p-sightseeing .p-anchor .c-btn {
        padding: .625rem 1.25rem;
        font-size: .75rem
    }
}

#p-sightseeing .p-sightseeing {
    background: var(--color-bg-light)
}

#p-sightseeing .p-sightseeing__inner {
    padding-block: 7.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 7.5rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__inner {
        padding-block: 3.75rem;
        row-gap: 3.75rem
    }
}

#p-sightseeing .p-sightseeing__title {
    color: var(--color-primary);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-align: center;
    -webkit-margin-after: 3.75rem;
    margin-block-end: 3.75rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__title {
        font-size: 1.5rem;
        -webkit-margin-after: 1.875rem;
        margin-block-end: 1.875rem
    }
}

#p-sightseeing .p-sightseeing__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 3.75rem;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        row-gap: 2.5rem
    }
}

#p-sightseeing .p-sightseeing__image {
    width: 56.25rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__image {
        width: 100%
    }
}

#p-sightseeing .p-sightseeing__content {
    width: calc(100% - 56.25rem - 3.75rem)
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__content {
        width: 100%
    }
}

#p-sightseeing .p-sightseeing__text {
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__text {
        font-size: 1rem
    }
}

#p-sightseeing .p-sightseeing__items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__items {
        -webkit-margin-before: 1.875rem;
        margin-block-start: 1.875rem;
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#p-sightseeing .p-sightseeing__item {
    -webkit-margin-before: 3.75rem;
    margin-block-start: 3.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 1.25rem
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__item {
        -webkit-margin-before: 0;
        margin-block-start: 0;
        row-gap: .625rem
    }
}

#p-sightseeing .p-sightseeing__item-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-primary)
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__item-title {
        font-size: 1.125rem
    }
}

#p-sightseeing .p-sightseeing__item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

#p-sightseeing .p-sightseeing__item-text {
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: center
}

@media screen and (width < 768px) {
    #p-sightseeing .p-sightseeing__item-text {
        font-size: 1rem
    }
}





#onsen .p-onsen__items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2.5rem
}

@media screen and (width < 768px) {
    #onsen .p-onsen__items {
        -webkit-margin-before: 1.875rem;
        margin-block-start: 1.875rem;
        grid-template-columns: 1fr;
        gap: 1.875rem
    }
}

#onsen .p-onsen__item {
    -webkit-margin-before: 3.75rem;
    margin-block-start: 3.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 1.25rem
}

@media screen and (width < 768px) {
    #onsen .p-onsen__item {
        -webkit-margin-before: 0;
        margin-block-start: 0;
        row-gap: .625rem
    }
}

#onsen .p-onsen__title {
    color: var(--color-primary);
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-align: center;
    -webkit-margin-after: 0.75rem;
    margin-block-end: 0.75rem
}

@media screen and (width < 768px) {
    #onsen .p-onsen__title {
        font-size: 1.5rem;
        -webkit-margin-after: 0.875rem;
        margin-block-end: 0.875rem
    }
}

#onsen .p-onsen__item-text {
    font-size: 1.125rem;
    line-height: 1.8;
    text-align: left !important;
}

@media screen and (width < 768px) {
    #onsen .p-onsen__item-text {
        font-size: 1rem
    }
}



@media screen and (width >=768px) {
    .u-sp-only {
        display: none !important
    }
}

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

.u-icon-instagram {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-image: url("../../../f-all/icon_instagram_header.png");
    background-size: contain;
    background-repeat: no-repeat
}

@media screen and (width < 768px) {
    .u-icon-instagram {
        width: 1.5rem;
        height: 1.5rem
    }
}

.u-icon-facebook {
    -webkit-margin-start: .75rem;
    margin-inline-start: .75rem;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    background-image: url("../../../f-all/icon_facebook_header.png");
    background-size: contain;
    background-repeat: no-repeat
}

@media screen and (width < 768px) {
    .u-icon-facebook {
        width: 1.5rem;
        height: 1.5rem
    }
}

#p-contact .p-contact__inner {
    padding-inline: 0rem
}

#p-contact .p-contact__content {
    padding: 7.5rem 7.5rem
}

@media screen and (width < 768px) {
    #p-contact .p-contact__content {
        padding: 3.75rem 1.25rem
    }
}





/* 追加記述 */
.tc { text-align:center !important; }
.mla { margin-left: auto !important; }
.mra { margin-right: auto !important; }

.flexCommon01 {
position: relative;
display: flex;
flex-wrap: wrap;
}

.flexCommon01.flexCenter { justify-content: center; }
.flexCommon01.flexRight { justify-content: flex-end; }
.flexCommon01.flexBetween { justify-content: space-between; }
.flexCommon01.flexMiddle { align-items: center; }
.flexCommon01.flexBottom { align-items: flex-end; }
.flexCommon01.flexReverse { flex-direction: row-reverse; }
.flexCommon01.flexRow { flex-direction: row; }
.flexCommon01.flexColumn { flex-direction: column!important; }

.informationList01 li {
  align-items: flex-start;
  text-align: left;
}

.informationList01>li:nth-child(n+2) {
  margin-top: 1.5em;
  align-items: flex-start;
  text-align: left;
}


@media screen and (min-width: 768px) {

  .informationDate01 {
    width: 6em;
  }

  .informationTitle01 {
    max-width: calc(100% - 6em);
  }

}

@media screen and (max-width: 767px) {

  .informationDate01 {
    width: 100%;
  }

  .informationTitle01 {
    width: 100%;
    margin-top: 0.2em;
  }

}

/* フォームを囲む枠の設定 */
.form-container {
  width: 100%;
  max-width: 800px; /* PCで広がりすぎないよう制限（お好みで調整） */
  margin: 0 auto;   /* 中央寄せ */
  position: relative;
}

/* フォーム本体の設定 */
.form-container iframe {
  width: 100% !important; /* 幅を見切れさせない */
  height: 650px;         /* PC時の高さ（中身に合わせて調整してください） */
  border: none;
}

/* モバイルサイズ（767px以下）の調整 */
@media screen and (max-width: 767px) {
  #p-contact .p-contact__content {
    padding: 3.75rem 1rem; /* 左右の余白を少し削ってフォーム幅を確保 */
  }

  .form-container iframe {
    height: 800px; /* スマホは縦長になるので、PCより高さを出す */
  }
}

/* ============================
   移動手段 セクション
============================ */

#p-top .p-access__transport {
  background: #f6f4ef; /* やさしい生成り背景 */
  text-align: center;
  padding: 5rem 1.25rem;
}

/* タイトル */
#p-top .p-access__transport-title {
  position: relative;
  font-size: 1.5rem;
  letter-spacing: 0.12em;
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
}

/* タイトル下の装飾線 */
#p-top .p-access__transport-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 3.5rem;
  height: 2px;
  background: #7b8f6b; /* 自然系グリーン */
}

/* テキスト */
#p-top .p-access__transport-text {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.08em;
  max-width: 40rem;
  margin: 0 auto;
  color: #333;
}

/* ============================
   SP対応
============================ */

@media screen and (width < 768px) {
  #p-top .p-access__transport {
    padding: 3rem 1rem;
  }

  #p-top .p-access__transport-title {
    font-size: 1.25rem;
  }

  #p-top .p-access__transport-title::after {
    width: 3rem;
  }
}

/* ===============================
  Access / Transportation（縦詰め版）
=============================== */
.p-access__transport {
  margin-top: 3rem;            /* ← 少し詰める */
  padding: 2.25rem 2rem;       /* ← 高さを抑える */
  background: #f7f6f2;
  border-radius: 1.25rem;
}

.p-access__transport-title {
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  margin-bottom: 1.75rem;      /* ← 見出し下を詰める */
  position: relative;
}

.p-access__transport-title::after {
  content: "";
  display: block;
  width: 3rem;                 /* ← 装飾線も少し控えめに */
  height: 2px;
  background: #7a6a4f;
  margin: 0.75rem auto 0;
}

.p-access__transport-group {
  margin-top: 1.5rem;          /* ← グループ間を圧縮 */
}

.p-access__transport-group:first-of-type {
  margin-top: 0;
}

.p-access__transport-group h4 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #5a4a32;
  margin-bottom: 0.25rem;      /* ← 見出しと本文を近づける */
}

.p-access__transport-group p {
  line-height: 1.65;           /* ← 行間を少し詰める */
  color: #333;
  font-size: 0.9rem;
  margin-top: 0.25rem;
}

.p-access__transport a {
  display: inline-block;
  margin-top: 0.25rem;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background: #7a6a4f;
  color: #fff;
  font-size: 0.8rem;
  text-decoration: none;
  transition: background 0.3s;
}

.p-access__transport a:hover {
  background: #5f523c;
}

.p-access__note {
  display: inline-block;
  font-size: 0.75rem;
  color: #7a6a4f;
  margin-bottom: 0.15rem;
}

/* SP調整 */
@media screen and (width < 768px) {
  .p-access__transport {
    padding: 1.75rem 1.25rem;
    margin-top: 2.5rem;
  }

  .p-access__transport-title {
    font-size: 1.45rem;
    margin-bottom: 1.5rem;
  }
}

/* ===============================
  Access / Transportation
  PC：4カテゴリ横並び
=============================== */
@media screen and (width >= 768px) {
  .p-access__transport {
    padding: 2.25rem 3rem;
  }

  .p-access__transport-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* ← 4列 */
    gap: 1.5rem;                            /* ← 縦を抑えめ */
  }

  .p-access__transport-group {
    margin-top: 0;
  }

  .p-access__transport-group h4 {
    font-size: 1rem;       /* ← 横並びでも詰まりにくく */
    margin-bottom: 0.25rem;
  }

  .p-access__transport-group p {
    font-size: 0.85rem;
    line-height: 1.6;
  }

  .p-access__transport a {
    font-size: 0.75rem;
    padding: 0.15rem 0.6rem;
  }
}

/* ===============================
  Access / Transportation
  見出し強調＋余白調整
=============================== */

/* カテゴリカード */
.p-access__transport-group {
  background: #ffffff;
  padding: 1.5rem 1.4rem 1.75rem; /* ← 余白を戻す */
  border-radius: 1rem;
}

/* カテゴリ見出し */
.p-access__transport-group h4 {
  font-size: 1.15rem;           /* ← 大きく */
  font-weight: 700;
  color: #6b5a3a;               /* ← 視認性の高い落ち着いた色 */
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
  text-align: center;
}

/* 見出し下に装飾ライン */
.p-access__transport-group h4::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2px;
  background: #c3b38f;
  margin: 0.5rem auto 0;
}

/* 本文 */
.p-access__transport-group p {
  font-size: 0.9rem;
  line-height: 1.75;            /* ← ゆったり */
  margin-top: 0.75rem;
  color: #333;
}

/* リンクボタン */
.p-access__transport a {
  margin-top: 0.5rem;
}

/* PC4列時の微調整 */
@media screen and (width >= 768px) {
  .p-access__transport-inner {
    gap: 2rem;                  /* ← カード間もゆとり */
  }
}

/* ===============================
  Access / Transportation
  説明文（センタリング）
=============================== */
.p-access__transport-lead {
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.8;
  color: #5f5a4f;
  margin: 1rem auto 2.5rem;
  max-width: 42rem; /* ← 横に広がりすぎ防止 */
  letter-spacing: 0.04em;
}

/* SP調整 */
@media screen and (width < 768px) {
  .p-access__transport-lead {
    font-size: 0.9rem;
    margin-bottom: 2rem;
  }
}

/* HEADER SNS ICONS */
.p-header__sns-link a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-header__sns-link .u-icon-instagram,
.p-header__sns-link .u-icon-facebook {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.p-header__sns-link .u-icon-instagram {
  background-image: url("../../f-all/icon_instagram_footer.png");
}

.p-header__sns-link .u-icon-facebook {
  background-image: url("../../f-all/icon_facebook_footer.png");
}

/* ===============================
   FOOTER SNS ICONS
=============================== */
.p-footer__sns-link .u-icon-instagram,
.p-footer__sns-link .u-icon-facebook {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.p-footer__sns-link .u-icon-instagram {
  background-image: url("../../f-all/icon_instagram_footer.png");
}

.p-footer__sns-link .u-icon-facebook {
  background-image: url("../../f-all/icon_facebook_footer.png");
}

/* ===========================
         FAQ固有スタイル
=========================== */
.p-faq__inner {
        padding-block: 7.5rem;
      }
      @media screen and (width < 768px) {
        .p-faq__inner {
          padding-block: 3.75rem;
        }
      }

      .p-faq__list {
        display: flex;
        flex-direction: column;
        gap: 0;
      }

      .p-faq__item {
        border-bottom: 1px solid #d8d2ca;
      }
      .p-faq__item:first-child {
        border-top: 1px solid #d8d2ca;
      }

      .p-faq__question {
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 1.25rem;
        padding: 1.5rem 0;
        background: none;
        text-align: left;
        font-size: 1.2rem;
        font-weight: 500;
        letter-spacing: 0.04em;
        line-height: 1.6;
        cursor: pointer;
        border: none;
        font-family: inherit;
        color: var(--color-primary);
        transition: opacity 0.2s;
      }
      .mouse-mode .p-faq__question:hover {
        opacity: 0.7;
      }
      @media screen and (width < 768px) {
        .p-faq__question {
          font-size: 1rem;
          padding: 1.125rem 0;
          gap: 0.875rem;
        }
      }

      .p-faq__q-label {
        flex-shrink: 0;
        color: var(--color-primary);
        font-family: "EB Garamond", serif;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.3;
      }
      @media screen and (width < 768px) {
        .p-faq__q-label {
          font-size: 1.25rem;
        }
      }

      .p-faq__question-text {
        flex: 1;
        padding-top: 0.1em;
      }

      .p-faq__question-arrow {
        flex-shrink: 0;
        margin-top: 0.5em;
        width: 0.75rem;
        height: 0.75rem;
        border-right: 2px solid var(--color-primary);
        border-bottom: 2px solid var(--color-primary);
        transform: rotate(45deg);
        transition: transform 0.3s ease;
      }
      .p-faq__item.is-open .p-faq__question-arrow {
        transform: rotate(-135deg);
        margin-top: 0.7em;
      }

      .p-faq__answer {
        display: none;
        padding: 0 0 1.5rem calc(1.25rem + 1.5rem);
      }
      .p-faq__item.is-open .p-faq__answer {
        display: flex;
        gap: 1.25rem;
        align-items: flex-start;
      }
      @media screen and (width < 768px) {
        .p-faq__answer {
          padding: 0 0 1.125rem calc(0.875rem + 1.25rem);
        }
        .p-faq__item.is-open .p-faq__answer {
          gap: 0.875rem;
        }
      }

      .p-faq__a-label {
        flex-shrink: 0;
        color: #8a6a1a;
        font-family: "EB Garamond", serif;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.3;
      }
      @media screen and (width < 768px) {
        .p-faq__a-label {
          font-size: 1.25rem;
        }
      }

      .p-faq__answer-text {
        flex: 1;
        font-size: 1.1rem;
        line-height: 1.9;
        color: #8a6a1a;
        padding-top: 0.1em;
      }
      .p-faq__answer-text a {
        color: #8a6a1a;
        text-decoration: underline;
      }
      @media screen and (width < 768px) {
        .p-faq__answer-text {
          font-size: 0.875rem;
        }
      }