<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* common */
:root {
 --base_br: #190d09;
 --base_red: #960d27;
}

#page {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

#page::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(../images/bk_vintage.jpg);
    background-size: 100%;
    background-repeat: repeat-y;
}

picture { display: block;}

.pc_only { display: block;}

.sp_only { display: none;}

.ib { display: inline-block;}

.under_yellow {
    display: inline;
    background: rgb(255,232,78);
    background: linear-gradient(0deg, rgba(255,232,78,1) 0%, rgba(255,232,78,1) 50%, rgba(255,232,78,0) 50%, rgba(255,232,78,0) 100%);
    font-size: 120%;
    font-weight: 900;
}

.wrapper { 
    max-width: 1248px;
    margin: 0 auto;
    padding: 100px 0;
}

#pc_navi { 
    width: 100%;
    background-image: conic-gradient(#2c0000 0deg 90deg, #170000 90deg 180deg, #2c0000 180deg 270deg, #170000 270deg 360deg);
    background-size: 60px 60px;
    position: sticky;
    z-index: 1500;
}

#pc_navi.fixed {
    position: fixed;
    z-index: 500;
    top: 0;
}

#pc_navi ul {
    max-width: 1344px;
    margin: 0 auto;
    color: #fff;
    display: flex;
    justify-content: center;
}

#pc_navi ul li { 
    width: 14.2%;
    border-right: solid 2px #4d2a2a;
    text-align: center;
    font-size: 24px;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    text-transform: uppercase;
    text-shadow: 0.1em 0.1em 0 #000;
    letter-spacing: 0.05em;
}

#pc_navi ul li a {
    display: block;
    /* line-height: 4; */
    padding: 8% 0 10%;
    transition: all .2s;
    height: 100%;
}

#pc_navi ul li a:hover,
#pc_navi .label:hover { background-color: rgba(105, 18, 18, .6);}

#pc_navi ul li span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

#pc_navi ul li span::after {
    display: block;
    content: attr(data-caption);
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 50%;
}

#pc_navi ul li:first-child { border-left: solid 2px #4d2a2a;}

#pc_navi .drop_down { position: relative;}

#pc_navi .label {
    width: 100%;
    height: 100%;
    padding: 8% 0 10%;
    cursor: pointer;
    transition: all .2s;
    position: relative;
}

#pc_navi .label span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

#pc_navi .label::before,
#pc_navi .label::after {
    position: absolute;
    content: "";
    display: block;
    width: 7%;
    height: 2px;
    top: calc(50% - 1px);
    right: 5%;
    background-color: #fff;
    transition: all .5s;
}

#pc_navi .label::after { transform: rotate(90deg);}

#pc_navi .label.open::before { transform: rotate(-45deg);}

#pc_navi .label.open::after { transform: rotate(45deg);}

#pc_navi .sub_menu {
    width: 100%;
    display: none;
    position: absolute;
    left: calc(50% - 50%);
    top: 100%;
}

#pc_navi .sub_menu li {
    width: 100% !important;
    text-align: center;
    border-bottom: solid 1px #4d2a2a;
    border-left: none !important;
    border-right: none;
    font-size: 100%;
}

#pc_navi .sub_menu li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10% 0 !important;
    background-color: #634343;

}

#pc_navi .sub_menu li a:hover { background-color: #4d3333;}

#page section { 
    width: 100%;
    padding: 4%;
    background-color: rgba(255, 255, 255, .9);
    margin-bottom: 15%;
    box-shadow: 1em 1em 1em #5a4d3a;
}

#page section:last-of-type { margin-bottom: 0;}

.sec_wrap {
    width: 100%;
    padding: 3%;
    border: solid 2px var(--base_br);
    outline: solid 5px var(--base_br);
    outline-offset: 0.4em;
}

#page_top {
    position: fixed;
    right: 3%;
    bottom: 3%;
    z-index: 1000;
    width: 127px;
    aspect-ratio: 117 / 131;
    background: url(../images/page_top.png) no-repeat center / 100%;
    opacity: 0;
    transform: translateY(100px);
}

#page_top.UpMove{ animation: UpAnime 0.5s forwards;}

#page_top.DownMove{ animation: DownAnime 0.5s forwards;}

@keyframes UpAnime{
    from {
      opacity: 0;
      transform: translateY(100px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 0;
	transform: translateY(100px);
  }
}

.sec_wrap h2 {
    width: 100%;
    text-align: center;
    margin-bottom: 2.5%;
}

.sec_wrap h2 img { width: 45%;}

#header {
    max-width: 1920px;
    margin: 0 auto;
    aspect-ratio: 32 / 4.95;
    background: url(../images/header_back_pc.jpg) no-repeat top center / 100%;
}

#header div {
    width: 65%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#header h1 { 
    width: 26%;
    order: 2;
}

#header h1 a {
    display: block;
    width: 100%;
    transition: all .2s;
}

#header h1 a:hover { transform: translateY(-3%);}

#header p { width: 26%;}

#header p:first-of-type { order: 1;}

#header p:last-of-type { order: 3;}

#header img { width: 100%;}
/* common */


/* vinfes_top */
#vinfes_top {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    background: url(../images/top_bk_pc.jpg) no-repeat top center / 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 65px 0 47px;
}

#vinfes_top .bk_img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: calc(50% - 50%);
}

#vinfes_top h1, #vinfes_top p { z-index: 10;}

#vinfes_top h1 { width: 49%;}

#vinfes_top .date { width: 37%;}

#vinfes_top img { width: 100%;}

#vinfes_top .vinfes_top_catch { width: 40%;}

#vinfes_top .vinfes_top_catch img { width: 100%;}
/* vinfes_top */


/* intro */
#intro p { text-align: center;}

/* #intro .catch_copy {
    width: 100%;
    font-weight: 900;
    font-family: "ruika", sans-serif;
    font-style: normal;
    font-size: 65px;
    color: var(--base_red);
    margin-bottom: 2.5%;
    letter-spacing: -0.05em;
} */

#intro .catch_copy {
    width: 100%;
    margin-bottom: 2.5%;
}

#intro .catch_copy picture,
#intro .catch_copy img, #intro .sns_catch { width: 100%;}

#intro .intro_txt {
    font-size: 25px;
    line-height: 1.7;
    margin-bottom: 4%;
}

#intro ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5%;
    margin-bottom: 8%;
}

#intro img { width: 100%;}

#intro .sns_catch {
    text-align: center;
    margin-bottom: 2.5%;
}

#intro .sns_catch img { width: 40%;}

#intro .sns_list {
    width: 33%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#intro .sns_list li { width: 38%;}

#intro .sns_list li a {
    display: block;
    transition: all .2s;
}

#intro .sns_list li a:hover { transform: translateY(-5%);}
/* intro */


/* recruit */
#recruit p {
    text-align: center;
    font-size: 25px;
    line-height: 1.7;
    margin-bottom: 2.5%;
}

#recruit p:last-of-type { margin-bottom: 0;}

#recruit ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#recruit ul li {
    width: 47%;
    transition: all .2s;
    margin-bottom: 3%;
    position: relative;
}

#recruit ul li:hover { transform: translateY(-10%);}

#recruit ul li img { width: 100%;}

#recruit .coming_soon {
    position: absolute;
    width: 45%;
    top: -20%;
    left: calc(50% - 22.5%);
    transform: rotate(-5deg);
}
/* recruit */

/* ticket */
#ticket table { 
    width: 80%;
    margin: 0 auto 5%;
    border: solid 3px var(--base_br);
}

#ticket th, #ticket td {
    padding: 4% 3%;
    vertical-align: middle;
    text-align: center;
}

#ticket th {
    width: 30%;
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    border-right: solid 3px var(--base_br);
}

#ticket td {
    font-size: 35px;
    width: 70%;
}

#ticket tr { border-bottom: solid 3px #000;}

#ticket tr:last-of-type { border-bottom: none;}

#ticket td span { font-weight: 700;}

#ticket ul { 
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
}

#ticket ul:first-of-type {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
    margin-bottom: 3%;
}

#ticket ul:first-of-type li { 
    text-align: center;
}

#ticket ul:first-of-type li img { 
    width: 100%;
    margin-bottom: 2%;
    border: solid 1px #000;
}

#ticket ul:first-of-type li a {
    display: block;
    width: 100%;
    transition: all .2s;
}

#ticket ul:first-of-type li a:hover { opacity: .6;}

#ticket ul:last-of-type li { margin-bottom: 1%;}

#ticket ul:last-of-type li:last-child { margin-bottom: 0;}

#ticket .asoview {
    width: 40%;
    margin: 0 auto 7%;
}

#ticket .asoview a {
    display: block;
    width: 100%;
    transition: all .2s;
}

#ticket .asoview a:hover { transform: translateY(-5%);}

#ticket .asoview img { width: 100%;}

#ticket .ticket_table {
    width: 70%;
    margin: 0 auto 5%;
}

#ticket .ticket_table img { width: 100%;}
/* ticket */

/* outline */
#outline { margin-bottom: 8% !important;}

#outline dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    font-size: 20px;
    border-top: solid 1px var(--base_br);
}

#outline dt, #outline dd {
    padding: 2% 0;
    border-bottom: solid 1px var(--base_br);
    letter-spacing: 0.05em;
    line-height: 1.5;
}

#outline dt { 
    width: 25%;
    font-weight: 500;
    padding-left: 6%;
}

#outline dd { width: 75%;}
/* outline */


/* sns */
#sns { 
    width: 37% !important;
    margin: 0 auto;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

#sns ul {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

#sns ul li {
    width: 30%;
    transition: all .2s;
}

#sns ul li:hover { transform: translateY(-10%);}

#sns ul li img { width: 100%;}
/* sns */


/* contact */
#contact { 
    padding: 100px 0;
    background: url(../images/contact_bk.jpg) no-repeat top center / 100%;
    text-align: center;
    font-weight: 400;
}

#contact .wrapper { padding: 0 50px;}

#contact h2 {
    position: relative;
    font-size: 30px;
    margin-bottom: 3%;
}

#contact h2::before,
#contact h2::after {
    position: absolute;
    content: "";
    display: block;
    width: 37%;
    height: 2px;
    top: calc(50% - 1px);
    background-color: var(--base_br);
}

#contact h2::before { left: 0;}

#contact h2::after { right: 0;}

#contact ul li { 
    font-size: 25px;
    margin-bottom: 2%;
    letter-spacing: 0.08em;
    line-height: 1.3;
}

#contact ul li:last-child { margin-bottom: 0;}

#contact ul li a {
    text-decoration: underline;
    color: blue;
}
/* contact */

/* cm_movie */
#cm_movie {
    padding: 0 !important;
    background-color: none !important;
    width: 85% !important;
    margin-left: auto;
    margin-right: auto;
}

.movie {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 auto 2.5% auto;
    overflow: hidden;
 }

.tvo-video {
    position: absolute;
     width: 100%;
     height: 100%;
     top: 0;
     right: 0;
}
/* cm_movie */

/* special_event */
#special_event .sp_ev_content:first-of-type {
    padding-bottom: 3.125em;
    border-bottom: dotted 3px var(--base_br);
}

#special_event .sp_ev_content:last-of-type { padding-top: 3.125em;}

#special_event .sp_ev_catch {
    width: 100%;
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    margin-bottom: 0.6em;
}

#special_event h3, #special_event picture,
#special_event h3 img, #special_event .sp_ev_img,
#special_event .sp_ev_img picture, #special_event .sp_ev_img img
 { width: 100%;}

 #special_event .sp_ev_content:last-of-type h3 { 
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}

#special_event .sp_ev_content:last-of-type .sp_ev_img { 
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

#special_event .sp_ev_content:last-of-type .sp_ev_desc { margin-bottom: 0.7em;}

#special_event h3 { margin-bottom: 2.5em;}

#special_event .sp_ev_img { margin-bottom: 2em;}

#special_event .sp_ev_desc {
    width: 100%;
    text-align: center;
    font-size: 28px;
    line-height: 1.7;
    margin-bottom: 2em;
}

#special_event h4 {
    width: 100%;
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 0.3em;
    position: relative;
}

#special_event h4::before,
#special_event h4::after {
    position: absolute;
    display: block;
    content: "";
    width: 39%;
    height: 2px;
    background-color: var(--base_br);
    top: calc(50% - 1px);
}


#special_event h4::before { left: 0;}

#special_event h4::after { right: 0;}

#special_event .sp_ev_item {
    width: 100%;
    text-align: start;
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 2.5em;
    padding-bottom: 0.8em;
    border-bottom: solid 2px var(--base_br);
}

#special_event .sp_ev_caution {
    width: 100%;
    padding: 1em;
    background-color: #d8d8d8;
}

#special_event ul {
    width: 65%;
    margin: 0 auto;
    font-size: 18px;
}

#special_event ul li { 
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 0.7em;
    line-height: 1.5;
}

#special_event ul li::before {
    position: absolute;
    content: "笆�";
    font-size: 80%;
    top: 10%;
    left: 0;
}

#special_event ul li:last-child { margin-bottom: 0;}

#special_event ul li:last-child::before { top: 4%;}

#special_event .movie {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}

#special_event .sp_ev_onair {
    width: 100%;
    text-align: center;
    font-size: 28px;
    position: relative;
    margin-top: 3em;
    margin-bottom: 3em;
}

#special_event .sp_ev_onair span {
    display: inline-block;
    padding: 0.2em 0.5em;
    margin-right: 0.3em;
    color: #fff;
    background-color: var(--base_red);
    font-size: 90%;
}

#special_event .sp_ev_onair::before,
#special_event .sp_ev_onair::after {
    position: absolute;
    content: "笘��笘�";
    color: var(--base_br);
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 85%;
    letter-spacing: 0.2em;
}

#special_event .sp_ev_onair::before { top: -145%;}

#special_event .sp_ev_onair::after { bottom: -155%;}


#special_event .sp_yt_link {
    display: block;
    width: 80%;
    margin: 0 auto;
    transition: all .2s;
}

#special_event .sp_yt_link img { width: 100%;}

#special_event .sp_yt_link:hover { transform: translateY(-3%);}
/* special_event */

/* shoplist */
#shoplist .shoplist_item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#fashion, #goods, #foods, #pr { 
    padding-top: 100px;
    margin-top: -100px;
}

#fashion, #goods, #foods { margin-bottom: 10%;}

#shoplist .shoplist_item img,
#shoplist .shop_img, #shoplist .shop_detail { width: 100%;}

#shoplist .shoplist_item li {
    width: 31.3%;
    margin-bottom: 4%;
    border-right: solid 1px var(--base_br);
    border-bottom: solid 1px var(--base_br);
    padding: 0 2% 2% 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    margin-right: 3%;
}

#shoplist .shoplist_item li:nth-child(3n),
#shoplist .shoplist_item li:last-child { margin-right: 0;}

#shoplist h3 {
    position: relative;
    text-align: center;
    width: 100%;
    font-size: 50px;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    text-transform: uppercase;
    margin-bottom: 2%;
}

#shoplist h3::before,
#shoplist h3::after { 
    position: absolute;
    content: "";
    width: 38%;
    height: 15px;
    border-top: solid 3px var(--base_br);
    border-bottom: solid 3px var(--base_br);
    top: calc(50% - 7.5px);
}

#shoplist h3::before { left: 0;}

#shoplist h3::after { right: 0;}

#shoplist h4 {
    width: 100%;
    text-align: center;
    font-size: 25px;
    font-weight: 900;
    margin-bottom: 5%;
    word-break: break-all;
}

#shoplist .goods { background-color: #49a5b6;}

#shoplist .fashion { background-color: #ff8989;}

#shoplist p { 
    font-size: 20px;
    word-break: break-all;
}

#shoplist p:first-of-type { 
    line-height: 1.5;
    margin-bottom: 3%;
}

#shoplist p:last-of-type { margin-bottom: 5%;}

#shoplist .shop_img { margin-bottom: 5%;}

#shoplist .shoplist_item li a {
    display: block;
    width: 15%;
    margin: 0 auto;
    transition: all .2s;
}

#shoplist .shoplist_item li a:hover { opacity: .6;}

.shop_list_link {
    width: 70%;
    margin: 0 auto 15%;
}

.shop_list_link a, .shop_list_link img { 
    display: block;
    width: 100%;
}

.shop_list_link a {
    transition: all .2s;
}

.shop_list_link a:hover { transform: translateY(-5%);}

.insta_link_double {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}

#shoplist .food_name { 
    padding-top: 5%;  
    margin-bottom: 5%;
    border-top: dotted 1px var(--base_br);
    font-size: 18px;
    width: 100%;
}

#shoplist .food_name li { 
    width: 100% !important;
    margin-bottom: 2%;
    padding-left: 1em;
    border: none;
    position: relative;
    line-height: 1.3;
    flex-direction: column;
}

#shoplist .food_name li:last-child { margin-bottom: 0;}

#shoplist .food_name li::before {
    content: "笳�";
    font-size: 80%;
    position: absolute;
    top: 5%;
    left: 0;
}
/* shoplist */

/* news */
#news .tvo-report {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4% 2%;
}

#news .tvo-report-thumbnail-wrapper img { 
    width: 100%;
    margin-bottom: 2%;
}

#news .tvo-report-thumbnail-wrapper { transition: all .2s;}

#news .tvo-report-thumbnail-wrapper:hover { transform: translateY(-5%);}

#news .tvo-report-time {
    display: block;
    font-size: 18px; 
    margin-bottom: 2%;
}

#news .tvo-report-title { 
    font-size: 18px;
    line-height: 1.3;
}
/* news */

/* end */
#end { 
    box-shadow: none !important;
    background-color: rgba(0, 0, 0, .9) !important;
    color: #fff;
}

#end p {
    text-align: center;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
}
/* end */



/* ================================ responsive ================================ */

@media (max-width: 1920px) {
    /* common */
    #page { font-size: 25px;}

    .wrapper { 
        width: 65%;
        padding: 5% 0;
    }

    #page_top { width: 6.5%;}

    #pc_navi ul li { font-size: 1em;}

    #pc_navi .sub_menu li { font-size: 80%;}
    /* common */

    /* vinfes_top */
    #vinfes_top { padding: 4% 0 2.55%;}
    /* vinfes_top */

    /* intro */
    /* #intro .catch_copy { font-size: 2.5em;} */

    #intro .intro_txt { font-size: 1em;}
    /* intro */

    /* recruit */
    #recruit p { font-size: 1em;}
    /* recruit */

    /* ticket */
    #ticket th { font-size: 1.12em;}

    #ticket td { font-size: 1.4em;}

    #ticket ul { font-size: 0.65em;}
    /* ticket */

    /* outline */
    #outline dl { font-size: 0.8em;}
    /* outline */

    /* contact */
    #contact { padding: 5% 0 !important;}

    #contact .wrapper { padding: 0 4%;}

    #contact h2 { font-size: 1.2em;}
    /* contact */

    /* special_event */
    #special_event .sp_ev_catch { font-size: 1.2em;}

    #special_event .sp_ev_desc,
    #special_event .sp_ev_onair { font-size: 1.12em;}

    #special_event h4 { font-size: 0.88em;}

    #special_event .sp_ev_item { font-size: 0.8em;}

    #special_event ul { font-size: 0.72em;}

    #special_event h4::before, #special_event h4::after { width: 35%;}
    /* special_event */

    /* shoplist */
    #shoplist h3 { font-size: 2em;}

    #shoplist h4 { font-size: 0.85em;}

    #shoplist p { font-size: 0.8em;}

    #shoplist .food_name { font-size: 0.72em;}
    /* shoplist */

    /* news */
    #news .tvo-report-time, 
    #news .tvo-report-title { font-size: 0.72em;}
    /* news */

    /* end */
    #end p { font-size: 1em;}
    /* end */
}

@media (max-width: 1440px) {
    /* intro */
    /* #intro .catch_copy { font-size: 1.8em;} */

    #contact ul li { font-size: 1em;}

    #contact h2::before, #contact h2::after { width: 30%;}
    /* intro */

    /* special_event */
    #special_event ul { width: 85%;}

    #special_event h4::before, #special_event h4::after { width: 30%;}
    /* special_event */

    /* shoplist */
    #shoplist h3::before,
    #shoplist h3::after { width: 33%;}
    /* shoplist */
}

@media (max-width: 1024px) {
    /* common */
    #page { font-size: 18px;}

    .wrapper { width: 80%;}

    #page section { box-shadow: 0.6em 0.6em 0.6em #5a4d3a;}

    #ticket ul { font-size: 0.85em;}

    #ticket ul:first-of-type {
        width: 65%;
        margin: 0 auto 3%;
        grid-template-columns: repeat(2, 1fr);
    }
    /* common */

    /* special_event */
    #special_event ul { width: 70%;}

    #special_event h4::before, #special_event h4::after { width: 34%;}
    /* special_event */
}

@media (max-width: 700px) {
    /* common */
    #pc_navi ul li a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    #pc_navi ul li { font-size: 0.7em;}
    /* common */

    /* intro */
    /* #intro .catch_copy { font-size: 2em;} */

    #intro .intro_txt { font-size: 0.9em;}
    /* intro */

    /* sns */
    #sns { width: 50% !important;}
    /* sns */

    /* ticket */
    #ticket ul:first-of-type { 
        width: 80%;
        gap: 0.5em;
    }

    #ticket .asoview { width: 50%;}
    /* ticket */

    /* special_event */
    #special_event ul { width: 100%;}

    #special_event .sp_ev_desc { font-size: 1em;}

    #special_event .sp_ev_catch { font-size: 1.1em;}

    #special_event h4::before, #special_event h4::after { width: 28%;}
    /* special_event */

    /* shoplist */
    #shoplist .shoplist_item li { 
        width: 48.5%;
        margin-bottom: 7%;
    }

    #shoplist .shoplist_item li:nth-child(3n) { margin-right: 3%;}

    #shoplist .shoplist_item li:nth-child(even) { margin-right: 0;}

    .shop_list_link { width: 80%;}

    #shoplist h3::before, #shoplist h3::after { width: 30%;}
    /* shoplist */
}

@media (max-width: 500px) {
    /* common */
    #page::before { background-image: url(../images/bk_vintage_sp.jpg);}

    .wrapper { 
        width: 85%;
        padding: 10% 0;
    }

    #page section { 
        box-shadow: 0.4em 0.4em 0.4em #5a4d3a;
        padding: 6%;
        margin-bottom: 25%;
    }   
    
    .sec_wrap {
        outline: solid 3px var(--base_br);
        outline-offset: 0.3em;
    }

    #page_top { width: 15%;}

    #header {
        aspect-ratio: 138 / 55;
        background: url(../images/header_back_sp.jpg) no-repeat top center / 100%;
    }

    #header div { width: 95%;}

    #header h1 { width: 40%;}

    #header p { width: 28%;}

    .pc_only { display: none;}

    .sp_only { display: block;}

    .toggle_btn {
        width: 100%;
        height: 50px;
        background-color: var(--base_br);
    }


    .toggle_btn div {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .toggle_btn div span {
        position: absolute;
        display: block;
        width: 30px;
        height: 2px;
        background-color: #fff;
        left: calc(50% - 15px);
        transition: all .4s;
    }

    .toggle_btn div span:nth-child(1) { top: 15px;}

    .toggle_btn div span:nth-child(2) { top: calc(50% - 1px);}

    .toggle_btn div span:nth-child(3) { bottom: 15px;}

    .toggle_btn.active span:nth-child(1) {
        top: 24px;
        transform: rotate(-135deg);
    }

    .toggle_btn.active span:nth-child(2) { opacity: 0;}

    .toggle_btn.active span:nth-child(3) {
        bottom: 24px;
        transform: rotate(135deg);
    }

    #sp_navi { 
        position: sticky;
        top: 0;
        left: 100%;
        width: 100%;
        z-index: 2000;
    }

    #sp_navi_list {
        position: absolute;
        z-index: -1;
        opacity: 0;
        display: none;
        top: 48px;
        width: 100%;
        height: 100vh;
        background: rgba(25, 13, 9, .9);
        transition: all 0.3s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    #sp_navi_list.panelactive {
        opacity: 1;
        display: block;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    #sp_navi ul li span {
        display: flex;
        flex-direction: column;
    }
    
    #sp_navi ul li span::after {
        display: block;
        content: attr(data-caption);
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-size: 55%;
    }
    
    #sp_navi li {
        font-size: 4.5vw;
        font-family: "Oswald", sans-serif;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        text-align: center; 
    }
    
    #sp_navi li a { 
        color: #fff;
        padding:10px;
        display: block;
        letter-spacing: 0.1em;
        border-bottom: solid 1px #fff;
        padding: 4% 0;
    }

    #sp_navi li:active { background-color: #311d16;}

    #sp_navi .sub_menu { 
        display: none;
        width: 100%;
    }

    #sp_navi .label { 
        padding: 4% 0 !important;
        padding: 10px;
        color: #fff;
        border-bottom: solid 1px #fff;
        position: relative;
    }

    #sp_navi .label::before,
    #sp_navi .label::after {
        position: absolute;
        content: "";
        display: block;
        width: 5%;
        height: 2px;
        top: calc(50% - 1px);
        right: 3%;
        background-color: #fff;
        transition: all .5s;
    }

    #sp_navi .label::after { transform: rotate(90deg);}

    #sp_navi .label.open::before { transform: rotate(-45deg);}

    #sp_navi .label.open::after { transform: rotate(45deg);}

    #sp_navi .sub_menu li {
        font-size: 4vw;
        line-height: 3.5;
        text-align: center;
    }

    #sp_navi .sub_menu li a {
        padding: 0 !important;
        width: 100%;
        height: 100%;
        background-color: #311d16;
        border-bottom: dotted 1px #fff;
    }

    #sp_navi .sub_menu li:last-child a { border-bottom: solid 1px #fff;}

    #sp_navi .sub_menu li a:active { background-color: #311d16;}
    /* common */

    /* vinfes_top */
    #vinfes_top {
        aspect-ratio: 207 / 335;
        background: url(../images/top_bk_sp.jpg) no-repeat top center / 100%;
        padding: 10% 0 5.7%;
    }

    #vinfes_top h1 { 
        width: 95%;
        margin-bottom: 15%;
    }

    #vinfes_top .date { width: 80%;}

    #vinfes_top .vinfes_top_catch { width: 80%;}
    /* vinfes_top */

    /* intro */
    /* #intro .catch_copy { font-size: 7.8vw;} */
    #intro .intro_txt { font-size: 3.3vw;}

    #intro ul { 
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 15%;
    }

    #intro .sns_list { width: 60%;}

    #intro .sns_catch img { width: 75%;}
    /* intro */

    /* recruit */
    .sec_wrap h2 { margin-bottom: 5%;}

    .sec_wrap h2 img { width: 90%;}

    #recruit p {
        font-size: 3.3vw;
        margin-bottom: 5%;
    }

    #recruit ul li { width: 100%;}

    #recruit ul li:first-child { margin-bottom: 5%;}
    /* recruit */

    /* ticket */
    #ticket table, #ticket ul { width: 100%;}

    #ticket th, #ticket td { padding: 6% 3%;}

    #ticket th { font-size: 3.3vw;}

    #ticket td { font-size: 4.5vw;}

    #ticket ul li { font-size: 3.3vw;}

    #ticket ul:first-of-type { width: 100%;}

    #ticket .asoview { width: 80%;}

    #ticket .ticket_table { width: 100%;}
    /* ticket */

    /* outline */
    #outline { margin-bottom: 13% !important;}

    #outline dl { font-size: 3.3vw;}

    #outline dt, #outline dd { width: 100%;}

    #outline dt {
        border-bottom: none;
        padding-left: 0;
        padding-bottom: 0;
    }
    #outline dd { padding-top: 0;}
    /* outline */

    /* sns */
    #sns { width: 65% !important;}

    #sns ul li { width: 35%;}
    /* sns */

    /* contact */
    #contact { padding: 8% 0 !important;}

    #contact .wrapper { padding: 0;}

    #contact h2 { font-size: 4vw;}
    /* contact */

    /* cm_movie */
    #cm_movie { width: 100% !important;}
    /* cm_movie */

    /* special_event */
    #special_event .sp_ev_catch { font-size: 4vw;}

    #special_event .sp_ev_desc,
    #special_event .sp_ev_onair { font-size: 3.6vw;}

    #special_event h4, #special_event .sp_ev_item { font-size: 3.5vw;}

    #special_event h4::before, #special_event h4::after { width: 25%;}

    #special_event ul { font-size: 3vw;}

    #special_event h3, #special_event .sp_ev_img { margin-bottom: 1.5em;}

    #special_event .sp_ev_content:last-of-type h3,
    #special_event .movie { width: 100%;}

    #special_event .sp_yt_link { width: 100%;}
    /* special_event */

    /* shoplist */
    #shoplist h4 { font-size: 3.5vw;}

    #shoplist p, #shoplist .food_name { font-size: 3vw;}

    #shoplist .shoplist_item li a { width: 20%;}

    .shop_list_link {
        width: 100%;
        margin-bottom: 25%;
    }

    #shoplist h3 { 
        font-size: 7.2vw;
        margin-bottom: 4%;
    }

    #shoplist h3::before, #shoplist h3::after {
        height: 10px;
        border-top: solid 2px var(--base_br);
        border-bottom: solid 2px var(--base_br);
        top: calc(50% - 5px);
    }
    /* shoplist */

    /* news */
    #news .sec_wrap { padding-bottom: 4em;}

    #news .tvo-report { 
        width: 100%;
        grid-template-columns: 1fr;
        gap: 4%;
    }

    #news .tvo-report-time, 
    #news .tvo-report-title { font-size: 3.5vw;}
    /* news */

    /* end */
    #end { padding: 4% 2% !important;}

    #end p { font-size: 4vw;}
    /* end */
}</pre></body></html>