@font-face {
    font-family: 'SaolDisplay';
    src: url('../fonts/SaolDisplay-Light.eot');
    src: url('../fonts/SaolDisplay-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/SaolDisplay-Light.woff2') format('woff2'),
        url('../fonts/SaolDisplay-Light.woff') format('woff'),
        url('../fonts/SaolDisplayCF-Thin.ttf')  format('truetype'),
        url('../fonts/SaolDisplayCF-Thin.svg#svgFontName') format('svg');
    font-weight: normal;
    font-style: normal;
}
img {
    width: 100%;
    vertical-align:bottom;
}
h1 {
    font-family: 'SaolDisplay', 'Times New Roman',serif;
    font-size: 3.3rem;
    line-height: 1em;
    text-align: center;
    font-weight: 100;
    letter-spacing: 2px;
}
h2 {
    font-family: a-otf-ryumin-pr6n, 'Yu Mincho', 'Noto Serif JP', serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.2rem; 
    letter-spacing: 2px;
}
.under-link {
    position: relative;
}
.under-link:before {
    content:'';
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    bottom: 0;
    left: 0;
    transition: ease-out 0.2s;
}
.nav-wrap .under-link:before {
    background: #fff;
}
.black-nav .nav-wrap .under-link:before {
    background: #000;
}
.under-link:hover::before {
    width: 0;
}
.dash {
    padding-top: 2em;
    position: relative;
    border-top: solid 1px #00000011;
}
.dash:before {
    content: '';
    position: absolute;
    width: 1em;
    height: 1px;
    background: #000;
    top: -1px;
    left: 0;
}
.no-select {
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Old versions of Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none;
}
.pc-none {
    display: block;
}
.sp-none {
    display: none;
}
.flex-wrapper {
    display: flex;
}

.paragraph p {
    letter-spacing: 0;
    margin: 2.5vmax 0;
    font-size: 0.9rem;
}
.paragraph .mincho {
    font-size: 1.35rem;
}

.sub-ttl {
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0;
}
.sub-ttl .sans-serif {
    font-size: 0.6em;
    color: #b5b5b5;
    display: block;
    margin-bottom: 1.5em;
    font-weight: normal;
}
.sec-category {
    text-align: center;
    font-family: 'SaolDisplay', 'Times New Roman',serif;
    font-size: 1.25rem;
    margin: 37px 0;
    letter-spacing: 1px;
}
.link-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    margin: auto;
    padding: 0;
}
.link-item {
    width: 47.5%;
    margin: 0 5% 30px 0;
}
.link-item:nth-child(2n) {margin-right: 0;}
.link-item > a {
    display: flex;
    flex-flow: column nowrap;
    height: 100%;
}
.venue-img {
    height: 25vw;
    object-fit: cover;
}
.link-catch {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 3px;
}
.venue-ttl {
    display: block;
    font-size: 0.75rem;
    opacity: 0.5;
    font-weight: normal;
}
.small-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25em 10px 0 0;
    font-size: 0.75rem;
    margin-top: auto;
}
.link-item .dash:before {
    width: 40px;
    left: auto;
    right: 0;
    opacity: 0.3;
}
.intro-txt {
    width: 90%;
    margin: 0 auto;
    color: #fff;
    text-align: center;
    line-height: 2.5em;
}
#news .venue-ttl {
    line-height: 1;
    margin-bottom: 15px;
}

@media (min-width:1025px){
    h1 {
        font-size: 5rem;
    }
    .fair-reserv, footer .box-CTA {
        overflow: hidden;
    }
    .fair-reserv::before{
        content:'';
        position: absolute;
        bottom: -250%;
        left: 0;
        width: 100%;
        height: 200%;
        transform: skewY(10deg);
        background: #161616;
        transition: ease-out 0.5s;
        z-index: -1;
    }
    .fair-reserv:hover::before{
        bottom: -50%;
    }
    .box-CTA::before{
        content:'';
        position: absolute;
        background-color: #fff;
        z-index: 0;
        bottom: 0;
        right: -250%;
        width: 200%;
        height: 100%;
        transform: skewX(10deg);
        transition: ease-out 0.5s;
    }
    .box-CTA:hover::before {
        right: -50%;
    }
    .dash {
        padding-top: 1.5em;
    }
    .dash:before {
        transition: width 0.2s ease-out, opacity 0.2s ease-out;
    }
    .paragraph {
        width: 55vw;
    }

    .sub-ttl {
        font-size: 1.6rem;
    }
    .sec-category {
        font-size: 1.6rem;
        margin: 4vw 0;
    }
    #news .link-list {
        margin-top: 0;
    }
    .link-list{
        max-width: 80vw;
        margin: 6vw auto 0;
    }
    .link-item, .link-item:nth-child(2n) {
        width: 29%;
        margin: 0 5.33% 4vw 0;
    }
    .venue-img {
        height: 14vw;
        opacity: 0.9;
    }
    .venue-ttl {
        font-size: 0.85rem;
    }
    .small-cta, .venue-ttl, .venue-img {
        transition: opacity 0.2s ease-out;
    }
    .link-item:hover .venue-ttl, .link-item:hover .venue-img, #news .link-item:hover .small-cta{
        opacity: 1;
    }
    .link-item:nth-child(3n), .link-item:last-child {margin-right: 0;}
    .link-item:hover .dash:before, #news .link-item:hover .dash:before {
        width: 100%;
        opacity: 1;
    }
}

/* START OF MOBILE MENU */

.menu-open {
    overflow-y: hidden;
    height: 100vh;
}
.menu-open .nav-wrap {
    position: fixed;
}
.menu-overlay {
    top: 0;
    left: 0;
    z-index: -1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.menu-open .menu-overlay {
    width: 76vw;
    padding: 0 12vw;
}
.menu-overlay::before, .fair-wrap::before {
    content: '';
    display: block;
    background-color: #fff;
    width: 200%;
    height: 100%;
    transform: skewX(10deg);
    position: absolute;
    top: 0;
    right: -250%;
    z-index: 0;
    transition: linear 0.5s;
}
.menu-open .menu-overlay::before, .fair-open .fair-wrap::before, .menu-open .fair-wrap::before {
    right: -50%;    
}
.menu-open .fair-overlay .menu-item-2, .menu-item-2, .menu-overlay .sub-ttl, .fair-menu {
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateX(10%);
}
.menu-open .menu-item-2, .menu-open .sub-ttl {transition: 0.3s 0.35s;}
.menu-open .menu-item-2:first-child {transition: 0.3s 0.42s}
.menu-open .menu-item-2:nth-child(2) {transition: 0.3s 0.49s}
.menu-open .menu-item-2:nth-child(3) {transition: 0.3s 0.56s}
.menu-open .menu-item-2:nth-child(4) {transition: 0.3s 0.63s}
.menu-open .menu-item-2:nth-child(5) {transition: 0.3s 0.7s}

.fair-open .menu-item-2 {transition: 0.3s 0.35s;}
.fair-open .fair-menu {transition: 0.3s 0.45s;}

.nav-ttl {
    opacity: 0;
    transform: translateX(10%);
}
.menu-overlay .sub-nav {
    opacity: 0;
    max-width: 450px;
}
.menu-open .nav-ttl {transition: 0.3s 0.77s;}
.menu-open .menu-overlay .sub-nav {transition: 0.3s 1s;}
.fair-open .fair-overlay .menu-item-2, .menu-open .menu-item-2, .menu-open .sub-ttl, .menu-open .nav-ttl, .menu-open .menu-overlay .sub-nav, .fair-open .fair-menu {
    opacity: 1;
    transform: translateX(0);
}
.main-nav {
    margin-top: calc(50px + 15%);
    width: 100%;
}
.menu-item-2 {
    font-size: 6vw;
    margin-bottom: 0.6em;
    display: block;
    line-height: 1;
}
.nav-ttl {
    text-align: left;
    width: 100%;
    font-size: 1rem;
}
.sub-nav {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.img-menu {
    width: 90%;
    padding-left: 10%;
    height: 11vh;
    background-size: cover;
    flex-grow: 1;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
    position: relative;
    text-shadow: 0 0 2px #161616;
    box-shadow:inset 0 0 0 2000px rgba(0, 0, 0, 0.4);
}

.webp .img-menu:first-child{background-image:url(../img/menu/story-1.webp)}
.webp .img-menu:nth-child(2){background-image:url(../img/menu/story-2.webp)}
.webp .img-menu:nth-child(3){background-image:url(../img/menu/story-3.webp)}
.webp .img-menu:nth-child(4){background-image:url(../img/menu/story-4.webp)}
.webp .img-menu:last-child{background-image:url(../img/menu/story-5.webp)}

.no-webp .img-menu:first-child{background-image:url(../img/menu/story-1.jpg)}
.no-webp .img-menu:nth-child(2){background-image:url(../img/menu/story-2.jpg)}
.no-webp .img-menu:nth-child(3){background-image:url(../img/menu/story-3.jpg)}
.no-webp .img-menu:nth-child(4){background-image:url(../img/menu/story-4.jpg)}
.no-webp .img-menu:last-child{background-image:url(../img/menu/story-5.jpg)}

.img-menu .small {
    font-size: 0.8em;
    display: inline-block;
    line-height: 0;
    margin: 2px 0 0 1em;
}

.fair-overlay {
    top: 0;
    left: 0;
    z-index: 300;
}
.fair-open .fair-overlay {
    height: 100vh;
    width: 100vw;
}
.pop-nav {
    position: absolute;
    top: 0;
    left: 5%;
    width: 90%;
    padding: 5% 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px #00000055;;
}
.pop-nav .logo-txt {
    color: #000;
}
.pop-nav .fair-pop {
    padding: 0 30px 0 0;
    color: #000;
    font-size: 0.8rem;
    position: relative;
}
.pop-nav .fair-pop:before, .pop-nav .fair-pop:after {
    content: '';
    position: absolute;
    width: 14px;
    height: 1px;
    background: #000;
}
.pop-nav .fair-pop:before {
    transform: rotateZ(45deg);
    top: 12px;
    right: 5px;
}
.pop-nav .fair-pop:after {
    transform: rotateZ(-45deg);
    bottom: 13px;
    right: 5px;
}
.fair-wrap .menu-item-2 {
    margin-bottom: 0.4em;
}
.fair-wrap {
    height: 100vh;
    width: 76vw;
    padding: 0 12vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}
.fair-pop-ttl {
    font-size: 1.5rem;
    margin: 12vh 0 1em;
    letter-spacing: 4px;
}
.fair-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.fair-menu > li {
    width: 50%;
    margin: 0;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.fair-menu-img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 11vh;
    font-size: 1rem;
    text-align: center;
    color: #ffffff;
    text-shadow: 0 0 2px #161616;
    position: relative;
}
.fair-menu-img .store-img {
    height: 11vh;
}
.fair-menu-img::before {
    content:'';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.2;
    background: #000;
    transition: opacity ease-out 0.1s;
}
.fair-menu-img span {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.round-close {
    display: none;
}


/* END OF MOBILE MENU */

/* START OF FOOTER */
footer {
    padding: 7.5vmax 0 0;
    background: #1a1a1a;
    color: #fff;
}
.footer-wrap {
    max-width: 1250px;
    margin: 0 auto;
}
.footer-top, .footer-mid, .footer-bot {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    margin: auto;
    width: 90%;
}
.logo {
    width: 30%;
    min-width: 80px;
}
.foot-nav-wrap {
    width: calc(100% - 40px);
    display: flex;
    margin: 3.5vh 0;
    border-top: solid 1px #ffffff33;
    padding: 20px 20px 0;
    justify-content: space-between;
}
#menu-footer-sub-navigation, #menu-footer-main-navigation {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.foot-nav {
    font-size: 0.85rem;
}
.foot-link {
    line-height: 1rem;
    margin: 10px 0;
}
.foot-link > a, .black-nav .foot-link > a {
    color: #fff;
}
.foot-link:last-child {
    border-right: none;
}
.foot-link:first-child{
    padding-left: 0;
}
.foot-link:hover {
    text-decoration: underline
}
.box-CTA{
    display: flex;
    border: solid 1px #fff;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    padding: 30px 0;
}
.box-CTA span{   
    display: block;
    font-size: 1.2rem;
    letter-spacing: 4px;
    color: #fff;
}
.box-CTA img {
    width: 20px;
    filter: invert(1);
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}
.footer-mid {
    margin: 50px auto 0;
    padding-bottom: 25px;
    border-bottom: solid 1px #ffffff33;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.partner-logo {
    filter: grayscale(1);
    opacity: 0.6;
    transition: opacity ease-out 0.2s;
    width: 50%;
}
.partner-logo img {
    height: 100px;
}
.partner-logo:hover {
    opacity: 1;
}
.footer-bot {
    margin-top: 40px;
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    line-height: 1em;
    flex-direction: column-reverse;
}
.copyright, .privacy-link, .sns-link {
    margin-bottom: 30px;
}
.copyright, .privacy-link a{
    color: #fff;
    opacity: 0.3;
    font-size: 0.8rem; 
}
.copyright {
    letter-spacing: 0;
    line-height: 1em;
}
.privacy-link a {
    margin: 0 10px;
}
.privacy-link {
    order: 1;
    letter-spacing: 4px;
}
.sns-link, .to-top {
    color: #fff;
    font-size: 0.8rem; 
}
.to-top{
    align-items: flex-start;
}
.sns-link {
    display: flex;
    align-items: center;
}
.sns-link span, .to-top span {
    opacity: 0.3;
}
.sns-link span {
    margin-right: 15px;
}
.sns-link a {
    line-height: 0;
}
.sns-icon {
    opacity: 1;
    filter: invert(1);
    width: 20px;
    margin: 0 7px;
}
.to-top img {
    transform: rotateZ(-90deg);
    width: 20px;
    filter: invert(1);
    margin-left: 15px;
}
@media (min-width:1025px){
    .pc-none {
        display: none;
    }
    .sp-none {
        display: block;
    }
    .pop-nav {
        padding: 45px 0;
        width: 93%;
        left: 3.5%;
    }
    .fair-overlay {
        background-color: #00000099;
    }
    .pop-nav .fair-pop:before {
        top: 14px;
        right: 15px;
    }
    .pop-nav .fair-pop:after {
        bottom: 15px;
        right: 15px;
    }
    .fair-wrap {
        width: 93vw;
        height: auto;
        padding: 120px 3.5vw 0;
        justify-content: flex-start;
        overflow: hidden;
    }
    .fair-wrap::before {
        content: '';
        display: block;
        background-color: #fff;
        width: 100%;
        height: 200%;
        transform: skewY(15deg);
        position: absolute;
        top: -250%;
        right: 0;
        z-index: 0;
        transition: linear 0.7s;
    }
    .fair-open .fair-wrap::before {
        top: -50%;
        right: 0;
    }
    .fair-overlay .menu-item-2, .fair-menu {
        transform: translateY(-10%);
    }
    .fair-wrap .nav-ttl {
        margin-top: 1vw;
    }
    .main-nav {
        margin: 3vh 0 0;
    }
    .fair-menu {
        flex-direction: column;
        justify-content: flex-start;
        height: 25vw;
        max-height: 55vh;
    }
    .fair-menu > li {
        width: 16%;
        margin: 0 0.8% 0.8% 0;
    }
    .fair-menu > li:nth-child(6n) {
        margin-right: 0;
    }
    .fair-menu-img:hover::before {
        opacity: 0;
    }
    .fair-menu .fair-menu-img,.fair-menu .store-img {
        height: 11vw;
    }
    .fair-menu .store-img {
        object-fit: cover;
    }
    .fair-wrap .menu-item-2 {
        font-size: 4rem;
        line-height: 1.5em;
        display: inline-block;
        margin-bottom: 0;
        transition: color ease-out 0.1s, opacity ease-out 0.3s 0.5s, transform ease-out 0.3s 0.6s;
        text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000;
    }
    .fair-wrap .menu-item-2:hover {
        color: #fff;
    }
    .pop-nav .fair-pop {
        padding: 0 50px 0 0;
    }
    .with-close-wrap {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .round-close {
        display: block;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border: solid 1px #fff;
        position: relative;
        opacity: 0.4;
        transition: opacity ease-out 0.2s;
        margin-top: 1.5%;
    }
    .round-close::before, .round-close::after {
        content:'';
        position: absolute;
        width: 14px;
        height: 1px;
        background-color: #fff;
        left: 50%;
        top: 50%;
    }
    .round-close::before {
        transform: translate(-50%, -50%) rotateZ(-45deg);
    }
    .round-close::after {
        transform: translate(-50%, -50%) rotateZ(45deg);
    }
    .round-close:hover {
        opacity: 1;
    }
    .logo-txt, .nav-wrap > .pc-nav {
        z-index: 11;
    }
    .nav-wrap > .fair-reserv {
        z-index: 5;
    }
    .story-overlay {
        top: 0;
        left: 0;
        background-color: #00000099;
        z-index: 10;
    }
    .story-menu-wrap {
        width: 100%;
        padding-top: 10%;
        position: relative;
        overflow: hidden;
    }
    .story-menu-wrap::before {
        content: '';
        display: block;
        background-color: #fff;
        width: 100%;
        height: 200%;
        transform: skewY(-15deg);
        position: absolute;
        top: -250%;
        right: 0;
        z-index: 0;
        transition: linear 0.7s;
    }
    .story-open .story-menu-wrap::before {
        top: -50%;    
    }
    .menu-img {
        position: relative;
        z-index: 1;
        opacity: 0;
        transform: translateY(-10%);
    }
    .story-open .menu-img {
        transform: translateY(0);
        opacity: 1;
    }
    .story-open .menu-img:first-child{transition: ease-out 0.2s 0.5s;}
    .story-open .menu-img:nth-child(2){transition: ease-out 0.2s 0.57s;}
    .story-open .menu-img:nth-child(3){transition: ease-out 0.2s 0.64s;}
    .story-open .menu-img:nth-child(4){transition: ease-out 0.2s 0.71s;}
    .story-open .menu-img:nth-child(5){transition: ease-out 0.2s 0.78s;}

    .nav-wrap::before {
        z-index: 11;
    }
    .story-menu {
        display: flex;
        max-width: 93%;
        margin: 2.5vw auto 4vw;
    }
    .story-menu .menu-img {
        width: 19.25%;
        margin-right: 1%;
        text-align: center;
        padding-bottom: 1em;
        position: relative;
    }
    .story-menu .menu-img::before{
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 1px;
        background-color: #000000aa;
        transition: width ease-out 0.2s;
    }
    .story-menu .menu-img:nth-child(5n){
        margin-right: 0;
    }
    .story-menu img {
        height: 12.5vw;
        object-fit: cover;
        margin-bottom: 1.5vw;
    }
    .pc-menu-ttl {
        display: block;
        font-weight: bold;
    }
    .story-menu .menu-img:hover::before {
        width: 100%;
    }

    footer {
        padding: 7.5vmax 0;
    }
    .footer-top, .footer-mid, .footer-bot {
        flex-direction: row;
        width: 100%;
    }
    .logo, .foot-CTA {
        width: 12.5%;
    }
    .foot-nav-wrap {
        margin: 0 2.5% 0 0;
        padding: 50px 0;
        font-size: 1rem;
        width: 70%;
        flex-direction: column;
        justify-content: center;
        border-bottom: solid 1px #ffffff33;
    }
    #menu-footer-sub-navigation, #menu-footer-main-navigation {
        flex-direction: row;
        align-items: center;
        font-size: 1rem;
    }
    .foot-link {
        padding: 0 30px;
        border-right: solid 1px #ffffff33;
        margin: 20px 0;
        display: inline-block;
    }
    footer .box-CTA{
        flex-direction: column;
        padding: 38px 50px;
        width: auto;
    }
    footer .box-CTA span{ 
        margin-top: 20px;
        writing-mode: vertical-rl;
        text-orientation: upright;
        transition: ease-out 0.35s;
    }
    footer .box-CTA img{
        position: static;
        transition: ease-out 0.4s 0.1s;
    }
    footer .box-CTA:hover span {
        color: #1a1a1a;
        position: relative;
        z-index: 1;
        transition: ease-out 0.3s 0.2s;
    }
    footer .box-CTA:hover img {
        filter: invert(0);
    }
    .footer-mid{
        justify-content: space-between;
    }
    .partner-logo {
        width: auto;
        opacity: 0.3;
    }
    .partner-logo img {
        height: 140px;
    }
    .footer-bot {
        align-items: flex-end;
        width: 100%;
    }
    .pc-nav.to-top{
        display: flex;
    }
    .copyright, .privacy-link, .sns-link {
        margin-bottom: 0;
    }
    .sns-link .pc-nav {
        display: inline;
    }
    .privacy-link {
        order: 0;
        margin-right: 15%;
        letter-spacing: 2px;
    }
    .privacy-link a, .to-top span {
        transition: opacity 0.2s ease-out;
    }
    .to-top:hover span, .privacy-link a:hover {
        opacity: 1;
    }
    
}
/* END OF FOOTER */

/* START OF LOCATION DOM */
#main-store {
    padding: 20vw 0 8vw;
}
#main-store .sec-category, #sub-store .sec-category {
    font-size: 1.5rem;
    margin: 0 auto 2em;
    width: 90%;
}
#main-store .intro-txt, #sub-store .intro-txt {
    color: #161616;
    margin-bottom: 4em;
}
#sub-store {
    padding-bottom: 20vw
}
#sub-store .sec-category {
    padding-top: 16vw;
    border-top: solid 1px #00000011;
    margin-bottom: 10vw
}

@media (min-width:1025px){
    #main-store {
        padding: 12vw 0 8vw;
    }
    #main-store .sec-category, #sub-store .sec-category {
        font-size: 2vw;
    }
    #sub-store {
        padding-bottom: 12vw
    }
    #sub-store .sec-category {
        padding-top: 10vw;
        margin-bottom: 5vw
    }
}
/* END OF LOCATION DOM*/

/* START OF CONTACT AREA */

.contact-wrap {
    width: 80vw;
    margin: auto;
    padding: 10vw 5vw;
    background: #f5f5f5;
}
.contact-wrap .sub-ttl {
    line-height: 1.5em;
    margin-bottom: 8vw;
    margin-left: 0;
}
.contact-info > dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 8vw 0;
    border-top: solid 1px #00000019;
    border-bottom: solid 1px #00000019;
}
.contact-info dt {
    width: 25%;
    opacity: 0.7;
}
.contact-info dd {
    width: 70%;
    margin: 0;
}
.tel {
    font-size: 1.7rem;
    font-weight: bold;
}
.address {
    text-align: center;
    margin-top: 8vw;
}
.postal {
    opacity: 0.7;
    margin-bottom: 15px;
}
.map-link {
    font-weight: bold;
    letter-spacing: 1px;
    padding-bottom: 0.25rem
}

#prev, #next, .next, .prev {
    display: none;
}
.dots {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}
.dot {
    margin: 0 5px;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    background: transparent;
    border: solid 1px #fff;
    transition: ease-out 0.2s;
}
.plain-dot {
    background: #fff;
}
.controls{
    position: absolute;
    bottom: calc(2em + 50px);
    left: 50%;
    transform: translateX(-50%);
}

#hero-img .hero-front img, #top .hero-front img{
    object-fit: cover;
}
.hero-front {
    text-align: center;
}

.closure-txt {
    color: #bb4022;
}

@media (min-width:1025px){
    .contact-info > dl {
        width: 23.5vw;
        margin: auto;
        padding: 3.5vw 7vw;
    }
    .contact-wrap {
        padding: 5vw 0;
        width: 80%
    }
    .contact-wrap .sub-ttl {
        margin-bottom: 3.5vw;
    }
    .address {
        margin-top: 3.5vw
    }
    .map-link {
        font-size: 1.3rem;
        font-weight: normal;
    }

    .controls{
        position: static;
        transform: none;
    }
    .dots {
        display: none;
    }
    #prev, #next, .prev, .next {
        display: block;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        border: solid 1px #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); 
        opacity: 0.4;
        transition: opacity ease-out 0.2s;
        cursor: pointer;
    }
    #prev, .prev {
        left: 20px;  
    }
    #next, .next {
        right: 20px;
    }
    #prev::before, #prev::after, #next::before, #next::after, .prev::before, .prev::after, .next::before, .next::after {
        content: '';
        position: absolute;
        width: 14px;
        height: 1px;
        background-color: #fff;
    }
    #prev::before, .prev::before {
        transform: translate(-50%, -50%) rotateZ(-30deg);
        top: 43%;
    }
    #next::after, .next::after{
        transform: translate(-50%, -50%) rotateZ(-210deg);
        top: 56%;
    }
    #prev::before, #prev::after, .prev::before, .prev::after {
        left: 48%;
    }
    #next::before, #next::after, .next::before, .next::after{
        right: 25%;
    }
    #prev::after, .prev::after {
        transform: translate(-50%, -50%) rotateZ(30deg);
        top: 56%;
    }
    #next::before, .next::before {
        transform: translate(-50%, -50%) rotateZ(210deg);
        top: 43%;
    }
    #prev:hover, #next:hover, .prev:hover, .next:hover {
        opacity: 1;
    }
}

/* END OF CONTACT AREA */

@media (max-height:800px) and (orientation:landscape){

    #hero-img .hero-front img, #top .hero-front img, #hero-img .hero-front, main #top .hero-front{
        width: 35vw;
        height: 50vw;
    }
    #hero-img .big {
        font-size: 10vw;
    }
    main #top h1 {
        margin-top: 15vw;
    }
    #hero-img .hero-front {
        margin-top: 12vw;
    }
    #top .hero-front {
        width: auto;
    }
    main #hero-img, main #top {
        height: 105vh;
    }
    .nav-wrap,.pop-nav {
        padding: 2.5% 0;
        left: 5%;
        width: 90%;
    }
    .fair-wrap {
        width: 90vw;
        padding: 10vh 5vw 0;
    }
    .menu-open .menu-overlay {
        display: flex;
    }
    .menu-overlay {
        flex-direction: row;
        align-items: flex-start;
    }
    .main-nav, .sub-nav {
        margin-top: 15vw;
    }
    .fair-wrap .main-nav {
        margin-top: 0;
    }
    .fair-wrap .sub-nav {
        margin-top: 0;
        width: 100%;
    }
    .fair-menu > li {
        width: 24.5%;
        margin: 0.5% 0.5% 0 0;
    }
    .fair-menu > li:nth-child(4n) {
        margin-right: 0;
    }
    .fair-menu-img, .fair-menu-img .store-img {
        object-fit: cover;
        height: 100%;
    }
    .fair-wrap {
        align-items: flex-start;
    }
    .main-nav {
        width: 40%;
    }
    .sub-nav {
        width: 60%;
    }
    .menu-item-2, .fair-wrap .menu-item-2 {
        font-size: 3.5vw;
    }
    .nav-ttl{
        display: none;
    }
    .img-menu {
        height: 23vh;
        max-height: 15vw;
    }
    .box-CTA {
        max-width: 400px;
        margin: 40px 0;
    }
    .logo {
        max-width: 150px;
    }
}
@media (max-height:800px) and (orientation:landscape) and (max-width:1024px){
    .foot-nav {
        width: 50%;
    }
    .partner-logo {
        width: auto;
    }
}

@media (max-height:800px) and (orientation:landscape) and (min-height: 600px){
    .fair-wrap .main-nav{
        margin: 3vw 0 3vw;
    }
    .fair-menu {
        overflow: hidden;
    }
}
@media (min-width: 1600px) {
    .nav-wrap,.pop-nav {
        padding: 2% 0;
    }
}
@media (min-width: 640px) and (orientation:portrait){
    .menu-item-2{
        font-size: 5vw;
    }
    .img-menu {
        height: 10vh;    
    }
}
@media (min-aspect-ratio: 15/10) and (max-height: 800px) and (min-height: 600px){
    #hero-img .hero-front img, #top .hero-front img, #hero-img .hero-front, main #top .hero-front{
        width: 45vh;
        height: 60vh;
    }
}
@media (min-height: 800px) and (max-width: 1024px){
    #hero-img .hero-front img, #top .hero-front img, #hero-img .hero-front, main #top .hero-front{
        max-width: 45vh;
        max-height: 60vh;
    }
}
@media (max-height:760px) and (orientation: portrait) {
    .nav-ttl {
        display: none;
    }
    .menu-item-2 {
        margin-bottom: 0.6em;
    }
}
@media (max-height:650px) {
    .img-menu {
        width: 45%;
        height: 15vh;
        padding-left: 5%;
    }
    .mobile-menu-ttl {
        display: none;
    }
}
@media (max-height:650px) and (orientation:landscape) {
    .img-menu {
        height: 20vh;
    }
}

.sans-serif {
    font-family: 'Avenir', 'ARIAL', sans-serif;
}
.mincho {
    font-family: a-otf-ryumin-pr6n, 'Yu Mincho', 'Noto Serif JP', serif;
    font-style: normal;
}

@media (max-width: 1024px) {
    .footer-wrap {
        position: relative;
    }
    .footer-wrap .logo {
        padding-bottom: 4em;
    }
    .sns-link {
        position: absolute;
        top: calc(40vw + 2em);
    }
}

