*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
:root {
  --vh: 1vh;
}
.full-height {
    height: calc(var(--vh, 1vh) * 100);
}
.modal,
#modal,
.modal__Wrapper,
.modal__Content {
    pointer-events: auto !important;
    z-index: 9999 !important;
}
body *,
body *::before,
body *::after {
    pointer-events: auto;
}
html {
    -webkit-text-size-adjust: 100%;
    overflow-y: scroll;
    scroll-behavior: smooth;
    font-size: 75%;
    color: rgba(242, 242, 242, 1);
}
body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.4rem;
    font-family: "Noto Serif JP", "游明朝", YuMincho;
    color: rgba(242, 242, 242, 1);
    letter-spacing: 0.2rem;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
    background: rgba(9, 13, 17, 1);
    width: 100%;
    max-width: 100vw;
    padding: 0;
    margin: 0;
    border: 0;
    overflow: hidden;
    position: relative;
}
body.no-scroll {
}
/* スクロール禁止用 */
body.scroll-disabled,
html.scroll-disabled {
    overflow: hidden;
}
.nav-grid.active,
.hamburger-button.active {
    pointer-events: auto !important;
}
header {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: rgba(9, 13, 17, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 0 40px;
}

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

    html {
        -webkit-text-size-adjust: 100%;
        overflow-y: scroll;
        scroll-behavior: smooth;
        font-size: 62.5%;
        color: rgba(242, 242, 242, 1);
    }
}

footer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: rgba(9, 13, 17, 1);
    letter-spacing: 0.2rem;
    background: rgba(242, 242, 242, 1);
    margin: 0 auto;
    width: 100%;
}
section {
    display: block;
    position: relative;
    overflow: visible;
    scroll-margin-top: 100px;
}
img {
    overflow-clip-margin: content-box;
    overflow: clip;
}
audio, canvas, iframe, img, svg, video {
    vertical-align: middle;
}
a {
    text-decoration: none;
    color: rgba(242, 242, 242, 1);  
}
a:visited {
    color: rgba(242, 242, 242, 1);
}
p, li, dt, dl, table {
    line-height: 2rem;
    font-size: 1.1rem;
}
ul, li {
    list-style: none;
}
h2 {
    font-size: clamp(53px, 1vw, 116px);
    font-weight: 900;
    color: rgba(242, 242, 242, 0.6);
    letter-spacing: 0.58rem;
    line-height: 1;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
}
h2 > span {
    display: : block;
    height: 10px;
    line-height: 0.8rem;
}
h3 {
    font-size: clamp(2.4rem, 1vw, 48px);
    letter-spacing: 0.6rem;
    font-weight: 700;
    color:  rgba(205, 205, 205, 1);
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
    position: relative;
}
h4 {
    font-size: clamp(4rem, 1vw, 5rem);
    font-weight: 900;
    color: rgba(242, 242, 242, 0.6);
    letter-spacing: 0.58rem;
    line-height: 1;
    margin: 0 auto;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
}
h5 {
    font-size: 2.4rem;
    letter-spacing: 0.52rem;
    font-weight: 100;
    color:  rgba(242, 242, 242, 1);
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
}
h6 {
    font-size: 1rem;
    letter-spacing: 0.22rem;
    font-weight: 100;
    color:  rgba(242, 242, 242, 1);
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
}
.tel-link {
    margin-top: 10px;
    display: inline-block;
}
.tel-link:hover {
    background: rgba(242, 242, 242, 1);
}
#main {
    padding: 0 0 100px 0;
    background-color:  rgba(9, 13, 17, 1);

}
#about, #about__2nd, #seasonal, #products, #sustainability, #concept, #grand__Menu, #drink, #eat__In {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    font-weight: 100;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 100px 0;
    overflow: hidden;
}
#eat__In {
    padding-bottom: 250px;
}
#parallax {
    padding: 100px 0 0;
}
#news {
    padding: 100px 5% 0;
}
#news, #shop__Info {
    padding: 0;
}
article.wrapper {
    order: 2;
}
article.txtbox__tate {
    order: 1;
}

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

    h2 {
        font-size: clamp(70px, 13vw, 98px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.6);
        letter-spacing: 0.58rem;
        line-height: 1;
        z-index: 100;
    }
    h3 {
        font-size: clamp(2.8rem, 1vw, 48px);
        letter-spacing: 0.6rem;
    }
    h4 {
        font-size: min(11.6rem, 62px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.6);
        letter-spacing: 0.58rem;
        line-height: 1;
    }
    h5 {
        font-size: 2.4rem;
        letter-spacing: 0.52rem;
        font-weight: 100;
        color:  rgba(242, 242, 242, 1);
    }
    h6 {
        font-size: 1rem;
        letter-spacing: 0.22rem;
        font-weight: 100;
        color:  rgba(242, 242, 242, 1);    
    }
}

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

    h2 {
        font-size: clamp(70px, 1vw, 116px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.6);
        letter-spacing: 0.58rem;
        line-height: 1;
    }
    h3 {
        font-size: clamp(4.8rem, 1vw, 48px);
        letter-spacing: 0.6rem;
        font-weight: 700;
        color:  rgba(205, 205, 205, 1);
        text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
        position: relative;
    }
    h4 {
        font-size: min(11.6rem, 116px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.6);
        letter-spacing: 0.58rem;
        line-height: 1;
    }
    h5 {
        font-size: 2.4rem;
        letter-spacing: 0.52rem;
        font-weight: 100;
        color:  rgba(242, 242, 242, 1);
    }
    h6 {
        font-size: 1rem;
        letter-spacing: 0.22rem;
        font-weight: 100;
        color:  rgba(242, 242, 242, 1);    
    }
    #about {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        font-weight: 100;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        padding: 200px 0 250px 0;
    }
    #about__2nd, #seasonal, #products, #grand__Menu, #drink, #eat__In {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        font-weight: 100;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        padding: 100px 0;
    }
    #parallax {
    }
    #news, #shop__Info {
        padding: 100px 0 0;    
    }
}

/*-------------------------------------------

  共通インナー用CSS  ｜スクロール用

-------------------------------------------*/

.sp-only {
    display: none;
}
.section__Wrapper {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 0 0 0 0;
    display: flex;
}
.section__Container {
    position: relative;
    width: 100%;
    max-width: 100vw;
    margin: 0 auto;
}
.background__Font {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-76%, -6%);
    font-size: clamp(22rem, 1vw, 450px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.022);
    letter-spacing: -5px;
    line-height: 0.9;
    text-align: right;
    user-select: none;
    white-space: nowrap;
    word-break: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    z-index: -1000;
}

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

    .background__Font {
        transform: translate(-47%, -6%);
        font-size: clamp(22rem, 1vw, 450px);
        letter-spacing: -5px;
        line-height: 0.9;
    }
}

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

    .sp-only {
        display: inline;
    }
    .wrapper {
        position: relative;
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 0 0 0;
        max-width: 1440px;
    }
    .wrapper .container {
        width: 100%;
        max-width: 1440px;
    }
    .wrapper .wrapper {
        position: relative;
        box-sizing: border-box;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        overflow: hidden;
    }
    .inner__Wrapper {
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        padding-left: 0;
    }
    .section__Container {
        max-width: 1176px;
    }
    .background__Font {
        transform: translate(-51%, -6%);
        font-size: clamp(22rem, 1vw, 450px);
        letter-spacing: -5px;
        line-height: 0.9;
    }
}

/*-------------------------------------------

  ヘッダー用CSS  ｜スクロール用

-------------------------------------------*/

#site__Menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    height: 100vh;
    background-color: rgba(9, 13, 17, 0.92);
    display: flex;
    flex-direction: column;
}
.nav-grid__Header {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    transition: background-color 0.3s ease;
}
.nav-grid.active ~ .nav-grid__Header {
    background-color: none;
}
.nav-grid__Logo img {
    height: 50px;
}
.nav-grid__Content {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
header .wrapper {
    align-items: center;
}
header .header__Logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    border: 0;
    overflow: hidden;
}
header .header__Logo img {
    width: 80px;
    height: auto;
}
header .responsive {
    position: fixed;
    top: 3%;
    right: 2%;
    display: flex;
    align-items: center;
    background: rgba(9, 13, 17, 0.9);
    border: 0;
    border-radius: 50%;
    width: 5rem;
    height: 5rem;
    overflow: hidden;
}
header .hamburger:focus {
    outline: 0;
}
header .menu__Line {
    background-color: rgba(242, 242, 242, 1);
    border-radius: 5px;
    display: block;
    width: 2rem;
    height: 0.2rem;
    margin: 0.4rem auto;
    transition:  all .1s ease-in;
}
header .header__Btn__Back__Info {
    display: flex;
    align-items: center;
    background-color: rgba(9, 13, 17, 0.9);
    color: rgba(242, 242, 242, 1);
    padding: 0.4rem 1.8rem;
    border-radius: 8px;
    border-radius: solid 1px rgba(242, 242, 242, 1);
    font-weight: 400;
    text-decoration: none;
}
header .header__Btn__Back__Reserv {
    display: flex;
    align-items: center;
    border-radius: 0;
    font-weight: 400;
    text-decoration: none;
}
header .header__Btn__Back__Reserv img:first-child {
    margin: -0.4rem 1rem 0 0;
    width: 1.8rem;
}
header .header__Btn__Back__Reserv img:last-child {
    margin: -0.4rem 0.4rem 0  1.78rem;
    width: 0.8rem;
}
header .header__Btn__Back__Reserv .space__Left {
    margin: 0 1.6rem 0 0;
}
header .header__Btn__Back__Reserv .space__Right {
    margin: 0 0 0 1.6rem;
}
header .header__Btn__Back__Reserv .reserv__Text {
    font-size: 1.6rem;
    color: rgba(210, 164, 0, 1);
    display: inline-block;
    font-weight: 600;
}
.icon-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}

.icon-links li {
  margin-bottom: 0 !important;
}

.header__Btn__Back__Reserv {
    color: rgba(210, 164, 0, 1);
    width: 100%;
    max-width: 100%;
    justify-content: center;
}

.header__Btn__Back__Reserv a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pc-nav {
    display: none;
}

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

    header {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
        background: none;
        padding: 0 18px;
    }
    .header__Logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        justify-self: center;
    }
        #site__Menu,
        .sp__Grid,
        .nav-grid {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .pc-nav-wrapper {
        display: grid;
        grid-template-rows: 1fr 1fr;
        justify-content: end;
        gap: 0.2rem;
    }
    .nav-top,
    .nav-bottom {
        display: flex;
        gap: 1rem;
        align-items: center;
        justify-content: flex-end;
    }
    header .wrapper {
        position: relative;
        width: 100%;
        max-width: 1920px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    header .header__512 {
        width: 220px;
        height: 220px;
        /*border-radius: 50%;*/
        background-color: rgba(9, 13, 17, 0.9);
        position: absolute;
        top: -38.5%;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }
    header .header__512 img {
        width: 13rem;
        margin: 42% auto 0 auto;
        align-items: center;
        display: flex;
    }
    header .header__Right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 0.4rem;
    }
    header .nav__List {
        display: flex;
        gap: 0px;
        list-style: none;
        padding: 0;
        margin: 0 2.5% 0 0;
        align-items: center;
    }
    header .nav__List ul {
        display: flex;
    }
    header .nav__List li {
        font-size: 1.4rem;
        font-weight: 400;
 　　    color: linear-gradient(180deg, rgba(232, 187, 24, 0.9), rgba(255, 238, 179, 0.9) 30%, rgba(225, 176, 0, 1) 60%, rgba(168, 155, 110, 1) 80%, rgba(255, 199, 0, 1) 90%, rgba(201, 157, 0, 1));
        margin: 0 1rem 0 0;
    }
    header .nav__List li a {
        color: rgba(242, 242, 242, 1);
        text-decoration: none;
    }
    header .header__Btn__Back__Info {
        display: flex;
        align-items: center;
        background-color: rgba(9, 13, 17, 0.9);
        color: rgba(242, 242, 242, 1);
        padding: 0.4rem 1.8rem;
        border-radius: 8px;
        font-weight: 400;
        text-decoration: none;
    }
    .pc-reservation-button {
        display: inline-block;
        background-color: rgba(9, 13, 17, 0.9);
        color: rgba(210, 164, 0, 1);
        font-weight: 700;
        font-size: 1rem;
        text-align: center;
        padding: 12px 0;
        border-radius: 8px;
        text-decoration: none;
        transition: background-color 0.3s ease;
    }
    .pc-reservation-button .reservation-text {
        display: inline-block;
        transition: transform 0.3s ease;
    }
    .pc-reservation-button:hover .reservation-text {
        transform: scale(1.08);
    }
    .pc-reservation-button:hover {
        background-color: rgba(9, 13, 17, 1);
    }
    header .shop-info {
        z-index: 2000;
        padding: 0.5em 0;
        width: 45%!important;
        border-radius: 4px;
        align-items: center;
        background-color: rgba(9, 13, 17, 0.9)!important;
    }
    .shop-info a {
        color: rgba(9, 13, 17, 1);    
        display: inline-block;
    }
    .shop-info:hover {
        background-color: rgba(9, 13, 17, 1);
    }
    header .header__Btn__Back__Reserv {
        display: flex;
        align-items: center;
        padding: 0.4rem 1.66rem;
        border-radius: 4px;
        font-weight: 400;
        text-decoration: none;
    }
    header .header__Btn__Back__Reserv img:first-child {
        margin: -0.4rem 1rem 0 0;
        width: 1.8rem;
    }
    header .header__Btn__Back__Reserv img:last-child {
        margin: -0.4rem 0.4rem 0  1.78rem;
        width: 0.8rem;
    }
    header .header__Btn__Back__Reserv .space__Left {
        margin: 0 1.6rem 0 0;
    }
    header .header__Btn__Back__Reserv .space__Right {
        margin: 0 0 0 1.6rem;
    }
    header .nav__Icon {
        display: flex;
        gap: 0px;
        list-style: none;
        padding: 0;
        margin: 0 2.5% 0 0;
        font-size: 0.9rem;
        color: rgba(242, 242, 242, 1);
    }
    header .nav__Icon li {
        font-size: 1.4rem;
        font-weight: 400;
        margin: 2.5rem 1rem 0 0;
    }
    header .nav__Icon li a {
        color: rgba(242, 242, 242, 1);
        text-decoration: none;
    }
    header .nav__Icon li .circle img {
        width: 24px;
        height: 24px;
    }
    header .menu__Line {
        background-color: rgba(242, 242, 242, 1);
        border-radius: 5px;
        width: 100%;
        height: 5px;
        margin: 4px 0;
    }
    .pc-nav {
        position: absolute;
        right: -12px;
        top: 50%;
        width: 450px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 0;
        transform: translateY(-50%);
        z-index: 9999;
    }
    .nav-row {
        display: flex;
        gap: 4px;
        justify-content: flex-end;
        align-items: center;
    }
    .nav-row--top {
        height: 40px;
        gap: 2rem;
    }
    .nav-row--top .lang-toggle {
        background: transparent;
        border: none;
        color: #f2f2f2;
        font-size: 14px;
        font-weight: 500;
        padding: 0;
        cursor: pointer;
    }
    .nav-row--top .shop-info {
        display: inline-block;
        border-radius: 8px;
        margin-top: -0.1rem;
        padding: 10px 8px;
        background-color: rgba(9, 13, 17, 0.9);
        transition: background-color 0.3s ease,;
    }
    .nav-row--top .shop-info__text {
        display: inline-block;
        color: rgba(242, 242, 242, 0.9);
        transition: 
        transform 0.3s ease,
        color 0.3s ease,
        opacity 0.3s ease;
    }
    .nav-row--top .shop-info:hover {
        background-color: rgba(9, 13, 17, 1)!important;
    }
    .nav-row--top .shop-info:hover .shop-info__text {
        color: rgba(255, 255, 255, 1) !important;
        opacity: 1 !important;
        transform: scale(1.08);
    }
    .nav-row--top a:hover {
        color: rgba(242, 242, 242, 1);
        background: rgba(9, 13, 17, 1);
    }
    .nav-row--bottom {
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        margin-top: -8px;
    }
    .nav-row--top button,
    .nav-row--top a,
    .nav-row--bottom a {
        font-size: 14px;
        font-weight: 700;
        color: rgba(210, 164, 0, 0.9);
        text-align: center;
        background: rgba(9, 13, 17, 0.9);
        border: 0;
        text-decoration: none;
        padding: 9px 20px;
    }
    .nav-row--top .pc-reservation-button a:hover {
        color: rgba(210, 164, 0, 1);
        background: rgba(9, 13, 17, 1);
    }
    .nav-row--bottom a:hover {
        color: rgba(210, 164, 0, 1);
        background: rgba(9, 13, 17, 1);        
    }
    .nav-row--bottom a:not(.sns-icon) {
        padding: 9px 39px;
    }
    .header__Btn__Back__Reserv .nav-grid__link {
        color: rgba(210, 164, 0, 1);
        display: inline-block;
        align-items: center;
        text-decoration: none;
    }
    .sns-icons {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .reserve-button {
        padding: 6px 14px;
        background: #000;
        color: #fff;
        border-radius: 4px;
        font-weight: bold;
        text-decoration: none;
    }
}

/*-------------------------------------------

  コンテンツ用CSS  ｜コンテンツ用

-------------------------------------------*/

#main {
    position: relative;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    max-height: 100svh;
    max-height: 100vh;
    margin-top: 0;
    overflow: hidden;
    z-index: 0;
}
#main .section__Container {
    max-width: 100vw;
}
#main picture {
    position: relative;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    max-height: 100svh;
    max-height: 100vh;
    overflow: hidden;
    z-index: 0;
}
#main picture img {
    position: static;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    max-height: 100svh;
    object-fit: cover;
    object-position: bottom;
    display: block;
    filter: brightness(90%);
    margin: 0 auto;
    z-index: 0;
}
.main-visual {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: calc(100vh + 100px);
    margin-top: -100px;
}
#main .section__Wrapper .txtbox {
    position: absolute;
    top: 30%;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
    width: 100%;
    height: 15.1vw;
    margin-left: 0;
    color:  rgba(9, 13, 17, 1);
}
#main .section__Wrapper .txtbox .shopname {
    font-size: min(3.6vw, 35px);
    letter-spacing: 0.08rem;
    margin: -1rem auto 0;
    padding-left: 6%;
}
#main .section__Wrapper .txtbox h1 {
    font-size: min(10vw, 90px);
    letter-spacing: 0.14rem;
    line-height: 1;
    margin: 0 auto;
    padding: 0 6%;
}
#main .section__Wrapper .txtbox p {
    font-size: min(2.2vw, 20px);
    letter-spacing: 0.08em;
    line-height: 1.4;
    width: 90vw;
    padding-left: 6%;
}

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

    #main {
        padding: 0 0 100px 0;
        overflow: visible;
    }
    #main picture {
        height: 100svh;
    }
    #main picture img {
        width: 100vw;
        height: 100svh;
        object-fit: cover;
        filter: brightness(90%);
    }
    #main .section__Wrapper .txtbox {
        position: absolute;
        top: 30%;
        text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
        width: 100%;
        height: 15.1vw;
        margin-left: 0;
        color: rgba(9, 13, 17, 1);
    }
    #main .section__Wrapper .txtbox .shopname {
        font-size: min(2vw, 65px);
        letter-spacing: 0.08rem;
        padding-left: 6%;
        margin: -1rem auto 0;
    }
    #main .section__Wrapper .txtbox h1 {
        font-size: min(6.5vw, 200px);
        letter-spacing: 0.14rem;
        line-height: 1;
        padding: 0 6%;
        margin: 0 auto;
    }
    #main .section__Wrapper .txtbox p {
        font-size: min(1.2vw, 45px);
        letter-spacing: 0.08em;
        line-height: 1.2;
        padding-left: 6%;
        width: 55vw;
    }
}

/*-------------------------------------------

  #about  ｜コンテンツ用

-------------------------------------------*/

#about {
    display: grid;
    grid-template-columns: 1fr;
    height: 65rem;
}
#about .inner__Wrapper {
    position: absolute;
    top: clamp(0%, 1vh, 1%);
    left: 2%;
    max-width: 768px;
    margin: 0 auto;
    z-index: 100;
    transform: scale(1);
    transform-origin: right bottom;
}
#about .background__Container {
    position: relative;
    top: 24%;
    left: 0;
    width: 430px;
    height: 300px;
    overflow: hidden;
}
#about .background__Container img {
    width: 550px;
    height: 175px;
}
#about .bg_gradation {
    box-sizing: border-box;
    background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
    width: 100%;
    padding: 20px 40px 0 0;
}
#about .txtbox-tate {
    position: absolute;
    top: 40%;
    left: 46%;
    transform: translate(-50%, -50%);
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    z-index: 2;
}
#about .txtbox-tate .text {
    position: absolute;
    top: 0;
    left: clamp(0rem, 2vw, 2rem);
    transform: translate(-58%, 12%);
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.4);
}
#about .text p {
    height: 33rem;
    margin-left: 0.1rem;
    margin-right: 0.2rem;
}
#about .txtbox-tate .space {
    margin: 3rem 0.9rem 0 -2rem;
}
#about h3 {
    position: absolute;
    left: 15px;
    transform: translate(250%, 50%);
    height: 275px;
    margin: -5rem 0.8rem 0 0;
}
#about img.background__Image {
    height: auto;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    will-change: transform;
    transform: translateY(0);
}
#about img.image1 {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: calc(550px * 0.6);
    height: auto;
    max-width: 430px;
    z-index: 0;
    opacity: 1;
}
#about img.image2 {
    position: absolute;
    top: 38.5%;
    left: 26.2%;
    display: block;
    width: calc(550px * 0.6);
    height: auto;
    max-width: 430px;
    z-index: 0;
    opacity: 1;
}

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

    #about .background__Container {
        position: relative;
        top: 29%;
        left: 0;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
}

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

    #about .background__Container {
        position: relative;
        top: 33%;
        left: 0;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
    #about .txtbox-tate {
        position: absolute;
        top: 48%;
        left: 46%;
        transform: translate(-50%, -50%);
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        z-index: 2;
    }
}

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

    #about {
        height: 85rem;
    }
    #about .inner__Wrapper {
        position: absolute;
        top: clamp(10%, 1vh, 40%);
        left: 33%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #about .background__Container {
        position: relative;
        top: clamp(23%, 34vw, 38%);
        left: 0;
        width: clamp(431px, 75vw, 768px);
        height: 260px;
        transform: scale(var(--scale));
        transform-origin: top left;
        transition: transform 0.3s ease;
    }
    #about .txtbox-tate {
        top: 24%;
    }
    #about .txtbox-tate .text {
        transform: translate(-61%, 10%);
        margin-top: 2rem;
        margin-left: 1rem;
        margin-bottom: 0;
        margin-right: 0;
    }
    #about .text p {
        font-size: clamp(14px, 1vw, 18px);
        letter-spacing: clamp(0.9rem, 1vw, 1rem);
        margin-block: clamp(0.4rem, 1vw, 0.8rem);
        margin-inline: 0;
        line-height: 1.8;
        height: 735px;
    }
    #about h2 {
        position: relative;
        transform: translate(-50%, -50%);
        margin-right: clamp(0rem, 25vw, 16rem);
    }
    #about h3 {
        margin-top: -12.4rem;
        margin-left: clamp(-0.3rem, 5.4vw, 3.4rem);
        margin-right: clamp(-0.3rem, 1vw, 1rem);
        margin-bottom: 0;
        height: 340px;
    }
    #about img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
    }
    #about img.image2 {
        position: absolute;
        top: 52.5%;
        left: clamp(17%, 34vw, 22.8%);
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
    }
}

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

    #about {
        height: 104rem;
    }
    #about .background__Container {
        position: relative;
        top: clamp(23%, 30vw, 38%);
        left: 0;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
    #about .txtbox-tate {
        position: absolute;
        top: 48%;
        left: 46%;
        transform: translate(-50%, -50%);
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        z-index: 2;
    }
}

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

    #about .background__Container {
        position: relative;
        top: clamp(23%, 27vw, 38%);
        left: 0;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
    #about .txtbox-tate {
        position: absolute;
        top: 48%;
        left: 46%;
        transform: translate(-50%, -50%);
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        z-index: 2;
    }
}

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

    #about .background__Container {
        position: relative;
        top: clamp(23%, 25vw, 38%);
        left: 0;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
    #about .txtbox-tate {
        position: absolute;
        top: 48%;
        left: 46%;
        transform: translate(-50%, -50%);
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        z-index: 2;
    }
}

@media screen and (min-width: 769px) {
    #about {
        height: 1200px;
    }

    #about .wrapper {
        box-sizing: border-box;
        max-width: 1440px;
        display: block;
    }
    #about .inner__Wrapper {
        position: absolute;
        top: clamp(10%, 1vh, 40%);
        left: 41%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #about .background__Container {
        position: relative;
        width: 1440px;
        height: 360px;
    }
    #about .txtbox-tate {
        top: 0;
        left: 60%;
        transform: translate(-50%, -50%);
    }
    #about .txtbox-tate .text {
        position: absolute;
        top: 0;
        right: -40rem;
        margin: 0 -2.4rem 0 -1.3rem;
        height: 73em;
    }
    #about .txtbox-tate p {
        font-size: min(1.6rem, 16px);
        letter-spacing: 1.2rem;
        font-weight: 100;
        line-height: 1.6;
        color: rgba(221, 221, 221, 1);
        margin: 3rem 2.45rem 0 -1.18rem;
    }
    #about .txtbox-tate .space {
        margin: 3rem 0.9rem 0 -2rem;
    }
    #about h3 {
        margin: -21rem 1.7rem 0 2.2rem;
        height: 500px;
    }
    #about h4 {
        position: absolute;
        top: calc(75.5rem - (59 * ((100vw - 769px) / 65)));
    }
    #about .bg_gradation {
        box-sizing: border-box;
        background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
        width: 100%;
        padding: 20px 40px 0 0;
    }
    #about .picture__Back {
        height: 75vh;
    }
    #about img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 550px!important;
        height: auto;
        max-width: 550px;
    }
    #about img.image2 {
        position: absolute;
        top: 52.5%;
        left: 18.9rem;
        width: 550px!important;
        height: auto;
        max-width: 550px;
    }
}

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

    #about .inner__Wrapper {
        position: absolute;
        top: 62%;
        left: 35.2%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #about h2 {
        position: relative;
        transform: translate(-50%, -50%);
        margin-right: -6rem;
    }
    #about h3 {
        margin-top: -12.4rem;
        margin-left: clamp(-0.3rem, 5.4vw, 3.4rem);
        margin-right: clamp(-0.3rem, 1vw, 1rem);
        margin-bottom: 0;
        height: 380px;
    }
    #about .background__Container {
        top: 52rem;
        margin-left: -13.2rem;
    }
    #about .txtbox-tate {
        top: 0;
        left: 65%;
        transform: translate(-50%, -50%);
    }
    #about .txtbox-tate .text {
        position: absolute;
        top: -9rem;
        right: -40rem;
        margin: 0 -2.4rem 0 -1.3rem;
        height: 73em;
    }
    #about img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 550px;
        height: auto;
        max-width: 550px;
        opacity: 1;
    }
    #about img.image2 {
        position: absolute;
        top: 52.5%;
        left: 13%;
        width: 550px;
        height: auto;
        max-width: 550px;
        opacity: 1;
    }
}

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

    #about .background__Font {
        transform: translate(-47%, -6%);
        font-size: clamp(22rem, 25vw, 450px);
        letter-spacing: -5px;
        line-height: 0.9;
    }
    #about .txtbox__tate {
        left: 91%;
        transform: translate(-115%, -50%);
    }
}

/*-------------------------------------------

  #about__2nd  ｜コンテンツ用

-------------------------------------------*/

#about__2nd {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    height: 87rem;
}
#about__2nd .inner__Wrapper {
    position: absolute;
    top: 81%;
    left: 50%;
    transform: translate(-60%, -42%);
    z-index: 1;
    text-align: right;
}
#about__2nd .background__Container {
    position: relative;
    top: 29%;
    left: 0;
    width: 430px;
    height: 300px;
    overflow: hidden;
}
#about__2nd .bg_gradation {
    box-sizing: border-box;
    background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
    width: 100%;
    padding: 20px 40px 0 0;
}
#about__2nd .txtbox-yoko {
    position: absolute;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-orientation: upright;
    margin: 37rem auto 0;
    width: 100%;
    z-index: 2;
}
#about__2nd .txtbox-yoko .text {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -60%);
    text-orientation: upright;
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#about__2nd .txtbox-yoko .text p {
    font-size: 14px;
    color: rgba(221, 221, 221, 1);
    letter-spacing: 0.32rem;
    width: 90%;
    height: 30rem;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
    margin-right: 1rem;
}
#about__2nd .txtbox-yoko .space {
    margin: 3rem 0.9rem 0 -2rem;
}
#about__2nd h2 {
    margin-right: -8.5rem;
}
#about__2nd h3 {
    position: absolute;
    top: 50%;
    left: 49.8vw;
    transform: translate(-50%, -50%);
    margin: -28rem 0.5rem 0;
    width: 100vw;
    max-width: none;
    text-align: left;
    line-height: 1.4;
    overflow-wrap: break-word;
    white-space: normal;
    z-index: 100;
}
#about__2nd img.background__Image {
    height: auto;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    will-change: transform;
    transform: translateY(0);
}
#about__2nd img.image1 {
    position: absolute;
    top: 0;
    left: 26.2%;
    display: block;
    width: calc(550px * 0.6);
    height: auto;
    max-width: 430px;
    z-index: 0;
    opacity: 1;
}
#about__2nd img.image2 {
    position: absolute;
    top: 38.5%;
    left: 0;
    display: block;
    width: calc(550px * 0.6);
    height: auto;
    max-width: 430px;
    z-index: 0;
    opacity: 1;
}

@media screen and (min-width: 361px) {
    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 81%;
        left: 50%;
        transform: translate(-57%, -47%);
        z-index: 1;
        text-align: right;
    }
}

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

    #about__2nd {
        height: 88rem;
    }
    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 61%;
        left: 64%;
        transform: translate(-45%, -61%);
    }
    #about__2nd h2 {
        margin-right: clamp(-7rem, calc(-14rem + 27vw), 4rem);
    }
    #about__2nd .txtbox-yoko {
        position: absolute;
        top: clamp(44%, 50vw, 49%);
        left: 50%;
        margin: 37rem auto 0;
    }
    #about__2nd .txtbox-yoko .text p {
        font-size: 14px;
        color: rgba(221, 221, 221, 1);
        letter-spacing: 0.32rem;
        width: 90%;
        height: 30rem;
        text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
        margin-right: 0;
    }
    #about__2nd .background__Container {
        top: -6rem;
        left: 28.5%;
    }
    #about img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
    }
    #about img.image2 {
        position: absolute;
        top: 52.5%;
        left: clamp(17%, 34vw, 22.8%);
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
    }
}

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

    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 61%;
        left: 64%;
        transform: translate(-39%, -54%);
    }
}

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

    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 61%;
        left: 64%;
        transform: translate(-39%, -48%);
    }
}

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

    #about__2nd {
        position: relative;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        padding: 100px 0;
    }
    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 61%;
        left: 64%;
        margin-top: -8rem;
        margin-left: -10rem;
    }
    #about__2nd h4 {
        font-size: min(27.5vw, 196px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.1);
        letter-spacing: 0.2rem;
        line-height: 1;
        text-align: left;
        margin: 0 auto;
        padding-left: 22%;
    }
    #about__2nd h5 {
        font-weight: 600;
        margin: -1.8rem 0 0 0;
    }
    #about__2nd .txtbox-yoko {
        position: absolute;
        top: clamp(44%, 50vw, 74%);
        left: 50%;
        margin: 37rem auto 0;
    }
    #about__2nd .background__Container {
        width: 768px;
        margin-left: 11rem;
        margin-top: 4rem;
    }
    #about__2nd img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
        margin-left: 15rem;
    }
    #about__2nd img.image2 {
        position: absolute;
        top: 45.5%;
        left: clamp(17%, 34vw, 22.8%);
        width: calc(550px * 0.7);
        height: auto;
        max-width: 550px;
        margin-left: -17rem;
    }
}

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

    #about__2nd {
        height: 95rem;
    }
    #about__2nd .inner__Wrapper {
        position: absolute;
        top: 144%;
        left: 63%;
    }
    #about__2nd .txtbox-yoko {
        position: absolute;
        top: 4%;
        left: 57%;
        margin: 37rem auto 0;
    }
    #about__2nd .txtbox-yoko .text {
        position: absolute;
        top: 10%;
        left: 50%;
        transform: translate(-54.4%, -47%);
        text-orientation: upright;
        width: 100vw;
        max-width: 1440px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #about__2nd .txtbox-yoko .text p {
        font-size: 18px;
        letter-spacing: 0.32rem;
        line-height: 2;
        font-weight: 100;
        width: 90%;
        height: 30rem;
    }
    #about__2nd .background__Container {
        width: 1440px;
        height: 360px;
        top: 34rem;
        margin-left: 27.4rem;
    }
    #about__2nd img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 550px;
        height: auto;
        max-width: 550px;
        opacity: 1;
    }
    #about__2nd img.image2 {
        position: absolute;
        top: 52.5%;
        left: 9%;
        width: 550px;
        height: auto;
        max-width: 550px;
        opacity: 1;
    }
    #about__2nd .inner__Wrapper h2 br.pc-only {
        display: none !important;
        visibility: hidden;
        height: 0;
        margin: 0;
        padding: 0;
        line-height: 0;
    }
}

/*-------------------------------------------

  SEASONAL  ｜コンテンツ用

-------------------------------------------*/

#seasonal {
    padding: 100px 0;
}
#seasonal .section__Container {
    text-align: center;
}
#seasonal .txtbox {
    position: relative;
}
#seasonal h3 {
    text-align: center;
    margin-left: 1.3rem;
    margin-bottom: 2rem;
}
#seasonal .seasonal-img {
    width: 100%;
    max-width: 430px;
    height: auto;
    margin: 0 auto 3rem;
    display: block;
}
#seasonal h5 {
    font-size: clamp(1.5rem, 1vw, 1.52rem);
    color: rgba(242, 242, 242, 1);
    font-weight: 700;
    margin-left: 0.8rem;
    margin-bottom: 2rem;
    text-align: center;
}
#seasonal .seasonal-text {
    position: relative;
    text-align: left;
    margin: 0 auto;
    max-width: 1176px;
    color: rgba(242, 242, 242, 1);
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    color: rgba(221, 221, 221, 1);
    line-height: 1.8;
    z-index: 2;
}
#seasonal p {
    font-size: clamp(14px, 1vw, 18px);
    text-align: left;
    letter-spacing: 0.38rem;
    line-height: 2;
    width: 88%;
    margin: 0 auto;
}
#seasonal .seasonal-deco {
    position: absolute;
    bottom: 3rem;
    right: -9rem;
    width: 100%;
    opacity: 0.2;
    z-index: 1;
    pointer-events: none;
}

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

    #seasonal .seasonal-img {
        width: 100%;
        max-width: 768px;
        height: auto;
        margin: 0 auto 3rem;
        display: block;
    }
    #seasonal h3 {
        margin-left: 1rem;
        margin-right: -1rem;
        margin-bottom: 2rem;
    }
    #seasonal p {
        width: 90%;
    }
}

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

    #seasonal {
        padding: 150px 0 250px;
    }
    #seasonal h3 {
        width: 100%;
        max-width: 1176px;
        margin: 0 auto;
    }
    #seasonal h5 {
        font-size: 34px;
        margin: 0 auto 2rem;
    }
    #seasonal p {
        letter-spacing: 0.2rem;
        line-height: 2.2;
        width: 92%;
    }
    #seasonal .seasonal-img {
        max-width: 1440px;
        margin: 0 auto 3rem;
    }
    #seasonal .seasonal-deco {
        right: -30rem;
        width: 100%;
    }
}

/*-------------------------------------------

  SEASONAL PRODUCTS  ｜コンテンツ用

-------------------------------------------*/

#products {
    width: 100%;
}
#products .inner__Wrapper {
    width: 100%;
    text-align: right;
    margin: 25rem 0 0;
    z-index: 100;
    pointer-events: none;
}
#products .background__Container {
    position: relative;
    top: 5rem;
    right: clamp(-34vw, 1vw, -11vw);
    padding-top: clamp(25rem, 1vw, 25rem);
    padding-bottom: clamp(32rem, 85vw, 85vw);
    overflow: hidden;
}
#products h2 {
    position: absolute;
    top: 125px;
    right: 1%;
    text-align: right;
    margin: 0 auto;
    white-space: pre-line;
    z-index: 10;
    pointer-events: none;
}

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

    #products .inner__Wrapper {
        position: relative;
        top: -11rem;
    }
    #products h2 {
        position: absolute;
        top: 22%;
    }
    #products .swiper {
        margin-top: -15rem;
    }
}

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

    #products {
        width: 100%;
        height: 100rem;
    }
    #products .inner__Wrapper {
        top: 5rem;
    }
}



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

    #products h2 {
        top: 32.5%;
    }
}

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

    #products h2 {
        top: 29%;
    }
}

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

    #products h2 {
        top: -52px;
    }
}

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

    #products h2 {
        top: -50px;
    }
}

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

    #products .inner__Wrapper {
        margin: 0 auto;
    }
    #products .background__Container {
        padding-bottom: clamp(32rem, 34vw, 35vw);
    }
    #products .background__Container img {
        position: absolute;
        top: clamp(19.5rem, 1vw, 20rem);
        right: 22%;
        width: clamp(500px, 100vw, 600px);
        height: auto;
        max-height: 900px;
        object-fit: cover;
    }
    #products h2 {
        top: -72px;
    }
    #products h3 {
        margin: -15rem 1.7rem 5rem 0.2rem;
    }
}

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

    #products h2 {
        top: -102px;
    }
}

/*-------------------------------------------

  #sustainability  ｜コンテンツ用

-------------------------------------------*/

#sustainability {
    display: grid;
    grid-template-columns: 1fr;
    height: 65rem;
}
#sustainability .inner__Wrapper {
    position: absolute;
    top: clamp(0%, 1vh, 1%);
    left: 2%;
    max-width: 768px;
    margin: 0 auto;
    z-index: 100;
    transform: scale(1);
    transform-origin: right bottom;
}
#sustainability .background__Container {
    position: relative;
    top: 12%;
    left: -2%;
    width: 430px;
    height: 300px;
    overflow: hidden;
}
#sustainability .background__Container img {
    width: 550px;
    height: 175px;
}
#sustainability .bg_gradation {
    box-sizing: border-box;
    background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
    width: 100%;
    padding: 20px 40px 0 0;
}
#sustainability .txtbox-tate {
    position: absolute;
    top: 52%;
    left: 27%;
    transform: translate(-50%, -50%);
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    z-index: 2;
}
#sustainability .txtbox-tate .text {
    position: absolute;
    top: 0;
    left: clamp(0rem, 25vw, 7rem);
    transform: translate(-58%, 12%);
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    text-orientation: upright;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#sustainability .text p {
    height: 33rem;
    font-size: 14px;
    margin-left: 1.1rem;
    margin-right: 0.2rem;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.2);
}
#sustainability .txtbox-tate .space {
    margin: 3rem 0.9rem 0 -2rem;
}
#sustainability h3 {
    position: absolute;
    left: 5.5rem;
    transform: translate(250%, 50%);
    height: 435px;
    margin: -23rem 0.8rem 0 0;
}
#sustainability img.background__Image {
    height: auto;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    will-change: transform;
    transform: translateY(0);
}
#sustainability img.image1 {
    position: absolute;
    top: 18%;
    left: 0;
    display: block;
    width: calc(550px * 0.8);
    height: auto;
    max-width: 430px;
    z-index: 0;
    opacity: 1;
}

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

    #sustainability .background__Container {
        position: relative;
        top: 12%;
        left: -2%;
        width: 430px;
        height: 300px;
        overflow: hidden;
    }
    #sustainability .txtbox-tate {
        position: absolute;
        top: 63%;
        left: 23%;
        transform: translate(-50%, -50%);
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        z-index: 2;
    }
    #sustainability img.image1 {
        position: absolute;
        top: 18%;
        left: 0;
        width: calc(550px * 0.9);
        height: auto;
    }
}

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

    #sustainability {
        height: clamp(85rem, 150vw, 200rem);
    }
    #sustainability .inner__Wrapper {
        position: absolute;
        top: clamp(10%, 1vh, 40%);
        left: 40%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #sustainability .background__Container {
        position: relative;
        top: clamp(15%, 17vw, 25%);
        left: 0;
        width: clamp(768px, 130vw, 1200px);
        height: 700px;
        transform: scale(var(--scale));
        transform-origin: top left;
        transition: transform 0.3s ease;
    }
    #sustainability .txtbox-tate {
        top: 29%;
        left: 31%;
    }
    #sustainability .txtbox-tate .text {
        transform: translate(-61%, 21%);
    }
    #sustainability .text p {
        font-size: clamp(14px, 1vw, 18px);
        letter-spacing: clamp(0.9rem, 1vw, 1rem);
        margin-block: clamp(0.4rem, 1vw, 0.8rem);
        margin-inline: 0;
        line-height: 1.8;
        height: 735px;
    }
    #sustainability h2 {
        position: relative;
        transform: translate(-50%, -50%);
        margin-right: clamp(0rem, 25vw, 16rem);
    }
    #sustainability h3 {
        margin-top: -12.4rem;
        margin-left: clamp(-0.3rem, 5.4vw, 3.4rem);
        margin-right: clamp(-0.3rem, 1vw, 1rem);
        margin-bottom: 0;
        height: 500px;
    }
    #sustainability img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        max-width: 800px;
        height: auto;
    }
}

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

    #sustainability {
        height: clamp(85rem, 128vw, 200rem);
    }

    #sustainability .wrapper {
        box-sizing: border-box;
        max-width: 1440px;
        display: block;
    }
    #sustainability .inner__Wrapper {
        position: absolute;
        top: clamp(41%, 1vh, 40%);
        left: 41%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #sustainability .background__Container {
        position: relative;
        width: 1440px;
        height: 650px;
    }
    #sustainability .txtbox-tate {
        top: -15%;
        left: 55%;
        transform: translate(-50%, -50%);
    }
    #sustainability .txtbox-tate .text {
        position: absolute;
        top: -6rem;
        right: -45rem;
        margin: 0 -2.4rem 0 -1.3rem;
        height: 73em;
    }
    #sustainability .txtbox-tate p {
        font-size: min(1.6rem, 16px);
        letter-spacing: 1rem;
        font-weight: 100;
        line-height: 1.6;
        color: rgba(221, 221, 221, 1);
        margin: 3rem 2.45rem 0 -1.18rem;
    }
    #sustainability .txtbox-tate .space {
        margin: 3rem 0.9rem 0 -2rem;
    }
    #sustainability h3 {
        margin: -21rem 1.3rem 0 -0.8rem;
        height: 800px;
    }

    #sustainability h4 {
        position: absolute;
        top: calc(75.5rem - (59 * ((100vw - 769px) / 65)));
    }
    #sustainability .bg_gradation {
        box-sizing: border-box;
        background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
        width: 100%;
        padding: 20px 40px 0 0;
    }
    #sustainability .picture__Back {
        height: 75vh;
    }
    #sustainability img.image1 {
        position: absolute;
        top: 37%;
        left: -5%;
        width: 100vw;
        height: auto;
        max-width: 650px;
    }
}

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

    #sustainability {
        height: clamp(74rem, 85vw, 200rem);
    }

    #sustainability .inner__Wrapper {
        position: absolute;
        top: 4%;
        left: 35.2%;
        max-width: 768px;
        margin: 0 auto;
        z-index: 100;
        transform: scale(1);
        transform-origin: right bottom;
    }
    #sustainability h2 {
        position: relative;
        transform: translate(-50%, -50%);
        margin-right: -6rem;
    }
    #sustainability h3 {
        margin-top: -40rem;
        margin-left: clamp(1rem, -100vw, -100rem);
        margin-right: clamp(-0.3rem, 1vw, 1rem);
        margin-bottom: 0;
        height: 680px;
    }
    #sustainability .background__Container {
        top: 17rem;
        margin-left: -8.2rem;
    }
    #sustainability .txtbox-tate {
        top: 0;
        left: 65%;
        transform: translate(-50%, -50%);
    }
    #sustainability .txtbox-tate .text {
        position: absolute;
        top: -34.5rem;
        right: -45rem;
        margin: 0 -2.4rem 0 -1.3rem;
        height: 73em;
    }
    #sustainability img.image1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: auto;
        max-width: 925px;
        opacity: 1;
    }
}

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

    #sustainability .background__Font {
        transform: translate(-47%, -6%);
        font-size: clamp(22rem, 25vw, 450px);
        letter-spacing: -5px;
        line-height: 0.9;
    }
    #sustainability .txtbox__tate {
        left: 91%;
        transform: translate(-115%, -50%);
    }
}

/*-------------------------------------------

  #CONCEPT  ｜コンテンツ用

-------------------------------------------*/

#concept {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    height: 70rem;
}
#concept .inner__Wrapper {
    position: absolute;
    top: 133%;
    left: 40%;
    transform: translate(-50%, -50%);
    z-index: 1;
    text-align: right;
}
#concept .background__Container {
    position: relative;
    top: 45%;
    left: 0;
    width: 100vw;
    height: 550px;
    overflow: hidden;
}
#concept .bg_gradation {
    box-sizing: border-box;
    background: linear-gradient(125deg, rgba(35, 35, 35, 50%), rgba(11, 16, 19, 75%));
    width: 100%;
    padding: 20px 40px 0 0;
}
#concept .txtbox-tate {
    position: absolute;
    top: 22%;
    left: -3%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
#concept .txtbox-tate .text {
    position: absolute;
    top: 0;
    left: clamp(0rem, 59vw, 18rem);
    transform: translate(-58%, 12%);
    font-size: 14px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}
#concept .text .lang {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    margin-left: 1.5rem;
    margin-right: 0.2rem;
    text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.4);
}
#concept h2 {
    margin-right: -8.5rem;
}
#concept h3 {
    position: absolute;
    left: -3.5rem;
    transform: translate(250%, 50%);
    height: 435px;
    margin: -23rem 0.8rem 0 0;
}
#concept img.background__Image {
    height: auto;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    will-change: transform;
    transform: translateY(0);
}
#concept img.image1 {
    position: absolute;
    top: -5%;
    left: -38.8%;
    display: block;
    width: 550px;
    height: auto;
    z-index: 0;
    opacity: 1;
}

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

    #concept .background__Container {
        position: relative;
        top: 45%;
        left: 0;
        width: 100vw;
        height: 550px;
        overflow: hidden;
    }
    #concept .inner__Wrapper {
        position: absolute;
        top: 133%;
        left: 40%;
        transform: translate(-50%, -50%);
        z-index: 1;
        text-align: right;
    }
    #concept h2 {
        margin-top: -115px;
        margin-right: -11.5rem;
    }
    #concept .txtbox-tate {
        position: absolute;
        top: 22%;
        left: 10%;
        transform: translate(-50%, -50%);
        z-index: 2;
    }
    #concept .text .lang {
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        margin-left: 1.5rem;
        margin-right: 0.2rem;
        text-shadow: 2px 2px 4px rgba(9, 13, 17, 0.4);
        letter-spacing: 0.68rem;
    }
    #concept img.image1 {
        position: absolute;
        top: -5%;
        left: -19.8%;
        display: block;
        width: 550px;
        height: auto;
        z-index: 0;
        opacity: 1;
    }
}

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

    #concept {
        height: clamp(76rem, 70vw, 80rem);
    }
    #concept .inner__Wrapper {
        position: absolute;
        top: 23%;
        left: 47%;
    }
    #concept h2 {
        margin-top: 1150px;
        margin-right: -5.5rem;
    }
    #concept .txtbox-tate {
        position: absolute;
        top: -320px;
        left: 5%;
        margin: 37rem auto 0;
    }
    #concept .background__Container {
        top: 0;
        left: 0;
        width: 100vw;
        height: 800px;
    }
    #concept img.image1 {
        position: absolute;
        top: -3.5%;
        left: 15%;
        width: 100vw;
        height: auto;
    }
}

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

    #concept {
        position: relative;
        width: 100%;
        max-width: 1440px;
        margin: 0 auto;
        padding: 100px 0;
        height: clamp(85rem, 150vw, 200rem);
    }
    #concept .inner__Wrapper {
        position: absolute;
        top: 75%;
        left: 66%;
        margin-top: -8rem;
        margin-left: -10rem;
    }
    #concept h2 {
        margin-top: -115px;
        margin-right: 4.5rem;
    }
    #concept h4 {
        font-size: min(27.5vw, 196px);
        font-weight: 900;
        color: rgba(242, 242, 242, 0.1);
        letter-spacing: 0.2rem;
        line-height: 1;
        text-align: left;
        margin: 0 auto;
        padding-left: 22%;
    }
    #concept h5 {
        font-weight: 600;
        margin: -1.8rem 0 0 0;
    }
    #concept .txtbox-tate {
        position: absolute;
        top: clamp(-40%, -40vw, 0%);
        left: -6%;
        margin: 37rem auto 0;
    }
    #concept .txtbox-tate .text {
        position: absolute;
        top: 0;
        left: clamp(25rem, 70vw, 18rem);
        transform: translate(-58%, 12%);
        font-size: 16px;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }
    #concept .background__Container {
        width: 768px;
        margin-left: 11rem;
        margin-top: 4rem;
    }
    #concept img.image1 {
        position: absolute;
        top: -3%;
        left: -3%;
        width: 100vw;
        height: auto;
        max-width: 650px;
        margin-left: 15rem;
    }
}

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

    #concept {
        height: 95rem;
    }
    #concept .inner__Wrapper {
        position: absolute;
        top: 74%;
        left: 63%;
    }
    #concept .txtbox-tate {
        position: absolute;
        top: clamp(-54%, -40vw, 0%);
        left: 3%;
        margin: 37rem auto 0;
    }
    #concept h2 {
        margin-top: -115px;
        margin-right: 3.5rem;
    }
    #concept h3 {
        position: absolute;
        left: -3.5rem;
        transform: translate(250%, 50%);
        height: 435px;
        margin: -23rem 0.8rem 0 0;
    }
    #concept .txtbox-tate .text {
        position: absolute;
        top: 10%;
        left: clamp(28rem, 70vw, 18rem);
        transform: translate(-58%, 23%);
        text-orientation: upright;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }
    #concept .text .lang {
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        letter-spacing: 1rem;
        color: rgba(221, 221, 221, 1);
    }
    #concept .background__Container {
        width: 1440px;
        height: 750px;
        top: -9rem;
        margin-left: 27.4rem;
    }
    #concept img.image1 {
        position: absolute;
        top: -2%;
        left: -1.5%;
        width: 100vw;
        height: auto;
        max-width: 850px;
    }
    #concept .inner__Wrapper h2 br.pc-only {
        display: none !important;
        visibility: hidden;
        height: 0;
        margin: 0;
        padding: 0;
        line-height: 0;
    }
}

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

    #concept h2 {
        margin-top: 200px;
        margin-right: clamp(3.5rem, 50vw, 6.5rem);
    }
}

/*-------------------------------------------

  PARALLAX  ｜コンテンツ用

-------------------------------------------*/

#parallax {
    position: relative;
    width: 100%;
    max-width: 100vw;
    padding-bottom: 100px;
    overflow: hidden;
}
#parallax .section__Wrapper {
    height: 200px;
    overflow: hidden;
}
#parallax .background__Container {
    width: 100%;
    height: 100%;
    position: relative;
}
#parallax .background__Image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    will-change: transform;
    transform: translateY(0);
    z-index: 1;
}

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

    #parallax {
        padding: 200px 0;
    }
    #parallax .section__Wrapper {
        height: 400px;
        width: 100%;
        max-width: 100vw;
    }
    #parallax .section__Container {
        width: 100%;
        max-width: 100vw;
    }
}

/*-------------------------------------------

  GRAND MENU  ｜コンテンツ用

-------------------------------------------*/

#grand__Menu {
    width: 100%;
    padding-bottom: 0;
}
#grand__Menu .inner__Wrapper {
    width: 100%;
    text-align: center;
    margin: 21rem 0 0;
    z-index: 100;
    pointer-events: none;
}
#grand__Menu .background__Container {
    position: relative;
    top: 5rem;
    right: clamp(-34vw, 1vw, -11vw);
    padding-top: clamp(25rem, 1vw, 25rem);
    padding-bottom: clamp(32rem, 85vw, 85vw);
    overflow: hidden;
}
#grand__Menu h2 {
    position: absolute;
    top: -9%;
    right: 1%;
    text-align: right;
    margin: 0 auto;
    white-space: pre-line;
    z-index: 10;
    pointer-events: none;
}
#grand__Menu h3 {
    margin-bottom: 1rem;
}

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

    #grand__Menu {
        height: 600px;
    }
    #grand__Menu h2 {
        top: -0.5%;
    }
}

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

    #grand__Menu h2 {
        top: -9%;
    }
}

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

    #grand__Menu {
        height: 650px;
    }
    #grand__Menu h2 {
        top: -9%;
    }
}

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

    #grand__Menu {
        height: 700px;
    }
}
@media screen and (min-width: 600px) {

    #grand__Menu {
        height: 800px;
    }
    #grand__Menu h2 {
        top: -7%;
    }
}

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

    #grand__Menu {
        height: 900px;
    }
    #grand__Menu .inner__Wrapper {
        margin: 0 auto;
    }
    #grand__Menu .background__Container {
        padding-bottom: clamp(32rem, 34vw, 35vw);
    }
    #grand__Menu .background__Container img {
        position: absolute;
        top: clamp(19.5rem, 1vw, 20rem);
        right: 22%;
        width: clamp(500px, 100vw, 600px);
        height: auto;
        max-height: 900px;
        object-fit: cover;
    }
    #grand__Menu h2 {
        top: -10%;
    }
    #grand__Menu h3 {
        margin: -15rem 1.7rem 5rem 0.2rem;
    }
}

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

    #grand__Menu {
        height: 1000px;
    }
}

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

    #grand__Menu {
        height: 1100px;
    }
}

/*-------------------------------------------

  DRINK HOT/ICE  ｜コンテンツ用

-------------------------------------------*/

#drink .section__Wrapper {
    display: block;
}
#drink .section__Wrapper::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
#drink .background__Container {
    position: relative;
    width: 100%;
    height: auto;
    top: -3rem;
    right: clamp(-34vw, 1vw, -11vw);
    padding-top: clamp(25rem, 1vw, 25rem);
    padding-bottom: clamp(20rem, 65vw, 70vw);
    overflow: visible;
}
#drink .background__Container img {
    position: absolute;
    top: 18%;
    right: 6%;
    max-width: 65%;
    height: auto;
    max-height: 750px;
    object-fit: cover;
    display: block;
    z-index: 99;
}
#drink img.background__Image {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
    transform: translateY(0);
}
#drink .txtbox {
    position: relative;
    margin: -15rem auto;
    text-orientation: upright;
    width: 100%;
    z-index: 100;
}
#drink .txtbox .text {
    font-size: clamp(14px, 1vw, 18px);
    margin-bottom: 16rem;
    padding: 0 0;
    color: rgba(221, 221, 221, 1);
}
#drink .txtbox .space {
    margin: 3rem 0.9rem 0 -2rem;
}
#drink h2 {
    position: absolute;
}
#drink h3 {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.5rem;
}
#drink .txtbox p {
    font-size: 14px;
    text-align: left;
    color: rgba(221, 221, 221, 1);
    letter-spacing: 0.4rem;
    line-height: 1.6;
    padding: 0 0.5rem;
}

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

    #drink .txtbox .text {
        font-size: clamp(14px, 1vw, 18px);
        margin-bottom: 16rem;
    }
}

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

    #drink .background__Font {
        left: 65%;
        text-align: left;
    }
    #drink .inner__Wrapper {
        margin: 0 auto;
        padding-right: 61rem;
    }
    #drink .background__Container {
        top: -5rem;
        right: clamp(-34vw, -11vw, -14.5vw);
        padding-bottom: clamp(32rem, 65vw, 70vw);
    }
    #drink .txtbox {
        position: absolute;
        top: 19.6rem;
        text-orientation: upright;
        z-index: 100;
    }
    #drink .txtbox .text {
        position: absolute;
    }
    #drink .txtbox p {
        font-size: min(1.6rem, 16px);
        letter-spacing: 0.86rem;
        font-weight: 100;
        color: rgba(221, 221, 221, 1);
        margin: 1rem 0 0 0;
    }
    #drink .txtbox .space {
        margin: 3rem 0.9rem 0 -2rem;
    }
    #drink h2 {
        top: 0;
    }
}

@media screen and (min-width: 1025px) {
    #drink .background__Container {
        padding-bottom: clamp(32rem, 37vw, 40vw);
        padding: 500px 0;
    }
}

/*-------------------------------------------

  EAT IN  ｜コンテンツ用

-------------------------------------------*/

#eat__In .background__Container {
    position: relative;
    width: 100%;
    height: auto;
    max-height: 264px;
    padding-bottom: clamp(800px, 1vw, 1080px);
    overflow: hidden;
}
#eat__In .background__Container img {
    -webkit-appearance: none;
    position: absolute;
    top: clamp(7.5rem, 1vw, 16rem);
    width: 470px;
    max-width: 100%;
    height: auto;
    max-height: 264px;
    object-fit: cover;
}
#eat__In background__Image {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
    transform: translateY(0);
}
#eat__In .inner__Wrapper {
    margin: 0 auto;
    padding-right: 61rem;
}
#eat__In .txtbox {
    position: absolute;
    top: 23.6rem;
    left: 2%;
    text-orientation: upright;
    margin-top: clamp(6rem, 1vw, 12rem);
    z-index: 100;
}
#eat__In .txtbox .space {
    margin: 3rem 0.9rem 0 -2rem;
}
#eat__In .text p {
    font-size: clamp(14px, 1vw, 18px);
    letter-spacing: clamp(0.5rem, 1vw, 1rem);
    margin-left: 0.5%;
    margin-right: clamp(1.5rem, -3vw, 1.6rem);
    color: rgba(221, 221, 221, 1);
}
#eat__In h2 {
    position: absolute;
    top: 5%;
    right: clamp(3%, 2vw, 10%);
}
#eat__In h3 {
    margin-top: clamp(3rem, 1vw, 4rem);
}

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

    #eat__In h2 {
        position: absolute;
        top: 1%;
        right: clamp(3%, 2vw, 10%);
    }
    #eat__In .txtbox {
        position: absolute;
        top: 21.6rem;
        left: 2%;
        text-orientation: upright;
        margin-top: clamp(6rem, 1vw, 12rem);
        margin-left: -0.2rem;
        margin-right: -1rem;
        z-index: 100;
    }
    #eat__In .background__Container img {
        -webkit-appearance: none;
        position: absolute;
        top: clamp(9.5rem, 1vw, 10rem);
        width: 470px;
        max-width: 100%;
        height: auto;
        max-height: 264px;
        object-fit: cover;
    }
}

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

    #eat__In .inner__Wrapper {
        margin: 0 auto;
        padding-right: 61rem;
    }
    #eat__In .background__Container {
        padding-bottom: clamp(200px, 82vw, 765px);
    }
    #eat__In .background__Container img {
        max-width: 100%;
        height: auto;
        top: 24rem;
    }
    #eat__In .txtbox {
        position: absolute;
        top: 40.6%;
        left: calc(100% - 39%);
        text-orientation: upright;
        z-index: 100;
    }
    #eat__In .txtbox .text {
        position: absolute;
        top: 4.5em;
        right: 1.4rem;
        width: 128%;
        margin: 1rem 0 0 4.7rem;
    }
    #eat__In .txtbox p {
        font-size: min(1.6rem, 16px);
        letter-spacing: 0.86rem;
        font-weight: 100;
        color: rgba(221, 221, 221, 1);
        margin: 1rem 0 0 -1.18rem;
    }
    #eat__In .txtbox .space {
        margin: 3rem 0.9rem 0 -2rem;
    }
    #eat__In h2 {
        top: 0;
        right: 17%;
    }
    #eat__In h3 {
        margin: -10rem 1.7rem 0 -15.8rem;
        width: 200%;
    }
}

/*-------------------------------------------

  フッターCSS  ｜フッター

-------------------------------------------*/

footer h4 {
    color: rgba(9, 13, 17, 1);
    margin-bottom: 2rem;
}
.footer {
    background-color: rgba(242, 242, 242, 1);
    color: rgba(9, 13, 17, 1);
    padding: 40px 0 0;
}
.footer__Inner {
    max-width: 100vw;
    margin: 0 auto;
}
.news {
    text-align: center;
    max-width: 95vw;
    margin: 0 auto;
}
.footer-title-area {
    text-align: center;
    margin-bottom: 6rem;
}
.footer-small-title {
    font-size: clamp(1.2rem, 1.4vw, 1.4rem);
    color: rgba(9, 13, 17, 1);
    letter-spacing: 0.2rem;
    margin-bottom: -0.5rem;
    font-weight: 400;
}
.footer-itle {
    font-size: clamp(4.8rem, 10vw, 11.3rem);
    color: rgba(9, 13, 17, 1);
    letter-spacing: 0.4rem;
    font-weight: 700;
    text-align: center;
    margin: 0 0 3rem 0;
}
.news-list {
    list-style: none;
    width: 100%;
    max-width: 1176px;
    padding: 0;
    margin: 0 auto;
    text-align: left;
}
.news-list li {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1.6rem 0;
    border-bottom: 1px solid rgba(9, 13, 17, 0.2);
    font-size: clamp(1rem, 1.4vw, 1.4rem);
    width: 100%;
}
.news-list li span {
    background-color: rgba(9, 13, 17, 1);
    color: rgba(242, 242, 242, 1);
    padding: 0.4rem 1rem;
    font-size: clamp(1rem, 1.2vw, 1.4rem);
    border-radius: 4px;
    flex-shrink: 0;
}
.footer-more {
    display: inline-block;
    background-color: rgba(9, 13, 17, 1);
    color: rgba(242, 242, 242, 1);
    font-size: clamp(1.8rem, 2vw, 2.4rem);
    padding: 1.6rem 6rem;
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}
.footer-more:hover {
    background-color: rgba(70, 70, 70, 1);
}
.fade-medium {
    opacity: 0.8;
    filter: blur(0.25px);
    transition: all 0.3s ease;
}
.fade-strong {
    opacity: 0.6;
    filter: blur(0.5px);
    transition: all 0.3s ease;
}
.shop-info {
    display: inline-block;
    background: rgba(9, 13, 17, 0.9);
    font-weight: 700;
    text-align: center;
    padding: 9px 20px;
    text-decoration: none;
    border-radius: 8px;
    transition: 
    background-color 0.3s ease;
    margin-top: 3rem;
}
.shop-info__text {
    color: rgba(242, 242, 242, 0.9);
    font-size: 14px;
    font-weight: 700;
    display: inline-block;
    transition: 
    transform 0.3s ease,
    color 0.3s ease,
    opacity 0.3s ease;
}
.shop-info:hover {
    background: rgba(9, 13, 17, 1);
}
.shop-info:hover .shop-info__text {
    color: rgba(242, 242, 242, 1);
    opacity: 1;
    transform: scale(1.08);
}
.shop-detail {
    display: block;
    margin: 0 5% 20px 5%;
}
footer .nav-grid_note {
    font-size: 14px;
    color: rgba(9, 13, 17, 1);
    line-height: 1;
    margin: 0;
}
.footer-asterisk {
    margin-top: 2.2rem;
}
.footer-asterisk p {
    font-size: 14px;
    line-height: 1.1;
    padding-bottom: 0.5rem;
}
.footer-address {
    font-size: clamp(1.2rem, 1.6vw, 1.6rem);
    text-align: left;
    margin-bottom: 2rem;
    padding-top: 1.6rem;
}
.footer-map {
    width: 100%;
    max-width: 1440px;
    margin-bottom: -6rem;
    aspect-ratio: 16 / 9;
    margin: 0 auto -6rem;
    overflow: hidden;
}
.footer-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.footer-end {
    background-color: rgba(9, 13, 17, 1);
    color: rgba(242, 242, 242, 1);
    padding: 5rem 0 6rem 0;
    margin: 0 0 0 0;
}
.shop-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 20px;
}
.shop-image img:hover {
    transform: scale(1.03);
}
.shops {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 2rem 0;
    list-style: none;
}
.footer-sns {
    display: flex;
    justify-content: center;
    gap: 0 3rem;
    margin-bottom: 2rem;
}
.sns-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    position: relative;
    border-radius: 50%;
    background-color: rgba(242, 242, 242, 1);
    overflow: hidden;
}
.sns-icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    z-index: 1;
}
.shops-row {
    display: flex;
    gap: 4rem;
    justify-content: center;
    flex-wrap: wrap;
}
.shops li {
    text-align: center;
    flex: none;
}
.shops li img {
    width: 50px;
    height: auto;
}
.shops span {
    font-size: 12px;
    display: block;
    margin-top: 0.5rem;
}
.shops .online-shop img {
  width: clamp(180px, 40vw, 300px);
  height: auto;
}
.cart::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -100;
}
.instagram::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -100;
}
.line::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -100;
}
.copy {
    display: block;
    margin: 32px 0 0 0;
    text-align: center;
    font-size: 12px;
}

@media and (min-width: 431px) {

    footer h4 {
        color: rgba(9, 13, 17, 1);
        margin-bottom: 2rem;
    }
    .footer-asterisk p {
        font-size: 14px;
        line-height: 0.98;
    }
}

@media and (min-width: 769px) {

    .footer-title {
        font-size: 11rem;
        margin: 2rem auto;
    }
    .shop-detail {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 3rem;
        width: 100%;
        max-width: 1176px;
        margin: 10rem auto;
        padding: 0 5%;
    }
    .footer-address,
    .shop-image {
        flex: 1;
    }
    .footer-address {
        width: 100%;
        max-width: 1176px;
        font-size: 1.6rem;
        line-height: 1.8;
        padding: 0 5%;
    }
    .footer-address p {
        font-size: clamp(16px, 1vw, 20px);
        line-height: 1;
    }
    .footer-end {
        width: 100vw;
        background-color: rgba(9, 13, 17, 1);
        color: rgba(242, 242, 242, 1);
        padding: 15px 0 15px 0;
        margin: 0 0 0 0;
    }
    .news-list {
        margin: 0 auto;
        max-width: 1176px;
    }
    footer .nav-grid_note {
        font-size: 16px;
    }
    .shop-image img {
        width: 100%;
        max-width: 500px;
        height: auto;
        border-radius: 12px;
        transition: transform 0.3s ease;
    }
    .shop-image img:hover {
        transform: scale(1.03);
    }
    .shops {
        justify-content: center;
        gap: 2rem;
    }
    .shops li {
        flex: 0 0 auto;
    }
    .footer-sns {
        gap: 2rem;
    }
}

@media (min-width: 1025px) {

    .shop-detail {
        display: flex;
        gap: 3rem;
        padding: 5rem 0;
        margin: 0 auto;
        max-width: 1176px;
    }
    .footer-address {
        padding: 0;
    }
    .footer-address p {
        font-size: 16px;
    }
    .shop-image img {
        margin: 0 auto 5rem;
    }
}

/*-------------------------------------------
  ローディングCSS  ｜ローディング用
-------------------------------------------*/

body.loading-active {
  overflow: hidden;
}
#loading {
    position: fixed;
    z-index: 9999;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
}
#loading.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.loading-circle {
    position: relative;
    width: 200px;
    height: 200px;
    opacity: 0.5;
}
.loading-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 80px;
    transform: translate(-50%, -50%);
}
.loading-rotate {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    height: 200px;
    animation: spin 9s linear infinite;
    z-index: 1;
}
@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/*-------------------------------------------

  ハンバーガー内CSS  ｜SPハンバーガーメニュー用

-------------------------------------------*/

.sp__Grid {
    position: fixed;
    top: 25px;
    right: 20px;
    z-index: 99999;
    width: 50px;
    height: 50px;
    padding: 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    display: block;
}
.sp__Grid[aria-expanded="true"]::after {
    content: "Close";
    position: absolute;
    right: 25%;
    top: 57%;
    font-size: 0.8rem;
    color: rgba(242, 242, 242, 1);
    margin-top: 4px;
}
.sp__Grid__Dots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    width: 100%;
    height: 100%;
}
.sp__Grid__Dot {
    width: 100%;
    height: 100%;
    background: rgba(242, 242, 242, 1);
    border-radius: 50%;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.sp__Grid.active .sp__Grid__Dot {
    background-color: rgba(242, 242, 242, 1);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(1) {
    transform: scale(0);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(2) {
    transform: translateY(8px);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(3) {
    transform: scale(0);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(4) {
    transform: translateX(8px);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(5) {
    transform: scale(1.2);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(6) {
    transform: translateX(-8px);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(7) {
    transform: scale(0);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(8) {
    transform: translateY(-8px);
}
.sp__Grid.active .sp__Grid__Dot:nth-child(9) {
    transform: scale(0);
}
.nav-grid {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    background-color: rgba(9, 13, 17, 0.95);
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nav-grid.active {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.nav-grid:target {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}
.nav-grid:target ~ .sp__Grid {
}
body:not(:has(.nav-grid.active)) .nav-grid:target {
    transform: none;
}
.nav-grid.fadeout {
    opacity: 0;
    visibility: hidden;
}
.nav-grid__Content {
    width: 100%;
    margin: 0 auto;
    padding: 2% 5% 2.5%;
    scrollbar-width: none;
}
.content::-webkit-scrollbar{
    display:none;
}
.nav-grid__Sections {
    grid-column: span 12;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}
.nav-grid__Section {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-grid.active .nav-grid__Section {
    opacity: 1;
    transform: translateY(0);
}
.nav-grid.active .nav-grid__Section:nth-child(1) {
    transition-delay: 0.2s;
}
.nav-grid.active .nav-grid__Section:nth-child(2) {
    transition-delay: 0.3s;
}
.nav-grid__List {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav-grid__List li {
    font-size: clamp(14px, 1vw, 18px);
    margin-bottom: 20px;
}
.nav-grid__List li a {
    font-size: 18px;
    font-weight: 900;
    display: block;
    margin-bottom: 12px;
    padding: 12px 16px;
    text-decoration: none;
    color: rgba(9, 13, 17, 1);
    border-radius: 8px;
    transition: background-color 0.3s;
}
.nav-grid__List li a:hover {
    background-color: rgba(9, 13, 17, 0.05);
}
.nav-grid__List li:first-child {
    text-align: center;
    font-size: 18px;
    justify-content: right;
}
.nav-grid__List li img {
    width: 30px;
}
.nav-grid__link {
    display: inline-block;
    padding: 12px 24px;
    color: rgba(242, 242, 242, 1);
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.3s ease;
    scroll-behavior: smooth;
}
.nav-grid__link:hover {
    background-color: rgba(242, 242, 242, 0.1);
}
.nav-grid.active .nav-grid__link {
    opacity: 1;
    transform: scale(1);
}
.nav-grid.active .nav-grid__Reserv {
    opacity: 1;
    transform: scale(1);
}
.nav-grid__Extra {
    width: 100%;
    max-width: none;
    padding: 0 1rem;
    text-align: center;
}
.nav-grid_address {
    font-size: 16px;
    color: rgba(242, 242, 242, 1);
    line-height: 1.6;
    text-align: left;
    width: 100%;
    margin: 2rem 0 0;
}
.nav-grid_note {
    position: relative;
    padding-left: 14px;
    text-indent: 0;
    line-height: 1.6;
    font-size: 14px;
    color: rgba(242, 242, 242, 1);
    text-align: left;
    margin: 1rem 0 2rem;
    width: 100%;
}
.nav-grid_note::before {
    content: "※";
    position: absolute;
    left: 0;
}
.nav-grid__Branches {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    margin: 3.5rem 0;
    padding: 0;
}
.branch-logo__Left {
    padding: 0 10px 0 0;
    display: flex;
    justify-content: space-evenly;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
}
.branch-logo__Right {
    text-align: right;
    padding: 0 10px 0 0;
    display: flex;
    justify-content: space-evenly;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
}
.branch-logo:nth-child(2) {
    padding: 0 0 0 10px;
    justify-content: flex-start;
}
.branch-logo img {
    width: 100%;
    max-width: 45px;
    height: auto;
    display: block;
    transition: opacity 0.3s ease;
    margin: 0 0 -1rem 0;
}
.branch-logo--full {
    text-align: center;
    grid-column: span 2;
    width: 70%;
    margin: 0 auto;
}
.branch-logo--full img {
    max-width: 100%;
    height: auto;
    margin: 1.5rem auto;
}
.branch-logo p {
    font-size: clamp(0.8rem, 1vw, 1rem);
}
.nav-grid__SNS ul {
    display: flex;
    justify-content: center;
    padding-bottom: 80px;
}
.nav-grid__SNS li {
    margin: 0;
}
.nav-grid__Texts .nav-grid__List {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 0.75rem 1.5rem;
    margin: 3rem 0;
}
.nav-grid__Texts .nav-grid__List li {
    margin-bottom: 0;
    text-align: left;
}
.nav-grid__Texts .nav-grid__List a {
    font-size: 18px;
    font-weight: 600;
    color: rgba(242, 242, 242, 1);
    width: 100%;
    display: inline-block;
}
.nav-grid__Texts ul li {
    text-align: left;
    font-size: 1rem;
    color: rgba(242, 242, 242, 1);
}
.nav-grid__Reserv {
    margin-top: 15px;
}
.nav-reservation-button {
    display: block;
    width: 100%;
    background-color: rgba(210, 164, 0, 1);
    color: rgba(242, 242, 242, 1);
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    padding: 12px 0;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.nav-reservation-button:hover {
    background-color: rgba(242, 242, 242, 0.9);
}

@media (min-width: 1025px) {

    .sp__Grid {
        display: none;
    }
    .nav-grid {
        display: block;
        position: static;
        flex-direction: row;
        justify-content: flex-end;
        gap: 1rem;
        padding: 0;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 900;
        width: 100%;
        height: 100%;
        background-color: rgba(9, 13, 17, 0.9);
        visibility: visible;
        opacity: 1;
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: visible;
    }
    .nav-grid.active {
        display: flex;
    }
    .nav-grid__Content, {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 1rem;
        height: auto;
    }
    .nav-grid__Sections {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        grid-column: span 12;
    }
    .nav-grid__Section {
        opacity: 1!important;
        transform: none!important;
    }
    .nav-grid__List {
        opacity: 1 !important;
        transform: scale(1) !important;
    }
    .branch-logo__Left {
        padding: 0 10px 0 0;
        display: flex;
        justify-content: space-evenly;
        align-content: center;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
    }
    .branch-logo__Right {
        text-align: right;
        padding: 0 10px 0 0;
        display: flex;
        justify-content: space-evenly;
        align-content: center;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
    }
}

/*-------------------------------------------

  言語切り替え用CSS  ｜Japanese / English用

-------------------------------------------*/

.language-switcher {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 14px;
    padding: 10px 0 2px;
    justify-content: right;
    color: rgba(242, 242, 242, 0.7);
}
.language-switcher__label {
    color: rgba(170, 170, 170, 1);
    font-weight: 400;
}
.language-switcher__link {
    display: inline-block;
    color: rgba(242, 242, 242, 0.7)!important;
    text-decoration: none;
    font-weight: 600;
    padding: 4px 8px;
    border: none;
    border-radius: none;
    background: none!important;
    transition: transform 0.2s ease, font-size 0.2s ease;
}
.language-switcher__link:hover {
    color: rgba(242, 242, 242, 1);
    border: none;
    border-radius: none;
    background: none!important;
    transform: scale(1.08);
}
.language-switcher__link.is-current {
    color: rgba(242, 242, 242, 0.7);
    background-color: rgba(242, 242, 242, 0.15);
}

/*-------------------------------------------

  スクロール用CSS  ｜スクロール用

-------------------------------------------*/

.fade_in,
.scroll_up,
.scroll_left,
.scroll_right {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    will-change: opacity, transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.scroll_up {
    transform: translateY(30px);
}
.scroll_left {
    transform: translateX(-30px);
}
.scroll_right {
    transform: translateX(30px);
}
.fade_in.on,
.scroll_up.on,
.scroll_left.on,
.scroll_right.on {
    opacity: 1;
    transform: translate(0, 0);
}
.t2 { transition-delay: 0.2s; }
.t3 { transition-delay: 0.4s; }
.t4 { transition-delay: 0.6s; }
.t5 { transition-delay: 0.8s; }


/*-------------------------------------------

  追従ボタン用CSS  ｜追従ボタン__TOPへ戻るボタン用

-------------------------------------------*/

.btn__Follow {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 500;
}
.btn__Follow.stop {
    position: absolute;
    bottom: auto;
    top: auto;
    transform: translateX(-50%);
}
.wrapper__Follow {
    display:none;
}
.back__to__Top {
    position: fixed;
    right: -47px;
    bottom: 170px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: rgba(242, 242, 242, 1);
    padding: 0 0 0 35px;
    border-top: solid 1px;
}
.back__to__Top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
.fixed__Wrapper {
    text-orientation: upright;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    width: 90vw;
    max-width: 768px;
    margin: 0 auto;
}
.btn__Container {
    color: rgba(9, 13, 17, 1);
    text-align: center;
    width: 90vw;
    max-width: 768px;
    margin: 0 auto;
}
.reservation__Btn {
    position: fixed;
    bottom: 12px;
    z-index: 200;
    padding: 0.5em 0;
    width: 90vw;
    border-radius: 50px;
    align-items: center;
    background-color: rgba(210, 164, 0, 1);
}
.reservation__Btn a {
    color: rgba(9, 13, 17, 1);
    display: inline-block;
}
.reservation__Btn:hover {
    background-color: rgba(210, 164, 0, 1);
}
.shopinfo__Btn {
    position: fixed;
    bottom: 65px;
    z-index: 200;
    padding: 0.5em 0;
    width: 90vw;
    border-radius: 50px;
    align-items: center;
    background-color: rgba(242, 242, 242, 0.7);
}
.shopinfo__Btn a {
    color: rgba(9, 13, 17, 1);    
    display: inline-block;
}
.shopinfo__Btn:hover {
    background-color: rgba(242, 242, 242, 1);
}
.reservation__Btn img:first-child {
    margin: -0.4rem 1rem 0 0;
    width: 1.8rem;
}
.reservation__Btn img:last-child {
    margin: -0.4rem 0.4rem 0  1.78rem;
    width: 0.8rem;
}

@media(min-width: 768px) {

    .wrapper__Follow {
        position: static;
        text-align: center;
    }
    #btn .btn__Follow {
        min-width: 769px;
    }
    .fixed__Wrapper {
        max-width: 100%;
    }
    .btn__Container {
        width: auto;
        max-width: none;
    }
    .shopinfo__Btn {
        right: -40px;
        padding: 0.5em 0;
        width: 235px;
        border-radius: 4px;
        background-color: rgba(242, 242, 242, 0.8);
    }
    .reservation__Btn {
        right: -40px;
        padding: 0.5em 0;
        width: 235px;
        border-radius: 4px;
        background-color: rgba(210, 164, 0, 0.8);
    }
}

/*-------------------------------------------

  カルーセル_JS連動CSS  ｜PRODUCTS / GRAND MENU部分用

-------------------------------------------*/

.swiper {
    position: relative;
    overflow: hidden;
}
#products .swiper {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 51px);
    width: 100%;
    display: block;
    margin-top: -20rem;
}
#grand__Menu .swiper {
    margin-top: -227px;
    overflow: hidden;
}
#products .swiper {
    margin-top: -185px;
    overflow: hidden;
}
.swiper-wrapper {
    justify-content: flex-start;
}
#grand__Menu .swiper-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: fit-content;
}
#products .swiper-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: fit-content;
}
#grand__Menu .swiper-slide {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 375 / 812;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    border-radius: 25px;
    background-color: rgba(9, 13, 17, 0.1);
    transform: scale(0.985);
    transition: transform 0.4s ease, opacity 0.4s ease;
    opacity: 0.6;
}
#products .swiper-slide {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    border-radius: 25px;
    background-color: rgba(9, 13, 17, 0.1);
    transform: scale(0.985);
    transition: transform 0.4s ease, opacity 0.4s ease;
    opacity: 0.6;
}
#grand__Menu .swiper-slide-active {
  transform: scale(0.85);
  opacity: 1;
  z-index: 1;
}
#products .swiper-slide-active {
  transform: scale(0.85);
  opacity: 1;
  z-index: 1;
}
.swiper-slide {
    aspect ratio: 375 / 812;
    position: relative;
    overflow: hidden;
    transform: scale(0.66);
    transition: 0.6s;
    flex-shrink: 0;
    opacity: 0.8;
}
.swiper-slide-active {
    transform: scale(0.7);
    transform-origin: center center;
    transition: transform 0.4s ease;
    opacity: 1;
    z-index: 1;
}
#products .swiper-slide-prev,
#products .swiper-slide-next,
#grand__Menu .swiper-slide-prev,
#grand__Menu .swiper-slide-next {
  transform: scale(0.75);
  opacity: 0.5;
}
#products .slide-text p {
    position: absolute;
    top: -4rem;
    left: 0.5%;
    font-size: 14px;
    color: rgba(221, 221, 221, 1);
}
.swiper-slide img {
    display: inline;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    align-self: center;
    border-radius: 35px;
}
#products .swiper-slide img {
    width: 100%;
    height: 100%;
    aspect-ratio: inherit;
    object-fit: cover;
    border-radius: 35px;
    display: block;
}
#grand__Menu .swiper-slide img {
    width: 100%;
    height: 100%;
    aspect-ratio: inherit;
    object-fit: cover;
    border-radius: 15px;
    display: block;
}
.slide-text {
    position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    padding: 1rem 0.6rem;
    color: rgba(242, 242, 242, 1);
    text-align: left;
    box-sizing: border-box;
}
.slide-text p {
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;
    letter-spacing: 0.1rem;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.swiper-button-next, .swiper-button-prev {
    width: 40px;
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1000;
    opacity: 1;
}
.swiper-button-next {
    background-image: url('/assets/images/slider_right_arrow40x40.png');
}
.swiper-button-prev {
    background-image: url('/assets/images/slider_left_arrow40x40.png');
}
.swiper-button-next,
.swiper-button-prev {
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.swiper-button-next:hover {
    transform: translateX(5px);
    opacity: 0.8;
}
.swiper-button-prev:hover {
    transform: translateX(-5px);
    opacity: 0.8;
}
.swiper-button-next::after,
.swiper-button-prev::after {
    display: none;
}

@media (min-width: 321px) {

    #products .swiper-slide,
    #grand__Menu .swiper-slide, {
        border-radius: 25px;
        background-color: rgba(9, 13, 17, 0.1);
        transform: scale(0.7);
    }
    #products .swiper-slide-active
    #grand__Menu .swiper-slide-active {
      transform: scale(0.75);
    }
    #products .swiper-slide-prev,
    #products .swiper-slide-next.
    #grand__Menu .swiper-slide-prev,
    #grand__Menu .swiper-slide-next {
        transform: scale(0.65);
    }
}

@media (min-width: 361px) {

    #products .swiper-slide,
    #grand__Menu .swiper-slide {
        border-radius: 25px;
        background-color: rgba(9, 13, 17, 0.1);
        transform: scale(0.75);
    }
    #products .swiper-slide-active,
    #grand__Menu .swiper-slide-active {
      transform: scale(0.85);
    }
    #products .swiper-slide-prev,
    #products .swiper-slide-next,
    #grand__Menu .swiper-slide-prev,
    #grand__Menu .swiper-slide-next {
        transform: scale(0.65);
    }
}

@media (min-width: 431px) {

    #products .swiper {
        margin-top: -40px;
    }
    #grand__Menu .swiper {
        margin-top: -227px;
    }
    .slide-text p {
        font-size: 1.6rem;
    }
    #products .swiper-slide,
    #grand__Menu .swiper-slide {
        border-radius: 30px;
        background-color: rgba(9, 13, 17, 0.1);
        transform: scale(0.75);
    }
    #products .swiper-slide-active,
    #grand__Menu .swiper-slide-active {
        transform: scale(0.85);
    }
    #products .swiper-slide-prev,
    #products .swiper-slide-next,
    #grand__Menu .swiper-slide-prev,
    #grand__Menu .swiper-slide-next {
        transform: scale(0.65);
    }
}

@media (min-width: 769px) {

    #products .swiper {
        margin-top: 150px;
    }
    #grand__Menu .swiper {
        margin-top: -20px;
    }
    #products .swiper-slide,
    #grand__Menu .swiper-slide {
        border-radius: 40px;
        background-color: rgba(9, 13, 17, 0.1);
        transform: scale(0.8);
    }
    #products .swiper-slide-active,
    #grand__Menu .swiper-slide-active {
      transform: scale(0.9);
    }
    #products .swiper-slide-prev,
    #products .swiper-slide-next,
    #grand__Menu .swiper-slide-prev,
    #grand__Menu .swiper-slide-next {
        transform: scale(0.7);
    }
}

@media (min-width: 931px) {

    #products .swiper {
        margin-top: 85px;
    }
    #grand__Menu .swiper {
        margin-top: 4rem;
    }
    #products .swiper-slide,
    #grand__Menu .swiper-slide {
        border-radius: 50px;
        background-color: rgba(9, 13, 17, 0.1);
        transform: scale(0.85);
    }
    #products .swiper-slide-active,
    #grand__Menu .swiper-slide-active {
      transform: scale(0.95);
    }
    .swiper-slide img {
        border-radius: 50px!important;
    }
    #products .swiper-slide-prev,
    #products .swiper-slide-next,
    #grand__Menu .swiper-slide-prev,
    #grand__Menu .swiper-slide-next {
        transform: scale(0.75);
    }
}

/*-------------------------------------------

  モーダルCSS  ｜アニメーション

-------------------------------------------*/

.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    max-height: 80vh;
    overflow: auto;
    background-color: rgba(9, 13, 17, 0.9);
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}
.modal.active {
    display: flex;
}
.modal__Wrapper {
    position: relative;
    background: rgba(242, 242, 242, 1);
    padding: 30px;
    max-width: 500px;
    width: 90%;
    height: 100%;
    max-height: 90vh;
    overflow-y: auto;
    margin: auto;
    border-radius: 8px;
}
.modal__Wrapper a:visited{
    color: rgba(9, 13, 17, 1);
    font-weight: bold;
}
.modal__Content img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.modal__Content h6 {
    font-size: 2rem;
    font-weight: 600;
    color: rgba(9, 13, 17, 1);
    margin-bottom: 10px;
    text-align: center;
}
.modal__Content p {
    font-size: 1.4rem;
    color: rgba(9, 13, 17, 1);
    margin-bottom: 10px;
    text-align: center;
}
.modal__Price {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}
.close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 2.4rem;
    color: rgba(9, 13, 17, 1);
    transition: transform 0.3s ease, color 0.3s ease;
    z-index: 1001;
}
.close:hover {
    transform: scale(1.2);
    color: rgba(9, 13, 17, 1);
}