@charset "UTF-8";
/*
Theme Name: Akka Punto Effe
Theme URI: https://www.akka-punto-effe.com/
Author: Hiroko Uesugi
Description: アッカプントエッフェのオリジナルWordPressテーマ。福岡県糸島市にあるイタリアンとワインの宿。
Version: 1.0
*/
:root {
    --color-base: #f8f4f4;
    --color-primary: #c64040;
    /* --color-primary: #af4242; */
    --color-secondary: #DF705B;
    --color-body: #222222;
    --color-body-sub: #434242;
    --color-menu_gray: #929191;
    --color-gray-light: #D9D5D5;
    --color-pink-lightgray:#E4D3D3;
    --color-deep-pink:#e4d6d6;
    --color-menu-line:#DCA8AA;
    /* --color-agricoltura:#b06161; */
    --color-agricoltura:#af4242;
    --color-history:#f3eded;
    --color-history-image:#E3DFDF;
    --color-pranzo-tabmenu:#f7f0f0;
    --color-room-answer-line:#d5b3b3;
    --color-sidemenu-nav:#ece1e1;
    --clip: 20%;
}
html {
    scroll-behavior: smooth;
}
html {
    font-size: 62.5%;
    }
body, h1, ul, li, a {
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
}
body {
    font-family:
    'Noto Serif JP',
    "EB Garamond";
    color: var(--color-body);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 2.1;
    letter-spacing: .06em;
}
*{
    box-sizing: border-box;
}
@media (min-width: 768px) {
    body {
        font-size: 15px;
    }
}
@media (min-width: 1024px) {
    .section-inner {
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
    }
    body {
        font-size: 16px;
    }
}
@keyframes appear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes disappear {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
body:not([data-page=home])::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    transition: 1.5s cubic-bezier(0.39, 0.575, 0.565, 1);
    pointer-events: none;
}
[data-loaded="1"] body:not([data-page=home])::before {
    opacity: 0;
}
[data-target] {
    filter: blur(4px);
    opacity: 0;
    transform: translateY(20px);
    transition: filter 1s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1),transform 1s cubic-bezier(0.39, 0.575, 0.565, 1)
}
[data-target].is-show {
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
}
/* -----------header */
.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}
.header__container {
    padding: 2rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: fixed;
    top: 0;
    width: 100%;
    height: 10rem;
    z-index: 9999;
}
.nav {
    position: relative;
    z-index: 100;
    display: none;
}
.nav__header__container {
    height: 9rem;
}
.header__logo img {
    width: 80px;
}
.logo-white,
.logo-red {
    position: absolute;
    top: 1.6rem;
    left: 2.8rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 850ms ease, visibility 850ms ease;
}
.home .header .logo-white {
    visibility: visible;
    filter: drop-shadow(0px 2px 2px rgba(34, 69, 122, 0.45));
    opacity: 1;
}
.home .header .logo-red {
    visibility: hidden;
    opacity: 0;
}
.home .nav.active .logo-white {
    visibility: hidden;
    opacity: 0;
    filter: none;
}
.home .nav.active + .header__container .logo-red {
    opacity: 1;
    visibility: visible;
    filter: none;
}
/* --------open-button */
.nav__toggle {
    position: relative;
    display: inline-block;
    height: 5rem;
    width: 5rem;
    z-index: 9000;
    cursor: pointer;
    margin-top: 5.4px;
}
.nav__toggle__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.nav__toggle__line {
    position: absolute;
    top: 50%;
    right: 3%;
    display: block;
    width: 5rem;
    height: 1.25px;
    transform: translateY(-5px);
    background-color: var(--color-primary);
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.nav__toggle__line::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0%;
    display: block;
    width: 5rem;
    height: 1.25px;
    background-color: var(--color-primary);
    transform: translateY(10px);
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.home .nav__toggle__line,
.home .nav__toggle__line::after {
    background-color: #FFF;
}
.nav__toggle.is-scrolled .nav__toggle__line,
.nav__toggle.is-scrolled .nav__toggle__line::after {
    background-color: var(--color-primary);
}
.nav__toggle__line span {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1.25px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}
.nav__toggle.active .nav__toggle__line {
    transform: rotate(15deg);
    background-color: var(--color-primary);
    filter: none;
}
.nav__toggle.active .nav__toggle__line::after {
    transform: rotate(-30deg);
    background-color: var(--color-primary);
    filter: none;
}
.nav__toggle.scrolled .nav__toggle__line,
.nav__toggle.scrolled .nav__toggle__line::after {
    background-color: var(--color-primary);
    filter: none;
}
/* ===========================
nav innner styling
==============================*/
.nav {
    max-height: 100vh;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    overflow-y: auto;
    transition: opacity 850ms ease, visibility 850ms ease;
    display: none;
}
.nav.active + .header__container {
    visibility: hidden;
}
.nav.active {
    visibility: visible;
    opacity: 1;
    transition: opacity 850ms ease-in-out, visibility 0s ease-in-out;
    padding: 30px 2rem; 
    overflow-y: auto;
    background-image: url(assets/images/g_nav_inner.webp);
    display: block;
}
.nav__toggle.active {
    visibility: visible;
    opacity: 1;
}
.logo-red {
    width: 100px;
    filter: none;
    display: block;
}
.nav__list {
    display: block;
    width: calc(100% - 60px);
    margin: 0 auto;
    padding-bottom: 60px;
}
.nav__item {
    position: relative;
    display: block;
    width: 100%;
    padding: 2rem 0;
    border-bottom: 1.25px solid var(--color-pink-lightgray);
}
.toggle__btn {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: absolute;
    top: 45px;
    right: 0;
    transform: translateY(-50%);
}
.drop__menu.active .toggle__btn {
    top: 45px; 
}
.toggle__btn::before,
.toggle__btn::after {
    display: block;
    position: absolute;
    content: "";
    width: 15px;
    height: 1.25px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: all .3s ease-in-out;
    animation: appear .5s ease;
    background-color: var(--color-primary);
}
.toggle__btn::before {
    transform: rotate(0deg);
    transition: .2s all ease-in-out;
}
.toggle__btn::after {
    transform: rotate(90deg);
}
.drop__menu.active .toggle__btn::after {
    transform: rotate(0deg);
    transition: all .3s ease-in-out;
    animation: appear .5s ease;
}
.drop__menu__wrapper {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}
.nav__item.active > .drop__menu__wrapper {
    display: block;
    opacity: 1;
    visibility: visible;
}
.drop__menu__list {
    opacity: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    /* padding: 0.8rem 2rem; */
    transition: opacity 850ms ease, visibility 850ms ease;
}
.drop__menu.active .drop__menu__list {
    opacity: 1;
    padding: 0.8rem 2rem;
    height: auto;
}
.nav__item__it {
    font-family: "EB Garamond";
    position: relative;
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
}
.nav__item__jp {
    display: block;
    line-height: 1.8;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}
.drop__menu__item:first-child{
    margin-top: 10px;
}
.drop__menu__item {
    font-size: 1.5rem;
    font-weight: 500;
    margin-top: 0rem;
    letter-spacing: 0.04em;
}
.drop__menu__list a {
    display: block;
    padding: 12px 15px;
    min-height: 44px;
    line-height: 44px;
}
/* ----booking--buttons */
.booking__button-stayroom {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 240px;
    height: 54px;
    border-radius: 40px;
    background-color: var(--color-primary);
    color: #FFF;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.booking__buttons__wrap {
    position: fixed;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}
.btn__hotel__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 54px;
    border-radius: 40px 0px 0px 40px;
    background-color: var(--color-primary);
}
.btn__restaurant__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 54px;
    border-radius: 0px 40px 40px 0px;
    background-color: var(--color-secondary);
}
.btn__restaurant__button span,
.btn__hotel__button span {
    font-size: 13px;
    color: #FFFFFF;
    letter-spacing: .1em;
}
/* ===========================
SNS Buttons
==============================*/
.mv__sns__icon {
    display: block;
    position: absolute;
    left: 2%;
    top: 39%;
    z-index: 100;
}
.sns__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 40px;
}
.sns__item img {
    width: 20px;
    filter: drop-shadow(0px 2px 2px rgba(34, 69, 122, 0.45));
}
.navBigInsta {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #FFFFFF;
    font-family: "Noto Serif JP";
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .1em;
}
.sns__item .set {
    writing-mode: vertical-rl;
    margin-top: 8px;
}
@media (min-width: 768px) {
.booking__button-stayroom:hover {
    background-color: var(--color-deep-pink);
    border: 1px solid var(--color-primary);
    transition: .5s;
    color: var(--color-primary);
}
.header__container {
    padding: 24px 30px;
    height: 130px;    
}
.header__logo img {
    width: 10rem;
} 
.logo-white,
.logo-red {
    top: 28px;
    left: 30px;
}
.header__logo img:hover {
    opacity: .6;
}
.nav__toggle {
    height: 55px;
    width: 55px;
    margin-top: 13px;   
}
.nav__toggle__line {
    width: 50px;
    right: 3%;
}
.nav__toggle__line::after {
    width: 50px;
}
.nav {
    max-height: none;
}
.nav.active {
    padding: 5.2% 4.5rem; 
    background-image: url(assets/images/g_nav_inner_tablet.webp);
}
.logo-red {
    width: 14rem;
}
.home .header .header__container .header__logo .logo-red:hover,
.home .header .header__container .header__logo .logo-white:hover
{
    opacity: .6;
}
.toggle__btn {
    width: 50px;
    height: 50px;
}
.nav__list {
    width: 78%;
}
.nav__item__it {
    font-size: 2rem;
    line-height: 2;
}
.nav__item__jp {
    line-height: 1.0;
    font-size: 1.5rem;
}
.drop__menu__item {
    font-size: 1.5rem;
    margin-top: 40px;
}
.drop__menu__item a {
    display: inline;
}
.drop__menu__item a:hover {
    color: var(--color-primary);
    transition: .3s ease;
}
.drop__menu__wrapper > .drop__menu__item:hover .drop__menu__item a,
.nav__list > .nav__item:hover .nav__item__link {
    color: var(--color-primary);
    transition: .5s;
}
.sns__item img:hover,
.sns__item span:hover {
    opacity: .6;
}
}
@media (min-width: 1024px) {
    .nav {
        width: auto;
    }
    .nav__toggle {
        display: none;
    }
    .toggle__btn {
        display: none; 
    }
    .header {
        position: fixed;
        top: 0;
        width: 100%;
        height: 5.55vw;
        z-index: 1000;
        padding-left: 4.166%;
        padding-right: 4.166%;
        display: flex;
        justify-content: space-between;
        background-color: var(--color-base);
    }
    .header::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: var(--color-pink-lightgray);
    }
    .header__container {
        padding: 0;
        margin: 0;
        width: 100px;
        height: 5.55vw;
        align-items: center;
        position: static;
    }
    .header__logo img {
        width: 70px;
        filter: none;
        transition: all 0.3s ease;
    }
    .logo-red {
        position: static;
        opacity: 1;
        visibility: visible;
        transition: opacity 850ms ease, visibility 850ms ease;
    }
    .home .header .logo-red, 
    .restaurant .header .logo-red
    {
        visibility: visible;
        opacity: 1;
    }
    .logo-white {
        display: none;
    }
    .nav__header__container {
        display: none;
    }
    .nav {
        visibility: visible;
        opacity: 1;
        display: flex;
        height: 100%;
        position: relative;
        align-items: center;
        padding: 0;
        overflow: visible;
        z-index: 50; 
    }
    .nav__list {
        display: flex;
        gap: 60px;
        height: 100%;
        width: 100%;
        margin: 0;
        text-align: center;
        align-items: center;
        justify-content: flex-end;
        cursor: pointer;
        padding-bottom: 0;
    }
    .nav__item {
        position: relative;
        display: flex;
        justify-content: center;
        z-index: 10;
        padding: 0;
        width: 100%;
        height: 100%;
        align-items: center;
        border-bottom: none;
        text-align: center;
    }
    .nav__item__link {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        transition: .5s;
    }
    /* .drop__menu__wrapper {
        display: none;
        animation: disappear .5s ease;
    } */
    .nav__item__jp {
        white-space: nowrap;
        line-height: 2.2;
        font-size: 1.3rem;
    }
    .nav__item__it {
        font-size: 1.6rem;
        line-height: 1.2;
    }
    .nav__item::before {
        content: "";
        position: absolute;
        bottom: -1px;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 3px;
        background: var(--color-primary);
        transition: transform .3s ease-in-out;
        transform: scaleX(0);
    }
    .nav__item:hover::before {
        transform: scaleX(1);
    }
    .drop__menu__list > .drop__menu__item:hover::before {
        display: none;
    }
    .nav__item.drop__menu:hover .drop__menu__wrapper {
        display: block;
        position: absolute;
        z-index: 3000;
        top: 5.55vw;
        width: max-content;
        max-height: calc(100vh - 120px);
        padding: 18px 50px 38px 50px;
        background-color: var(--color-base);
        box-shadow: 0 7px 10px #00000026;
        transition: all .3s ease-in-out;
        animation: appear .5s ease;
        opacity: 1;
        visibility: visible;
    }
    .nav__item:hover .drop__menu__list {
        display: block;
        opacity: 1;
        height: auto;
        padding: 0;
        transition: all .5s linear;
    }
    .drop__menu__item {
        font-size: 1.3rem;
        margin-top: 20px;
        transition: all .1s linear;
    }
    /* ---Booking Buttons----- */
    .booking__buttons__wrap {
        display: flex;
        flex-direction: column;
        top: 50%;
        right: 2rem;
        left: unset;
        bottom: unset;
        transform: translateY(-50%);
    }
    .btn__hotel__button {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 54px;
        height: 140px;
        border-radius: 40px 40px 0px 0px;
        background-color: var(--color-primary);
        transition-duration: .4s;
    }
    .btn__restaurant__button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 54px;
        height: 140px;
        border-radius: 0px 0px 40px 40px;
        background-color: var(--color-secondary);
    }
    .btn__restaurant__button span,
    .btn__hotel__button span {
        writing-mode: vertical-rl; 
        text-orientation: upright; 
        letter-spacing: 0.2em;
    }
    .btn__hotel__button:hover,
    .btn__restaurant__button:hover {
        opacity: .8;
    }
    .sns__item a {
        transition-duration : .5s cubic-bezier(0.19, 1, 0.22, 1);
    }
    .sns__item .set {
        margin-top: 12px;
    }
}
/* -----------header-primary */
.heading-primary {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.heading-primary::before {
    background: url(assets/images/button_rev.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: "";
    width: 70px;
    height: 45px;
    display: block;
}
.heading_it {
    text-align: center;
    font-family: "EB Garamond";
    font-size: clamp(34px, 9.487vw, 37px);
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
}
.headingIt02 {
    padding-top: 10px;
}
.headingJp02 {
    padding-top: 16px;
}
.heading_jp {
    text-align: center;
    font-family: "Noto Serif JP";
    font-size: clamp(18px, 5.384vw, 21px);
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: .06em;
    margin-top: 15px;
}
@media (min-width: 1024px) {
    .heading-primary::before {
        width: 90px;
        height: 48px;
        display: block;
    }
    .heading_it {
        font-size: 4rem;
    }
    .heading_jp {
        font-size: 2rem;
    }
}
/* ===========================
-----headline--
==============================*/
.headline {
    padding-top: 3.6rem;
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.headline.roomHeadLine {
    padding-bottom: 40px;
}
@media (min-width: 1024px) {
    .headline {
        padding-top: 0;
        margin-top: 100px;
        justify-content: flex-start;
        background-color: #FFF;
    }
    .headline .heading-primary .heading_it {
        font-size: 54px;
        letter-spacing: .06em;
    }
    .headline .heading-primary .heading_it.s-it {
        font-size: 40px;
    }
    .headline .heading-primary .heading_jp {
        font-size: 20px;
    }
    .sideMenu__sticky .headline {
        background-color: #FFF;
    }
    .heading-primary::before {
        margin-bottom: 20px;
        width: 200px;
        height: 56px;
    }
}
/* ===========================
-----subPage--
==============================*/
.subPage__headerBox {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
}
.jp-S {
    font-size: 1.4rem;
    font-weight: 500;
    position: relative;
    padding-left: 16px;
}
.jp-S::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--color-primary);
    top: 50%;
    left: -1px;
    transform: translateY(-50%) translateX(50%); 
    margin-top: auto;
    border-radius: 50%;
}
.title__menu-op {
    font-size: 0.1px;
}
.sub_lcontainer-sp {
    margin-top: 100px;
}
.sub_lcontainer--no-sticky {
    width: 100%;
    margin-top: 100px;
    background-color: var(--color-base);
    padding: 60px 0 70px;
}
.sub_lcontainer--no-sticky__inner {
    max-width: 500px;
    margin: 0 auto;
    padding: 0 30px;
}
.sub_mv-image {
    display: block;
    width: 100%;
    height: 82.05vw;
    overflow: hidden;
}
.sub_mv-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.sub_lcontainer-pc {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 70px 7.7%;
}
.sideMenu__sticky,
.subPageMv__Pc {
    display: none;
}
.l-mediaBlock__image {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
}
.l-mediaBlock__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.l-mediaBlock__txt {
    width: 100%;
    margin-top: 40px;
}
.info__container {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.infoImg {
    display: block;
    width: 100%;
    overflow: hidden;
}
.infoImg img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.info-card {
    display: flex;
    flex-direction: column;
    max-width: 500px;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .info-card {
        max-width: none;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 8%;
        margin-top: 120px;
    }
    .info__container {
        max-width: none;
        padding: 0 6.66%;
    }
    .sub_lcontainer--no-sticky,
    .sub_lcontainer-sp {
        margin-top: 130px;
    }
    .sub_lcontainer--no-sticky__inner {
        max-width: 900px;
        padding: 0 50px;
    }
    .sub_lcontainer-pc {
        max-width: none;
        padding: 90px 6.5%;
    }
    .l-mediaBlock__column {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        gap: 80px;
    }
    .l-mediaBlock__image {
        width: 60%;
    }
    .l-mediaBlock__txt {
        margin-top: 0;
    }
    .subPage__headerBox {
        margin: 0;
    }
}
@media (min-width: 1024px) {
    .headline--no-sticky {
        margin-top: 0;
        padding: 60px 0 90px;
        background-color: var(--color--base);
    }
    .access .sub_lcontainer--no-sticky {
        max-width: none;
    }
    .sub_lcontainer--no-sticky {
        width: 100%;
        margin: 5.55vw auto 0;
        background-color: #FFF;
        padding-top: 30px;
    }
    .info-card-reverse {
        flex-direction: row-reverse;
    }
    .subPage__headerBox__container {
        padding: 0 4.44%;
    }
    .subPage__headerBox-topSpace {
        margin-top: 140px;
    }
    .sub_lcontainer-pc {
        max-width: none;
        padding: 0;
    }
    .subPage__topSection {
        margin-top: 0;
        padding-bottom: 160px;
        background-color: var(--color-base);
    }
    .sub_lcontainer-sp {
        display: none;
    }
    .access .sub_lcontainer--no-sticky__inner {
        padding: 0;
    }
    .sub_lcontainer--no-sticky__inner {
        width: 100%;
        max-width: none;
        padding: 0 6.94%;
    }
    .subPageMv__Pc {
        display: block;
        width: 100%;
        overflow: hidden;
        height: calc(100vh - 5.55vw);
        position: relative;
    }
    .subPageMv__Pc img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}
/* ===========================
-----position--sticky--sideMenu--
==============================*/
.sideMenu__container {
    margin: 5rem 3rem 0;
}
.sideMenu__inner {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
.sideMenu__navBox {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    font-size: 16px;
    font-weight: 500;
    background-color: var(--color-sidemenu-nav);
    padding: 30px 0 40px;
}
.sideMenu__nav__header {
    margin-left: 0;
    margin-right: auto;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-primary);
    padding-top: 24px;
    padding-left: 9.2%;
}
.sideMenu__nav__list {
    width: 100%;
    margin-top: 40px;
    padding-right: 4.2%;
    padding-left: 4.2%;
}
.sideMenu__navBox.room-navBox {
    padding-top: 20px;
}
.link__button-content.sideMenu-button-content {
    justify-content: space-between;
}
.link__button-content.sideMenu-button-content::after {
    background-color: var(--color-room-answer-line);
}
.link__txt-item.txt-item2,
.link__txt-item.txt-item1 {
    padding-left: 12px;
    font-size: 15px;
}
.sideMenu__nav__list.side-navList-sp {
    padding-right: 10.2%;
}
.sideMenu__navLink {
    margin-left: 20px;
    margin-bottom: 3rem;
    position: relative;
    align-items: center;
    white-space: nowrap;
}
.sideMenu__navLink a {
    padding-bottom: 30px;
}
.sideMenu__navLink::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--color-primary);
    top: 24%;
    left: -5px;
    transform: translateY(-50%) translateX(50%); 
    margin-top: auto;
    border-radius: 50%;
}
.room__infomation-section .sideMenu__navLink.dinner-navLink::before {
    top: 17%;
}
.sideMenu.nav-ttl {
    margin-bottom: 30px;
    color: var(--color-agricoltura);
    /* text-align: center; */
    font-size: 18px;
}
.nav-label {
    font-size: 13px;
    letter-spacing: .1em;
    margin-bottom: 60px;
}
@media (min-width: 768px) {
    .sp-br {
        display: none;
    }
    .sideMenu__navLink {
        overflow: hidden;
    }
    .sideMenu__navLink a {
        padding-bottom: 0;
        transition: all 0.3s ease;
    }
    .sideMenu__navLink a:hover {
        color: var(--color-primary);
        transition: .5s;
    }
    .link__txt-item.txt-item2,
    .link__txt-item.txt-item1 {
        padding-left: 16px;
    }
    .sideMenu__navLink::before {
        top: 40%;
        left: -1px;
    }
}
@media (min-width: 1024px) {
    .pc-brPlus {
        display: block;
    }
    .sub_main__component {
        display: flex;
        max-width: 1440px;
        margin: 5.55vw auto 0;
        position: relative;
    }
    .main__containerSticky {
        /* width: 79.44vw; */
        width: calc(100vw - 250px);
    }
    .sideMenu__sticky {
        display: flex;
        justify-content: center;
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        background-color: #FFFFFF;
        border-right: solid 1px var(--color-gray-light);
    }
    .sideMenu__inner {
        width: auto;
        max-width: none;
        margin: 0 auto;
    }
    .sideMenu__container {
        margin: 40px auto 6.4rem 0;
    }
    .sideMenu__container {
        position: relative;
        width: 211.242px;
    }
    .sideMenu__navBox {
        display: flex;
        flex-direction: column;
        background-color: transparent;
    }
    .sideMenu__nav__header {
        font-size: 1.4rem;
        font-weight: 600;
    }
    .sideMenu__nav__list {
        width: 60%;
        margin-top: 40px;
        width: 100%;
    }
    .concept .sideMenu__nav__list::before,
    .restaurant .sideMenu__nav__list::before,
    .stay .sideMenu__nav__list::before,
    .site-infomation .sideMenu__nav__list::before {
        content: "";
        position: absolute;
        width: 1px;
        background-color: var(--color-menu-line);
        top: 134px;
        left: 18px;
    }
    .stay .sideMenu__nav__list::before{
        height: 291px;
    }
    .sideMenu__nav__list.sideMenu_nav__list-stay::before {
        height: 117px;
    }
    .concept .sideMenu__nav__list::before {
        height: 291px;
    }
    .site-infomation .sideMenu__nav__list::before {
        height: 231px;
    }
    .sideMenu__navLink {
        overflow: hidden;
    }
    .sideMenu__navLink {
        font-size: 1.3rem;
        font-weight: 400;
        color: #343434;
        overflow: visible;
    }
    .sideMenu__navLink::before {
        width: 8px;
        height: 8px;
        left: -19px;
        background-color: transparent;
        transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1), background-color 0.8s ease;
    }
    .sideMenu__navLink.active::before {
        background-color: var(--color-primary); /* 赤色に変更 */
    }
    .sideMenu__navLink.active {
        font-weight: 500; /* ウエイトを大きくする */
        color: var(--color-body);
        transition: font-weight 0.3s ease-in-out; /* スムーズな変化 */
    }
}
/* ===========================
-----roomInfo--
==============================*/
.room__description.stay-message {
    margin: 0 auto;
    padding: 40px 7.7%;
    background-color: var(--color-base);
}
.link__txt-item.txt-item1.title {
    font-size: 18px;
}
.sideMenu__navLink.link-bbq {
    margin-bottom: 10px;
}
.room-section .splide {
    background-color: var(--color-base);
    padding-bottom: 16px;
}
.room-section .splide__slide.is-active img {
    transform: none;
    transition: none;
}
.room-section .splide__slide {
    transition: opacity 2s cubic-bezier(0.4, 0.0, 0.2, 1), transform 2s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.room-section .splide__pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    position: relative;
    z-index: 30;
}
.room-section .splide__pagination li {
    margin: 10px;
}
.room-section .splide__pagination__page {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--color-menu-line);
}
.room-section .splide__pagination__page.is-active {
    background-color: var(--color-primary);
}

.splide__list.room-list {
    transition-duration: 0ms;
    height: 220px;
}
.splide__slide.room-slide {
    width: auto;
    flex-shrink: 0;
}
.splide__slide.room-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.menuTab_it {
    font-size: clamp(10px, 3.07692vw, 12px);
    font-weight: 500;
    text-align: center;
}
.restaurant .menuTab_it {
    font-size: clamp(9px, 2.9vw, 12px);
    font-weight: 500;
    text-align: center;
}
.menuCard_jp {
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}
.price__caution-list {
    font-size: 15px;
    line-height: 2.2;
    border-bottom:  1px solid var(--color-room-answer-line);
    padding: 60px 0 30px;
}
.law td a,
.privacy_policy .policyTxt .cForm,
.price__caution-list a {
    text-decoration: underline;
    text-underline-offset: 4px; 
    text-decoration-thickness: 1px;
    color: var(--color-body-sub);
}
.price__caution-list:last-child {
    border-bottom: none;
    padding: 30px 0 70px;
}
.room__plan__wrapper {
    width: 100%;
    margin: 80px auto 0;
    max-width: 500px;
    padding: 0 0 20px;
    background-color: var(--color-deep-pink);
}
.room__plan__contents {
    margin-top: 40px;
    padding: 0 30px;
}
.room__plan-title {
    font-size: 24px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
}
.room__plan-title::after {
    background: url(assets/images/button_rev.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: "";
    width: 70px;
    height: 45px;
    display: block;
    margin: 10px auto 0;
}
.room__plan__container {
    width: 100%;
    background-color: var(--color-base);
    margin-bottom: 60px;
}
.room__infomation-section .link__txt {
    flex-direction: column;
    align-items: flex-start;
}
.room__plan-card {
    margin: 0 auto;
    padding: 40px 20px;
}
.room__plan-card_header {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    line-height: 1.4;
}
.room__plan-card_header .menuTab_it {
    font-family: "EB Garamond";
    font-size: 16px;
    text-align: left;
}
.room__plan-card_header .menuCard_jp {
    font-size: clamp(18px, 5.6vw, 21px);
    letter-spacing: .04em;
    text-align: left;
    white-space: nowrap;
}
.menuTab_img {
    display: block;
    width: 100%;
    overflow: hidden;
    padding: 30px 0 20px;
}
.menuTab_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.menuTab_img.menuTab_img-room {
    aspect-ratio: 5 / 3;
    width: 100%;
    overflow: hidden;
    padding: 0;
}
.menuTab_img.menuTab_img-room img {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
}
.room__description {
    margin: 50px auto 0px;
    font-size: 15px;
    font-weight: 500;
    color: var(--color-primary);
    line-height: 2.2;
    text-align: center;
    letter-spacing: .08em;
}
.sub_lcontainer--no-sticky.room-topImg {
    padding: 0;
    margin-top: 0;
}
.room__info__title {
    text-align: center;
    font-size: 22px;
    position: relative;
    padding-bottom: 40px;
    color: var(--color-primary);
    font-weight: 500;
}
.room__info__title.sub-room__info__title {
    padding-bottom: 0;
    margin-top: 40px;
}
.link__button.infomation__button {
    margin-top: 40px;
}
.room__infomation-section__wrapper {
    padding: 30px 0 20px;
}
.room__infomation {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding-top: 30px;
    background-color: #FFF;
}
.room__info__inner-wrap {
    max-width: 500px;
    padding: 30px 30px 90px;
    background-color: var(--color-base);
}
.room__info__inner-wrap dt {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: var(--color-primary);
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--color-room-answer-line);
}
.room__plan-card_header.stay-only__header {
    margin-top: 40px;
}
.room__info__inner-wrap dt:first-of-type {
    border-top: transparent;
}
.room__info__inner-wrap dd {
    margin: 20px auto 0 20px;
    line-height: 2.1;
}
.room__info__wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 10px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.room__info__inner {
    display: flex;
    flex-direction: column;
    padding: 0 7.7%;
}
.room__title-item {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 8px;
}
.room__title {
    font-family: "EB Garamond";
    font-size: clamp(33px, 11.256vw, 40px);
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 38px */
    letter-spacing: 1.52px;
}
.room__caption {
    font-size:  clamp(15px, 4.102vw, 16px);
    font-weight: 600;
    color: var(--color-agricoltura);
}
.roomInfo {
    display: flex;
    flex-direction: column;
    font-size: 15px;
    line-height: 2.0;
    margin-top: 30px;
}
.label-illust.label-illust-room {
    margin-left: 0;
    text-align: right;
}
.course-infoBox {
    display: block;
    margin-top: 2px;
    text-align: left;
    color: var(--color-primary);
    font-weight: 500;
}
.room__plan-card_header::after {
    content: '';
    display: block;
    border-bottom:  solid 1px var(--color-menu_gray);
    width: 100%;
    padding-top: 8px;
}
.stay-gallery {
    padding: 70px 7.7% 90px;
    background-color: #FFF;
    margin: 0 auto;
}
.stay .info__container.info__container-stay {
    background-color: var(--color-base);
    padding-top: 70px;
}
.stay .info-card_stay {
    padding-top: 60px;
}
.room__gallery-grid-image {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.room__gallery-grid-image img {
    width: 100%;
    height: auto;
}
.price_box {
    padding: 20px 0;
    justify-content: center;
    font-weight: 500;
    display: flex;
    text-align: center;
    flex-direction: column;
}
.price_box.price_box-room {
    text-align: left;
    padding: 40px 0 0 ;
    line-height: 1.8;
}
.price {
    font-size: clamp(14px, 4.358vw, 17px);
    white-space: nowrap;
}
.price_box-item {
    padding: 20px 0;
    border-top: solid 1px var(--color-menu-line);
    font-size: 13px;
}
.other-plan__wrapper {
    background-color: var(--color-base);
    margin-top: 0;
    padding-top: 80px;
}
.other-container {
    background-color: #FFF;
}
.price_box .price.price-loft {
    padding: 16px 0 0;
}
.price.price-loft-desc {
    font-size: 14px;
}
.booking_form-wrapper input[type="radio"], .booking_form-wrapper input[type="checkbox"] {
    appearance: auto;
}
.link__button .link__button-restaurant,
.link__button .link__button-reservation {
    margin-top: 50px;

}
@media (min-width: 768px) {
.stay-gallery {
    padding: 120px 6.66%;
}
.room__plan-card_header .menuCard_jp {
    font-size: clamp(18px, 2.343vw, 20px);
}
.room-section .splide {
    padding-bottom: 80px;
}
.room__infomation-section__wrapper {
        display: none;
}
.price_box.price_box-room .price {
    font-size: 16px;
}
.price_box.price_box-room .price.price-loft-desc {
    font-size: 13px;
}
.room__infomation {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 900px;
    padding: 70px 3% ;
    background-color: var(--color-sidemenu-nav);
}
.room__infomation .sub_lcontainer--no-sticky__inner,
.room__info__inner-wrap {
    width: 50%;
    max-width: none;
    background-color: var(--color-base);
    padding: 20px 3% 60px;
    margin: 0;
    position: relative;
}
.room__info__inner-wrap::before {
    content: '';
    width: 1px;
    height: 90%;
    background-color: var(--color-agricoltura);
    position: absolute;
    top: 60px;
    left: 0%;
}
.other-plan__wrapper {
    padding-bottom: 200px;
}
.room__plan__wrapper {
    max-width: 900px;
    padding-bottom: 30px;
}
.room__plan__contents {
    padding: 0 3%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));;
    gap: 3%;
}
.select__plan__container {
    width: 100%; /* 各プランを均等に配置 */
}
/* .info__container.info__container-room .info-card {
    align-items: center;
    justify-content: center;
    margin-top: 0;
} */
.room__plan-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.room__plan-card_header.stay-only__header {
    margin-top: 58px;
}
.room__plan__wrapper,.room__infomation {
    margin-top: 0;
}
}
@media (min-width: 1024px) {
    .room__plan__wrapper.top-room__plan__wrapper {
        padding-top: 0;
    }
    .room-section .splide__pagination {
        margin-top: 20px;
    }
    .room-section .splide {
        padding-bottom: 90px;
        background-color: #FFF;
    }
    .splide__list.room-list {
        height: 440px;
    }
    .price__caution-list {
        padding-top: 60px;
        border-top: none;
    }
    .room__plan__contents {
        gap: 4%;
        margin-top: 90px;
    }
    .room__infomation-section__wrapper {
        margin-top: 0;
        background-color: #FFF;
    }
    .room__topContents__container {
        display: flex;
        flex-direction: row;
        background-color: var(--color-base);
        gap: 6%;
        padding: 200px 6%;
        max-width: 1440px;
        margin: 0 auto;
        justify-content: space-between;
    }
    .room__plan-card {
        margin: 0px auto;
        max-width: 330px;
    }
    .room__plan__wrapper,.room__infomation {
        max-width: 1440px;
        padding-top: 140px;
        padding-bottom: 80px;
    }
    /* .info__container.info__container-room {
        padding: 0;
        width: calc(100% - 3%);
        margin: 0;
    } */
    .room__description {
        font-size: 18px;
        margin: 120px auto 20px;
    }
    .room__infomation {
        width: 100%;
        max-width: 1440px;
        padding: 140px 6%;
    }
    .room__infomation.other-plan__wrapper {
        padding-top: 140px;
    }
    .room__info__title {
        margin-bottom: 0;
    }
    .room__info__inner-wrap {
        max-width: none;
    }
    .room__info__inner-wrap dl {
        margin-top: 40px;
        display: flex;
        flex-wrap: wrap;
        row-gap: 10px;
    }
    .room__info__inner-wrap dt {
        width: 30%;
        margin: 0;
    }
    .room__info__inner-wrap dd {
        width: 70%;
        margin: 0;
        border-top: solid 1px var(--color-room-answer-line);
    }
    .room__info__inner-wrap dt,
    .room__info__inner-wrap dd {
        display: block;
        padding: 20px 0 10px 0;
    }
    .room__info__inner-wrap dd:first-of-type,
    .room__info__inner-wrap dt:first-of-type {
        border-top: none;
    }
    .sub_lcontainer--no-sticky.room-topImg {
        max-width: 700px;
        background-color: var(--color-base);
    }
}

/* ===========================
-----link--
==============================*/
.news__link__body-title.txt-item__sr-only.txt-item2 {
    position: absolute;
}
.news__link__body-icon.arrow-icn2 {
    position: absolute;
}
.news__link__body {
    overflow: hidden;
}
.link__button {
    margin-top: 80px;
    margin-right: 0;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    line-height: 1.8;
}
.link__button-content {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 30px;
    align-items: center;
}
.link__txt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    padding-bottom: 6px;
}
.link__txt-item.txt-item__sr-only.txt-item2  {
    display: none;
    position: absolute;
}
.link__arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 20px;
    padding-bottom: 6px;
}
.link__arrow-icn img {
    display: block;
    width: 100%;
    height: 100%;
}
.link__arrow-icn.arrow-icn1 {
    display: block;
    width: 100%;
    height: 100%;
}
.link__arrow-icn.arrow-icn2 {
    position: absolute;
    display: none;
}
.link__button-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-menu_gray);
}
@media screen and (min-width: 768px) {
    .news__link__body-title.txt-item__sr-only.txt-item2,
    .link__txt-item.txt-item__sr-only.txt-item2  {
        display: block;
        transform: translateY(101%);
    }
    .link__txt, .news__link__body-title,
    .link__txt, .link__txt-item {
        transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1);
        padding-bottom: 6px;
    }

    /* テキストのホバーアニメーション */
    .link__button-content:hover .link__txt-item:not(.txt-item__sr-only),
    .news__link__body:hover .txt-item1 {
        animation: link-hover-text-out 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    }
    .link__button-content:hover .txt-item__sr-only,
    .news__link__body:hover .txt-item2{
        animation: link-hover-text-in 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    }
    /* 矢印のホバーアニメーション */
    .link__button-content:hover .arrow-icn1,
    .news__link__body:hover .arrow-icn1 {
        animation: link-hover-arrow-out 2s cubic-bezier(0.39, 0.575, 0.565, 1) infinite;
    }
    .link__button-content:hover .arrow-icn2,
    .news__link__body:hover .arrow-icn2 {
        animation: link-hover-arrow-in 2s cubic-bezier(0.39, 0.575, 0.565, 1) infinite;
        display: block;
    }
}
/* キーフレームアニメーション */
@keyframes link-hover-text-in {
    0% {
        transform: translateY(101%);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes link-hover-text-out {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-101%);
    }
}
@keyframes link-hover-arrow-in {
    0% {
        transform: translateX(-200%);
    }
    50% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes link-hover-arrow-out {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(200%);
    }
    100% {
        transform: translateX(200%);
    }
}
/* --------pHome--Main */
body.front-page:not(.loaded) .splide,
body.front-page:not(.loaded) .signLogo__mv {
    visibility: hidden;
    opacity: 0;
}
body.front-page.loaded .signLogo__mv,
body.front-page.loaded .splide {
    opacity: 1;
    visibility: visible;
}
.opening {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1100;
    width: 100%;
    height: 100svh;
    overflow: hidden;
}
.opening img {
    height: 100svh;
}
.opening.is-hidden {
    opacity: 0;
    pointer-events: none;
}
.opening-base {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    pointer-events: none;
    opacity: 1;
    transition: opacity 1s ease; 
    z-index: 1060;
    background-image: 
        linear-gradient(to bottom, rgba(218, 181, 228, 0.25), rgba(238, 236, 238, 0.403)),
        url('assets/images/opening_pink-sp.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.opening-base.is-fadeout {
    opacity: 0;
}
#svgmask {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease, visibility 0s linear 1s;
    position: absolute;
    top: 48.5%;
    left: 49.79%;
    transform: translate(-50%, -50%);
    z-index: 1090;
    pointer-events: none;
}
#svgmask.is-fadein {
    opacity: 1;
    visibility: visible;
    transition: opacity 1.5s ease;
}
.innerImg.is-fadeout,
#svgmask.is-fadeout {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.5s ease-in-out, visibility 0s linear 1.8s;
    }
.fade-target {
    opacity: 0;
    transition: opacity 1.5s ease; 
}
.fade-target.is-visible {
    opacity: 1;
}
.opening__inner-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100svh;
    opacity: 1;
}
.innerTitle {
    position: absolute;
    writing-mode: vertical-rl;
    text-orientation: upright;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.8s ease-out, transform 1.8s ease-out;
    z-index: 1070;
    font-size: 19px;
    letter-spacing: .09em;
    font-weight: 500;
}
.innerTitle.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.innerImg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.innerImg img {
    width: 100%;
    height: 100svh;
    object-fit: cover;
}
.svg-opening {
    width: 71%;
    height: auto;
}
.home .splide {
    z-index: 20;
    height: 100svh;
    overflow: hidden;
}
.home .splide__slide img {
    height: 100svh;
    width: 100%;
    object-fit: cover;
    object-position: center;
    overflow: hidden;
    position: relative;
    transition: transform 5s ease, opacity 3s ease-in-out;
    transform: scale(1);
}
.home .splide__slide {
    /* opacity: 0; */
    transition: opacity 2s cubic-bezier(0.4, 0.0, 0.2, 1);
    /* transition: opacity 2s ease-in-out, transform 2s ease-in-out; */
}
.home .splide__slide.is-active {
    opacity: 1;
}
.home .splide__slide.is-active img {
    opacity: 1;
    transform: scale(1.1);
    transition: transform 5s ease-in-out, opacity 3s ease-in-out;
}
.signLogo__mv img {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    filter: drop-shadow(0px 2px 2px rgba(34, 69, 122, 0.45));
}
@media (min-width: 768px) {
    .opening-base {
        background-image: 
            linear-gradient(to bottom, rgba(218, 181, 228, 0.25), rgba(238, 236, 238, 0.403)),
            url('assets/images/opening_pink-tablet.webp');
    }
    .splide__slide img {
        width: 100%;
        height: 100%;
    }
    .svg-opening,
    .signLogo__mv img {
        width: 50%;
    }
}
@media (min-width: 1024px) {
    .innerTitle {
        font-size: 20px;
    }
    .opening-base {
        background-image: 
            linear-gradient(to bottom, rgba(218, 181, 228, 0.25), rgba(238, 236, 238, 0.403)),
            url('assets/images/opening_pink-pc.webp');
    }
    #svgmask {
        top: 48.29%;
        left: 49.9%;
    }   
    .svg-opening {
        width: 27.66%;
    }
    .signLogo__mv img {
        width: 31.25%;
    }
}
/* --------pHome */
.pHome {
    margin-bottom: 90px;
}
.lcontainer {
    width: 100%;
    margin: 0 auto;
}
.lheadline__illust-box {
    width: 100%;
    /* height: 100%; */
}
.lheadline__illust-box img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.label-illust {
    font-size: 1.2rem;
    margin-top: 0;
    margin-left: 10px;
}
.pHome {
    background-image: url(assets/images/lead_tree_bg-sp.webp);
    background-repeat: no-repeat;
    background-position: right 24%;
    background-size: 90%;
}
.pHome .lwrapper.pHome-lwrapper {
    padding-top:80px;
}
.pHomeWrapper__inner p {
    font-size: 17px;
}
.lwrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 7.7% 0;
}
.lheading__title-pHome {
    font-size: clamp(20px, 5.641vw, 24px);
    line-height: 2.0;
    letter-spacing: .05em;
    margin: 26px auto 40px 0;
}
.lheading__title.lheading__title-topPage {
    margin-top: 0;
}
.lheading__title-pHome-top {
    margin-top: 0;
    font-size: clamp(20px, 6.13333vw, 24px);
    letter-spacing: .075em;
}
.link__buton-top {
    margin-top: 50px;
}
.lheading__title {
    font-size: clamp(20px, 5.641vw, 24px);
    line-height: 2.0;
    letter-spacing: .05em;
    margin: 70px auto 40px;
}
.lead-txt__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.pHome__image-item {
    width: 84.615vw;
    margin: 0 auto 40px;
}
.pHome__image-item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.pHome__image-item-left {
    width: 52vw;
    margin: 0 0 auto 0;
}
.pHome__image-item-left img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.pHome__image-item-right {
    width: 60vw;
    margin: 0 0 0 auto;
}
.pHome__image-item-right img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.pHome__image-item-box {
    padding-top: 50px;
}
.center-txt {
    margin-top: 40px;
}
/* スクロールに応じて拡大--*/
.story__image {
    margin-top: 6rem;
}
.scale__image-wrapper {
    position: relative;
    padding-top: 0;
    width: 100%;
    height: calc((620 / 16) * (100 / 390 * 1vw * 16));
    overflow: hidden;
}
.scale__image-item__pin {
    position: absolute;
    top: -300px;
    width: 100%;
    height: calc((620 / 16) * (100 / 390 * 1vw * 16));
}
.scale__image-item {
    position: absolute;
    left:  var(--margin-left, 20px);
    width: calc((350 / 16) * (100 / 390 * 1vw * 16));
    height: calc((620 / 16) * (100 / 390 * 1vw * 16));
    overflow: hidden;
    clip-path: inset(0 0 var(--clip, 20%) 0);; 
    transform-origin: top left;
}
.scale__image-item img {
    height: 100%;
    object-fit: cover;
}
.pHome-map {
    padding-bottom: 90px;
}
.pHome-map-img {
    width: 100%;
}
.pHome-map-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.heading__title-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
}
.pSite_info{
    background-color: var(--color-base);
}
.struttura__imgMap {
    width: 100%;
    margin-top: 90px;
}
.struttura__imgMap img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.pMessage-card {
    background-image: url(assets/images/pink_base_sp.webp);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    height: 434px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.lwrapper.pMessage-card {
    padding-top: 0px;
}
.pMessage__lead {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    color: var(--color-agricoltura);
    line-height: 2.4;
    letter-spacing: 0.06em;
}
.message__lead::before {
    position: absolute;
    top: 10%;
    right: 50%;
    display: block;
    content: "";
    background-color: var(--color-menu-line);
    width: 1.5px;
    height: 80px;
    margin-bottom: 30px;
}
.pAllogio {
    padding-bottom: 90px;
}
.pAllogio__image-item-box {
    padding-top: 0;
}
.pHome__image-item.pImpegno-spImg {
    margin-bottom: 0;
}
.pImpegno {
    background-color: var(--color-base);
    padding-bottom: 140px;
}
.pRistorante {
    background-color: var(--color-deep-pink);
    padding-bottom: 90px;
}
.pRistorante-lwrapper-column {
    justify-content: flex-start;
}
.pRistorante-lwrapper-column .pHome__image-item-right {
    width: 72vw;
}
.pRistorante-lwrapper-column .pHome__image-item-left {
    width: 57.66vw;
}
.pRistorante-dog {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.image-top-space {
    margin-top: 90px;
}
.pasta-img {
    width: 57vw;
}
.center-txt img {
    width: 20%;
    height: auto;
    padding-right: 3%;
}
.pImpegno-lead__wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 7.7% 0;
}
@media (min-width:768px) {
    .pHome {
        background-image: url(assets/images/lead_tree_bg-pc.webp);
        background-repeat: no-repeat;
        background-position: right;
        background-size: 90%;
    }
    .lwrapper {
        width: 90%;
        margin: 0 auto;
    }
    .pHome-lwrapper {
        width: 70%;
        justify-content: flex-start;
    }
    .sign-restaurant .pHome__image-item-right,
    .pHome-lwrapper .lead-txt__content {
        margin-left: 0;
    }
    .lead-txt__content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 auto;
    }
    .lwrapper-animalImg {
        padding-top: 0;
    }
    .lwrapper-column-reverse.sign-restaurant {
        justify-content: space-between;
    }
    .lwrapper-map__block {
        padding: 120px 0 0 0;
    }
    .pHome__image-item {
        width: 48%;
        margin: 0;
    }
    .lwrapper-column-reverse {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
        column-gap: 6vw;
    }
    .home .lwrapper-column-reverse.ristorante {
        padding-top: 40px;
    }
    .lwrapper-column {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        column-gap: clamp(20px, 10.41vw, 90px);
    }
    .pHome__image-item-left {
        width: 25vw;
    }
    .pHome__image-item-right {
        width: 40vw;
    }
    .center-txt {
        margin: 0;
    }
    .lead-tableImg {
        margin-top: 90px;
    }
    .pHome-map__block {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
    }
    .pHome-map-img {
        padding-top: 6rem;
        flex-grow: 1;
        width: 60vw;
    }
    .pHome-map__block .lwrapper {
        flex-shrink: 0;
        width: 45%;
        max-width: 700px;
        padding-left: 6.51%;
        padding-right: 0;
        padding-bottom: 3%;
    }
    .pHomeWrapper__inner {
        max-width: 700px;
    }
    .scale__image-item {
        position: absolute;
        width: calc(1416 / 16*(100 / 1512* 1vw* 16));
        height: calc(750 / 16*(100 / 1512* 1vw* 16));
        /* transform: scale(var(--scale, 0.44)); */
        transform-origin: top center;
    }
    .scale__image-wrapper {
        position: relative;
        width: calc(1416 / 16*(100 / 1512* 1vw* 16));
        height: calc(750 / 16*(100 / 1512* 1vw* 16));
        overflow: hidden;
    }
    .scale__image-item__pin {
        position: absolute;
        top: -17.35vw;
        left: 0;
        width: 15.18vw;
        height: calc(750 / 16*(100 / 1512* 1vw* 16));
    }
    .llead__content {
        width: 70%;
        margin: 0 auto;
    }
    .pMessage-card {
        width: 100%;
        background-image: url(assets/images/pink_base_tablet.webp);
    }
    .pImpegno-chiken-img {
        width: 80%;
        margin: 0 auto;
    }
    .pAllogio {
        padding-bottom: 120px;
    }
    .pAllogio__image-item-right {
        width: 26vw;
    }
    .pAllogio__image-item-left {
        width: 40vw;
    }
    .pasta-img {
        width: 45%;
        margin-top: 90px;
    }
    .pHome__doorImg {
        display: flex;
        flex-direction: column;
    }
    .lwrapper-column-reverse.sign-restaurant.doorImg {
        display: flex;
        flex-direction: row;
    }
    .doorImg-txt {
        margin-top: 40px;
    }
}
@media (min-width: 1024px) {
    .lead-tableImg {
        margin-top: 50px;
    }
    .pHome .lwrapper.pHome-lwrapper {
        padding-top: 120px;
    }
    .pHome__doorImg {
        align-items: end;
    }
    .pHome {
        background-position: right -11%;
        background-size: 63%;
        margin-bottom: 120px;
    }
    .lwrapper.lwrapper-siteInfo {
        padding-top: 0;
    }
    .pSite_info {
        padding: 200px 0;
    }
    .struttura__imgMap {
        padding: 0 4.44% 0 0;
        margin-top: 0;
    }
    .lheading__title-pHome.lheading__title-pHome-top {
        margin-bottom: 50px;
    }
    .link__button.link__buton-top {
        margin-top: 100px;
    }
    .left-link__button {
        justify-content: flex-start;
        margin-left: 0;
    }
    .lheading__title {
        font-size: 2.8rem;
        line-height: 2.2;
    }
    .lheading__title-pHome {
        font-size: clamp(24px, 1.99vw, 30px);
        line-height: 2.2;
        margin: 0 auto 130px 0;
    }
    .lheading__title, .lead-txt__content {
        margin-left: 0;
    }
    .lead-txt,
    .lead-txt__content p {
        font-size: 17px;
    }
    .pHome-map {
        padding-bottom: 140px;
    }
    .pMessage-card {
        background-image: url(assets/images/pink_base_pc.webp);
    }
    .pAllogio, .pImpegno, .pRistorante {
        padding-bottom: 200px;
    }
    .pImpegno {
        padding-top: 40px;
    }
    .center-txt {
        font-size: 17px;
        line-height: 2.2;
    }
    .pHome .lcontainer, .pHome-map .lcontainer,
    .lcontainer {
        width: 100%;
        max-width: 1440px;
    }
    .lwrapper {
        padding-left: 4.44%;
        padding-right: 4.44%;
        padding-top: 100px;
    }
    .lwrapper.lwrapper-bike {
        padding-top: 0;
    }
    .pHome__image-item.pHome__image-item-bike {
        margin-top: 0;
        width: 31%;
        max-width: 360px;
    }
    .pHome-lwrapper {
        justify-content: left;
        margin: 0;
    }
    .lwrapper.pMessage-card {
        padding-top: 90px;
    }
    .lheadline__container {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
    }
    .lheadline__container-pRistorante{
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-start;
    }
    .pHome__image-item-right {
        max-width: 500px;
    } 
    .pHome__image-item-left {
        max-width: 300px;
    }
    .pStruttura {
        padding: 90px 0 180px;
    }
    .pMessage-card {
        padding-bottom: 90px;
    }
    .heading-top-space {
        padding-top: 130px;
    }
    .pRistorante-lwrapper-column .pHome__image-item-right {
        width: 36vw;
    }
    .pRistorante-dog {
        justify-content: flex-end;
    }
    .pImpegno-lead__wrapper, 
    .lheadline__illust-box {
        flex-shrink: 0;
        width: 45%;
    }
    .link__txt, .news__link__body-title,
    .link__txt, .link__txt-item {
        font-size: clamp(13px, 0.972vw, 14px);
    }
    .pHome__image-item {
        width: 23%;
        margin-top: 140px;
    }
    .lwrapper-column, .lwrapper-column-reverse {
        column-gap: clamp(90px, 13vw,200px);
    }
    .pImpegno-chiken-img {
        width: 70%;
    }
    .pImpegno-spImg {
        display: none;
    }
    .pImpegno-topImg {
        width: 100%;
    }
    .lheadline__container-pImpegno {
        align-items: center;
    }
    .pAllogio__image-item-right {
        width: 24vw;
    }
    .pAllogio__image-item-left {
        width: 36vw;
        max-width: 500px;
        margin-top: 0;
    }
    .pHome__image-item.top-doorImg {
        width: 35%;
    }
    .lwrapper.lwrapper-animalImg {
        padding-top: 0;
        margin-top: -aoopx;
    }
    .pHome__image-itemanimalImg {
        width: 30%;
        margin-top: 0;
    }
    .lwrapper-column.pRistorante-lwrapper-column {
        justify-content: flex-start;
    }
    .pHome__image-item-right.fish-img {
        margin-left: 0;
    }
    .pHome__image-item-left.image-top-space.chef-img {
        width: 22%;
        max-width: 300px;
        margin-top: -70px;
    }
}
.news__section {
    padding-top: 20px;
    padding-bottom: 50px;
    background-color: var(--color-base);
}
.news__section .news__link__body-title {
    font-weight: 400;
}
.news .news-category-nav {
    margin: 40px auto;
}
.news .news-category-nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.news__wrapper {
    padding: 0 3rem 0;
    display: flex;
    flex-direction: column;
}
.news__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.news__list-item {
    line-height: 1.5;
    width: 100%;
}
.news__link {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    padding-bottom: 24px;
}
.news__link::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-menu_gray);
}
.home .news__link__head {
    font-size: 15px;
}
.news__link__head {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    font-size: 17px;
    letter-spacing: .06em;
}
.news__link__category {
    width: 70px;
}
.news__link__category p {
    font-family: "Noto Serif JP";
    font-size: 15px;
    letter-spacing: .06em;
}
.news__link__date {
    display: block;
    font-family: "EB Garamond";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: .06em;
}
.news__link__body {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}
.news__link__body-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 15px;
    font-weight: 500;
}
.news__link__body-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 12px;
    margin-left: auto;
    overflow: hidden;
}
.news__link__body-icon img {
    position: absolute;
    width: 100%;
    height: 100%;
}
.news__section .link__button {
    padding-right: 3rem;
}
@media (min-width: 768px) {
    .news__section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .news__wrapper {
        padding: 0 5rem 0;
    }
    .news__section .link__button {
        padding-right: 5rem;
    }
    .home .news__list-item {
        line-height: 2;
    }
    .news .news-category-nav a:hover {
        color: var(--color-agricoltura);
        transition: cubic-bezier(0.075, 0.82, 0.165, 1);
    }
}
@media (min-width: 1024px) {
    .news__link__head {
        width: 100%;
    }
    .news__section {
        max-width: 1440px;
        margin: 0 auto;
    }
    .news__wrapper {
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 0 9rem 0;
    }
    .news__container {
        margin-top: 0;
        max-width: none;
        width: 100%;
        padding: 0;
    }
    .news_heading-wrap {
        margin: 0;
    }
    .news__link {
        flex-direction: row;
        gap: px;
        align-items: flex-start;
        padding-bottom: 30px;
        width: 100%;
    }
    .news__section .link__button {
        padding-right: 9rem;
    }
    .news__section .news__container {
        gap: 40px;
    }
    .news__link__category.homeNews {
        width: auto;
    }
}
/* ---------concept */
.concept .lheading__title-pHome-top {
    margin-top: 26px;
}
.concept .concept-large_image-txtBox {
    margin: 40px auto 0;
    padding: 0 7.7%;
    text-align: left;
}
.concept .sub_lcontainer-pc.sub_lcontainer-pc-concept {
    padding-bottom: 40px;
}
.concept .Concept_image__item {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.concept .Concept_image__item-large {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 80px;
    text-align: center;
}
.concept .concept-large_image {
    width: 100%;
    max-width: 500px;
    overflow: hidden;
}
.concept .concept-large_image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.concept .info__container.info__container-concept {
    margin: 60px auto;
}
.concept .Concept_image__item__txt {
    width: 100%;
}
.concept .sub_lcontainer-pc.lcontainer-agriturismo {
    background: url(assets/images/agri_base_sp.webp);
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
    height: 230rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}
.concept .agri_illut_txt-label {
    width: 100%;
    margin: 60px auto;
}
.concept .agriturismo__image__container {
    width: 100%;
    height: auto;
}
.concept .image__item__vegitable {
    position: relative;
    width: 240px;
    height: 240px;
    margin: 40px auto 0;
    opacity: 0;
    transition: opacity 1.6s  cubic-bezier(0.45, 0, 0.55, 1) ease-out;
}
.concept .sub_lcontainer-pc.lcontainer-history {
    padding: 90px 0 90px 0;
    background-color: var(--color-history);
}
.concept .image__item__vegitable.tu {
    margin-top: 40px;
}
.concept svg {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-90deg);
}
.concept circle {
    fill: transparent;
    stroke: var(--color-agricoltura);
    stroke-width: 1.3;
    stroke-dasharray: 758.6;
    stroke-dashoffset: 758.6;
    transition: stroke-dashoffset 1.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.concept .image {
    position: absolute;
    width: 100px;
    height: 100px;
    opacity: 0;
    transform: scale(0.7); /* 最初は少し小さく */
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s ease;
}
.concept .image1 {
    top: 10px;
    right: 10px;
}
.concept .image2 {
    bottom: 0;
    left: 0;
}
.concept .image3 {
    top: -7px;
    left: -50px;
    width: 140px;
    height: auto;
}
.concept .image4 {
    bottom: 0;
    right: 0;
    width: 71px;
    height: auto;
}
.concept .agriturismo__image__container.agriturismo3 {
    margin-top: 80px;
}
.concept .agriImgTxt-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    text-align: center;
    opacity: 0;
    transition: opacity 0.6s ease;
    width: 100%;
}
.concept .agriImgTxt-it,
.concept .agriImgTxt-jp {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--color-agricoltura);
}
.concept .agriturismo__item-image {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.concept .agriturismo__item-image img {
    width: 100%;
    height: auto;
    object-position: center;
    object-fit: cover;
    max-width: 500px;
}
.concept .agriturismo__item-image.radishImg {
    margin-top: 60px;
}
.concept .sub_lcontainer-pc.lcontainer-nameStory {
    padding-bottom: 0px;
}
.section-impegno {
    background-color: var(--color-deep-pink);
    padding-bottom: 20px;
}
.concept .material-image {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
}
.concept .material-image img {
    width: 100%;
    height: auto;
    display: block;
}
.concept .nameStory__heroImg {
    background-image: url(assets/images/concetto__HF.svg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
    height: 300px;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0 auto;
    align-items: center;
}
.concept .lead-text-large {
    font-size: 18px;
    color: var(--color-primary);
    font-weight: 500;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}
.concept .nameMv__img-Bigcard {
    width: 310px;
    height: 300px;
    margin: 120px auto 90px;
    border-radius: 5px;
    text-align: center;
    background-color: var(--color-base);
    position: relative;
}
.concept .nameMv__txtwrap {
    margin-top: 50px;
    margin-bottom: 50px;
}
.concept .l-mediaBlock__image.nameMv__img {
    position: absolute;
    width: 60%;
    top: -25%;
    transform: translateX(-50%);
    left: 50%;
}
.concept .name-message {
    position: absolute;
    top: 120px;
    width: 98%;
    margin: 0 auto;
    color: var(--color-agricoltura);
    font-weight: 500;
}
.concept .l-mediaBlock__image.nameMv__img img {
    width: 100%;
}
.concept .nameStory-logo-image {
    width: 200px;
    margin: 40px auto;
}
.concept .nameStory-logo-image img {
    width: 200px;
    height: auto;
}
.concept .nameStory__logo-message__wrapper {
    padding: 60px 4.44%;
    display: flex;
    flex-direction: column;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.concept .stuff__info__inner .sub_lcontainer-pc {
    padding-top: 0;
    padding-bottom: 0;
}
.concept .stuff__info__container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.concept .stuffcard_wrap {
    padding: 0 3rem 90px;
    max-width: 500px;
    margin: 0 auto;
}
.concept .stuffImg {
    width: 200px;
    margin: 0 auto;
    overflow: hidden;
}
.concept .stuffImg img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.concept .stuffcard_header {
    margin-top: 24px;
}
.concept .stuffcard_header p {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
.concept .stuffName_jp {
    font-size: 18px;
    line-height: 2;
}
.concept .stuffName_en {
    font-family: "Noto Serif JP";
    font-size: 13px;
}
.concept .stuffcard_wrap .lead__text {
    margin-top: 40px;
}
#history .subPage__headerBox {
    margin-top: 0;
}
#history .lheading__title {
    margin: 26px auto 40px 0px;
}
.history__section__wrapper {
    background-color: var(--color-hitory);
    padding: 0 30px 90px;
    margin: 0 auto;
}
.history__container {
    position: relative;
    max-width: 400px;
    margin: 0 auto;
}
.history__inner__wrapper::before {
    position: absolute;
    top:12px;
    content: "";
    width: 0.85px;
    height: 100%;
    background-color: var(--color-agricoltura);
}
.history__inner__wrapper::after {
    position: absolute;
    bottom: -14px;
    left: 6px;
    content: "";
    width: 0.85px;
    height: 16px;
    background-color: var(--color-agricoltura);
    transform: rotate(45deg);
}
.history__txt__item {
    display: flex;
    flex-direction: column;
    padding-left: 20px;
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.9;
    margin-top: 40px;
}
.history__discription-title {
    position: relative;
    font-weight: 500;
}
.history__txt__item.hisTop {
    margin-top: 10px;
}
.history__discription-title::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--color-agricoltura);
    top: 15px;
    left: -27px;
    transform: translateY(-50%) translateX(50%);
    margin-top: auto;
    border-radius: 50%;
}
.history__description-inner {
    margin-top: 16px;
}
.history__image {
    margin-top: 30px;
    display: flex;
    padding-left: 20px;
}
.historyImg {
    display: block;
    max-width: 360px;
}
.historyImg img {
    width: 100%;
    height: auto;
    border:  solid 20px var(--color-history-image);
}
.history-date {
    font-size: 13px;
    font-family:'Noto Serif JP';
    color: var(--color-body);
    font-style: normal;
    font-weight: 400;
    padding-left: 20px;
    margin-top: 40px;
}
.concept .stuff-txt {
    margin-top: 30px;
}
@media (min-width: 768px) {
    .concept .nameStory-logo-image {
        width: 300px;
    }
    .concept .nameStory-logo-image img {
        width: 300px;
    }
    .concept .nameStory__inner__wrapper {
        width: 60%;
        max-width: 900px;
        margin: 0 auto;
    }
    .concept .nameStory__column-wrapper {
        display: flex;
        flex-direction: row;
        gap: clamp(90px, 9.72vw, 140px);
        padding-right: 4.444%;
    }
    .concept .nameMv__img-Bigcard-wrapper {
        margin-top: 120px;
    }
    .concept .image__item__vegitable {
        margin-top: -30px;
    }
    .concept .nameStory__logo-message__wrapper {
        padding-top: 0;
        padding-bottom: 120px;
    }
    .concept .nameStory__logo-message__wrapper p {
        max-width: 500px;
        text-align: center;
        margin: 0 auto;
    }
    .concept .concept-large_image-txtBox {
        margin-top: 100px;
    }
    .concept .Concept_image__item-large {
        max-width: 900px;
        margin-bottom: 100px;
    }
    .concept .concept-large_image,
    .concept .concept-large_image img
    {
        max-width: 900px;
    }
    .concept .concept-large_image-txtBox {
        text-align: center;
    }
    .concept .info__container-concept {
        margin-top: 120px;
    }
    .concept .Concept_image__item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 120px auto 60px;
        align-items: center;
        gap: 100px;
    }
    .concept .Concept_image__item .Concept_image__item__txt {
        margin-top: 0;
    }
    .concept .Concept_image__item .lead-txt {
        margin: 0 auto;
        max-width: 600px;
    }
    .concept .Concept_image__item__txt {
        text-align: center;
    }
    .concept .l-mediaBlock__column.l-mediaBlock__column_reverse {
        flex-direction: row-reverse;
    }
    .concept .l-mediaBlock__image.l-mediaBlock__image_reverse {
        width: 80%;
    }
    .concept .sub_lcontainer-pc.lcontainer-agriturismo {
        background: url(assets/images/agri_base_tablet.webp);
        height: 1650px;
    }
    .concept .agriturismo__leadTxtBox.eg {
        text-align: left;
    }
    .concept .agriturismo-wrapper .about__txtwrap {
        margin: 90px 30px;
    }
    .concept .agriturismo__leadTxtBox {
        text-align: center;
        margin: 0 auto;
    }
    .concept .agriturismoImg__wrap {
        width: 90%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .concept .agriturismoImg__wrap .agriturismo__leadTxtBox {
        margin-left: 0;
        margin-top: 90px;
    }
    .concept .image__item__vegitable {
        margin-left: auto;
        margin-right: 0;
        transition: opacity 1.6s  cubic-bezier(0.45, 0, 0.55, 1) ease-out;
    }
    .concept .agriturismoImg__wrap.second {
        display: flex;
        flex-direction: row;
    }
    .concept .agriturismo__image__container.agriturismo1 {
        width: 50%;
        margin-top: -60px;
    }
    .concept .agriturismo__image__container.agriturismo3 {
        margin-right: 50px;
        margin-left: auto;
        margin-top: 200px;
    }
    .concept .agriturismo__item {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 60px;
    }
    .concept .agriturismo__item-image.cakeImg {
        width: 25%;
    }
    .concept .agriturismo__item-image.cakeImg img {
        max-width: 250px;
    }
    .concept .agriturismo__item-image.radishImg {
        width: 40%;
    }
    .concept .agriturismo__item-image.radishImg img {
        max-width: 300px;
    }
    .concept .stuff__info__container {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .concept .stuff__info__inner {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        padding: 0 50px;
        gap: 70px;
    }
    .stuff__info__container .stuff__info__inner {
        padding-bottom: 130px;
    }
    .concept .stuffcard_wrap {
        width: 50%;
        padding: 0;
    }
    .concept .stuffcard_wrap.second {
        margin-top: 0;
    }
    .history__section {
        padding-bottom: 170px;
    }
    .history__section__wrapper {
        padding: 0;
    }
    .history__container {
        position: relative;
        max-width: 800px;
        margin: 0 auto;
    }
    #history .agriturismo__lead__container {
        padding: 0 50px;
    }
    #history .subPage__headerBox {
        padding-left: 6.5%;
    }
    .history__inner__wrapper  {
        padding-left: 60px;
        padding-right: 50px;
    }
    .history__txt__item {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        gap: 80px;
        font-size: 14px;
    }
    .history__discription-title {
        width: 35%;
    }
    .history__image {
        display: flex;
        justify-content: flex-end;
        margin-left: auto;
        width: 65%;
        padding-left: 0;
    }
    .historyImg {
        width: 100%;
        max-width: 400px;
    }
    .history__description-inner {
        margin-top: 0;
        width: 70%;
    }
    .history__inner__wrapper::after {
        left: 66px;
    }
    .concept .material__container {
        display: flex;
        flex-direction: row-reverse;
        margin-top: 90px;
        padding: 0 4.44%;
        gap: 4.44%;
    }
    .sub_lcontainer-pc.lcontainer-impegno.last-impegno {
        padding-top: 0;
    }
    .sub_lcontainer-pc.lcontainer-impegno.last-impegno,
    .concept .material-image {
        width: 50%;
    }
        #history .lheading__title,
        #stuff .lheading__title {
        margin: 26px auto 70px;
    }
}
@media (min-width:1024px) {
    .concept .Concept_image__item-large,
    .concept .concept-large_image,
    .concept .concept-large_image img
    {
        max-width: none;
    }
    .concept .lheading__title-pHome.title-pHome-agriturismo {
        margin-bottom: 80px;
    }
    .concept .agriturismoImg__wrap.wrap-agricoltura {
        flex-direction: row;
    }
    .concept .image__item__vegitable {
        margin-top: 40px;
    }
    .concept .sub_lcontainer-pc.sub_lcontainer-pc-concept {
        padding-bottom: 0px;
    }
    .concept .info__container.info__container-concept {
        margin-top: 180px;
        margin-bottom: 0;
        padding: 0 4.44%;
    }
    .concept .Concept_image__item {
        gap: 100px;
        margin: 100px auto;
    }
    .concept .agriturismo__lead__container {
        margin-top: 0px;
        padding: 100px 4.44%;
    }
    .concept .sub_lcontainer-pc.lcontainer-agriturismo {
        background: url(assets/images/agri_base_pc.webp);
        height: 208rem;
    }
    .concept .agriturismo__leadTxtBox {
        margin-left: 50px;
        text-align: left;
    }
    .concept .agriturismoImg__wrap {
        display: flex;
        justify-content: center;
        gap: 60px;
        padding: 0 4.44%;
        margin: 0 auto;
    }
    .concept .agriturismo__image__container.agriturismo2 {
        margin: 50px 200px 0 100px;
    }
    .concept .image__item__vegitable.turismoImg {
        margin-left: 0;
    }
    .concept .subPage__itemImg.agriLastImg01 {
        width: 348px;
    }
    .concept .agriturismo-wrapper .subPage__item {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 80px;
    }
    .concept .agriturismoImg__wrap.second {
        margin-top: 80px;
        justify-content: space-between;
    }
    .concept .agri_illut_txt-label.locale {
        text-align: center;
    }
    .concept .Concept_image__item-large {
        margin-bottom: 160px;
    }
    .section-impegno {
        padding-top: 160px;
        padding-bottom: 160px;
    }
    .concept .Concept_image__item {
        margin-bottom: 70px;
    }
    .concept .nameStory__heroImg {
        height: 500px;
        margin: 500px auto 90px 0px;
        max-width: 900px;
    }
    .concept .nameStory__column-wrapper {
        display: block;
        position: relative;
        margin-top: 160px;
    }
    .concept .nameMv__img-Bigcard-wrapper {
        position: absolute;
        top: 10%;
        right: 20%;
    }
    .concept .stuff__info__container {
        justify-content: center;
    }
    .concept .stuff__info__inner {
        padding-left: 80px;
        padding-right: 80px;
    }
    .concept .stuff-txt {
        font-size: 14px;
    }
    .concept .stuff__info__inner {
        gap: 130px;
    }
    .concept .stuffcard_header {
        margin-bottom: 40px;
    }
    #stuff .lheading__title {
        margin-bottom: 120px;
    }
}
/* ---------site-infomation */
.my-carousel-progress {
    position: relative;
    height: 4px;
    background: var(--color-deep-pink);
    margin-top: 50px;
    width: 100%;
}
.site-gallery-section.location-section .my-carousel-progress,
.site-gallery-section.animal-section .my-carousel-progress {
    background-color: var(--color-menu-line);
}
.my-carousel-progress-bar {
    height: 100%;
    width: 0%;
    background: var(--color-menu-line);
    transition: width 0.3s ease;
}
.my-carousel-progress-count {
    position: absolute;
    top: -24px; /* プログレスバーの上に表示 */
    right: 0;
    font-size: 14px;
    color: var(--color-agricoltura);
}
.swipe-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
} 
.swipe-label {
    font-size: 12px;
    margin: 0;
    display: inline-block;
    transform: translateY(-1px);
}
.site-gallery-section .splide__arrow {
    background: none;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    transform: none;
    bottom: 100px;
    width: 18px;
    height: 18px;
}
.site-gallery-section .splide__arrow--prev {
    background-image: url(assets/images/arrow-left.svg);
    margin-right: 10px;
}
.site-gallery-section .splide__arrow--next {
    background-image: url(assets/images/arrow-right.svg);
    margin-left: 20px;
}
.site-gallery-section .splide__arrow svg {
    display: none;
}
.site-gallery-section.animal-section .my-carousel-progress-bar .swipe-icon,
.site-gallery-section.location-section .my-carousel-progress-bar .swipe-icon,
.site-gallery-section.location-section .my-carousel-progress-bar,
.site-gallery-section.animal-section .my-carousel-progress-bar {
    background-color: var(--color-agricoltura);
    opacity: 0.4;
}
.site-infomation .site-infoMap {
    background-color: var(--color-base);
    margin-top: 100px;
}
.site-infomation .sub_lcontainer-pc.sub_lcontainer-pc-concept {
    padding: 90px 0 0;
}
.site-infomation .subPage__headerBox.subPage__headerBox-topSpace {
    padding: 0 7.7%;
}
.site-infomation .guideMap {
    max-width: 700px;
    margin: 0 auto;
    padding: 30px 6% 80px;
}
.site-infomation .guide-icon {
    padding: 60px 0;
    background-color: var(--color-deep-pink);
}
.site-infomation .guide-icon__wrapper {
    margin: 40px 16px;
    background-color: var(--color-base);
    padding: 4%;
    border-radius: 8px;
}
.site-infomation .wp-block-table.icon-table {
    text-align: center;
    margin: 0 auto;
}
.site-infomation .wp-block-table td {
    position: relative;
    border: transparent;
    font-size: clamp(11px, 3.2vw, 14px);
    white-space: nowrap;
    text-align: left;
    line-height: 3.85;
    vertical-align: middle;
}
.site-infomation .wp-block-table td img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;  /* 適宜調整 */
    background-color: var(--color-primary);
    aspect-ratio: 1 / 1;
    width: clamp(34px, 8.974vw, 40px)!important;
    border-radius: 50%; 
    padding: 4px;
    height: auto;
}
.site-gallery-section {
    background-color: var(--color-base);
}
.site-gallery-section.location-section .site-gallery, 
.site-gallery-section.location-section,
.site-gallery-section.animal-section .site-gallery, 
.site-gallery-section.animal-section {
    background-color: var(--color-deep-pink);
}
.site-gallery-headerBox {
    width: 100%;
    margin: 0 auto;
    padding: 30px 30px 40px;
}
.site-gallery-headerBox .lheading__title-pHome {
    font-family: "EB Garamond";
}
.site-gallery-headerBox-img {
    width: 100%;
}
.site-gallery-headerBox-img img {
    width: 100%;
    overflow: hidden;
    object-position: center;
}
.site-gallery-headerBox-txt {
    padding: 60px 0 40px;
}
.site-infomation .splide {
    overflow: hidden;
    padding: 40px 30px 80px;
}
.site-infomation .splide__slide {
    width: 46.5vw !important;
    margin-right: 30px;
    position: relative;
}
.site-infomation .presentation .splide__pagination__page {
    background: var(--color-agricoltura);
}
.site__gallery-grid-image {
    margin-bottom: 40px;
    overflow: hidden;
    border-radius: 5px;
    width: 100%;
    aspect-ratio: 301 / 402;
}
.site__gallery-grid-image img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    height: auto;
    object-fit: cover;
    aspect-ratio: 301 / 402;
}
.site__gallery-grid li h4 {
    font-size: 18px;
    margin-bottom: 16px;
    font-weight: 500;
    white-space: nowrap;
}
.site-gallery p {
    font-size: 13px;
}
.guideMap img {
    width: 100%;
    height: auto;
}
@media (min-width:768px) {
    .site-gallery-headerBox {
        display: flex;
        gap: 6vw;
    }
    .site-infomation .guide-icon__wrapper {
        max-width: 500px;
        margin: 0 auto;
    }
    .location-section .site-gallery-headerBox,
    .animal-section .site-gallery-headerBox {
        display: flex;
        flex-direction: row-reverse;
    }
    .site-infomation .splide,
    .site-gallery-headerBox {
        padding-left: 6.66%;
        padding-right: 6.66%;
    }
    .site-infomation .splide__slide {
        width: 18.5vw !important;
        margin-right: 50px;
    }
    .site-infomation .guide-icon {
        padding-top: 90px;
    }
    .splide.site-gallery {
        padding-top: 60px;
        padding-bottom: 160px;
    }
    .site-gallery-headerBox-img,
    .site-gallery-headerBox-txt {
        width: 50%;
        padding-top: 40px;
    }
    .site-gallery-section .splide__arrow {
        bottom: 182px;
    }
}
@media (min-width:1024px) {
    .site-infomation .site-infoMap {
        background-color: #FFF;
        margin-top: 0;
    }
    .site-infomation .main__containerSticky .sub_lcontainer-pc.sub_lcontainer-pc-concept,
    .site-infomation .subPage__headerBox__container  {
        padding: 0;
    }
    .subPage__headerBox.subPage__headerBox-topSpace {
        padding: 0;
    }
    .site-gallery-headerBox {
        display: flex;
        padding-top: 120px;
        padding-bottom: 60px;
    }
    .site-info_guideMap_wrapper {
        display: flex;
        margin-top: 60px;
        gap: 6.5%;
        background-color: var(--color-deep-pink);
    }
    .site-infomation .guideMap,
    .site-infomation .guide-icon {
        width: 50%;
    }
    .site-infomation .guideMap {
        padding: 120px 0 120px 6.5%;
    }
    .site-infomation .guide-icon {
        padding: 120px 6.5% 120px 0;
    }
    .site-infomation .guide-icon__wrapper {
        max-width: none;
        padding: 8%;
    }
    .my-carousel-progress {
        margin-top: 100px;
    }
    .site-gallery p {
        font-size: 14px;
    }
}

/* ---------ristorante */
.restaurant .jp-S::before {
    display: none;
}
.restaurant .sideMenu__nav__list.sideMenu__nav__list-restaurant::before {
    height: 175px;
}
.restaurant .menuCard__section {
    background-color: var(--color-deep-pink);
}
.restaurant .menuCard__header {
    padding: 0 0 80px;
    text-align: center;
}
.restaurant .menuCard-title {
    text-align: center;
    font-family: "EB Garamond";
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: .04em;
}
.restaurant .menuCard__item__wrapper {
    width: 100%;
    margin: 0 auto;
    max-width: 500px;
}
.restaurant .menuCard {
    margin-bottom: 50px;
}
.restaurant .link__button-menuCard {
    margin-top: 30px;
}
.restaurant .menuCard__item__img {
    width: 100%;
    max-width: 500px;
    overflow: hidden;
    margin: 0 auto;
}
.restaurant .menuCard__item__img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.restaurant .menuCard__item {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 47px 6.15% 40px 6.15%;
    background-color: var(--color-base);
}
.restaurant .menuCard-desc {
    display: flex;
    height: clamp(200px, 6.944vw, 250px);
}
.restaurant .menuCard__item__header {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.restaurant .menuCard__item p {
    letter-spacing: .04em;
    margin-top: 50px;
}
.restaurant .restaurant__info {
    background-color: var(--color-base);
    padding-bottom: 30px;
}
.restaurant .info-txt {
    padding: 30px 20px 40px;
}
.restaurant .info__title {
    font-size: 20px;
    margin-bottom: 40px;
}
.restaurant .tips {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .06em;
    margin: 20px auto 0;
    text-align: center;
    color: var(--color-primary);
}
.room__infomation .room__info__title h3::after,
.room__infomation-section .room__info__title span::after {
    margin-top: 24px;
    margin-bottom: 0;
}
.restaurant .tips::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    background: var(--color-primary);
    margin: 0 auto 8px;
}
.restaurant .menu__container {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.restaurant .box__menu {
    position: relative;
    padding: 0 4.102% 0 4.102%;
    width: 100%;
    margin-top: 24px;
}
.restaurant .menuTab__content {
    background-color: var(--color-history);
}
.restaurant .menuTab__content-kids {
    background-color: #fff;
}
.restaurant .listTab__name-kids {
    width: 50%;
}
.restaurant .menuTab_jp {
    font-size: clamp(13.5px, 3.7vw, 16px);
    font-weight: 600;
    text-align: center;
}
.restaurant .menuCard__title__block {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 36px 6.15% 0 6.15%;
}
.restaurant .menu__listTab {
    width: 100%;
    display: flex;
    justify-content: space-between;
    top: 0;
    left: 0;
    z-index: 1100;
}
.restaurant .menuCard__item__header .menuTab_it {
    font-size: clamp(13px, 3.07692vw, 14px);
}
.restaurant .pranzo__section .listTab__name {
    width: 32.5%;
    padding: 8px;
}
.restaurant .listTab__name {
    background-color: var(--color-history);
    padding: 6px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0.5;
    transition: opacity 0.3s ease-out, color 0.3s ease-out;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
}
.restaurant .kidsMenu .listTab__name {
    background-color: #FFF;
}
.restaurant .listTab__name.is-active {
    opacity: 1;
    background-color: var(--color-menu-line);
    border-radius: 5px 5px 0 0;
}
.restaurant .listTab__name.is-active::after {
    transform: scaleX(1);
}
.restaurant .menuTab__content {
    display: none;
}
.restaurant .menuTab__content.is-active {
    display: block;
}
.restaurant .menuCard__block {
    background-color: var(--color-history);
    width: 100%;
    margin: 0 auto;
}
.restaurant .menuCard__block-kids {
    background-color: #FFF;
}
.restaurant .kidsMenu {
    background-color: var(--color-base);
    margin-top: 90px;
    padding: 40px 0 90px;
}
.restaurant .menuTab__content {
    padding-top: 50px;
}
.restaurant .menuCard__item__header-line-none::after {
    border: none;
    content: '';
    display: block;
    padding-top: 0;
}
.restaurant .cena__section {
    background-color: var(--color-deep-pink);
    padding-bottom: 90px;
}
.restaurant .link-caption {
    font-size: 15px;
    text-align: right;
}
.restaurant .list_menu {
    text-align: center;
    padding: 48px 0;
    font-size: 1.6rem;
    border-top: solid 1px var(--color-menu-line);
}
.restaurant .list_menu.lunch li {
    white-space: pre-line;
    line-height: 1.4;
}
.restaurant .list_menu.barbecue li {
    white-space: pre-line;
    line-height: 2.4;
}
.restaurant .list_menu-under0 li {
    margin-bottom: 0;
}
.restaurant .menuCard__title__block-bbq {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 47px 0 20px;
}
.restaurant .l-mediaBlock__column-bbq {
    margin-top: 44px;
}
.restaurant .menuTab__content-bbq {
    display: block;
}
.restaurant .sub_lcontainer-pc-bbq {
    padding-top: 0;
    padding-bottom: 30px;
}
.restaurant .infoImg-tabPc {
    display: none;
}
.restaurant .heading_it.it-small {
    font-size: clamp(28px, 7.692vw, 30px);
}
.restaurant .heading_it.jp-small {
    font-size: 18px;
}
.restaurant .heading_jp {
    margin-top: 12px;
    font-size: 18px;
}
.restaurant .barbecue__imginfo__wrap .infoImg,
.restaurant .infoImg-image-sp,
.restaurant .barbecue__imginfo__wrap  {
    margin-top: 40px;
}
.restaurant .barbecue__section {
    background-color: var(--color-base);
}
.restaurant .course-info {
    font-size: 15px;
    color: var(--color-primary);
}
@media (min-width: 768px) {
    .restaurant .menuCard__item__wrapper {
        max-width: none;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 4%;
    }
    .restaurant .menuCard {
        flex: 1;
    }
    .restaurant .header .header__container .header__logo .logo-white:hover, 
    .restaurant .header .header__container .header__logo .logo-red:hover {
        opacity: .6;
    }
    .restaurant .menu__listTab,
    .menu__listTab {
        display: none;
    }
    .restaurant .infoImg, .restaurant .info-txt {
            width: 46%;
            flex: 1;
            padding: 0;
    }
    .restaurant .menu__container {
        max-width: none;
    }
    .restaurant .menuTab__innerWrap {
        max-width: none;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 4%;
    }
    .restaurant .menuTab__content {
        flex: 1;
    }
    .restaurant .l-mediaBlock__image-tab-pc {
        display: block;
    }
    .restaurant .l-mediaBlock__image-sp {
        display: none;
    }
    .restaurant .bbq-lcolumn-wrapper {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 8%;
    }
    .restaurant .barbecue__imginfo__wrap {
        margin-top: 0;
    }
    .restaurant .barbecue__imginfo__wrap .infoImg {
        margin-top: 60px;
        width: 100%;
    }
    .restaurant .sub_lcontainer-pc.lcontainer-bbq {
        padding: 0 6.5% 0 0;
    }
    .restaurant .box__menu-bbq {
        width: 100%;
        padding: 0 0 0 6.5%;
        margin-top: 0;
    }
    .restaurant .menuCard__item__img {
        width: 24%;
        max-width: 200px;
    }
    .restaurant .menuCard .menuCard__item__img {
        width: 100%;
        max-width: none;
    }
    .restaurant .infoImg.infoImg-tabPc {
        display: block;
        width: 100%;
    }
    .restaurant .restaurant__info {
        padding-bottom: 90px;
    }
    .restaurant .menuCard__title__block {
        max-width: none;
    }
    .restaurant .list_menu.lunch {
        height: clamp(468px, 34.72vw, 480px);
    }
    .restaurant .list_menu.dinner {
        height: clamp(500px, 34.72vw, 580px);
    }
    .restaurant .pranzo__section, .restaurant .cena__section, .restaurant .barbecue__section {
        padding-top: 90px;
    }
    .restaurant .infoImg-image-sp {
        display: none;
    }
    .restaurant .link__button.link__button-restaurant {
        margin-top: clamp(70px, 10.9714vw, 100px);
    }
    .restaurant .barbecue__section {
        padding-bottom: 120px;
    }
}
@media (min-width: 1024px) {
    .restaurant .kidsMenu {
        padding: 93px 0 140px;
        margin-top: 140px;
    }
    .restaurant .tips {
        margin: 30px auto;
    }
    .restaurant .infoImg.infoImg-tabPc {
        margin-top: 90px;
    }
    .restaurant .bbq-lcolumn-wrapper {
        margin-top: 90px;
    }
    .restaurant .info-card.info-card_bbq {
        padding: 0 6.5%;
    }
    .restaurant .label-illust.label-illust_dinner {
        text-align: right;
        margin-top: 10px;
    }
    .restaurant .pranzo__section, .restaurant .cena__section, .restaurant .barbecue__section {
        padding: 140px 0;
    }
    .restaurant .menuCard__item__img {
        max-width:300px
    }
    .restaurant .list_menu {
        font-size: 15px;
    }
    .sub_lcontainer-pc__menuCard__section {
        padding: 80px 6.5%;
    }
    .restaurant .menuCard__item__wrapper {
        gap: 5%;
    }
    .restaurant .restaurant__info {
        padding-bottom: 180px;
        padding-top: 60px;
    }
    .restaurant .info__title {
        font-size: 24px;
    }
    .restaurant .info-txt p {
        font-size: 16px;
        line-height: 2;
    }
    .restaurant .tips {
        font-size: 16px;
    }
    .stay .info__container.info__container-stay,
    .restaurant .menuCard__section {
        margin-top: 180px;
    }
}
/* ---------stay */
body.fiore,
body.hana {
    input,
    optgroup,
    select,
    textarea {
    -webkit-appearance: auto; 
    appearance: auto;
    /* vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; */
    }
}
input:checked {
    border: none;
    outline: 2px solid var(--color-deep-pink);
}
.stay .room__description {
    margin-top: 0;
}
.usage-info__wrapper,
.reservation__container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 60px;
    padding: 30px 30px;
}
.booking_form-wrapper {
    margin: 40px auto 0;
    padding: 30px 30px;
    background-color: var(--color-sidemenu-nav);
}
.hb-search-fields input {
    background-color: #FFF;
}
.hb-change-search-wrapper,
.hb-search-submit-wrapper {
    margin-top: 50px;
    margin-bottom: 20px;
}
.hb-details-fields {
    margin-top: 30px;
    margin-bottom: 30px;
}
.hb-details-fields p {
    margin-top: 16px;
}
#hb-form-1-field_3 {
    min-height: 140px;
    resize: vertical;
}
.hb-policies-area,
.hb-confirm-area,
.hb-details-fields,
.hb-step-button input,
.hb-search-submit-wrapper input,
.hb-change-search-wrapper input {
    font-size: 15px;
}
.hb-confirm-button {
    margin-top: 16px;
}
.hb-policies-area {
    margin-bottom: 16px;
}
.hb-option b {
    color: var(--color-primary);
    font-weight: 500;
    font-family: 'Noto Serif JP';
}
.hb-accom-price {
    font-size: 26px;
    font-weight: 600;
}
.hb-single-option b {
    font-size: 15px;
    font-weight: 400;
    font-family: 'Noto Serif JP';
}
.hb-payment-method-wrapper {
    margin-top: 40px;
}
.hb-title.hb-title-payment {
    padding: 40px 0;
}
.hb-payment-type-multiple-choice b {
    margin: 20px 0;
    font-size: 15px;
}
.hb-accom-desc {
    line-height: 2.25;
}
.hb-payment-type-explanation.hb-payment-type-explanation-offline,
.hb-confirm-area,
.hb-payment-type-wrapper.hb-payment-type-offline-wrapper,
.hb-accom-desc  {
    font-size: 15px;
}
.usage-info__section {
    background-color: var(--color-base);
}
.usage-info__section h4 {
    /* font-size: 18px; */
    font-weight: 600;
    margin: 60px 0 20px;
    color: var(--color-primary);
}
.stay .allogio__roomCard.card-hana {
    background-color: var(--color-base);
}
.stay .allogio__roomCard.card-fiore {
    background-color: var(--color-deep-pink);
}
.stay .jp-S::before {
    display: none;
}
.stay .allogio__roomCard {
    width: 100%;
    padding-bottom: 80px;
}
@media (min-width: 768px) {
    .stay .info-card {
        margin-top: 0;
    }
    .stay .allogio__roomCard.card-fiore {
        background-color: var(--color-base);
    }
    .stay .info__container.info__container-stay {
        background-color: var(--color-base);
        padding-top: 100px;
    }
    .stay .info-card.info-card_stay {
        display: flex;
        flex-wrap: wrap;
        gap: 70px;
    }
    .room__description.stay-message {
        padding: 70px 0;
    }
    .stay .allogio__roomCard {
        width: 38.46vw;
    }
    .stay .img-hover-zoom {
        display: block;
        overflow: hidden;
    }
    .stay .img-hover-zoom:hover img {
        transform: scale(1.1);
    }
    .stay .img-hover-zoom img {
        transition: opacity 450ms, transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
        display: block;
        width: 100%;
        height: auto;
    }
    .stay .room__info__wrapper {
        max-width: 900px;
        margin: 0;
    }
          /* テキストのホバーアニメーション */
    .allogio__roomCard:hover .link__txt-item:not(.txt-item__sr-only) {
        animation: link-hover-text-out 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    }
    .allogio__roomCard:hover .txt-item__sr-only {
        animation: link-hover-text-in 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    }
    /* 矢印のホバーアニメーション */
    .allogio__roomCard:hover .arrow-icn1 {
        animation: link-hover-arrow-out 2s cubic-bezier(0.39, 0.575, 0.565, 1) infinite;
    }

    .allogio__roomCard:hover .arrow-icn2 {
        animation: link-hover-arrow-in 2s cubic-bezier(0.39, 0.575, 0.565, 1) infinite;
        display: block;
    }
    .stay .faq__section_wrapper {
        background-color: var(--color-base);
        /* padding: 90px 20px; */
    }
}
@media (min-width: 1024px) {
    .stay .allogio__roomCard {
        width: calc(50% - 80px);
    }
    .stay-gallery {
        padding: 160px 4.44%;
    }
    .stay-gallery .faq__section_wrapper {
        padding: 0 4.44%;
    }
    .hb-change-search-wrapper,  
    .hb-search-submit-wrapper {
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .reservation__container {
        padding-top: 140px;
        padding-bottom: 80px;
    }
    .usage-info__wrapper {
        padding: 100px 0 120px;
        margin-bottom: 0;
    }
    .usage-info__wrapper .room__info__title.sub-room__info__title {
        padding-bottom: 30px;
    }
}
/* ---------faq */
.stay .faq__section {
    /* padding-top: 90px 20px; */
    background-color: var(--color-base);
}
.stay .faq__section_wrapper {
    padding: 90px 20px;
    background-color: var(--color-base);
}
.stay .faq__container {
    margin: 0 auto;
}
.stay .faq__data {
    list-style: none;
    width: 95%;
    margin: 7rem auto 0;
}
.stay .faq__item {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding-top: 3rem;
    z-index: 10;
    border-bottom: 1.25px solid var(--color-pink-lightgray);
}
.stay .faq__question {
    display: flex;
    align-items: center;
    width: 100%;
    padding-bottom: 2rem;
    text-align: left;
    cursor: pointer;
}
.stay .faq__label {
    font-size: 2.3rem;
    align-items: center;
    font-family: "EB Garamond";
    font-style: normal;
    font-weight: 400;
    color: #B6B5B5;
    margin-right: 16px;
    line-height: 1.4;
}
.stay .faq__questionTxt {
    font-size: 15px;
    margin-right: 30px;
}
.stay .faq__item button {
    display: flex;
    align-items: flex-start;
    position: relative;
}
.stay .toggle__container { 
    width: 40px;
    height: 40px;
    cursor: pointer;
    position: absolute;
    top: 36%;
    right: -6px;
    transform: translateY(-50%);
}
.stay .toggle__container::before,
.toggle__container::after {
    content: "";
    position: absolute;
    background-color: var(--color-primary);
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.stay .toggle__container::before {
    display: block;
    width: 16px;
    height: 1.25px;
    top: 50%;
    left: 50%;
    transform-origin: center center; /* 中心を基準にtransform */
    transform: translateX(-50%);
}
.stay .toggle__container::after {
    display: block;
    width: 1.25px;
    height: 16px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%)
}
.stay .is-open .toggle__container::after {
    transform: translateX(-50%) scaleY(0);
}
.stay .faq__answer {
    display: flex;
    max-height: 0;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    cursor: pointer;
    padding-bottom: 2rem;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease-in-out, opacity 0.3s ease-in-out;
}
.stay .faq__answerTxt {
    font-size: 15px;
}
.stay .faq__answer.is-open {
    max-height: 500px;
    opacity: 1;
}
/* summary {
    list-style: none;
  }
  summary::marker {
    display: none;
  } */
@media (min-width:768px) {
    .stay .faq__section {
        padding: 16rem 6rem;
    }
    .faq__container {
        max-width: 700px;
    }
}
/* ---------access */
.access .access-mv__container {
    margin-top: 40px;
    background-color: var(--color-base);
}
.access .sub_lcontainer--no-sticky.gmap__lcontainer {
    margin-top: 0;
    padding-bottom: 0;
    background-color: #FFF;
}
.access .access-mv__container-inner {
    position: relative;
    margin: 0 auto;
    max-width: 500px;
}
.access .access-mv-image {
    display: block;
    width: 100%;
    overflow: hidden;
    border: 8px solid var(--color-deep-pink);
}
.access .access-mv-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.access .map-logo {
    z-index: 10;
    position: absolute;
    top: 7%;
    left: 5%;
    width: clamp(130px, 34.5vw, 150px);
}
.access .g-map_image {
    filter: grayscale(100%) brightness(110%);
    display: block;
    width: 100%;
    height: 330px;
    object-fit: cover;
}
.access .g-map-item {
    font-size: 15px;
    padding: 46px 0;
    border-bottom: solid 1px var(--color-menu-line);
    display: flex;
    flex-direction: column;
}
.access .address__wrapper {
    margin-top: 16px;
}
.access .g-map-item.last,
.access .meta-item.metaItem-last {
    border-bottom: none;
}
.access .g-map-item-tel {
    display: flex;
    flex-direction: column;
}
.access .g-map_image iframe {
    width: 100%;
    height: 330px;
    object-fit: cover;
    object-position: center;
}
.access .case__headerWrap {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--color-agricoltura);
}
.access .case__headerWrap .icon {
    margin-top: -12px;
}
.access .case__headerWrap .icon.express {
    margin-top: -8px;
}
.access .case__header {
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 2.4;
    letter-spacing: .06em;
    white-space: nowrap;
    font-weight: 500;
}

.access .caseTxt {
    font-size: 1.5rem;
    line-height: 2.4;
    letter-spacing: .06em;
    margin-top: 18px;
}
.access .metaBox {
    padding: 0 4%;
    font-weight: 500;
}
.access .metaItem__header {
    padding-top: 40px;
    color: var(--color-agricoltura);
    font-weight: 500;
}
.access .meta-item {
    padding: 20px 0 40px;
    border-bottom: 1px solid var(--color-menu-line);
}
.access .accesso__meta-container {
    border: 1px solid var(--color-menu-line);
    border-radius: 5px;
}
.access .sub_lcontainer--no-sticky__inner.access__lwrapper {
    padding-bottom: 90px;
    background-color: #FFF;
}
.access .g-map__lwrapper {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    border: 8px solid var(--color-base);
}
.access .access-footer__body {
    padding: 8px 0 0;
}
.access .g-map-item.map-address {
border-bottom: transparent;
padding-bottom: 0;
color: var(--color-agricoltura);
}
.access .addreee-mainInfo-label span {
    font-size: 16px;
}
.access .headline {
    padding-bottom: 0;
}
.access .accesso__metaWrapper {
    background-color: var(--color-base);
    margin-top: 0;
    padding-top: 90px;
    padding-bottom: 90px;
}
@media (min-width:768px) {
    .access .map-logo {
        width: clamp(160px, 28.5vw, 240px);
    }
    .access .g-map__lwrapper {
        max-width: 900px;
    }
    .access .g-map-item-tel {
        flex-direction: row;
        gap: 16px;
    }
    .access .g-map_image {
        max-width: 900px;
    }
    .access .g-map-label {
        max-width: 900px;
    }
    .access .g-map-item.map-address {
        padding-top: 30px;
        margin: 0 auto;
    }
    .access .g-map-item.last {
        padding-bottom: 90px;
    }
    .access .access-mv__container-inner {
        max-width: 900px;
    }
    .access .address__wrapper {
        font-size: 14px;
    }
}
@media (min-width:1024px) {
    .access .accesso__meta-container {
        max-width: 900px;
        margin: 0 auto;
    }
    .access .access-mv__wrapper {
        position: relative;
        max-width: 1000px;
        margin: 0 auto;
    }
    .access .g-map-item.map-address {
        position: absolute;
        bottom: 3%;
        right: 5%;
        padding: 0 16px 0 0;
        font-size: 13px;
    }
    .access .g-map-item {
        display: flex
;
        flex-direction: row;
        align-items: flex-start;
    }
    .access .access-mv__container {
        margin-top: 80px;
    }
    .access .map-logo {
        width: 260px;
    }
    .access .access-mv__container {
        background-color: #FFF;
    }
    .access .access-mv__container-inner {
        max-width: 1000px;
        padding: 0;
    }
    .access .g-map-label {
        max-width: 1000px;
        margin: 0 auto;
        padding-left: 0;
    }
    .access .g-map_image {
        padding: 0;
        max-width: 1000px;
        height: 500px;
    }
    .access .g-map_image iframe {
        height: 500px;
    }
    .access .caseTxt {
        margin-top: 0;
    }
    .access .case__headerWrap {
        width: 20%;
    }
    .access .sub_lcontainer--no-sticky__inner.access__lwrapper {
        max-width: 800px;
        padding: 0;
        background-color: var(--color-base);
    }
    .access .sub_lcontainer--no-sticky.gmap__lcontainer {
        background-color: var(--color-base);
        padding-top: 90px;
    }

    .access .g-map__lwrapper {
        max-width: 1000px;
        margin: 0 auto;
    }
    .access .headline--no-sticky {
        padding-bottom: 40px;
    }
}
/* ---------law */
.law table {
    margin-top: 90px;
}
.law table td {
    font-size: 13px;
    border: 1px solid var(--color-menu-line);
    padding: 12px;
}
.law table td:nth-child(1) {
    width: 130px;
    white-space: nowrap;
}
@media (min-width:1024px) {
    .law table {
        margin: 160px auto;
    }
    .law .wp-block-table {
        width: 900px;
        margin: 0 auto ;
    }
}

/* ---------policy */
.privacy_policy .jp-S::before {
    display: none;
}
.privacy_policy .title__menu-op {
    font-size: 0.1px;
}
.privacy_policy .policy__header {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: .06em;
    margin: 70px 0 30px;
}
.privacy_policy .policyTxt.leadTxt {
    font-size: 15.5px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--color-menu-line);
}
.privacy_policy .policyTxt {
    font-size: 14px;
    line-height: 2.0;
    letter-spacing: .06em;
    margin-top: 30px;
}
.privacy_policy .inner_item {
    margin-top: 60px;
    font-size: 18px;
    font-weight: 500;
}
@media (min-width:1024px) {
    .privacy_policy .policy__header {
        margin: 60px 0;
        font-size: 22px;
    }
    .privacy_policy .sub_lcontainer--no-sticky__inner {
        max-width: 1000px;
    }
    .privacy_policy .sub_lcontainer--no-sticky {
        padding-bottom: 140px;
    }
    .privacy_policy .policyTxt.leadTxt {
        font-size: 16px;
        padding-bottom: 70px;
    }
    .privacy_policy .policyTxt {
        font-size: 15px;
    }
}
/* ---------conctact */
.contact .wpcf7 form .wpcf7-response-output {
    border: none;
}
.contact__form-submit {
    width: 100%;
    height: 100%;
    padding: 14px 0;
    margin-top: 20px;
    font-size: 14px;
    text-align: center;
}
.contact .room__description.description-contact {
    text-align: left;
    font-size: 16px;
    color: var(--color-body);
}
.contact__form {
    color: var(--color-agricoltura);
}
.contact__form-headline {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--color-menu_gray);
    margin: 30px auto;
    color: var(--color-primary);
}
.contact label {
    display: block;
    margin-bottom: 8px;
    color: var(--color-primary);
}
.contact input,textarea {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    font-size: 16px;
    background-color: var(--color-pink-lightgray);
    margin-bottom: 36px;
}
.contact .contact__form-submit input {
    border: 1px solid var(--color-agricoltura);
    border-radius: 26px;
    background-color: transparent;
}
.contact .contact__form-submit input:hover {
    background-color: var(--color-pink-lightgray);
    transition: .5s;
}
.contact textarea {
    height: 120px;
    resize: vertical;
}
.contact .sub_lcontainer--no-sticky__inner {
    max-width: 1000px;
}
.contact .concept-policy_cap {
    font-size: 14px;
    padding-top: 60px;
}
.contact .concept-policy_cap a {
    text-decoration:underline;
}
@media(min-width: 1024px) {
    .contact input,textarea {
        background-color: var(--color-base);
    }
    .contact .headline.headline--no-sticky {
        padding-bottom: 40px;
    }
}
/* ---------news */
.news-thumbnail-image {
    width: 100%;
    height: 360px;
    overflow: hidden;
}
.news-thumbnail-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.info-post-content__wrapper {
    padding: 0 30px;
}
.news-menu-box {
    margin: 40px auto;
    text-align: left;
}
.news-menu-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.news .sub_lcontainer--no-sticky {
    background-color: var(--color-base);
}
.room__gallery-grid,
.post-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 70px;
}
.post-item {
    position: relative;
}
.post-item a {
    display: block;
}
.news .news__link__head {
    gap: 13px;
}
.wp-post-image {
    width: 100%;
    aspect-ratio: 5 / 3;
    position: relative;
    overflow: hidden;
}
.wp-post-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.post-header {
    padding: 40px 0;
}
.post-title {
    margin-top: 6px;
    font-size: 15px;
    font-weight: 500;
}
.nav-links {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.info_news .sub_lcontainer--no-sticky {
    padding-top: 0;
}
.info_news .info_news-wrapper {
    margin: 0 auto;
    padding: 0 30px;
}
.info_news .post-header {
    padding-bottom: 20px;
}
.info_news .post-title {
    font-size: 22px;
    color: var(--color-agricoltura);
}
.info_news .news__link__head {
    gap: 16px;
    color: var(--color-agricoltura);
}
.info_news .post-list {
    border-top: 1px solid var(--color-room-answer-line);
    padding-top: 50px;
}
.info_news .post-content {
    margin-top: 50px;
    margin-bottom: 60px;
}
@media(min-width: 768px){
    .news-thumbnail-image {
        height: 520px;
    }
    .stay .room__gallery-grid,
    .news .post-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .post-item:hover .wp-post-image img {
        transform: scale(1.1);
    }
    .post-item .wp-post-image img {
        transition: opacity 450ms, transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
        display: block;
        width: 100%;
        height: auto;
    }
    .info_news .info_news-wrapper {
        max-width: 670px;
    }
}
@media(min-width: 1024px){
    .news .sub_lcontainer--no-sticky {
        background-color: #FFF;
    }
    .stay .room__gallery-grid,
    .news .post-list {
        grid-template-columns: repeat(3, 1fr);
    }
    .info_news .post-title {
        font-size: 30px;
    }
    .info_news .info_news-wrapper {
        max-width: 900px;
    }
    .post-title.newsHome {
        font-size: 16px;
    }
}
/* ---------footer */
.footer {
    background-color: #FFF;
    /* margin-top: 80px; */
}
.footer__header {
    max-width: 305px;
}
.footer__inner-wrapper::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-gray-light);
}
.footer__inner-wrapper {
    padding-top: 80px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
.footer__inner {
    margin: 0 3rem 0 3rem;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer__logo a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: nowrap;
}
.footer__logo img {
    width: 69.23vw;
    max-width: 305px;
    transition: all 0.3s ease;
}
.footer__logo img:hover {
    opacity: .6;
}
.footer__logo p {
    font-size: 1.6rem;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: center;
    margin-top: 20px;
    letter-spacing: 0.02rem;
    white-space: nowrap;
}
.footer__address-wrap {
    margin: 3.2rem auto 0;
    max-width: 305px;
}
.footer__address {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 305px;
    margin: 0 auto;
}
.address-ad {
    font-size: 1.3rem;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    letter-spacing: .06em;
}
.address-ad .address-gmap {
    margin-left: 16px;
    font-size: 11px;
    border-bottom: 0px solid var(--color-body);
    text-decoration: underline;
}
.address-phone {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: center;
    justify-content: center;
    margin-top: 10px;
    font-size: 1.3rem;
    letter-spacing: .06em;
}
.footer__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 4rem 0;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 210%;
    letter-spacing: .04em;
    max-width: 390px;
}
.business-hours__label::after {
    content: " : ";
}
.footer__small-page-list {
    text-align: center;
    line-height: 3;
    font-size: 1.2rem;
}
.footer__small-page-list a:hover {
    opacity: .5;
}
.footer__small-page-list a {
    position: relative;
}
.footer__small-page-list a::after {
    content: "";
    background-color: var(--color-body);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
}
.footer__sns-wrap {
    margin: 4rem auto 6rem;
}
.footer__sns-icon {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.footer__sns-item img {
    width: 24px;
    height: auto;
    vertical-align: middle;
    transition: all 0.3s ease;
}
.footer__sns-item img:hover {
    opacity: .6;
}
.snsInstagram img {
    width: 19px;
    margin-top: 6px;
}
.footerBigInsta {
    display: flex;
}
.footerBigInsta::after {
    content: "Chef's Diary";
    font-size: 12px;
    margin-left: 9px;
    margin-top: 5px;
}
.footer__copy {
    color: var(--color-menu_gray);
    font-size: 11px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 2rem;;
}
.footer__Img {
    width: 100%;
    height: 100%;
}
.footer__Img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
@media (min-width:768px) {
    .footer__logo img {
        width: 39.23vw;
    }
}
@media (min-width:1024px) {
    .footer {
        margin: 0 auto;
    }
    .footer__inner-wrapper{
        margin: 0 auto;
        max-width: 1440px;
        display: flex;
        flex-direction: row;
        justify-content: center;
    }
    .footer__inner {
        width: calc(60% - 60px);
        margin: 0 3rem 0 3rem;
    }
    .footerImg__container {
        width: 40%;
    }
    .footer__logo a {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        justify-content: center;
    }
    .footer__logo img {
        width: 20rem;
    }
    .footer__image {
        width: 40%;
        max-width: 792px;
    }
    .footer__sns-wrap {
        margin-bottom: 20px;
    }
    .footer__body {
        padding-bottom: 50px;
    }
    .footer__inner {
        justify-content: flex-end;
    }
    .footer__Img__wrapper {
        width: 50%;
    }
    .footer__small-page-list {
        display: flex;
        justify-content: center;
        gap: 20px;
    }
}