@charset "UTF-8";

/*
Theme Name: yoneshima
*/
/* ----------------------------- リセット */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
var,
b,
i,
dl dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
    font-size: 100%;
}

/*body{line-height:1;}*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

a {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

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

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

img {
    vertical-align: top;
    /*font-size:0;*/
    line-height: 0;
}

sup {
    font-size: 8px;
}

em {
    font-style: normal;
}

div:before,
div:after,
ul:before,
ul:after,
ol:before,
ol:after,
dl:before,
dl:after {
    content: "";
    display: block;
}

div:after,
ul:after,
ol:after,
dl:after {
    clear: both;
}

div,
ul,
ol,
dl {
    zoom: 1;
}

ul#wp-admin-bar-root-default:after {
    clear: none;
}

br.pc {
    display: block;
}
@media (max-width: 767px) {
    br.pc {
        display: none;
    }
}

br.sp {
    display: none;
}

@media (max-width: 767px) {
    br.sp {
        display: block;
    }
}
/* =======================================
変数
========================================*/
:root {
    /* カラー */
    --c-base: #fff;
    --c-dark: #222;
    --c-accent: #D04537;
    --c-text: #222;
    --c-text-white: #fff;

    /* インナー幅 */
    --inner: 1180px;
    --inner-middle: 1020px;
    --inner-small: 900px;
    --sp-max-width: 540px;
    --padding-pc: 25px;
    --padding-sp: 24px;
}

/* =======================================
ユーティリティ
========================================*/
.u-fw700 {
    font-weight: 700;
}

.u-fw600 {
    font-weight: 500;
}

.u-fw500 {
    font-weight: 500;
}

.u-cl-w {
    color: var(--c-text-white);
}

.u-mobile {
    display: none;
}

@media screen and (max-width: 767px) {
    .u-desktop {
        display: none;
    }

    .u-mobile {
        display: block;
    }
}

.u-dib {
    display: inline-block;
}

/* =======================================
インナー共通クラス
========================================*/

.l-inner {
    width: min((var(--inner) + var(--padding-pc) * 2), calc(100% - (var(--padding-pc) * 2)));
    padding: 0 var(--padding-pc);
    margin: 0 auto;
}

@media (max-width: 767px) {
    .l-inner {
        width: calc(100% - (var(--padding-sp) * 2));
        padding: 0 var(--padding-sp);
    }
}

.l-inner--middle {
    width: min((var(--inner-middle) + var(--padding-pc) * 2), calc(100% - (var(--padding-pc) * 2)));
}

@media (max-width: 767px) {
    .l-inner--middle {
        width: calc(100% - (var(--padding-sp) * 2));
    }
}

.l-inner--small {
    width: min((var(--inner-small) + var(--padding-pc) * 2), calc(100% - (var(--padding-pc) * 2)));
}

@media (max-width: 767px) {
    .l-inner--small {
        width: calc(100% - (var(--padding-sp) * 2));
    }
}

/* =======================================
全体
========================================*/
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

body {
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-style: normal;

}


.eb-garamond {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}

.eb-garamond.bold {
    font-weight: 600;
}

.eb-garamond.normal {
    font-weight: 400;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width:767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}


/* =======================================
ハンバーガーメニュー
========================================*/
.l-header__btn {
    margin-left: auto;
}

.l-header__sp-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    width: 100vw;
    visibility: hidden;
}

.c-hamburger {
    display: block;
    appearance: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    width: 52px;
    aspect-ratio: 1;
    position: relative;
    z-index: 1;
}

.c-hamburger__line {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 30px;
    height: 1px;
    background-color: #222
}

.l-header.is-show .c-hamburger__line,
.is-under-page .c-hamburger__line {
    background-color: var(--c-dark);
}

.c-hamburger__line::before,
.c-hamburger__line::after {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    content: "";
    transition: transform .3s, top .3s;
}

.c-hamburger__line::before {
    top: -7px;
}

.c-hamburger__line::after {
    top: 7px;
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line {
    background-color: transparent;
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line::before,
.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
    top: 0;
    background-color: #fff;
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line::before {
    transform: rotate(45deg);
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
    transform: rotate(-45deg);
}

.p-sp-menu {
    padding-top: 52px !important;
    background-color: var(--c-dark);
    color: var(--c-text-white);
    padding: 30px 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
    overflow: auto;
    box-sizing: border-box;
}

.p-sp-menu::before,
.p-sp-menu::after {
    display: none;
}

.p-sp-menu.is-clicked {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.5s, visibility 0.5s;
}

.p-sp-menu__list {
    display: block !important;
    width: initial !important;
    height: initial !important;
    position: initial !important;
}

.l-header.is-show .p-sp-menu__item a {
    color: var(--c-text-white) !important;
}


/* ----------------------------- 全体 */
html {
    font-size: 62.5%;
    /* 	scroll-snap-type: y proximity; */
    scroll-padding-top: 70px;
    /*  	scroll-behavior: smooth; */
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    font-size: 14px;
    font-size: 1.4rem;

    font-weight: 500;
    line-height: 180%;
    color: var(--c-text);
    background-color: var(--c-text-white);
    position: relative;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-text-rendering: optimizeLegibility;
}






body.is-loading {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.animsition {
    opacity: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

::-webkit-input-placeholder {
    color: #BDBEBF;
}

:-ms-input-placeholder {
    color: #BDBEBF;
}

::-moz-placeholder {
    color: #BDBEBF;
}

::-placeholder {
    color: #BDBEBF;
}

/* a {
    color: #886F45;
    text-decoration: underline;
  } */
a:hover {
    text-decoration: none;
}

a,
a img {
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}

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

@media screen and (max-width: 767px) {
    .pc-only {
        display: none !important;
    }
}

img,
.bx-wrapper img {
    max-width: 100%;
    height: auto;
}

/*=======================================
  ヘッダー
  =========================================*/
.l-header {
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    height: 100px;
    background: transparent;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}

@media (max-width: 767px) {
    .l-header {
        height: auto;
    }
}

.l-header:before,
.l-header:after {
    display: none;
}

.is-product.is-single .l-header,
.is-product_category.is-archive .l-header {
    border-bottom: 1px solid rgba(56, 59, 78, 0.2);
    background: #fff;
}

.l-header__nav {
    position: relative;
    margin-right: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

@media (max-width: 767px) {
    .l-header__nav {
        margin-right: 0;
        align-items: flex-start;
    }
}

.l-header__nav:before,
.l-header__nav:after {
    display: none;
}

.l-header__nav h1 {
    margin-left: 60px;
    width: 178px;
    margin-right: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transform: translateY(110px);
}

.is-white .l-header__nav h1 {
    opacity: 1;
}

.is-hide .l-header__nav h1 img,
.is-show .l-header__nav h1 img {
    width: 100%;
    opacity: 0;
}

.l-header__nav ul {
    display: flex;
    align-items: center;
    justify-content: stretch;
    width: 100%;
    height: 30px;
    left: 0%;
    position: absolute;
    top: 26%;
    gap: 0;
}

@media screen and (max-width:1800px) {
    .l-header__nav ul {
        justify-content: right;
        gap: 40px;
    }
}

.l-header__nav ul .ml539 {
    margin-left: 539px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav ul .ml539 {
        margin-left: 0px;
    }
}

.l-header__nav ul:before,
.l-header__nav ul:after {
    display: none;
}

.l-header__nav li {
    margin-right: 64px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .14em;
}

@media screen and (max-width: 1800px)and (min-width:993px) {
    .l-header__nav li {
        margin-right: 0;
        font-size: 1.8rem;
        font-weight: 600;
        letter-spacing: .10em;
    }
}

@media screen and (max-width: 992px) and (min-width:768px) {
    .l-header__nav li {
        font-size: 1.4rem;
        font-weight: 600;
        letter-spacing: .08em;
    }
}


.l-header__nav .mr61 {
    margin-right: 61px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr61 {
        margin-right: 0;
    }
}

.l-header__nav .mr54 {
    margin-right: 54px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr54 {
        margin-right: 0;
    }
}


.l-header__nav .mr58 {
    margin-right: 58px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr58 {
        margin-right: 0;
    }
}


.l-header__nav .mr59 {
    margin-right: 59px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr59 {
        margin-right: 0px;
    }
}

.l-header__nav .mr53 {
    margin-right: 53px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr53 {
        margin-right: 0px;
    }
}



.l-header__nav .mr88 {
    margin-right: 88px;
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr88 {
        margin-right: 20px;
    }
}

.l-header__nav li:last-child {
    margin-right: 0;
}

.l-header__nav li a,
.l-header__nav li .anchor {
    text-decoration: none;
    color: #000;
    display: block;
    padding-top: 28px;
    padding-bottom: 31px;
}

.l-header.is-show .l-header__nav li a {
    color: #222222;
}

.l-header__nav li .anchor {
    cursor: pointer;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}

.l-header__nav .js-pulldown.is-open .anchor {
    color: #886F45;
    border-bottom-color: #886F45;
}

.l-header__nav .js-pulldown__content {
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.9);
    padding-top: 80px;
    padding-bottom: 65px;
}

.l-header__nav .js-pulldown__content h2 {
    float: left;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 140%;
    color: #fff;
}

.l-header__nav .js-pulldown__content h2 a {
    display: block;
    padding: 0;
    border-bottom: 0;
    padding-right: 20px;
    color: #fff;
    background: url(img/common/arrow_1-white.svg) no-repeat right center;
    background-size: 6px 12px;
}

.l-header__nav .js-pulldown__content .close {
    float: right;
    cursor: pointer;
}

.l-header__nav .js-pulldown__content ul {
    padding-top: 48px;
    clear: both;
    display: block;
}

.l-header__nav .js-pulldown__content li {
    float: left;
    width: 23.21428%;
    margin-left: 2.38096%;
    margin-right: 0;
    margin-bottom: 30px;
}

.l-header__nav .js-pulldown__content li:nth-child(4n+1) {
    clear: both;
    margin-left: 0;
}

.l-header__nav .js-pulldown__content li a {
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0 20px;
    color: #fff;
}

.l-header__nav .js-pulldown__content li a span {
    display: block;
    background: url(img/common/arrow_1-white.svg) no-repeat right center;
    background-size: 6px 12px;
    position: relative;
    padding-top: 27px;
    padding-bottom: 26px;
}

.l-header__nav .js-pulldown__content li a span:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 25px;
    border-bottom: 1px solid #fff;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}

.l-header__nav .js-pulldown__content li a[target="_blank"] span {
    background-image: url(img/common/icon_blank-white.svg);
    background-size: 16px 13px;
}

.l-header__nav .js-pulldown__content li a:hover span:before {
    width: 100%;
}

.l-header__nav .vip-button {
    position: absolute;
    top: 22px;
    right: 60px;
    font-size: 1.8rem;
    letter-spacing: .03em;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 52px;
    background-color: #222222;
    transition: background-color .3s;
}


@media (max-width: 767px) {
    .l-header__nav .vip-button {
        position: relative;
        top: initial;
        right: initial;
        font-size: 1.5rem;
        height: 48px;
        width: 130px;
    }
}

.l-header__nav .vip-button a {
    color: #fff;
    text-decoration: none;
    transition: color .3s;
}

@media (max-width: 767px) {
    .l-header__nav .vip-button a {
        text-align: center;
        line-height: 1.4em;
    }
}

body.is-drawerActive .l-header__nav .vip-button {
    background-color: var(--c-base);
}

body.is-drawerActive .l-header__nav .vip-button a {
    color: var(--c-text);
}

.l-header.is-hide {
    top: -93px;
}

body.is-drawerActive .l-header.is-hide {
    top: 0;
}

.l-header.is-show {
    background: #fff;
}

.l-header.is-white .l-header {
    background: transparent !important;
}

/* .l-header.is-white .l-header__nav h1 {
    background-image: url(img/common/logo-white.svg);
  }
  .l-header.is-white .l-header__nav h1 img {
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    filter: alpha(opacity=0);
  } */
.l-header.is-white .l-header__nav li a,
.l-header.is-white .l-header__nav li .anchor {
    color: #fff;
}

.is-under-page .l-header .l-header__nav li:not(.p-sp-menu__item) a {
    color: var(--c-text);
}

.l-header.is-white .l-header__search .search {
    background-image: url(img/common/icon_search-white.svg);
}

.l-header.is-white .l-header__search .search img {
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    filter: alpha(opacity=0);
}

.l-header.is-white .l-header__search .search.is-open {
    background-image: url(img/common/icon_close-white2.svg);
}

@media screen and (max-width: 1345px) {
    .l-header h1 {
        margin-right: 30px;
    }

    .l-header__nav li {
        margin-right: 10px;
    }
}

/*=======================================
  メニュー
  =========================================*/
.l-nav {
    -webkit-transition: top 0.2s ease;
    transition: top 0.2s ease;
}

.l-nav.is-hide {
    top: -93px;
}

.l-nav__search {
    background: #eee;
    padding: 18px;
    position: fixed;
    top: 93px;
    left: 0;
    width: 100%;
    z-index: 998;
    display: none;
    text-align: center;
}

.l-nav__search .box1 {
    background: #fff;
    border-radius: 5px;
    border: 1px solid rgba(56, 59, 78, 0.2);
    padding-left: 5px;
    padding-right: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 604px;
    margin-left: auto;
    margin-right: auto;
}

.l-nav__search button {
    cursor: pointer;
    background: transparent;
    border: 0;
    padding: 20px;
}

.l-nav__search input[type="text"] {
    width: calc(100% - 62px);
    border: 0;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/* ----------------------------- タブレット（768～1024px） */
/* ----------------------------- スマホ（～767px） */
@media screen and (max-width: 767px) {
    body {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 170%;
        min-width: initial;
    }

    body.is-nav-open .l-header {
        background: #fff !important;
        top: 0 !important;
    }

    .l-header__nav h1 {
        transition: opacity .4s;
    }

    body.is-drawerActive .l-header__nav h1 {
        opacity: 0;
        visibility: hidden;
        width: 0;
        height: 0;
    }

    body.is-nav-open .l-header__nav h1 img {
        opacity: 1 !important;
    }

    body.is-nav-open .l-header__search .btn span:before,
    body.is-nav-open .l-header__search .btn span:after {
        background: #383B4E !important;
    }

    .l-header {
        min-width: initial;
        -webkit-transition: 0.2s ease all 0.1s;
        transition: 0.2s ease all 0.1s;
    }

    .l-header__nav {
        padding-left: 12px;
    }

    .l-header__nav h1 {
        margin-left: 0;
        margin-right: 0;
        /* max-width: 116px; */
        max-width: 75px;
        /* position: relative; */
        z-index: 1;
        transform: initial;
        position: absolute;
        top: 20px;
    }

    .l-header__nav ul {
        display: block;
        text-align: left;
    }

    .l-header__nav li {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        margin-right: 0;

    }

    .l-header__nav li:first-child {
        border-top: 0;
    }

    .l-header__nav li .anchor,
    .l-header__nav li a {
        color: #fff;
        font-size: 16px;
        font-size: 1.6rem;
        padding-top: 16px;
        padding-bottom: 16px;
        border-bottom: 0;
    }

    .l-header__nav li .anchor[target="_blank"],
    .l-header__nav li a[target="_blank"] {
        padding-right: 28px;
        background-image: url(img/common/icon_blank-white.svg);
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 18px auto;
    }

    .l-header__nav .js-pulldown .anchor {
        position: relative;
    }

    .l-header__nav .js-pulldown .anchor:before,
    .l-header__nav .js-pulldown .anchor:after {
        display: block;
        content: "";
        position: absolute;
        right: 0;
        width: 16px;
        top: 50%;
        margin-top: -1px;
        border-top: 2px solid #fff;
        -webkit-transition: 0.2s ease all;
        transition: 0.2s ease all;
    }

    .l-header__nav .js-pulldown .anchor:before {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .l-header__nav .js-pulldown.is-open .anchor {
        color: #fff;
    }

    .l-header__nav .js-pulldown.is-open .anchor:before {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    .l-header__nav .js-pulldown__content {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        padding: 15px 0 25px;
        background: transparent;
        position: static;
    }

    .l-header__nav .js-pulldown__content .c-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .l-header__nav .js-pulldown__content h2 {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 8px;

    }

    .l-header__nav .js-pulldown__content h2 a {
        font-size: 12px;
        font-size: 1.2rem;
        background: none;
        padding-right: 0;
    }

    .l-header__nav .js-pulldown__content .close {
        display: none;
    }

    .l-header__nav .js-pulldown__content ul {
        padding-top: 0;
    }

    .l-header__nav .js-pulldown__content li {
        float: none;
        width: auto;
        margin-top: 8px;
        margin-left: 0;
        border-top: 0;
        margin-bottom: 0;
    }

    .l-header__nav .js-pulldown__content li a {
        font-size: 12px;
        font-size: 1.2rem;
        padding: 0;
        border: 0;

    }

    .l-header__nav .js-pulldown__content li a span {
        background: none;
        padding: 0;
    }

    .l-header__nav .js-pulldown__content li a span:before {
        display: none;
    }

    .l-header__nav .js-pulldown__content li a[target="_blank"] span {
        padding-right: 18px;
        display: inline-block;
        display: inline;
        zoom: 1;
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 10px auto;
    }

    .l-header__nav .wrap {
        display: none;
        position: fixed;
        left: 0;
        top: 60px;
        width: 100%;
        height: calc(100% - 59px);
        background: #fff;
        color: #fff;
        overflow: auto;
        overscroll-behavior: contain;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .l-header__nav .wrap>ul {
        padding-left: 24px;
        padding-right: 24px;
        background: #383B4E;
    }

    .l-header__nav .search {
        background: #eee;
        padding: 10px 14px;
    }

    .l-header__nav .search-wrap {
        background: #fff;
        border-radius: 5px;
        border: 1px solid rgba(56, 59, 78, 0.2);
        padding-left: 4px;
        padding-right: 4px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .l-header__nav .search button {
        cursor: pointer;
        background: transparent;
        border: 0;
        padding: 13px;
    }

    .l-header__nav .search input[type="text"] {
        width: calc(100% - 62px);
        border: 0;
        font-size: 16px;
        font-size: 1.6rem;
        padding: 8px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .l-header__nav .otherbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        background: #383B4E;
        padding: 38px 24px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    .l-header__nav .otherbox:before,
    .l-header__nav .otherbox:after {
        display: none;
    }

    .l-header__nav .otherbox .sns,
    .l-header__nav .otherbox .other {
        text-align: left;
    }

    .l-header__nav .otherbox .sns li {
        margin-bottom: 11px;
        border-top: 0;

    }

    .l-header__nav .otherbox .sns li:last-child {
        margin-bottom: 0;
    }

    .l-header__nav .otherbox .sns li a {
        display: block;
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 21px 17px;
        padding-left: 36px;
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: 0;
        font-size: 13px;
        font-size: 1.3rem;
        color: #fff;
        text-decoration: none;
    }

    .l-header__nav .otherbox .sns li.twitter a {
        background-image: url(img/common/icon_sns-twitter.svg);
    }

    .l-header__nav .otherbox .sns li.instagram a {
        background-image: url(img/common/icon_sns-instagram.svg);
    }

    .l-header__nav .otherbox .sns li.youtube a {
        background-image: url(img/common/icon_sns-youtube.svg);
    }

    .l-header__nav .otherbox .sns li.facebook a {
        background-image: url(img/common/icon_sns-facebook.svg);
    }

    .l-header__nav .otherbox .other {
        text-align: left;
    }

    .l-header__nav .otherbox .other .privacy {
        margin-bottom: 20px;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 140%;
    }

    .l-header__nav .otherbox .other .privacy a {
        color: #fff;
        text-decoration: none;
    }

    .l-header__nav .otherbox .other .language {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 140%;
        color: #8C8C91;
    }

    .l-header__nav .otherbox .other .language a {
        color: #fff;
        text-decoration: none;
    }

    .l-header__search {
        position: relative;
        z-index: 1;
    }

    .l-header__search .btn {
        padding: 29px 18px;
    }

    .l-header__search .btn span {
        display: block;
        position: relative;
        width: 34px;
        height: 1px;
        background: #383B4E;
    }

    .l-header__search .btn span:before,
    .l-header__search .btn span:after {
        display: block;
        content: "";
        position: absolute;
        width: 100%;
        height: 1px;
        background: #383B4E;
        -webkit-transition: 0.2s ease all;
        transition: 0.2s ease all;
    }

    .l-header__search .btn span:before {
        top: -7px;
    }

    .l-header__search .btn span:after {
        bottom: -7px;
    }

    .l-header__search .btn.is-open span {
        background: transparent;
    }

    .l-header__search .btn.is-open span:before {
        top: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .l-header__search .btn.is-open span:after {
        bottom: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .l-header__search .shop a {
        font-size: 11px;
        font-size: 1.1rem;
        text-align: center;
        padding: 19px 9px;
    }

    .l-header.is-white .l-header__search .btn span {
        background: #fff;
    }

    .l-header.is-white .l-header__search .btn span:before,
    .l-header.is-white .l-header__search .btn span:after {
        background: #fff;
    }

    .l-header.is-white .l-header__search .btn.is-open span {
        background: transparent;
    }

    .l-loading h1 {
        width: 140px;
    }

    .l-loading h1 span.logo1 {
        height: 0;
    }

    .l-loading h1 span.logo2 {
        height: 34px;
        margin-top: 13px;
    }

    .l-loading h1 span.logo3 {
        height: 12px;
        margin-top: 6px;
    }

    .l-loading.is-load h1 span.logo1 {
        height: 54px;
    }

    .l-pagetitle__heading {
        padding-top: 114px;
        padding-bottom: 50px;
        display: block;
    }

    .l-pagetitle__heading .en {
        font-size: 11px;
        font-size: 1.1rem;
    }

    .l-pagetitle__heading .h {
        font-size: 35px;
        font-size: 3.5rem;
    }

    .l-pagetitle__heading .nav {
        margin-top: 60px;
    }

    .l-pagetitle__image {
        height: 66vw;
    }

    .is-openfactory-entrance .l-pagetitle__image,
    .is-openfactory-factory .l-pagetitle__image,
    .is-openfactory-atelier .l-pagetitle__image,
    .is-openfactory-gallery .l-pagetitle__image,
    .is-support-maintenance .l-pagetitle__image,
    .is-support-name .l-pagetitle__image,
    .is-support-sharpen .l-pagetitle__image {
        height: 80vw;
    }

    .l-pagetitle__overview {
        padding-top: 60px;
        padding-bottom: 60px;
        margin-bottom: 73px;
    }

    .l-pagetitle__overview .lead,
    .l-pagetitle__overview .overview {
        float: none;
        width: auto;
    }

    .l-pagetitle__overview .lead {
        border-right: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 48px;
    }

    .l-pagetitle__overview .lead-wrap {
        padding-right: 0;
    }

    .l-pagetitle__overview .lead .en {
        font-size: 11px;
        font-size: 1.1rem;
        margin-bottom: 8px;
    }

    .l-pagetitle__overview .lead .h2 {
        font-size: 18px;
        font-size: 1.8rem;
        color: #8C8C91;
        margin-bottom: 24px;
        font-weight: normal;

    }

    .l-pagetitle__overview .lead .h {
        font-size: 20px;
        font-size: 2rem;
        padding-bottom: 48px;
    }

    .l-pagetitle__overview .overview {
        padding-bottom: 0;
    }

    #luxy {
        min-width: initial;
    }
}

/*=======================================
フッター
=========================================*/
.l-footer {
    margin-top: -4px;
    background-color: var(--c-dark);
    position: relative;
}


.l-footer__upper {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 145px 0 133px;

}

@media (max-width: 767px) {
    .l-footer__upper {
        padding: 50px 0 30px;
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
}

.l-footer__upper::before,
.l-footer__upper::after {
    display: none;
}



@media (max-width: 767px) {
    .l-footer__logo {
        margin: 0;
        width: 64%;
    }
}

.l-footer__address {
    margin-top: 16px;
    font-size: 1.6rem;
    font-style: normal;
    letter-spacing: 0.055em;
    line-height: 1.75;
}

@media (max-width: 767px) {
    .l-footer__address {
        margin-top: 40px;
        font-size: 14px;
    }
}

.l-footer__nav-area {
    padding-top: 5px;
}


@media (max-width: 767px) {
    .l-footer__nav-area {
        padding-top: 0;
        padding-inline: 40px;
    }
}

.l-footer__nav-list::before,
.l-footer__nav-list::after {
    display: none;
}

.l-footer__nav-childs {
    margin-top: 30px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px;
}



.l-footer__nav-childs::before,
.l-footer__nav-childs::after {
    display: none;
}

.l-footer__nav-item::before,
.l-footer__nav-item::after {
    display: none;
}

.l-footer__nav-item a {
    font-size: 16px;
    letter-spacing: 0.06em;
}

@media (max-width: 767px) {
    .l-footer__nav-item a {
        font-size: 14px;
    }
}

.l-footer__bottom {
    position: relative;
    padding: 32px 0 84px;
    display: flex;
}


@media (max-width: 767px) {
    .l-footer__bottom {
        flex-direction: column-reverse;
        padding: 30px 0 50px;
        gap: 40px;
    }
}

.l-footer__bottom::before {
    content: "";
    width: 150vw;
    height: 1px;
    background-color: #707070;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
}

.l-footer__bottom::after {
    display: none;
}

.l-footer__copy {
    display: initial;
    font-size: 16px;
    letter-spacing: 0.05em;
}

@media (max-width: 767px) {
    .l-footer__copy {
        display: flex;
        justify-content: center;
        font-size: 12px;
    }
}

.l-footer__ex-links {
    margin-left: 366px;
    display: flex;
    gap: 40px;
    align-items: center;
}

@media (max-width: 1150px) and (min-width: 778px) {

    .l-footer__ex-links {
        margin-left: 20px;
        gap: 27px;
    }
}



@media (max-width: 767px) {
    .l-footer__ex-links {
        margin-left: initial;
        flex-direction: column;
        gap: 27px;
        align-items: flex-start;
        padding-inline: 40px;
    }
}

.l-footer__ex-links::before,
.l-footer__ex-links::after {
    display: none;
}

.tel {
    color: #fff;
}


@media (min-width: 767px) {
    .tel {
        pointer-events: none;
    }
}

/*=======================================
料理人
=========================================*/
@media (max-width: 767px) {
    .p-top-chef {
        background-color: var(--c-dark);
        padding: 110px 0 100px;
    }
}

.p-top-chef .linked {
    display: inline-block;
    transform: translatey(-150px);
}


.p-top-chef__title {
    position: absolute !important;
    top: -60px;
    left: -126px;
    z-index: 1;
    mix-blend-mode: difference;
}

@media (max-width: 1230px) {
    .p-top-chef__title {
        left: -75px;
    }
}

@media (max-width: 767px) {
    .p-top-chef__title {
        top: -150px;
        left: 0;
    }
}

.p-top-chef__main {
    position: relative;
}

@media (max-width: 767px) {
    .p-top-chef__main {
        background-color: var(--c-dark);
    }
}

.p-top-chef__main::before,
.p-top-chef__main::after {
    content: "";
    height: 100%;
    background-color: var(--c-dark);
    position: absolute;
    top: 0;
    bottom: 0;
}

@media (max-width: 767px) {

    .p-top-chef__main::before,
    .p-top-chef__main::after {
        display: none;
    }
}

.p-top-chef__main::before {
    width: 150vw;
    left: 0;
}

.p-top-chef__main::after {
    width: 200px;
    right: calc(100% - 1px);
}

.p-top-chef__cols {
    display: grid;
    grid-template-columns: 1fr 0.844fr;
    align-items: center;
    gap: 110px;
    position: relative;
}

@media (max-width: 767px) {
    .p-top-chef__cols {
        grid-template-columns: 1fr;
        gap: 35px;
    }
}

.p-top-chef__cols::before,
.p-top-chef__cols::after {
    display: none;
}

.p-top-chef__body {
    position: relative;
}

.p-top-chef__en {
    display: block;
    font-size: 46px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .p-top-chef__en {
        font-size: 30px;
        padding-left: 25px;
    }
}

.p-top-chef__ja {
    margin-top: 15px;
    display: block;
    font-size: 32px;
    letter-spacing: 0.2em;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .p-top-chef__ja {
        margin-top: 5px;
        font-size: 20px;
        padding-left: 25px;
    }
}

.p-top-chef__text {
    margin-top: 30px;
    letter-spacing: 0.06em;
    line-height: 2.2;
    font-size: 14px;
}


@media (max-width: 767px) {
    .p-top-chef__text {
        margin-top: 35px;
        font-size: 1.3rem;
        font-size: 13px;
    }
}

.p-top-chef__img {
    position: relative;
}


.fv_inner {
    max-width: 1300px;
    margin: 0 auto;
    padding-top: 0px;
    padding-bottom: 291px;

}

@media (max-width: 767px) {
    .fv_inner {
        padding-top: 0px;
        padding-bottom: 353px;
    }
}

.l-header__nav li .header-vip-btn {
    background-color: #222;
    padding: 15px 31px 14px 32px;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;

}

/* fv-label */
.fv-label {
    height: 196px;
    background-color:#F1E6DB;
    margin-right: calc(50% - 50vw);
    margin-left: 62px;
}

@media (max-width: 1150px) and (min-width: 778px) {

    .fv-label {
        margin-right: calc(50% - 60vw);
    }
}

@media screen and (max-width: 1800px) {
    .l-header__nav .mr55 {
        margin-right: 10px;
    }
}

@media (max-width: 767px) {
    .fv-label {
        height:117px;
    }
}

.fv-label::before {
    content: "";
    display: flex;
    width: 150vw;

}

.shop-list-label {
    background-color: #F1E6DB;
    display: flex;
    justify-content: center;
    height: 430px;
}

@media (max-width: 767px) {
    .shop-list-label {
        height: 70px;
    }
}

.shop-list-label.left {
    position: relative;
    margin-left: calc(50% - 50vw);
    margin-right: 60px;
    z-index: -1;
}

@media (max-width: 1150px) and (min-width: 778px) {

    .shop-list-label.left {
        margin-left: calc(50% - 75vw);
        padding-left: calc(75vw - 50%);

    }
}


.shop-list-label.right {
    margin-right: calc(50% - 50vw);
    margin-left: 60px;
}

@media (max-width: 1150px) and (min-width: 778px) {

    .shop-list-label.right {
        margin-right: calc(50% - 75vw);
        padding-right: calc(75vw - 50%);
    }
}


.c-section-title {
    --margin: 8px;
    display: flex;
    align-items: flex-start;
    flex-direction: column-reverse;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    gap: 33px;
    padding: 0 0 40px 32px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .c-section-title {
        gap: 8px;
        padding: 0 0 5px 14px;
    }
}

.c-section-title::before {
    content: "";
    width: 1px;
    height: 123px;
    background-color: currentColor;
    position: absolute;
    top: -3px;
    left: 0;
}

@media screen and (max-width: 767px) {
    .c-section-title::before {
        height: 103px;
    }
}


.p-top__lead-title {
    position: absolute !important;
    top: -103px;
    left: 160px;
    height: max-content;
}

@media (max-width: 1150px) and (min-width: 778px) {

    .p-top__lead-title {
        left: 360px;
    }
}

@media screen and (max-width: 767px) {
    .p-top__lead-title {
        top: -59px;
        left: 28px;
    }
}

.c-section-title__ja {
    font-size: 34px;
    font-weight: 700;
    font-feature-settings: initial;
}

@media screen and (max-width: 767px) {
    .c-section-title__ja {
        font-size: 22px;
    }
}

.c-section-title__en {
    margin-top: 0;
    font-size: 20px;
    font-weight: 500;
    text-transform: capitalize;
    color: var(--c-accent);
    font-style: italic;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
    .c-section-title__en {
        font-size: 13px;
    }
}

.company-wrap {
    position: relative;
}

.company-logo-wrap {
    margin-top: 0;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .company-logo-wrap {
        margin-top: 50px;
    }
}


.company-logo {
    max-width: 846px;
    width: 100%;
    margin: 0 auto;
    margin-top: -90px;
}

.fv-copy-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 85%;
    left: 50%;
}

@media (max-width: 767px) {
    .fv-copy-wrap {
        top: 129%;
        width:90%;
    }
}

.company-name {
    padding-top: 9px;
    font-size: 5.3rem;
    font-weight: bold;
    line-height: 1.33;
    letter-spacing: 0.12em;

}

@media (max-width: 767px) {
    .company-name {
        font-size: 2.3rem;
    }
}


.fv-copy-title span {
    display: block;
    padding-top: 10px;
    margin-right: 18px;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 2.21;
    letter-spacing: 0.12em;

}

@media (max-width: 767px) {
    .fv-copy-title span {
        font-size: 1.8rem;
    }
}


.fv-copy {
    min-width: 892px;
    margin-top: 58px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: -0.013em;
    text-align: center;
}

@media (max-width: 767px) {
    .fv-copy {
        min-width: 275px;
        margin-top: 28px;
        font-size: 1.4rem;
        line-height: 2;

    }

}

.fv-copy .eng{
    font-size: 2.5em;
    display: block;
    line-height: 1.2;
    margin-bottom: 54px;
}

@media (max-width: 767px) {
    .fv-copy .eng{
        margin-bottom: 32px;
    }
}



.shop-info__inner {
    max-width: 904px;
    margin: 0 auto 124px auto;
}

@media (max-width: 767px) {
    .shop-info__inner {
        margin: 0 auto 60px auto;
    }
}

.shop-list-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 904px;
    margin-inline: auto;
    padding-right: 0;
    padding-left: 0;
}

@media (max-width: 767px) {
    .shop-list-wrap {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.shop-list-wrap div:first-child {
    margin-top: -170px;
}

@media (max-width: 767px) {
    .shop-list-wrap div:first-child {
        margin-top: -5px;
    }

}

.shop-wrap {
    max-width: 100%;
}

.shop-wrap.mb124 {
    margin-bottom: 124px;
}

@media (max-width: 767px) {
    .shop-wrap.mb124 {
        margin-bottom: 24px;
    }
}

.shop-wrap.mb127 {
    margin-bottom: 127px;
}

@media (max-width: 767px) {
    .shop-wrap.mb127 {
        margin-bottom: 24px;
    }
}

.shop-wrap.mb90 {
    margin-bottom: 90px;
}

@media (max-width: 767px) {
.shop-wrap.mb90 {
    margin-bottom: 45px;
}
}

.shop-img-wrap {
    width: 100%;
}


.shop-img {
    aspect-ratio: 226/101;
}

.shop-detail {
    padding-top: 43px;
    padding-left: 21.5px;
    padding-right: 0;
}

@media screen and (max-width: 767px) {
    .shop-detail {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.shop-detail p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.61;
}

@media (max-width: 767px) {
    .shop-detail p {
        font-size: 1.6rem;
    }
}


.shop-name {
    display: flex;
    align-items: center;
    gap: 43px;
    margin-bottom: 10px;
    font-size: 4.4rem;
    font-weight: 400;
    line-height: 0.59;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .shop-name {
        gap: 20px;
        font-size: 2.8rem;
        flex-wrap: wrap;
    }
}

.shop-name.ls02 {
    letter-spacing: 0.2em !important;
}

.singapore-address {
    margin-top: 37px;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.06em;
}

@media (max-width: 767px) {
    .singapore-address {
        margin-top: 20px;
    }
}

.shop-name.en {
    display: flex;
    gap: 40px;
    font-size: 4.6rem;
    line-height: 0.56;
    letter-spacing: 0.02em;
}

@media (max-width: 767px) {
    .shop-name.en {
        align-items: flex-start;
        /* justifycontent: left; */
        gap: 23px;
        font-size: 2.6rem;
    }
}

.shop-name.en+.shop-address {
    margin-top: 20px;
}

.shop-name:nth-of-type(2)h3,
.shop-name:nth-of-type(3)h3 {
    gap: 40px
}

.shop-name span {
    font-family: 'EB Garamond', serif;
    font-size: 3.2rem;
    line-height: 0.81;
    letter-spacing: 0.02em;
}

@media (max-width: 767px) {
    .shop-name span {
        font-size: 1.3rem;
    }
}

.shop-address {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.61;
}

.shop-address>dt {
    margin-top: 10px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.611;
    letter-spacing: 0.06em;
}

@media (max-width: 767px) {
    .shop-address>dt {
        font-size: 1.4rem;
    }
}

.shop-address dl {
    width: 100%;
}

.shop-address dd {
    width: 100%;
    margin-bottom: 5px;
}

@media (max-width: 767px) {
    .shop-address a {
        margin-top: 8px;
        width: 40px;
    }
}

.shop-address dd:last-of-type {
    width: auto;
    margin-right: 34px;
    margin-bottom: 0;
    padding-right: 50px;
    padding-top: 11px;
    padding-bottom: 11px;
    border-right: 1px solid #000;

}

@media (max-width: 767px) {
    .shop-address dd:last-of-type {
        border-right: none;

    }
}

.shop-url {
    line-height: 1.5;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.060em;
}

@media (max-width: 767px) {
    .shop-url {
        word-break: break-all;
        line-height: 1.2;
        font-size: 1.4rem;
    }
}

.shop-url.pr45 {
    padding-right: 45px !important;
}

.shop-url.pr74 {
    padding-right: 74px !important;
}

.shop-url a+img {
    align-self: center;
}


.shop-logo-list-wrap {
    max-width: 910px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0 auto 103px auto;
}

@media (max-width: 767px) {
.shop-logo-list-wrap {
    max-width: 910px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin:0 auto 45px auto;
}
}

.shop-logo-list {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    margin-bottom: 0px;
    max-width: 910px;
}

@media (max-width: 767px) {
    .shop-logo-list {
        margin-bottom:0px;
        flex-direction: column;
        align-items: center;
    }

}

.shop-name__singapore {
    font-size: 4.6rem;
}

@media (max-width: 767px) {
    .shop-name__singapore {
        font-size: 3rem;
    }
}

.shop-name__singapore {
    letter-spacing: 0.2em;
}

.shop-name__singapore.en {
    letter-spacing: 0.02em;
}

.shop-name__singapore.en.mt120 {
    margin-top: 120px;
}

@media (max-width: 767px) {
    .shop-name__singapore.en.mt120 {
        margin-top: 0;
    }
}

.shop-name__singapore.en.mt98 {
    margin-top: 98px;
}

@media (max-width: 767px) {
    .shop-name__singapore.en.mt98 {
        margin-top: 0;
    }
}

.shop-name__singapore.en.ml2 {
    margin-left: 2px;
}



.shop-name__singapore.ja {
    margin-top: 90px;
    margin-left: 2px;
}

@media (max-width: 767px) {
    .shop-name__singapore.ja {
        font-size: 2.6rem;
        margin-top: 0;
        margin-left: 0;
    }
}

.shop-name-wrap>.shop-name__singapore.ja+p {
    margin-top: 33px;
    margin-left: 2px;
    font-size: 3.2rem;
    letter-spacing: 0.02em;
    line-height: 0.74;
}

@media (max-width: 767px) {
    .shop-name-wrap>.shop-name__singapore.ja+p {
        margin-top: 9px;
        margin-left: 0;
        font-size: 2rem
    }
}

.shop-name-wrap>.shop-name__singapore.en+p {
    margin-top: 27px;
    margin-left: 6px;
    font-size: 3.2rem;
    letter-spacing: 0.02em;
    line-height: 0.812;
}

@media (max-width: 767px) {
    .shop-name-wrap>.shop-name__singapore.en+p {
        display: flex;
        justify-content: center;
        margin-top: 10px;
        margin-left: 0;
        font-size: 2rem;
    }
}

.shop-name-wrap .shop-name {
    letter-spacing: 0.02em;
}


.shop-logo-wrap {
    margin-right: 73px;
}

@media (max-width: 767px) {
    .shop-logo-wrap {
        margin-right: 0;
        max-width: 60%;
    }
}

.shop-location {
    padding-top: 116px;
    font-size: 4.6rem;
    font-weight: 400;
    line-height: 0.565;
    letter-spacing: 0.02em;
}

@media (max-width: 767px) {
    @media (max-width: 767px) {
        .shop-location {
            padding-top: 30px;
            font-size: 2.6rem;
        }
    }
}

@media (max-width: 767px) {
    .shop-location.singapore {
        font-size: 2rem;
    }
}

.shop-list-label.left>.shop-location {
    padding-left: 66px;
}

.shop-list-label.right>.shop-location {
    padding-right: 66px;
}

.l-footer__inner {
    max-width: 1289px;
    /* padding-left: 165px; */
    margin: 0 auto;
}


@media screen and (max-width: 767px) {
    .l-footer__inner {
        padding-left: 0;
    }
}

.l-footer__logo-area {
    margin-right: 271px;
}

@media (max-width: 767px) {
    .l-footer__logo-area {
        margin-right: 0;
    }
}

.l-footer__logo>p {
    font-size: 4.2rem;
    letter-spacing: 0.12em;
    line-height: 3.261;
}

@media (max-width: 1250px) and (min-width: 778px) {
    .l-footer__logo>p {
        font-size: 3rem;
    }
}

@media (max-width: 767px) {
    .l-footer__logo>p {
        font-size: 3rem;
    }
}

.l-footer__logo>span {
    display: block;
    margin-top: -34px;
    font-size: 2.2rem;
    letter-spacing: 0.02em;
    line-height: 1.454;
}

@media (max-width: 767px) {
    .l-footer__logo>span {
        font-size: 2rem;
    }
}

.c-link-external {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    column-gap: 9px;
    align-items: center;
    font-size: 16px;
    letter-spacing: 0.06em;

}

.c-link-external::after {
    display: inline-block;
    content: "";
    width: 14px;
    aspect-ratio: 1;
    background-color: currentColor;
    mask-image: url("img/icon_link_external.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.footer-vip-btn {
    font-size: 1.4rem;
    font-weight: 500;
    border: solid 1px #fff;
    padding: 6px 17px 6px 17px;
}



/* =======================================
フェードイン（JS適用時のみ初期非表示→可視）
========================================*/
.is-observe {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .75s ease, transform .7s ease;
}

.is-visible {
    opacity: 1;
    transform: none;
}