@charset "utf-8";

/* cyrillic-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0gotcqA.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
  font-display: swap;
}
/* cyrillic */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk2wotcqA.woff2)
    format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-display: swap;
}
/* vietnamese */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0AotcqA.woff2)
    format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  font-display: swap;
}
/* latin-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0QotcqA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
/* latin */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 200;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk3wot.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
  font-display: swap;
}
/* cyrillic-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0gotcqA.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
  font-display: swap;
}
/* cyrillic */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk2wotcqA.woff2)
    format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-display: swap;
}
/* vietnamese */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0AotcqA.woff2)
    format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  font-display: swap;
}
/* latin-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0QotcqA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
/* latin */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk3wot.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
  font-display: swap;
}
/* cyrillic-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0gotcqA.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
  font-display: swap;
}
/* cyrillic */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk2wotcqA.woff2)
    format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-display: swap;
}
/* vietnamese */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0AotcqA.woff2)
    format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  font-display: swap;
}
/* latin-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0QotcqA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
/* latin */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 600;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk3wot.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
  font-display: swap;
}
/* cyrillic-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0gotcqA.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
  font-display: swap;
}
/* cyrillic */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk2wotcqA.woff2)
    format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-display: swap;
}
/* vietnamese */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0AotcqA.woff2)
    format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  font-display: swap;
}
/* latin-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0QotcqA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
/* latin */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 700;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk3wot.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
  font-display: swap;
}
/* cyrillic-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 800;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0gotcqA.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
  font-display: swap;
}
/* cyrillic */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 800;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk2wotcqA.woff2)
    format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  font-display: swap;
}
/* vietnamese */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 800;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0AotcqA.woff2)
    format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
    U+01AF-01B0, U+1EA0-1EF9, U+20AB;
  font-display: swap;
}
/* latin-ext */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 800;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk0QotcqA.woff2)
    format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
/* latin */
@font-face {
  font-family: "Mulish";
  font-style: normal;
  font-weight: 800;
  src: url(https://fonts.gstatic.com/s/mulish/v7/1Ptvg83HX_SGhgqk3wot.woff2)
    format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
  font-display: swap;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  padding: 0;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #3c1e00;
  font-weight: 500;
  font-size: 16px;
  font-size: 1.6rem;
}

.en {
  font-family: "Mulish";
  font-weight: 400;
  letter-spacing: 2px;
}
.enb {
  font-family: "Mulish";
  font-weight: 700;
  letter-spacing: 2px;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  /* font-weight: normal; */
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  overflow-y: scroll;
}

main {
  display: block;
}

blockquote,
q {
  quotes: none;
}

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

input,
textarea {
  margin: 0;
  padding: 0;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

select {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

ol,
ul {
  list-style: none;
}

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

caption,
th {
  text-align: left;
}

a:focus {
  outline: none;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/ /*/
	height: auto;
	overflow: hidden;
	/**/
}

.both {
  clear: both;
}

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

img {
  max-width: 100%;
  height: auto;
}

table {
  width: 100%;
}

a,
a:hover,
a:hover img {
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

a:hover img {
  opacity: 0.75;
}

a {
  color: #3c1e00;
  text-decoration: underline;
}

a:hover {
  color: #3c1e00;
  text-decoration: underline;
}

/*
#voice p.pc a {
  color: #fff;
  text-decoration: underline;
}

#voice p.pc a:hover {
  color: #fff;
  text-decoration: underline;
}
*/

.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}

.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt65 {
  margin-top: 65px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt75 {
  margin-top: 75px !important;
}
.mt80 {
  margin-top: 80px !important;
}

.ml5 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml55 {
  margin-left: 55px !important;
}
.ml60 {
  margin-left: 60px !important;
}
.ml65 {
  margin-left: 65px !important;
}
.ml70 {
  margin-left: 70px !important;
}
.ml75 {
  margin-left: 75px !important;
}
.ml80 {
  margin-left: 80px !important;
}

.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr55 {
  margin-right: 55px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.mr65 {
  margin-right: 65px !important;
}
.mr70 {
  margin-right: 70px !important;
}
.mr75 {
  margin-right: 75px !important;
}
.mr80 {
  margin-right: 80px !important;
}

.ib {
  display: inline-block;
}
.mt0 {
  margin-top: 0px !important;
}
.ml0 {
  margin-left: 0px !important;
}
.mr0 {
  margin-right: 0px !important;
}
.mb0 {
  margin-bottom: 0px !important;
}

.float-left {
  float: left;
}
.float-right {
  float: right;
}

.tc {
  text-align: center !important;
}
.tr {
  text-align: right !important;
}
.tl {
  text-align: left !important;
}
.just {
  text-align: justify;
  text-justify: inter-ideograph;
}

.sp {
  display: none !important;
}

.inner {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

/*--------------------------------------
	Header
----------------------------------------*/
#header {
  position: fixed;
  background-color: #2f1812;
  padding: 16px 0;
  color: #fff;
  height: 100px;
  width: 100%;
  z-index: 10000;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
#header.down {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  0% {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
#header.up {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

#header #header-inner .subh2,
#header #header-inner h1 {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 14px;
  line-height: 17px;
  padding-left: 10px;
}

#header #header-inner .subh2 {
  line-height: 1;
  margin-bottom: 3px;
  position: relative;
  top: -6px;
}
#header #header-inner .subh2 h1 {
  padding-right: 15px;
  padding-left: 0;
  margin-bottom: 0;
}

#header #header-inner h1 .enb {
  font-size: 17px;
  font-size: 1.7rem;
}

#header #header-inner #header-logo {
  /*  background: url("../img/logo-ginza-white.svg") no-repeat center center;
  background-size: 235px 35px;*/
  width: 235px;
  height: 35px;
  margin-left: 10px;
}

#header #header-inner #header-logo a {
  display: block;
  line-height: 0;
}

#header #header-inner #gnav {
  position: absolute;
  right: 10px;
  top: 42px;
}

#header #header-inner #gnav li {
  float: left;
  margin: 0 4px;
}

#header #header-inner #gnav li:last-child {
  padding-right: 0;
}

#header #header-inner #gnav li a {
  position: relative;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 600;
  padding: 0 10px 13px;
  display: inline-block;
  text-decoration: none;
}

#header #header-inner #gnav li a:hover {
  text-decoration: none;
}

#header #header-inner #gnav li a::before {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% - 22px);
  height: 1px;
  background-color: #fff;
  bottom: 8px;
  left: 11px;
  transform: scaleX(0);
  transition: all 0.3s ease;
}

#header #header-inner #gnav li a:hover::before,
#header #header-inner #gnav li a.on::before {
  transform: scaleX(1);
}

#header #header-inner #gnav li a#gn-reserve {
  border: 1px solid #fff;
  padding: 4px 16px;
}
#header #header-inner #gnav li a#gn-reserve::before {
  content: none;
}
#header #header-inner #gnav li a#gn-reserve:hover {
  background-color: #fff;
  color: #2f1812;
}

.lang-en #header #header-inner #gnav li a {
  padding: 0 5px 13px;
  font-size: 1.2rem;
}

#header #header-inner #header-submenu-row {
  position: absolute;
  right: 15px;
  top: 0;
  display: flex;
  align-items: center;
}
#header #header-inner #header-submenu {
}

#header #header-inner #header-submenu li {
  float: left;
  padding: 0 15px;
  line-height: 12px;
}

#header #header-inner #header-submenu li.br {
  border-right: 1px solid #fff;
}

#header #header-inner #header-submenu li:last-child {
  padding-right: 0;
}

#header #header-inner #header-submenu li a {
  position: relative;
  color: #fff;
  font-size: 11px;
  font-size: 1.1rem;
  text-decoration: none;
}

#header #header-inner #header-submenu li a:hover {
  text-decoration: none;
}

#header #header-inner #header-submenu li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  bottom: -5px;
  left: 0;
  transform: scaleX(0);
  transition: all 0.3s ease;
}

#header #header-inner #header-submenu li:hover a::before {
  transform: scaleX(1);
}

#header #header-inner #header-submenu li.icon {
  padding: 0 8px;
}
#header #header-inner #header-submenu li.icon img {
  width: 18px;
  height: 18px;
}

#header #header-inner #header-submenu li.icon a::before {
  content: none;
}

/*
#header #header-inner #header-submenu li a[target="_blank"]:after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 10px;
    vertical-align: middle;
    background: url(/common/img/blank-min-white.png) no-repeat 100% 20%;
    -webkit-background-size: 10px 8px;
    background-size: 10px 8px;
}
*/

#header .msta_langArea {
  width: 95px;
  margin-left: 25px;
}

#header .msta_langArea select {
  width: 95px;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 5px;
  background-color: #2f1812;
  padding: 2px 6px;
  font-size: 1.2rem;
}

#header #megamenu {
  position: absolute;
  width: 100%;
  top: 100px;
  z-index: 1000;
}

#header #megamenu .inner {
  width: 965px;
}

#mm-overlay {
  display: none;
  position: fixed;
  z-index: 9998;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

#header #megamenu .box {
  display: none;
  background-color: #3c1e00;
  padding: 20px;
}

#header #megamenu .box a {
  color: #fff;
  text-decoration: none;
}

#header #megamenu .box a:hover {
  text-decoration: underline;
}

#header #megamenu #mm-about .inner {
  padding: 0 20px;
}

#header #megamenu #mm-about ul {
  display: flex;
  flex-wrap: wrap;
}

#header #megamenu #mm-about li {
  width: 25%;
  border-left: 5px solid #fff;
  line-height: 100%;
  padding-left: 20px;
  margin: 25px 0;
}

/*
#header #megamenu #mm-about li:last-child {
  width: 50%;
}
*/

#header #megamenu #mm-lineup li {
  float: left;
  width: 33.333%;
  line-height: 100%;
  padding-left: 20px;
  margin: 25px 0;
}

#header #megamenu #mm-lineup li img {
  vertical-align: middle;
  margin-right: 10px;
}

#header #megamenu .mm-shop {
  height: 500px;
}

#header #megamenu #mm-shop #mm-shop-tab {
  display: flex;
}

#header #megamenu #mm-shop #mm-shop-tab li {
  width: 100%;
  border: 1px solid #e0e0e0;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 32px;
  padding: 0 0;
  cursor: pointer;
}

#header #megamenu #mm-shop #mm-shop-tab li:not(.current):hover {
  opacity: 0.75;
}

#header #megamenu #mm-shop #mm-shop-tab li .en {
  font-weight: 900;
  letter-spacing: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  vertical-align: -2px;
  padding-right: 10px;
}

#header #megamenu #mm-shop #mm-shop-tab li.current {
  color: #3c1e00;
  background-color: #e0e0e0;
}

#header #megamenu #mm-shop .mm-shop {
  display: none;
}

#header #megamenu #mm-shop .mm-shop.active {
  display: block;
}

#header #megamenu #mm-shop .mm-shop li {
  width: 155px;
  line-height: 120%;
  font-size: 12px;
  font-size: 1.2rem;
  float: left;
  margin: 14px 19px 28px;
  padding-bottom: 19px;
}

#header #megamenu #mm-lineup #mm-lineup-tab {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

#header #megamenu #mm-lineup #mm-lineup-tab li {
  width: 170px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 32px;
  padding: 0 0;
  margin: 0 2px;
  cursor: pointer;
  border: 1px solid #e0e0e0;
}

#header #megamenu #mm-lineup #mm-lineup-tab li:not(.current):hover {
  opacity: 0.75;
}

#header #megamenu #mm-lineup #mm-lineup-tab li .en {
  font-weight: 900;
  letter-spacing: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  vertical-align: -2px;
  padding-right: 10px;
}

#header #megamenu #mm-lineup #mm-lineup-tab li.current {
  color: #3c1e00;
  background-color: #e0e0e0;
}

#header #megamenu #mm-lineup #mm-lineup-tab li.list {
}

#header #megamenu #mm-lineup #mm-lineup-tab li.list a {
  color: #3c1e00;
}

#header #megamenu #mm-lineup .mm-lineup {
  display: none;
}

#header #megamenu #mm-lineup .mm-lineup.active {
  display: block;
}

#header #megamenu #mm-lineup .mm-lineup li {
  width: 155px;
  line-height: 120%;
  font-size: 12px;
  font-size: 1.2rem;
  float: left;
  margin: 14px 19px 14px;
  padding-bottom: 19px;
}

#header #megamenu #mm-lineup li {
  width: 155px;
  float: left;
  line-height: 120%;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 0;
  text-align: center;
  margin-right: 37px;
}
#header #megamenu #mm-lineup li:nth-child(5n) {
  margin-right: 0;
}

#header #megamenu #mm-lineup li img {
  margin-bottom: 4px;
}

#side-fix-sns {
  position: fixed;
  z-index: 10000;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
#side-fix-sns li {
  width: 23px;
  height: 23px;
}
#side-fix-sns li svg {
  width: 23px;
  height: 23px;
}

/*--------------------------------------
	Footer
----------------------------------------*/
#footer {
  background-color: #edebe7;
  padding: 47px 0;
}

#footer #footer-logos {
  text-align: center;
  padding-bottom: 60px;
}

#footer #footer-logos ul {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

#footer #footer-logos ul#footer-logos-top {
  margin-bottom: 20px;
}

#footer #footer-logos li {
  float: left;
  padding: 0 14px;
}

#footer #footer-menu {
  width: 900px;
}

#footer #footer-menu ul {
  float: left;
}

#footer #footer-menu ul#fm1 {
  width: 25%;
}
#footer #footer-menu ul#fm2 {
  width: 49%;
}
#footer #footer-menu ul#fm3 {
  width: 26%;
}

#footer #footer-menu ul li a {
  font-size: 11px;
  font-size: 1.1rem;
  color: #3c1e00;
  text-decoration: none;
}

#footer #footer-menu ul li.mb {
  margin-bottom: 1em;
}

#footer #footer-menu ul li span {
  font-size: 11px;
  font-size: 1.1rem;
  color: #3c1e00;
}

#footer #footer-menu ul li.fav {
  text-indent: -8px;
  padding-left: 8px;
  line-height: 1.5;
  margin-bottom: 0.1rem;
  display: inline-block;
  line-height: 1.2;
}

#footer #copyright {
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 40px 0 30px;
}

/*--------------------------------------
	Main
----------------------------------------*/
main {
  padding-top: 100px;
}

main.inner {
  padding: 100px 46px 0;
}

.breadcrumbs {
  font-size: 11px;
  padding: 24px 15px;
}

.breadcrumbs > span {
  position: relative;
  display: inline-block;
  margin: 0 20px 0 0;
}

.breadcrumbs > span::after {
  content: "›";
  position: absolute;
  right: -13px;
  top: -1px;
}

.breadcrumbs > span:last-child::after {
  display: none;
}

#bottom-message {
  background-color: #c7c3bd;
  padding: 24px 0;
  font-size: 14px;
  font-size: 1.4rem;
}

#bottom-message .inner {
  padding: 0 20px;
}

/*--------------------------------------
	Common Parts
----------------------------------------*/
#pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  z-index: 100;
}

#pagetop a {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7);
}
/*
#pagetop:hover{
	opacity: 0.75;
}
*/
#pagetop:hover a {
  background-color: #2f1812;
}

#pagetop:hover path#pt2,
#pagetop:hover path#pt3 {
  fill: #fff !important;
}

.btn {
  position: relative;
  display: inline-block;
  border: 1px solid #3c1e00;
  line-height: 100%;
  padding: 16px 67px 16px 30px;
  color: #3c1e00;
  text-decoration: none;
}
.btn::after {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  right: 20px;
  top: 50%;
  margin-top: -5px;
  border-top: 2px solid #3c1e00;
  border-right: 2px solid #3c1e00;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn-down::after {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  margin-top: -10px;
}
.btn-up::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -3px;
}
.btn:hover {
  color: #fff;
  background-color: #3c1e00;
  text-decoration: none;
}
.btn:hover::after {
  border-color: #fff;
}

.white-btn {
  border-color: #fff;
  color: #fff;
  background-color: #3c1e00;
}

.white-btn:after {
  border-color: #fff;
}

.white-btn:hover {
  color: #3c1e00;
  background-color: #fff;
  border: 1px solid #3c1e00;
}
.white-btn:hover:after {
  border-color: #3c1e00;
}

.gray-btn {
  color: #3c1e00;
  background-color: #e3ddd9;
  border: none;
}

.gray-btn:after {
  border-color: #3c1e00;
}

.simple-btn {
  position: relative;
  display: inline-block;
  border: 1px solid #3c1e00;
  line-height: 100%;
  padding: 16px 67px 16px 30px;
  color: #3c1e00;
  text-decoration: none;
}
.simple-btn:hover {
  color: #fff;
  background-color: #3c1e00;
  text-decoration: none;
}

/* font & background color */
.c1 {
  color: #2f1812;
}
.c2 {
  color: #3c1e00;
}
.c3 {
  color: #e75d14;
}
.c4 {
  color: #001b5c;
}
.c5 {
  color: #9a121b;
}
.c6 {
  color: #c68c39;
}

.bc1 {
  background-color: #2f1812;
}
.bc2 {
  background-color: #3c1e00;
}
.bc3 {
  background-color: #e75d14;
}
.bc4 {
  background-color: #001b5c;
}
.bc5 {
  background-color: #9a121b;
}
.bc6 {
  background-color: #c68c39;
}
.bc7 {
  background-color: #ecebe7;
}

/* title bar
------------------------*/

/* グレー背景あり */
.titlebar-bg {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 100%;
  padding: 16px 20px;
  margin-top: 46px;
  margin-bottom: 16px;
  background-color: #ece9e6;
}

/* 茶色背景あり */
.titlebar-bg2 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 100%;
  padding: 16px 20px;
  margin-top: 46px;
  margin-bottom: 16px;
  background-color: #3d1e00;
  color: #fff;
}

/* 左ボールド背景なし */
.titlebar-br {
  font-size: 20px;
  font-size: 2rem;
  line-height: 100%;
  padding: 0 20px;
  margin-top: 46px;
  margin-bottom: 16px;
  border-left: 7px solid #3d1e00;
}

/* 左ボールド背景あり */
.titlebar-bg-br {
  font-size: 20px;
  font-size: 2rem;
  line-height: 100%;
  padding: 16px 20px;
  margin-top: 46px;
  margin-bottom: 16px;
  background-color: #ece9e6;
  border-left: 7px solid #3d1e00;
}

.titlebar-bg span,
.titlebar-br span,
.titlebar-bg-br span {
  font-size: 20px;
  font-size: 2rem;
  padding-right: 20px;
  vertical-align: -2px;
  font-weight: 900;
}

/* ページ内アンカー
----------------------*/
.inpagenav {
  display: -webkit-flex; /* Safari */
  display: flex;
  justify-content: space-between;
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap: wrap;
}

.inpagenav li {
  border: 1px solid #c9c9c9;
}

.inpagenav.col2 li {
  width: 50%;
}

.inpagenav.col3 li {
  width: 33.3333%;
}

.inpagenav li a {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 120%;
  padding: 15px 20px 15px 46px;
  text-decoration: none;
}

.inpagenav.col2 li:nth-child(2n) {
  border-left: none;
}

.inpagenav.col2 li:nth-child(n + 3) {
  border-top: none;
}

.inpagenav.col3 li:nth-child(3n),
.inpagenav.col3 li:nth-child(3n-1) {
  border-left: none;
}

.inpagenav.col3 li:nth-child(n + 4) {
  border-top: none;
}

.inpagenav li a:hover {
  text-decoration: none;
  background-color: #e9e9e9;
}

.inpagenav li a::after {
  content: "";
  display: block;
  position: absolute;
  border-right: 2px solid #3c1e00;
  border-bottom: 2px solid #3c1e00;
  transform: rotate(45deg);
  left: 18px;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-top: -11px;
}

main.sub .pageTitle,
main.sub h1 {
  font-weight: bold;
  text-align: center;
  font-size: 3rem;
  padding-bottom: 8px;
  margin-bottom: 30px;
}

main.sub .pageTitle span,
main.sub h1 span {
  display: inline-block;
  /*  border-bottom: 2px solid #000; */
}

main.sub p.lead {
  text-align: center;
  margin-bottom: 30px;
}

main.sub p.lead span {
  font-size: 12px;
  font-size: 1.2rem;
}

/* blank icon */
/*
.blank::after{
	content: "";
	display: inline-block;
	width: 20px;
	height: 16px;
	vertical-align: middle;
	background: url(/common/img/blank.png) no-repeat 100% 20%;
	-webkit-background-size: 14px 12px;
	background-size: 14px 12px;
}
*/

/* slider */
.slider {
  position: relative;
  width: 1098px;
  margin: 0 auto;
}

.slider .box {
  width: 247px;
  padding: 0 12px;
}

.slider .box a {
  display: block;
  width: 225px;
  color: #3c1e00;
  word-break: break-all;
  text-decoration: none;
}

.slider .box a:hover {
  opacity: 0.75;
}

.slider .box a .date {
  font-size: 11px;
  font-size: 1.1rem;
  display: inline-block;
  line-height: 130%;
  padding: 5px 0;
}

.slider .box a .title,
.slider .box a h3 {
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 10px;
  line-height: 130%;
  font-weight: bold;
}

.slider .box a .title br,
.slider .box a h3 br {
  display: none;
}

.slider .box a p {
  font-size: 11px;
  font-size: 1.1rem;
}

.slider .slick-prev {
  position: absolute;
  left: -5px;
  top: 13px;
  height: 100%;
  width: 50px;
  background-color: #e9e9e9;
  z-index: 10;
}
.slider .slick-prev:hover {
  background-color: #c9c9c9;
}

.slider .slick-next {
  position: absolute;
  right: -5px;
  top: 13px;
  height: 100%;
  width: 50px;
  background-color: #e9e9e9;
  z-index: 10;
}
.slider .slick-next:hover {
  background-color: #c9c9c9;
}

.slider .slick-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -5px;
  left: 50%;
  margin-left: -2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #505050;
  border-left: 2px solid #505050;
  transform: rotate(-45deg);
}
.slider .slick-next::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -5px;
  right: 50%;
  margin-right: -4px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #505050;
  border-right: 2px solid #505050;
  transform: rotate(45deg);
}

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  display: block;
  width: 26px;
  height: 34px;
  margin-top: -13px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 10;
}

.slick-dots {
  text-align: center;
  margin: 1rem 0 0 0;
}
.slick-dots li {
  display: inline-block;
  margin-right: 1.5rem;
}
.slick-dots li button {
  font-size: 0;
  line-height: 20px;
  padding: 0;
  width: 8px !important;
  height: 8px !important;
  background: #fff;
  text-indent: -9999px;
  border: none;
  border-radius: 50%;
  outline: none;
}
.slick-dots li.slick-active button {
  background: #646464;
}

/* 下部共通バナー */

#common-info {
  position: relative;
  width: 1200px;
  margin: 0px auto 0;
  padding: 50px 46px 100px;
}

#common-info #ci-top {
  margin-bottom: 35px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#common-info #ci-top a {
  display: block;
  line-height: 0;
}

#common-info #ci-top .col {
  width: 347px;
}

#common-info #ci-top .bnr-bttom {
  margin-top: 33px;
}

#common-info #ci-slider {
  width: 1040px;
  margin: 0 auto;
  padding: 19px 0 0;
}

#common-info #ci-slider .box {
  width: 330px;
  height: auto;
  padding-right: 50px;
}

#common-info #ci-slider .box a {
  text-decoration: none;
}

#common-info #ci-slider .box img {
  float: left;
}

#common-info #ci-slider .box .right {
  padding-left: 125px;
}

#common-info #ci-slider .box h3 {
  line-height: 110%;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}

#common-info #ci-slider .box p {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 120%;
}

#common-info #ci-slider .slick-prev {
  position: absolute;
  left: -35px;
  top: 13px;
  height: 120px;
  width: 28px;
  background-color: #e9e9e9;
  z-index: 10;
}
#common-info #ci-slider .slick-prev:hover {
  background-color: #c9c9c9;
}

#common-info #ci-slider .slick-next {
  position: absolute;
  right: -35px;
  top: 13px;
  height: 120px;
  width: 28px;
  background-color: #e9e9e9;
  z-index: 10;
}
#common-info #ci-slider .slick-next:hover {
  background-color: #c9c9c9;
}

#common-info #ci-slider .slick-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -5px;
  left: 50%;
  margin-left: -2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #505050;
  border-left: 2px solid #505050;
  transform: rotate(-45deg);
}
#common-info #ci-slider .slick-next::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -5px;
  right: 50%;
  margin-right: -4px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #505050;
  border-right: 2px solid #505050;
  transform: rotate(45deg);
}

/*---------------------------------------
 SVG sprite
-----------------------------------------*/
#header #header-inner #header-submenu li.icon svg {
  width: 18px;
  height: 18px;
}

#sp-header h1 .icon_style {
  max-height: 33px;
  max-width: 141px;
}
#sp-header-menu .icon_style {
  height: 42px;
  width: 45px;
  max-width: 50px;
  max-height: 51px;
}
#sp-header #sp-menu .sp-menu-sns li a .icon_style {
  display: block;
  height: 46px;
  width: 46px;
}
/* GINZA Global Style */
#footer-logos02 svg {
  max-width: 100%;
  width: 279px;
  height: 42px;
}
/* GlobalStyle */
#footer-logos01 svg {
  max-width: 100%;
  width: 173px;
  height: 39px;
}
/* Global Style MARUNOUCHI */
#footer-logos03 svg {
  max-width: 100%;
  width: 185px;
  height: 34px;
}
/* Global Style COMFORT */
#footer-logos04 svg {
  max-width: 100%;
  width: 186px;
  height: 32px;
}
/* Global Style Ladies */
#footer-logos05 svg {
  max-width: 100%;
  width: 220px;
  height: 41px;
}

/*--------------------------------------
	Smartphone
----------------------------------------*/

@media screen and (max-width: 767px) {
  .sp {
    display: initial !important;
  }
  table.sp {
    display: table !important;
  }
  .pc {
    display: none !important;
  }
  .nbr {
    display: none;
  }
  .tc.sp {
    display: block !important;
  }

  .inner {
    width: 100%;
    padding: 0 10px;
  }

  #header {
    padding: 0;
    position: relative;
    height: auto;
  }

  #header.up,
  #header.down {
    -webkit-animation-name: initial;
    animation-name: initial;
  }

  #sp-header {
    position: relative;
    z-index: 10000;
    background-color: #2f1812;
  }

  #sp-header #sp-header-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 10px;
    /*  display: flex; */
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    background-color: #2f1812;
  }

  #sp-header #header-logo {
    width: 170px;
    margin: 0 0;
    padding: 0;
    line-height: 25px;
  }
  #sp-header #header-logo a {
    display: block;
    line-height: 0;
  }

  #sp-header #header-logo img {
    max-height: 33px;
    max-width: 170px;
  }
  #sp-header #header-logo .icon_style {
    max-height: 33px;
    max-width: 170px;
  }
  #sp-header h1 {
    text-align: center;
    width: 100%;
    padding: 10px 10px 0;
    background: none;
    color: #fff;
    font-size: 1rem;
    line-height: 110%;
  }

  #sp-header h1 img {
    max-height: 25px;
  }

  #sp-header #sp-menu-icon {
    position: absolute;
    width: 24px;
    height: 27px;
    top: 8px;
    right: 10px;
  }

  #sp-header #sp-menu-icon svg {
    position: absolute;
    width: 24px;
    height: 7px;
    bottom: 0;
    left: 0;
  }

  #sp-header #sp-menu-icon .icon_style.en {
    display: none;
  }
  .lang-en #sp-header #sp-menu-icon .icon_style.jp {
    display: none;
  }
  .lang-en #sp-header #sp-menu-icon .icon_style.en {
    display: block;
  }

  #sp-header #sp-menu-icon .hm {
    position: absolute;
    top: 8px;
    left: 0;
    display: inline-block;
    width: 24px;
    height: 2px;
    background-color: #fff;
  }

  #sp-header #sp-menu-icon .hm:nth-child(1),
  #sp-header #sp-menu-icon .hm:nth-child(3) {
    content: "";
    position: absolute;
    left: 0;
    display: inline-block;
    width: 24px;
    height: 2px;
    background-color: #fff;
  }

  #sp-header #sp-menu-icon .hm:nth-child(1) {
    top: 2px;
  }
  #sp-header #sp-menu-icon .hm:nth-child(3) {
    top: 14px;
  }

  #sp-header #sp-menu-icon.open .hm:nth-child(2) {
    opacity: 0;
    transition: all 0.3s;
  }

  #sp-header #sp-menu-icon.open .hm:nth-child(1) {
    transform: rotate(45deg);
    transition: all 0.3s;
    top: 10px;
    left: 2px;
    width: 20px;
  }
  #sp-header #sp-menu-icon.open .hm:nth-child(3) {
    transform: rotate(-45deg);
    transition: all 0.3s;
    top: 10px;
    left: 2px;
    width: 20px;
  }

  #sp-header #sp-header-menu {
    background-color: #e2e2e2;
    padding: 5px 10px 5px;
  }

  #sp-header #sp-header-menu .en-menu {
    display: none;
  }
  .lang-en #sp-header #sp-header-menu .jp-menu {
    display: none;
  }
  .lang-en #sp-header #sp-header-menu .en-menu {
    display: flex;
  }

  #sp-header #sp-ui {
    position: relative;
    z-index: 10003;
    margin-top: 75px;
  }

  #sp-header.fixed #sp-header-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  #sp-header.fixed #sp-ui {
    position: fixed;
    top: 42px;
    left: 0;
    width: 100%;
    background-color: #e2e2e2;
    margin-top: 0 !important;
    z-index: 10003;
  }

  #sp-header #sp-header-menu ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: flex-start; /* Safari */
    align-items: flex-start;
  }

  #sp-header #sp-header-menu li {
    display: block;
    width: calc(100% / 7) !important;
    text-align: center;
    line-height: 0;
  }

  #sp-header #sp-header-menu li a {
    display: block;
  }

  #sp-header #sp-header-menu li img {
    max-width: 60px;
  }

  /*
#shm7 {
    position: relative;
}

#shm7:before {
    content: "NEW";
    position: absolute;
    color: #D80000;
    font-size: 10px;
    left: 0;
    top: 0;
    width: 100%;
    text-align: center;
    transform-origin: center top;
    transform: scale(.8) translateY(-60%);
    font-weight: bold;
}
*/

  #sp-header-menu .icon_style {
    max-width: 50px;
    max-height: 51px;
  }

  #sp-header #sp-menu {
    display: none;
    background-color: #e2e2e2;
    padding: 10px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  #sp-header #sp-menu nav {
  }

  #sp-header #sp-menu nav > ul {
    padding-bottom: 30px;
  }

  #sp-header #sp-menu li {
    background-color: #fff;
    border-bottom: 2px solid #e2e2e2;
    line-height: 100%;
    font-size: 1.4rem;
  }

  #sp-header #sp-menu li a {
    position: relative;
    display: block;
    padding: 14px 16px;
  }

  #sp-header #sp-menu li a::after {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    right: 20px;
    top: 50%;
    margin-top: -4px;
    border-top: 2px solid #2f1812;
    border-right: 2px solid #2f1812;
    transform: rotate(45deg);
  }

  #sp-header #sp-menu li .title {
    position: relative;
    display: block;
    padding: 14px 16px;
    color: #3c1e00;
  }

  #sp-header #sp-menu li .title::before {
    content: "";
    position: absolute;
    display: block;
    width: 12px;
    height: 2px;
    right: 16px;
    top: 50%;
    margin-top: -1px;
    background-color: #2f1812;
  }
  #sp-header #sp-menu li .title::after {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 12px;
    right: 21px;
    top: 50%;
    margin-top: -6px;
    background-color: #2f1812;
  }
  #sp-header #sp-menu li.open > .title::after {
    display: none;
  }

  #sp-header #sp-menu .submenu li:last-child {
    border: none;
  }

  #sp-header #sp-menu .shop-area .title {
    background-color: #fff;
    padding-left: 30px;
  }

  #sp-header #sp-menu .submenu {
    border-top: 2px solid #e2e2e2;
  }

  #sp-header #sp-menu .submenu li {
    background-color: #f0f0f0;
  }

  #sp-header #sp-menu .submenu li a {
    padding-left: 30px;
    line-height: 130%;
  }

  #sp-header #sp-menu .sp-menu-sns {
    padding-bottom: 40px;
    color: #3c1e00;
    text-align: center;
  }
  #sp-header #sp-menu .sp-menu-sns .title {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 3.6vw;
    padding: 0 20px 10px;
  }
  #sp-header #sp-menu .sp-menu-sns .title::before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
    height: 23px;
    width: 2px;
    background-color: #3b1d03;
    transform: rotate(-25deg);
  }
  #sp-header #sp-menu .sp-menu-sns .title::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 1px;
    height: 23px;
    width: 2px;
    background-color: #3b1d03;
    transform: rotate(25deg);
  }
  #sp-header #sp-menu .sp-menu-sns .follow {
    font-size: 1.4rem;
    padding-bottom: 15px;
  }

  #sp-header #sp-menu .sp-menu-sns ul {
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
  }

  #sp-header #sp-menu .sp-menu-sns ul li {
    background: none;
  }

  #sp-header #sp-menu .sp-menu-sns li a {
    padding: 0;
  }
  #sp-header #sp-menu .sp-menu-sns li a::after {
    content: none;
  }

  #sp-header #sp-menu .sp-menu-sns li a img {
    display: block;
    height: auto;
    width: 46px;
  }
  #fixwrap.fix {
    position: fixed;
    width: 100%;
  }

  #side-fix-sns {
    display: none;
  }

  #footer {
    padding-top: 0;
  }

  #footer #footer-menu {
    width: 100%;
  }

  #footer-menu-sp {
    padding: 0;
  }

  #footer-menu-sp a {
    text-decoration: none;
  }

  #footer-menu-sp ul {
    border-top: 1px solid #2f1812;
    display: flex;
    flex-wrap: wrap;
  }

  #footer-menu-sp li {
    width: 50%;
    border-bottom: 1px solid #2f1812;
    /* padding: 0 20px; */
    font-size: 1.2rem;
    //height: 42px;
  }
  #footer-menu-sp li a {
    display: flex;
    align-items: center;
    //height: 42px;
    padding: 8px 20px;
  }
  #footer-menu-sp li:nth-child(2n-1) {
    border-right: 1px solid #2f1812;
  }

  #footer #footer-logos {
    padding: 20px 20px 20px;
  }

  #footer #footer-logos ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #footer #footer-logos li {
    width: 50%;
    padding: 0 10px;
  }

  #footer #footer-logos ul#footer-logos-top {
    margin-bottom: 0;
  }

  #footer #footer-logos-top li {
    width: 60%;
    padding: 0;
  }
  #footer #footer-logos li#footer-logos01 {
    padding: 0 20px;
  }
  #footer #footer-logos li#footer-logos04 {
    width: 45%;
  }
  #footer #footer-logos li#footer-logos05 {
    width: 55%;
  }

  #footer #copyright {
    padding: 0 20px;
    font-size: 0.9rem;
  }

  #bottom-message {
    display: none;
  }

  .slider {
    width: 100%;
  }

  .breadcrumbs {
    padding: 10px 10px;
  }

  main {
    padding-top: 0;
  }
  main.fixed {
    margin-top: 125px;
  }
  main.inner {
    padding: 0 0;
  }

  main .sp-inner {
    padding: 0 10px;
  }

  main.sub h1 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  main.sub h1 span {
    font-size: 1.8rem;
  }

  /* title bar
------------------------*/

  /* グレー背景あり */
  .titlebar-bg {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 120%;
    padding: 13px 15px;
    margin-top: 20px;
    margin-bottom: 10px;
    background-color: #ece9e6;
  }

  /* 茶色背景あり */
  .titlebar-bg2 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 120%;
    padding: 16px 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    background-color: #3d1e00;
    color: #fff;
  }

  /* 左ボールド背景なし */
  .titlebar-br {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 120%;
    padding: 0 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    border-left: 7px solid #3d1e00;
  }

  /* 左ボールド背景あり */
  .titlebar-bg-br {
    font-size: 20px;
    font-size: 2rem;
    line-height: 120%;
    padding: 16px 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    background-color: #ece9e6;
    border-left: 7px solid #3d1e00;
  }

  .titlebar-bg span,
  .titlebar-br span,
  .titlebar-bg-br span {
    font-size: 10px;
    font-size: 1rem;
    padding-right: 0;
    vertical-align: 0;
    font-weight: 900;
    display: block;
  }

  #common-info {
    width: 100%;
    padding: 30px 10px 0;
  }

  #common-info #ci-sns {
    padding-bottom: 40px;
    color: #3c1e00;
    text-align: center;
    display: block !important;
  }
  #common-info #ci-sns .title {
    position: relative;
    display: inline-block;
    font-weight: bold;
    font-size: 3.6vw;
    padding: 0 20px 10px;
  }
  #common-info #ci-sns .title::before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
    height: 23px;
    width: 2px;
    background-color: #3b1d03;
    transform: rotate(-25deg);
  }
  #common-info #ci-sns .title::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 1px;
    height: 23px;
    width: 2px;
    background-color: #3b1d03;
    transform: rotate(25deg);
  }
  #common-info #ci-sns .follow {
    font-size: 1.4rem;
    padding-bottom: 15px;
  }

  #common-info #ci-sns ul {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
  }

  #common-info #ci-sns ul li {
    background: none;
    padding: 0 15px;
  }

  #common-info #ci-sns li a {
    padding: 0;
  }
  #common-info #ci-sns li a::after {
    content: none;
  }

  #common-info #ci-sns li a img {
    display: block;
    height: auto;
    width: 46px;
  }

  .inpagenav li {
    border: none;
    border-bottom: 1px solid #c9c9c9;
  }

  .inpagenav.col2 li,
  .inpagenav.col3 li {
    width: 100%;
  }

  .inpagenav li a {
    padding: 10px 30px 10px 0px;
  }

  .inpagenav li a::after {
    left: inherit;
    right: 10px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -8px;
  }

  main.sub p.lead {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
}

#preview-message {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #900;
  color: #fff;
  line-height: 100%;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding: 4px 0;
  z-index: 1000;
}

/*--------------------------------------
	mfp
----------------------------------------*/
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

/*---------------------------------------
 Global navigation CSS sprite
-----------------------------------------*/

#megamenu #mm-lineup li a,
#megamenu #mm-shop li:not(.notab) a {
  position: relative;
  display: block;
  background-image: url(/common/img/megamenu/gnavset.jpg?t=20251119);
  background-repeat: no-repeat;
  padding-top: 110px;
  width: 155px;
  height: 105px;
}

#megamenu #mm-lineup li a::after,
#megamenu #mm-shop li:not(.notab) a::after {
  content: "";
  display: block;
}

#gnav-suits {
  background-position: -5px -5px;
}

#gnav-jacket {
  background-position: -170px -5px;
}

#gnav-coat {
  background-position: -335px -120px;
}

#gnav-shoes {
  background-position: -500px -5px;
}

#gnav-tie-chief {
  background-position: -500px -120px;
}

#gnav-hanger {
  background-position: -170px -120px;
}

#gnav-formalsuits {
  background-position: -665px -1040px;
}

#gnav-formal {
  background-position: -5px -120px;
}

#gnav-shirt {
  background-position: -335px -5px;
}

#gnav-lsuits {
  background-position: -5px -580px;
}

#gnav-giftticket {
  background-position: -500px -695px;
}

#gnav-model {
  background-position: -5px -235px;
}

#gnav-pumps {
  background-position: -665px -695px;
}

#gnav-setup {
  background-position: -5px -810px;
}

#gnav-coat-ladies {
  background-position: -170px -810px;
}

#gnav-mens-knit {
  background-position: -665px -810px;
}

#gnav-ladies-knit {
  background-position: -5px -925px;
}

#gnav-ladies-shirts {
  background-position: -170px -925px;
}

#gnav-ladies-formal {
  background-position: -335px -1155px;
}

#gnav-kids-junior {
  background-position: -500px -925px;
}

#gnav-berwick {
  background-position: -170px -1270px;
}

#gnav-premium-order {
  background-position: -335px -1270px;
}

#gnav-shop-sapporopalco {
  background-position: -170px -695px;
}

#gnav-shop-kurax-sendai {
  background-position: -335px -695px;
}

#gnav-shop-ginza5 {
  background-position: -500px -235px;
}

#gnav-shop-ginzahonten {
  background-position: -5px -350px;
}

#gnav-shop-ginzashinkan {
  background-position: -170px -350px;
}

#gnav-shop-ginzanishikan {
  background-position: -335px -350px;
}

#gnav-shop-marunouchihonten {
  background-position: -500px -465px;
}

#gnav-shop-ikebukuroeast {
  background-position: -5px -465px;
}

#gnav-shop-shinjuku {
  background-position: -665px -120px;
}

#gnav-shop-shinjuku3 {
  background-position: -665px -235px;
}

#gnav-shop-kanda {
  background-position: -170px -465px;
}

#gnav-shop-omotesando {
  background-position: -5px -695px;
}

#gnav-shop-midtown-yaesu {
  background-position: -5px -1155px;
}

#gnav-shop-yokohamanishiguchi {
  background-position: -665px -580px;
}

#gnav-shop-yokohama-sky {
  background-position: -170px -1155px;
}

#gnav-shop-chiba-biccamera {
  background-position: -500px -1040px;
}

#gnav-shop-omiya {
  background-position: -5px -1040px;
}

#gnav-shop-shizuoka {
  background-position: -170px -1040px;
}

#gnav-shop-nagoyacentral {
  background-position: -170px -235px;
}

#gnav-shop-nagoyaunimall {
  background-position: -665px -465px;
}

#gnav-shop-dainagoyabuilding {
  background-position: -335px -580px;
}

#gnav-shop-nagoya-hirokoji {
  background-position: -335px -810px;
}

#gnav-shop-honmachi {
  background-position: -500px -350px;
}

#gnav-shop-diamor-osaka {
  background-position: -335px -235px;
}

#gnav-shop-nambaskyo {
  background-position: -665px -5px;
}

#gnav-shop-kyotosanjo {
  background-position: -335px -465px;
}

#gnav-shop-kyotoshijo {
  background-position: -170px -580px;
}

#gnav-shop-grandfront {
  background-position: -335px -925px;
}

#gnav-shop-kobe {
  background-position: -500px -810px;
}

#gnav-shop-hiroshima {
  background-position: -665px -925px;
}

#gnav-shop-fukuokatenjin {
  background-position: -665px -350px;
}

#gnav-shop-fukuokahakata {
  background-position: -500px -580px;
}

#gnav-shop-kitakyusyu {
  background-position: -335px -1040px;
}

#gnav-shop-ginza-premium {
  background-position: -500px -1155px;
}

#gnav-shop-nambaparks {
  background-position: -665px -1155px;
}
#gnav-shop-narafamily {
  background-position: -5px -1270px;
}

#gnav-shop-tachikawa {
  background-position: -500px -1270px;
}

#gnav-shop-machida {
  background-position: -665px -1270px;
}

#gnav-shop-kitte-osaka {
  background-position: -5px -1385px;
}

#gnav-kaiser {
  background-position: -170px -1385px;
}

#gnav-shop-hirakata-mall {
  background-position: -335px -1385px;
}

#gnav-kaiserpremium {
  background-position: -500px -1385px;
}

#gnav-shop-kumamoto {
  background-position: -665px -1385px;
}

#gnav-shop-urawa {
  background-position: -5px -1500px;
}
#gnav-shop-kichijoji {
  background-position: -170px -1500px;
}

#gnav-blouse {
  background-position: -335px -1500px;
}
#gnav-shop-lalaport-izumi {
  background-position: -500px -1500px;
}


.youtube-container {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.youtube-container:after {
  padding-top: 56.25%;
  display: block;
  content: "";
}
.youtube-container > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 共通SHOPLIST
------------------------*/
.shoplistCommon {
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
}

.shoplistCommon.center {
  justify-content: center;
}

.shoplistCommon .box {
  position: relative;
  width: 20%;
  padding: 0 10px 50px;
}

.shoplistCommon .box:nth-child(5n) {
  margin-right: 0;
}

.shoplistCommon h3 {
  font-size: 1.4rem;
  line-height: 110%;
  padding: 15px 0;
}

.shoplistCommon .shop-info {
  position: relative;
}

.shoplistCommon .address {
  font-size: 1.2rem;
  line-height: 130%;
  margin-bottom: 14px;
}

.shoplistCommon .tel {
  font-size: 1.2rem;
  line-height: 130%;
}

@media screen and (max-width: 767px) {
  .shoplistCommon {
    padding: 0 10px;
  }

  .shoplistCommon .box {
    width: 50%;
  }
}

/* English
----------------*/

#pc_msta_langArea {
  position: relative;
  margin-left: 19px;
}

#pc_msta_langArea .msta_langAreaTitle {
  position: relative;
  width: 95px;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 5px;
  background-color: #2f1812;
  padding: 2px 6px;
  font-size: 1.2rem;
  cursor: pointer;
}
#pc_msta_langArea .msta_langAreaTitle::after {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 4px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  right: 8px;
  top: 7px;
}

#pc_msta_langArea ul {
  display: none;
  position: absolute;
  width: 95px;
  background-color: #2f1812;
  border-radius: 6px;
  right: 0;
  top: 26px;
  border: 1px solid #888;
  z-index: 101;
  overflow: hidden;
}
#pc_msta_langArea ul li {
  font-size: 1.2rem;
  border-bottom: 1px solid #888;
  text-align: center;
  color: #3d1e00;
  background-color: #fff;
}
#pc_msta_langArea ul li label {
  display: block;
  width: 100%;
  height: 100%;
  padding: 4px;
  cursor: pointer;
}
#pc_msta_langArea ul li:nth-child(1) {
  background-color: #1967d2;
  color: #fff;
}
.lang-en #pc_msta_langArea ul li:nth-child(1),
.lang-zh-cn #pc_msta_langArea ul li:nth-child(1),
.lang-zh-tw #pc_msta_langArea ul li:nth-child(1),
.lang-ko #pc_msta_langArea ul li:nth-child(1) {
  background-color: #fff;
  color: #3d1e00;
}

.lang-en #pc_msta_langArea ul li:nth-child(2) {
  color: #fff;
  background-color: #1967d2;
}
.lang-zh-cn #pc_msta_langArea ul li:nth-child(3) {
  color: #fff;
  background-color: #1967d2;
}
.lang-zh-tw #pc_msta_langArea ul li:nth-child(4) {
  color: #fff;
  background-color: #1967d2;
}
.lang-ko #pc_msta_langArea ul li:nth-child(5) {
  color: #fff;
  background-color: #1967d2;
}
#pc_msta_langArea ul li:last-child {
  border-bottom: 0;
}
#pc_msta_langArea ul li input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

#sp_msta_langArea {
  display: none;
}

.lang-en .globalNav .txt02 {
  display: none;
}

.lang-en .globalNavListSub span {
  font-size: 1.2rem;
}

@media only screen and (max-width: 767px) {
  #pc_msta_langArea {
    display: none;
  }
  #sp_msta_langArea {
    display: block;
    position: fixed;
    top: 10px;
    right: 48px;
    width: 120px;
    z-index: 20000;
  }
  #sp_msta_langArea .msta_langblck {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
  }
  #sp_msta_langArea .icon {
    line-height: 0;
  }
  #sp_msta_langArea .icon img {
    width: 18px;
  }
  #sp_msta_langArea .msta_langAreaTitle {
    position: relative;
    width: 85px;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 5px;
    background-color: #2f1812;
    padding: 2px 6px;
    font-size: 1.2rem;
    cursor: pointer;
  }
  #sp_msta_langArea .msta_langAreaTitle::after {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    right: 8px;
    top: 7px;
  }
  #sp_msta_langArea ul {
    display: none;
    position: absolute;
    width: 95px;
    background-color: #fff;
    border-radius: 6px;
    right: 0;
    top: 26px;
    border: 1px solid #888;
    z-index: 101;
    overflow: hidden;
  }
  #sp_msta_langArea ul li {
    padding: 8px;
    font-size: 1.2rem;
    border-bottom: 1px solid #888;
    text-align: center;
    color: #3d1e00;
  }
  #sp_msta_langArea ul li:last-child {
    border-bottom: 0;
  }
  .lang-en #sp_msta_langArea ul li:nth-child(1),
  .lang-zh-cn #sp_msta_langArea ul li:nth-child(1),
  .lang-zh-tw #sp_msta_langArea ul li:nth-child(1),
  .lang-ko #sp_msta_langArea ul li:nth-child(1) {
    background-color: #fff;
    color: #3d1e00;
  }

  .lang-en #sp_msta_langArea ul li:nth-child(2) {
    color: #fff;
    background-color: #1967d2;
  }
  .lang-zh-cn #sp_msta_langArea ul li:nth-child(3) {
    color: #fff;
    background-color: #1967d2;
  }
  .lang-zh-tw #sp_msta_langArea ul li:nth-child(4) {
    color: #fff;
    background-color: #1967d2;
  }
  .lang-ko #sp_msta_langArea ul li:nth-child(5) {
    color: #fff;
    background-color: #1967d2;
  }

  #sp_msta_langArea ul li input {
    position: absolute;
    z-index: -1;
    opacity: 0;
  }
}
