@charset "UTF-8";
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH -------------------------- */
@font-face { font-family: 'FontAwesome'; src: url("/assets/fonts/fontawesome-webfont.eot?v=4.7.0"); src: url("/assets/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); font-weight: normal; font-style: normal; }
.fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -15%; }

.fa-2x { font-size: 2em; }

.fa-3x { font-size: 3em; }

.fa-4x { font-size: 4em; }

.fa-5x { font-size: 5em; }

.fa-fw { width: 1.28571em; text-align: center; }

.fa-ul { padding-left: 0; margin-left: 2.14286em; list-style-type: none; }
.fa-ul > li { position: relative; }

.fa-li { position: absolute; left: -2.14286em; width: 2.14286em; top: 0.14286em; text-align: center; }
.fa-li.fa-lg { left: -1.85714em; }

.fa-border { padding: .2em .25em .15em; border: solid 0.08em #eee; border-radius: .1em; }

.fa-pull-left { float: left; }

.fa-pull-right { float: right; }

.fa.fa-pull-left { margin-right: .3em; }
.fa.fa-pull-right { margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right { float: right; }

.pull-left { float: left; }

.fa.pull-left { margin-right: .3em; }
.fa.pull-right { margin-left: .3em; }

.fa-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; }

.fa-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
.fa-rotate-90 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

.fa-rotate-180 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.fa-rotate-270 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }

.fa-flip-horizontal { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); }

.fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); }

:root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical { filter: none; }

.fa-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; }

.fa-stack-1x { line-height: inherit; }

.fa-stack-2x { font-size: 2em; }

.fa-inverse { color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */
.fa-search:before { content: ""; }

.fa-chevron-left:before { content: ""; }

.fa-chevron-right:before { content: ""; }

.fa-chevron-up:before { content: ""; }

.fa-chevron-down:before { content: ""; }

.fa-angle-left:before { content: ""; }

.fa-angle-right:before { content: ""; }

.fa-angle-up:before { content: ""; }

.fa-angle-down:before { content: ""; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; }

/*!
 *  Elusive Icons 2.0.0 by @ReduxFramework - http://elusiveicons.com - @reduxframework
 *  License - http://elusiveicons.com/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH -------------------------- */
@font-face { font-family: 'Elusive-Icons'; src: url("/assets/fonts/elusiveicons-webfont.eot?v=2.0.0"); src: url("/assets/fonts/elusiveicons-webfont.eot?#iefix&v=2.0.0") format("embedded-opentype"), url("/assets/fonts/elusiveicons-webfont.woff?v=2.0.0") format("woff"), url("/assets/fonts/elusiveicons-webfont.ttf?v=2.0.0") format("truetype"), url("/assets/fonts/elusiveicons-webfont.svg?v=2.0.0#elusiveiconsregular") format("svg"); font-weight: normal; font-style: normal; }
.el { display: inline-block; font: normal normal normal 14px/1 "Elusive-Icons"; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transform: translate(0, 0); }

/* makes the font 33% larger relative to the icon container */
.el-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -15%; }

.el-2x { font-size: 2em; }

.el-3x { font-size: 3em; }

.el-4x { font-size: 4em; }

.el-5x { font-size: 5em; }

.el-fw { width: 1.28571em; text-align: center; }

.el-ul { padding-left: 0; margin-left: 2.14286em; list-style-type: none; }
.el-ul > li { position: relative; }

.el-li { position: absolute; left: -2.14286em; width: 2.14286em; top: 0.14286em; text-align: center; }
.el-li.el-lg { left: -1.85714em; }

.el-border { padding: .2em .25em .15em; border: solid 0.08em #eee; border-radius: .1em; }

.pull-right { float: right; }

.pull-left { float: left; }

.el.pull-left { margin-right: .3em; }
.el.pull-right { margin-left: .3em; }

.el-spin { -webkit-animation: el-spin 2s infinite linear; animation: el-spin 2s infinite linear; }

.el-pulse { -webkit-animation: el-spin 1s infinite steps(8); animation: el-spin 1s infinite steps(8); }

@-webkit-keyframes el-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@keyframes el-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
.el-rotate-90 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

.el-rotate-180 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.el-rotate-270 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }

.el-flip-horizontal { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); -webkit-transform: scale(-1, 1); -ms-transform: scale(-1, 1); transform: scale(-1, 1); }

.el-flip-vertical { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: scale(1, -1); -ms-transform: scale(1, -1); transform: scale(1, -1); }

:root .el-rotate-90, :root .el-rotate-180, :root .el-rotate-270, :root .el-flip-horizontal, :root .el-flip-vertical { filter: none; }

.el-stack { position: relative; display: inline-block; width: 2em; height: 2em; line-height: 2em; vertical-align: middle; }

.el-stack-1x, .el-stack-2x { position: absolute; left: 0; width: 100%; text-align: center; }

.el-stack-1x { line-height: inherit; }

.el-stack-2x { font-size: 2em; }

.el-inverse { color: #fff; }

/* Elusive Icons uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */
.el-map-marker:before { content: ""; }

.wp-template-info { position: fixed; bottom: 10px; left: 40px; z-index: 10000; padding: 1em 1.5em; background: rgba(0, 0, 0, 0.5); color: #fff; }

.wp-template-info p { margin: .5em 0; }

/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; src: local("Playfair Display Italic"), local("PlayfairDisplay-Italic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFkD-vYSZviVYUb_rj3ij__anPXDTnohkk72xU.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; src: local("Playfair Display Italic"), local("PlayfairDisplay-Italic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojUk72xU.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; src: local("Playfair Display Italic"), local("PlayfairDisplay-Italic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojEk72xU.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; src: local("Playfair Display Italic"), local("PlayfairDisplay-Italic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.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; }
/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 700; src: local("Playfair Display Bold Italic"), local("PlayfairDisplay-BoldItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngOWwu4DRmBKY.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 700; src: local("Playfair Display Bold Italic"), local("PlayfairDisplay-BoldItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngOWwu6zRmBKY.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 700; src: local("Playfair Display Bold Italic"), local("PlayfairDisplay-BoldItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngOWwu6jRmBKY.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 700; src: local("Playfair Display Bold Italic"), local("PlayfairDisplay-BoldItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngOWwu5DRm.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; }
/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 900; src: local("Playfair Display Black Italic"), local("PlayfairDisplay-BlackItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngAW4u4DRmBKY.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 900; src: local("Playfair Display Black Italic"), local("PlayfairDisplay-BlackItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngAW4u6zRmBKY.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 900; src: local("Playfair Display Black Italic"), local("PlayfairDisplay-BlackItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngAW4u6jRmBKY.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 900; src: local("Playfair Display Black Italic"), local("PlayfairDisplay-BlackItalic"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngAW4u5DRm.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; }
/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; src: local("Playfair Display Regular"), local("PlayfairDisplay-Regular"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; src: local("Playfair Display Regular"), local("PlayfairDisplay-Regular"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; src: local("Playfair Display Regular"), local("PlayfairDisplay-Regular"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; src: local("Playfair Display Regular"), local("PlayfairDisplay-Regular"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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; }
/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; src: local("Playfair Display Bold"), local("PlayfairDisplay-Bold"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBYf9lWoe5ixi.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; src: local("Playfair Display Bold"), local("PlayfairDisplay-Bold"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBYf9lWEe5ixi.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; src: local("Playfair Display Bold"), local("PlayfairDisplay-Bold"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBYf9lWAe5ixi.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; src: local("Playfair Display Bold"), local("PlayfairDisplay-Bold"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBYf9lW4e5g.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; }
/* cyrillic */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; src: local("Playfair Display Black"), local("PlayfairDisplay-Black"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBb__lWoe5ixi.woff2) format("woff2"); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* vietnamese */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; src: local("Playfair Display Black"), local("PlayfairDisplay-Black"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBb__lWEe5ixi.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; }
/* latin-ext */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; src: local("Playfair Display Black"), local("PlayfairDisplay-Black"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBb__lWAe5ixi.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; }
/* latin */
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 900; src: local("Playfair Display Black"), local("PlayfairDisplay-Black"), url(https://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBb__lW4e5g.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; }
/* common */
.u-link { color: #d12d40; transition: opacity .3s ease; }
.u-link:hover { opacity: .7; }
.form-reset input, .form-reset button, .form-reset textarea, .form-reset select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }

.form-reset input::-ms-clear { visibility: hidden; }

.form-reset input::-ms-reveal { visibility: hidden; }

.form-reset textarea { resize: vertical; }

.form-reset select::-ms-expand { display: none; }

.form-reset .search-submit-wrap { position: relative; margin-top: 30px; text-align: right; }

.search-design-name { position: absolute; top: 50%; left: 0; color: #d12d40; -webkit-transform: translateX(0) translateY(-50%); -moz-transform: translateX(0) translateY(-50%); -ms-transform: translateX(0) translateY(-50%); -o-transform: translateX(0) translateY(-50%); transform: translateX(0) translateY(-50%); }

.form-reset .search-clear { border-radius: 10px; font-size: 1.4rem; display: inline-block; text-align: center; padding: 8px 10px; margin-right: 20px; background: #fff; color: #d12d40; border: 1px solid #d12d40; -webkit-transition: .3s all ease; transition: .3s all ease; font-family: FontAwesome, "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; cursor: pointer; letter-spacing: 0.1em; vertical-align: middle; }
.form-reset .search-clear:hover { background: #d12d40; color: #fff; opacity: 1; }

.form-reset .search-submit { border-radius: 10px; font-size: 1.4rem; display: inline-block; text-align: center; padding: 8px 20px; background: #d12d40; color: #fff; border: 1px solid #d12d40; font-weight: bold; -webkit-transition: .3s all ease; transition: .3s all ease; font-family: FontAwesome, "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; cursor: pointer; letter-spacing: 0.1em; vertical-align: middle; }
.form-reset .search-submit:hover { background: #fff; color: #d12d40; opacity: 1; }

@media screen and (max-width: 640px) { .search-design-name { position: static; margin-bottom: 30px; text-align: left; } }
@media screen and (max-width: 480px) { .form-reset .search-submit-wrap { text-align: center; } }
/* header */
#header .site_logo { background-image: url(/assets/images/common/logo_001.svg); }

body.home #header .site_logo { background-image: url(/assets/images/common/logo.svg); }

body.home #header.fixed .site_logo { background-image: url(/assets/images/common/logo_001.svg); }

.header__button .button__list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.header__button .button__listItem { width: 220px; padding: 0 4px; }

@media screen and (max-width: 1023px) { body.home #header .site_logo { background-image: url(/assets/images/common/logo_001.svg); } }
@media screen and (max-width: 640px) { .header__button .button__list { display: block; }
  .header__button .button__listItem { margin: 0 auto; }
  .header__button .button__listItem:nth-child(n+2) { margin-top: 10px; } }
@media screen and (min-width: 1024px) { #header .global_nav ul { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
  #header .global_nav li.globalNavigation__listItem { padding: 0 15px; } }
/* header - banner */
.header-banner { display: none; }

@media screen and (max-width: 1023px) { .header-banner { position: absolute; top: 100%; left: 0; width: 100%; display: block; }
  .header-banner-link { display: block; padding: 8px 30px 8px 0; background: url(/assets/images/common/arrow_header.png) #d12d40 no-repeat; background-position: right 15px center; background-size: 21px 6px; font-size: 1.2rem; line-height: 1.6; }
  .header-banner-link:active { opacity: .7; }
  #header a.header-banner-link, body.home #header a.header-banner-link, body.home #header.fixed a.header-banner-link { color: #fff; }
  .header-banner-dlist { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .header-banner-heading { font-size: 1.2rem; font-weight: bold; }
  .header-banner-data { padding-left: 15px; font-size: 1.2rem; } }
/* header - coupon */
.coupon-button { cursor: pointer; }
.coupon-button::before { content: 'WEBクーポン予約'; }

.header__button .button__list { position: relative; }

.coupon-wrap { display: none; position: absolute; z-index: 1; right: 32px; width: 447px; }
.coupon-opened .coupon-wrap { display: block; animation: dropdownFadeIn 0.3s forwards; }

@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) { .coupon-wrap { padding-top: 6px; } }
.coupon-inner { padding: 40px 20px; background-color: #fff; box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.06); }

.coupon-lead { color: #333; font-size: 1.6rem; font-weight: bold; letter-spacing: 0.06em; line-height: 1.6875; }
.coupon-lead span { background-repeat: repeat-x; background-size: 1.09em .5em; background-position: top left -2px; background-image: -webkit-gradient(radial, center center, 0, center center, 1.5, from(#e71f18), color-stop(0.5, #e71f18), color-stop(0.9, transparent), to(transparent)); background-image: -webkit-radial-gradient(center center, 0.13em 0.13em, #e71f18, #e71f18 95%, transparent 95%, transparent); background-image: radial-gradient(0.12em 0.12em at center center, #e71f18, #e71f18 95%, rgba(0, 0, 0, 0)); padding: 0.5em 0; }

_::-webkit-full-page-media, _:future, :root .coupon-lead span { -webkit-text-emphasis-style: filled; -webkit-text-emphasis-color: #e71f18; background-image: none; }

.coupon-form-inner { display: -webkit-box; display: -ms-flexbox; display: flex; width: 290px; margin: 20px auto 15px; }

.form-reset .coupon-label { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; max-width: 100%; }

.form-reset .coupon-select { display: flex; align-items: center; width: 100%; height: 50px; padding: 0 28px 0 15px; border: 1px solid #dcdcdc; border-width: 1px 0 1px 1px; color: #444; font-size: 1.6rem; letter-spacing: 0.1em; }

#header .coupon-input-button { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 50px; height: 50px; text-align: center; padding: 0; margin: 0; background: #d12d40; border: 1px solid #d12d40; color: #fff; font-size: 1.4rem; font-weight: bold; -webkit-transition: background .3s ease, color .3s ease; transition: background .3s ease, color .3s ease; font-family: FontAwesome, "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; cursor: pointer; letter-spacing: 0.1em; vertical-align: middle; }
#header .coupon-input-button:hover { border-radius: 0; background: #fff; color: #d12d40; opacity: 1; }

body.home #header.fixed a.coupon-input-button { color: #fff; }

body.home #header.fixed a.coupon-input-button:hover { color: #d12d40; }

.coupon-note { color: #878787; font-size: 1.4rem; letter-spacing: 0.04em; line-height: 1.92857; }

.is-coupon-br { display: none; }

@media screen and (max-width: 1280px) { .coupon-wrap { right: 2.5vw; } }
@media screen and (max-width: 1023px) { .header__button .button__list { position: static; }
  .button__listItem.m-coupon { position: fixed; top: 5px; right: 66px; width: 50px; }
  body.home #header a.coupon-input-button { color: #fff; }
  body.home #header.fixed a.coupon-input-button { color: #fff; }
  #header div.header__button li.button__listItem.m-coupon > a { background: none; border: none; padding: 0; }
  body.home #header div.header__button li.button__listItem.m-coupon > a { background: none; border: none; padding: 0; }
  body.home #header div.header__button li.button__listItem.m-coupon > a:hover { background: none; }
  body.home #header.fixed div.header__button li.button__listItem.m-coupon > a { background: none; border: none; padding: 0; }
  .coupon-wrap { max-width: 447px; width: 93.125vw; padding-top: 0; }
  .coupon-opened .coupon-wrap { animation: dropdownFadeIn2 0.3s forwards; }
  .coupon-button::before { content: ''; display: block; width: 50px; height: 50px; background-image: url(/assets/images/common/icon-coupon-01.svg); background-position: 0 0; background-repeat: no-repeat; background-size: contain; } }
@media screen and (max-width: 640px) { .header__button .button__listItem:nth-child(n+2) { margin-top: 0; } }
@media screen and (max-width: 480px) { .header__button .button__listItem:nth-child(n+2) { margin-top: 0; }
  .coupon-wrap { right: 15px; width: calc(100% - 30px); }
  .coupon-inner { padding: 20px 10px; }
  .coupon-form-inner { width: 100%; max-width: 290px; margin: 10px auto; }
  .form-reset .coupon-select { height: 45px; padding: 0 20px 0 10px; font-size: 1.5rem; letter-spacing: 0.05em; }
  .iphone .form-reset .coupon-select { font-size: 1.6rem; }
  #header .coupon-input-button { width: 45px; height: 45px; } }
@media screen and (max-width: 413px) { .is-coupon-br { display: block; } }
@-webkit-keyframes dropdownFadeIn { 0% { opacity: 0; top: 75%; }
  100% { opacity: 1; top: calc(100% - 1px); } }
@keyframes dropdownFadeIn { 0% { opacity: 0; top: 75%; }
  100% { opacity: 1; top: calc(100% - 1px); } }
@-webkit-keyframes dropdownFadeIn2 { 0% { opacity: 0; top: 40px; }
  100% { opacity: 1; top: 59px; } }
@keyframes dropdownFadeIn2 { 0% { opacity: 0; top: 40px; }
  100% { opacity: 1; top: 59px; } }
/* footer */
.footer .footer-Navigation .shopNavi__block ul.shopNavi__block__list { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

/* top */
body.home #hero .hero_bg ul.hero__block__list li { height: 100vh; }

body.home #season_concept .inner{justify-content: center;}

body.home #season_concept .text .catch_copy.winter { color: #91b7f5; }

body.home #season_concept .text .catch_copy.summer { color: #f7b837; }

body.home #season_concept .text .catch_copy.autumn { color: #a3413f; }

body.home #season_concept .text .description { font-size: 1.4rem; }

body.home #season_concept .bx-wrapper img { margin: 0 auto; }

@media screen and (max-width: 1023px) { body.home #hero .hero_bg ul.hero__block__list li { height: 70vh; }
  body.home #season_concept .text .description { font-size: 1.2rem; } }
#staff.is-bgc-white { background: #fff; }

#staff .inner { max-width: 1080px; }

#staff .bx-wrapper { overflow: hidden; }

body.home #instagram.is-bgc-gray { background: #f4f4f4; }

body.home #shop.is-bgc-white { background: #fff; }

@media screen and (min-width: 1024px) { #staff .btn_next a { display: none; }
  #staff .btn_prev a { display: none; } }
/* gallery */
body.gallery #middle { margin-top: 72px; padding: 40px 0 0; border-top: 1px solid #f4f4f4; text-align: center; }
/* news */
body.news #middle { margin-top: 72px; padding: 40px 0 0; border-top: 1px solid #f4f4f4; text-align: center; }

body.home #news .news__block__listItem a { overflow: hidden; }

@media screen and (max-width: 1023px) { body.news #middle { margin-top: 0; } }
/* news_detail */
body.news_detail #post .contents { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

body.news_detail #post .post-article { width: 100%; }

.news_detail #post .item-category a { display: block; color: #fff; }

body.news_detail #post .tag { margin: 40px auto 0; }

body.news_detail #post .sns { padding-top: 40px; }

body.news_detail #post .post-article .post-header .post-image { border-radius: 10px 10px 0 0; }

@media screen and (max-width: 1023px) { body.news_detail #post .inner h2.section_title { padding-top: 20px; margin-bottom: 0px; }
  body.news_detail #post .post-article .post-header .post-image { height: 58.66667vw; } }
/* shop */
body.shop #middle { margin-top: 72px; padding: 40px 0 0; border-top: 1px solid #f4f4f4; text-align: center; }

body.shop #hyogo .btn_area .btn_coupon, body.shop #nara .btn_area .btn_coupon, body.shop #tokyo .btn_area .btn_coupon { width: 70%; }

body.shop .shopDetail__block__listItem .btn_area .btn_coupon { width: 70%; }

body.shop #hyogo .btn_area, body.shop #nara .btn_area, body.shop #tokyo .btn_area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

body.shop #hyogo .btn_map, body.shop #nara .btn_map, body.shop #tokyo .btn_map { position: static; padding: 9px; background-image: none; }

body.shop #hyogo.shop_detail .btn_map:hover, body.shop #nara.shop_detail .btn_map:hover, body.shop #tokyo.shop_detail .btn_map:hover { color: #fff; background-image: none; background-color: #d12d40; opacity: 1; }

body.shop .shop_detail .btn_map { font-size: 1.2rem; font-family: 'FuturaLT'; font-weight: initial; color: #d12d40; width: 30%; padding: 9px; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; border-radius: 20px; display: block; text-align: center; border: 1px solid #df6b78; -webkit-transition: .3s all ease; transition: .3s all ease; opacity: 1; }

body.shop .shop_detail .btn_map:hover { color: #fff; background: #d12d40; }

@media screen and (max-width: 1023px) { body.shop #middle { margin-top: 0; } }
/* shop renewal */
.shop-group * { box-sizing: border-box; }

.shop-group:last-child { margin-bottom: 50px; }

body.shop .shop-group h2.section_title { padding-bottom: 15px; border-bottom: none; color: #d12d40; font-size: 3.8rem; }

.shop-group-inner { max-width: 1320px; padding: 0 15px 35px; margin: 0 auto; }

.shop-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -3px; }

.shop-item { position: relative; width: calc((100% - 18px) / 3); margin: 3px; }
.shop-item::before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; content: ''; background-color: rgba(255, 255, 255, 0.65); -webkit-transition: .35s all ease; transition: .35s all ease; z-index: 1; }
.shop-item:hover::before, .shop-item:active::before { background-color: transparent; }
.shop-item::after { position: absolute; top: 0; bottom: 0; left: 0; right: 0; content: ''; background-color: rgba(255, 255, 255, 0.85); -webkit-transition: all 0.35s ease; transition: all 0.35s ease; opacity: 0; z-index: 2; }
.shop-item:hover::after, .shop-item:active::after { opacity: 1; position: absolute; top: 10px; bottom: 10px; left: 10px; right: 10px; }

.shop-caption { position: absolute; top: 60%; left: 0; display: block; width: 100%; z-index: 3; transform: translateY(-50%); }

.shop-img { width: 100%; vertical-align: middle; }

.shop-link { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 3; }

.shop-name-en { color: #333; font-size: 4.0rem; font-family: 'medio'; }

.shop-name-ja { padding-top: 10px; color: #333; font-size: 1.4rem; font-weight: 700; }

.shop-more { padding-top: 15px; color: #d12d40; font-size: 1.6rem; font-family: 'FuturaLT'; font-weight: 500; -webkit-transform: translateY(30px); transform: translateY(30px); -webkit-transition: .5s all ease; transition: .5s all ease; opacity: 0; }
.shop-item:hover .shop-more, .shop-item:active .shop-more { -webkit-transform: translate(0px, 0px); transform: translate(0px, 0px); opacity: 1; }

.shop-more-icon { padding-left: 6px; }

@media screen and (max-width: 1340px) { .shop-name-en { font-size: 3.2rem; }
  .shop-more { padding-top: 1.1194vw; } }
@media screen and (min-width: 600px) and (max-width: 1023px) { .shop-item { width: calc((100% - 12px) / 2); }
  .shop-caption { top: 55%; } }
@media screen and (max-width: 599px) { .shop-item { width: 100%; }
  .shop-name-en { font-size: 2.8rem; }
  .shop-name-ja { padding-top: 7px; }
  .shop-more { padding-top: 1.5625vw; } }
/* shop detail */
.shop_single .inner { display: -webkit-box; display: -ms-flexbox; display: flex; max-width: 1290px; padding: 120px 15px 100px; margin: 0 auto; }

.shop_single .inner * { -webkit-box-sizing: border-box; box-sizing: border-box; }

.shop_single .inner img { vertical-align: middle; }

.shop-data { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; width: 380px; margin-left: 60px; }

.shop-image-wrap { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

.shop-title-wrap { padding-top: 15px; }

.shop-type { color: #878787; font-size: 14px; font-size: 1.4rem; font-family: 'FuturaLT'; font-weight: 500; letter-spacing: 0.16em; }

.shop-title { display: flex; flex-wrap: wrap; align-items: flex-end; padding-top: 10px; }

.shop-title-ja { margin-right: 15px; color: #333; font-size: 30px; font-size: 3rem; font-weight: normal; letter-spacing: -0.01em; line-height: 1.2; }

.shop-title-en { padding-top: 5px; color: #333; font-size: 14px; font-size: 1.4rem; font-family: 'Playfair Display', serif; font-weight: normal; line-height: 2.0; letter-spacing: 0.1em; }

.shop-btn { 
  display: block;
  max-width: 380px;
  padding: 15px 0;
  margin: 30px auto 0px;
  background-color: #d12d40;
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 32px 8px;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  font-family: 'FuturaLT',"YuGothic","Yu Gothic","ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro",Osaka,Meiryo,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",Arial,Helvetica,Verdana,sans-serif;
  text-align: center;
  -webkit-transition: .3s all ease;
  transition: .3s all ease;
}

.shop-btn.hover { border-radius: 27px; opacity: 1; }

.shop-btn-info {
  margin: 10px 0 30px;
  text-align: center;
  color: #d12d40;
  font-weight: 700;
}

.shop-detail.no-coupon { padding-top: 30px; }

.shop-dlist { padding: 30px 10px; border-top: 1px solid #dcdcdc; }
.shop-dlist:not(.shop-accordion) { display: -webkit-box; display: -ms-flexbox; display: flex; }
.shop-dlist:last-child { border-bottom: 1px solid #dcdcdc; }
.shop-dlist.shop-accordion { padding: 10px; }

.shop-head { position: relative; width: 90px; color: #878787; font-size: 14px; font-size: 1.4rem; font-family: 'FuturaLT'; font-weight: 500; letter-spacing: 0.16em; -webkit-transition: .3s all ease; transition: .3s all ease; }
.shop-accordion .shop-head { width: 100%; padding: 20px 0; cursor: pointer; }
.open.shop-accordion .shop-head { color: #d12d40; }

.shop-accordion-icon-wrap { position: absolute; top: 50%; right: -8px; line-height: 1.0; -webkit-transform: translateX(0) translateY(-50%); -moz-transform: translateX(0) translateY(-50%); -ms-transform: translateX(0) translateY(-50%); -o-transform: translateX(0) translateY(-50%); transform: translateX(0) translateY(-50%); }

.shop-accordion-icon, .shop-accordion-icon::before, .shop-accordion-icon::after { display: inline-block; -webkit-transition: all .3s; transition: all .3s; }

.shop-accordion-icon { position: relative; width: 20px; height: 20px; }

.shop-accordion-icon::before, .shop-accordion-icon::after { content: ''; position: absolute; left: 0; width: 20px; height: 1px; background-color: #878787; }

.shop-accordion-icon::before { top: 10px; transform: rotate(0deg); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); }

.shop-accordion-icon::after { top: 10px; transform: rotate(90deg); -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); }

/*＋、－切り替え*/
.open .shop-accordion-icon::before { display: none; }

.open .shop-accordion-icon::after { top: 10px; background-color: #d12d40; transform: rotate(180deg); -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); }

.shop-desc { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; color: #333; font-size: 14px; font-size: 1.4rem; letter-spacing: 0.16em; line-height: 1.8; }
.shop-accordion .shop-desc { display: none; }
.shop-desc p { color: #878787; line-height: 1.8; }
.shop-desc p:not(:first-child) { padding-top: 20px; }
.shop-desc p span { display: block; margin-bottom: 5px; color: #434343; font-weight: bold; }

.shop-map { display: inline-block; padding-top: 10px; color: #d12d40; font-size: 12px; font-size: 1.2rem; font-family: 'FuturaLT'; font-weight: 500; letter-spacing: 0.16em; -webkit-transition: .3s all ease; transition: .3s all ease; }
.shop-map span { margin-right: 5px; }
.shop-map.hover { opacity: .7; }

.shop-image-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.shop-image-item:nth-child(1) { padding-bottom: 10px; }
.shop-image-item:nth-child(n+2) { width: calc((100% - 20px) / 2); padding: 10px 0; }

.shop-image-item img { width: 100%; }

.shop-thumb-list { display: none; }

.shop-thumb-link { cursor: pointer; }

@media screen and (max-width: 1023px) { .shop_single .inner { padding-top: 50px; }
  .shop-data { margin-left: 30px; } }
@media screen and (max-width: 900px) { .shop_single .inner { display: block; padding-bottom: 80px; }
  .shop-data { width: 100%; padding-top: 50px; margin-left: 0; }
  .shop-dlist { padding: 15px 10px; }
  .shop-dlist.shop-accordion { padding: 0 10px; }
  .shop-dlist.shop-accordion.open { padding-bottom: 15px; }
  .shop-accordion .shop-head { padding: 15px 0; }
  .shop-thumb-list { display: block; }
  .shop_single .bx-wrapper .bx-controls-direction a { margin-top: 0; height: auto; text-indent: 0; -webkit-transform: translateX(0) translateY(-50%); -moz-transform: translateX(0) translateY(-50%); -ms-transform: translateX(0) translateY(-50%); -o-transform: translateX(0) translateY(-50%); transform: translateX(0) translateY(-50%); }
  .shop_single .bx-wrapper .bx-prev { background: none; content: '\f104'; font-family: 'FontAwesome'; }
  .shop_single .bx-wrapper .bx-prev span { color: #d12d40; font-size: 50px; font-size: 5rem; }
  .shop_single .bx-wrapper .bx-next { background: none; content: '\f105'; font-family: 'FontAwesome'; }
  .shop_single .bx-wrapper .bx-next span { color: #d12d40; font-size: 50px; font-size: 5rem; } }
@media screen and (max-width: 480px) { .shop-title-ja { font-size: 28px; font-size: 2.8rem; }
  .shop-dlist:not(.shop-accordion) { display: block; }
  .shop-desc { padding-top: 10px; }
  .shop-accordion .shop-desc { padding-top: 0; } }
/* design */
body.design #middle { margin-top: 72px; padding: 40px 0 0; border-top: 1px solid #f4f4f4; text-align: center; }

body.design #design .design__block__listItem.no-data { max-width: 98%; width: auto; margin: 0 1% 70px; text-align: left; }

body.design #select_menu .inner ul li label { color: #df6b78; border: 1px solid #f4f4f4; padding: 3px 12px; border-radius: 15px; cursor: pointer; }
body.design #select_menu .inner ul li label:hover { opacity: .7; }

body.design #select_menu .inner ul li label.active { color: #fff; background: #df6b78; border: 1px solid #df6b78; }

body.design #select_menu .inner ul li .form-checkbox { display: none; }

body.design #select_menu .inner ul li .form-checkbox:checked + label { color: #fff; background: #df6b78; border: 1px solid #df6b78; }

@media screen and (max-width: 1023px) { body.design #middle { margin-top: 0; }
  body.design #select_menu .inner ul li { margin: 10px 5px; } }
@media screen and (min-width: 1024px) { body.design #middle h2.section_title { margin-bottom: 45px; } }
.lightbox { overflow: auto; position: fixed; top: 50% !important; height: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.lb-vertical { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.lb-coupon { max-width: 220px; margin: 30px auto 0; }

.lb-coupon a { border: 1px solid #fff; border-radius: 25px; background: url(/assets/images/common/arrow_header.png) #d12d40 no-repeat; background-position: right 15px center; background-size: 21px 6px; font-size: 1.2rem; display: block; text-align: center; padding: 12px 20px 11px 0; color: #fff; border: 1px solid #d12d40; -webkit-transition: .3s all ease; transition: .3s all ease; cursor: pointer; }

.lb-coupon a:hover { color: #d12d40; background: url(/assets/images/common/arrow_header_red.png) no-repeat #fff; background-position: right 15px center; border: 1px solid #d12d40; background-size: 21px 6px; opacity: 1; }

/* company */
body.company #middle #profile dl dt { padding: 35px 0 35px 20px; }

body.company #middle #profile dl dt span { width: auto; height: 18px; }

@media screen and (max-width: 1023px) { body.company #middle #profile dl dt { padding: 30px 0 10px 0; width: 100%; }
  body.company #middle #profile dl.first dt { border-top: none; }
  body.company #middle #profile dl.first dd { border-top: none; } }
/* reservation */
body.reservation #middle h2 p { font-size: 1.6rem; font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; line-height: 1.78571em; padding-top: 0.5em; padding-bottom: 0; }

body.reservation #reserveShopNavi .shopNavi__block ul.shopNavi__block__list li.shopNavi__block__listItem span { font-size: 1.2rem; white-space: nowrap; color: #df6b78; padding: 2px 19px; border-radius: 15px; display: block; text-align: center; background-color: #eee; border: 1px solid #eee; -webkit-transition: .3s all ease; transition: .3s all ease; }

@media screen and (max-width: 1023px) { body.reservation #reserveShopNavi .shopNavi__block ul.shopNavi__block__list li.shopNavi__block__listItem span { font-size: 1.4rem; padding: 3px 12px; border-radius: 15px; } }
/* recruit */
body.recruit #middle #about .about__block__listItem { padding-left: 1em; letter-spacing: 0.05em; text-indent: -1em; }

body.recruit #middle #about .about__block__listItem:after { left: 0; }

body.recruit_form form select { line-height: 1.2; }

#comment + .use__block__list { margin-top: 30px; }

body.contact .contents form .use__block__list + #form_bottom { margin-top: 20px; }

.wpcf7-form-control-wrap { vertical-align: middle; }

/* contact */
.use__block__list { padding-bottom: 20px; }

.use__block__list.mod-description { padding-bottom: 50px; }

.use__block__list.mod-attention { font-size: 1.2rem; padding-bottom: 0; text-align: left; }

body.contact .contents form { margin-top: 5px; border-radius: 10px; }

body.contact .contents form input[type="tel"], body.contact .contents form input[type="email"] { -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; padding: 5px; border-radius: 4px; border: 0; width: 100%; }

span.wpcf7-list-item-label:before,span.mwform-radio-field-text:before { font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

span.wpcf7-list-item,span.mwform-radio-field.horizontal-item { min-width: 120px; }
span.mwform-radio-field.horizontal-item{display:inline-block;}
body.contact .contents form .wpcf7-list-item-label:before,body.contact .contents form .mwform-radio-field-text:before { content: "\ea56"; margin: 0 10px 0 0; color: #df6b78; background: #fff; border-radius: 100%; }

body.contact .contents form input[type="radio"]:checked + .wpcf7-list-item-label:before,body.contact .contents form input[type="radio"]:checked + .mwform-radio-field-text:before { content: "\ea55"; }

body.contact .contents form input[type="radio"]:checked + .wpcf7c-conf-hidden + .wpcf7-list-item-label:before { content: "\ea55"; }

body.contact .contents form input[type="radio"].wpcf7c-conf + .wpcf7-list-item-label { display: none; }

body.contact .contents form input[type="radio"].wpcf7c-conf + .wpcf7c-conf-hidden + .wpcf7-list-item-label { display: block; color: #000; }

body.contact .contents form input[type="radio"].wpcf7c-conf + .wpcf7c-conf-hidden + .wpcf7-list-item-label:before { display: none; }

form div.wpcf7-response-output { margin: 0 0 40px; }

form div.wpcf7-validation-errors { border: none; color: #df6b78; font-weight: bold; }

form div.wpcf7-mail-sent-ok { border: none; color: #df6b78; font-weight: bold; }

form span.wpcf7-not-valid-tip,.mw_wp_form .error { color: #df6b78; font-weight: bold; }

.is-confirm .wpcf7-form .wpcf7-radio span.wpcf7-list-item { margin: 0; }

form .wpcf7c-conf,.mw_wp_form_confirm dd  { background-color: transparent; color: #000; }

.is-confirm .wpcf7-form input:-webkit-autofill, .is-confirm .wpcf7-form select:-webkit-autofill, .is-confirm .wpcf7-form textarea:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #fff2f3 inset; color: #878787; }

body.contact .contents form #form_bottom { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

body.contact .contents form.wpcf7-form #form_bottom button[type="submit"], body.contact .contents form.wpcf7-form #form_bottom .wpcf7-confirm[type="submit"], body.contact .contents form #form_bottom a.btn_back, body.contact .contents form #form_bottom .wpcf7-back { font-family: "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }

body.contact .contents form #form_bottom button[type="submit"] { display: none; }

.is-confirm .wpcf7-form .btn_back { display: none !important; }

.is-confirm span.wpcf7-list-item { min-width: auto; min-width: initial; }

.is-confirm .wpcf7-form-control.wpcf7-radio { padding: 5px; }

body.contact .contents .is-confirm form textarea { outline: none; padding: 5px; }

body.contact .contents .is-confirm form.wpcf7-form #form_bottom button[type="submit"] { display: block; }

body.contact .contents form.wpcf7-form #form_bottom .wpcf7-confirm[type="submit"], body.contact .contents form.wpcf7-form #form_bottom .wpcf7-submit[type="submit"], body.contact .contents .mw_wp_form #form_bottom input[name="submitConfirm"], body.contact .contents .mw_wp_form #form_bottom input[name="submit"]{ width: 275px; height: 50px; font-size: 1.8rem; line-height: 1em; letter-spacing: 0.3em; color: #fff; -webkit-font-smoothing: antialiased; padding: 15px 0; border-radius: 27px; display: block; text-align: center; background: url(/assets/images/common/arrow_white.png) no-repeat #d12d40; background-position: right 25px center; background-size: 32px 8px; border: 1px solid #d12d40; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: .3s all ease; transition: .3s all ease; outline: none; }
body.contact .contents form.wpcf7-form #form_bottom .wpcf7-confirm[type="submit"]:hover, body.contact .contents form.wpcf7-form #form_bottom .wpcf7-submit[type="submit"]:hover,body.contact .contents .mw_wp_form #form_bottom input[name="submitConfirm"]:hover,body.contact .contents .mw_wp_form #form_bottom input[name="submit"]:hover { color: #d12d40; background: url(/assets/images/common/arrow_pink.png) no-repeat #fff; background-position: right 25px center; background-size: 32px 8px; opacity: 1; }

div.wpcf7 .ajax-loader { display: none !important; }

body.contact .contents form #form_bottom .wpcf7-back,body.contact .contents form #form_bottom input[name="submitBack"] { width: 275px; height: 50px; font-size: 1.8rem; letter-spacing: 0.3em; color: #df6b78; -webkit-font-smoothing: antialiased; padding: 15px 0; margin-left: 20px; border-radius: 27px; display: block; text-align: center; background: #fff; border: 1px solid #df6b78; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: .3s all ease; transition: .3s all ease; cursor: pointer; line-height: 1.0; outline: none; }

body.contact .contents form #form_bottom .wpcf7-back:hover,body.contact .contents form #form_bottom input[name="submitBack"]:hover { color: #fff; background: #d12d40; opacity: 1; }

body.recruit_form .is-confirm form.wpcf7-form select { background-color: transparent; background: none; padding: 0; vertical-align: text-top; margin-right: 0; margin-left: 5px; }

@media screen and (max-width: 1023px) { body.contact .contents form.wpcf7-form #form_bottom .wpcf7-confirm[type="submit"], body.contact .contents form.wpcf7-form #form_bottom .wpcf7-submit[type="submit"], body.contact .contents .mw_wp_form #form_bottom input[name="submitConfirm"], body.contact .contents .mw_wp_form #form_bottom input[name="submit"] { max-width: 275px; width: 100%; margin: 0 auto; }
body.contact .contents form #form_bottom .wpcf7-back,body.contact .contents form #form_bottom input[name="submitBack"] { max-width: 275px; width: 100%; margin: 20px auto 0; } }
/* contact - recruit */
.description-note {
text-align: center;
margin-bottom: 40px;
margin-top: 20px;
font-weight: 700;
line-height: 2em;
font-size: 24px!important;
color: #333;
}

.description-note-small {
text-align: center;
margin-bottom: 20px;
font-weight: 700;
line-height: 1.6em;
font-size: 14px!important;
color: #333;
}

.description-note-link {
color: #df6b78;
}

.description-block {
margin-bottom: 100px;
}

@media screen and (min-width: 1024px) {
.description-note-sp {
display: none;
}
}

@media screen and (min-width: 370px) {
.description-ttl-sp {
display: none;
}
}

@media screen and (max-width: 1023px) {
.description-note {
font-size: 15px!important;
}
.description-block {
margin-bottom: 0px;
}
}

@media screen and (max-width: 370px) {
.description-note {
font-size: 13px!important;
}
}




.description-container { display: inline-block; padding: 10px 20px; margin: 0 auto 30px; border: 1px solid #df6b78; }
.description-container.m-bottom-caption { margin-bottom: 10px; }

.description-caption { text-align: center; margin-bottom: 30px; font-size: 1.3rem; }

body.contact .contents dl.description-dlist { width: 100%; border-bottom: none; }

body.contact .contents dl.description-dlist:first-child { width: 100%; margin-bottom: 10px; border-bottom: none; }

body.contact .contents dl dt.description-heading { display: block; width: 180px; padding: 10px 10px 5px 10px; background-color: transparent; color: #878787; font-weight: bold; vertical-align: top; }

body.contact .contents dl dd.description-data { display: block; width: auto; padding: 0 10px; background-color: transparent; }

.description-data .description-item { display: inline-block; vertical-align: top; }

.description-data .description-list:first-child { margin-bottom: 5px; }

.description-data .description-item.no-block:not(:first-child) { padding-left: 0.5em; }

.description-attention { padding: 20px 0 10px 1.6em; text-indent: -1em; text-align: left; }

@media screen and (max-width: 640px) { .description-data .description-item:not(.no-block) { display: block; } }
@media screen and (max-width: 480px) { .description-container { padding: 10px; } }
/* recruit */
body.recruit #middle .btn-link.mod-interview { border-radius: 50px; margin-top: 20px; }

@media screen and (max-width: 1023px) { body.recruit #middle .btn-link { width: 80%; } }
@media screen and (max-width: 480px) { body.recruit #middle .btn-link { font-size: 12px; font-size: 1.2rem; } }
/* post */
.post-content a { color: #df6b78; }
.post-content a:hover { opacity: .7; }

/* ナビ一覧のナビゲーション */
.pager { padding: 0 5px; margin: 0 auto 130px; text-align: center; font-family: 'FuturaLT'; }

.wp-pagenavi { margin: -3px; }

.pager a, .pager span:not(.extend) { display: inline-block; color: #c5c5c5; font-size: 1.6rem; border: 1px solid #c5c5c5; border-radius: 5px; width: 42px; height: 42px; margin: 0 5px; line-height: 40px; vertical-align: middle; text-align: center; -webkit-box-sizing: border-box; box-sizing: border-box; }
.pager a:not(.current):hover, .pager span:not(.extend):not(.current):hover { color: #fff; background: #df6b78; border: 1px solid #df6b78; opacity: 1; }

.pager span.extend { display: inline-block; color: #c5c5c5; font-size: 1.6rem; border-radius: 5px; width: 42px; height: 42px; line-height: 40px; text-align: center; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box; }

.pager span.current { display: inline-block; background-color: #df6b78; border-color: #df6b78; color: #fff; cursor: default; -webkit-box-sizing: border-box; box-sizing: border-box; }
.pager span.current:after { content: none; }

.previouspostslink, .nextpostslink { position: relative; }

.pager-icon { position: absolute; top: 50%; left: 50%; left: 50%; line-height: 1.0; -webkit-transform: translateX(-50%) translateY(-50%); -moz-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); -o-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); }

.pager-icon:before { font-size: 24px; font-size: 2.4rem; }

@media screen and (max-width: 767px) { .pager a, .pager span:not(.extend) { margin: 0 5px; } }
@media screen and (max-width: 640px) { .pager { padding-top: 40px; }
  .pager a, .pager span:not(.extend) { width: 8.75vw; height: 8.75vw; margin: 0 0.78125vw; font-size: 28px; font-size: 4.375vw; line-height: 8.4375vw; }
  .pager span.extend { width: 8.75vw; height: 8.75vw; font-size: 28px; font-size: 4.375vw; line-height: 8.4375vw; }
  .pager-icon:before { font-size: 30px; font-size: 4.6875vw; } }
@media screen and (max-width: 480px) { .wp-pagenavi { position: relative; padding-bottom: 16.66667vw; }
  .wp-pagenavi .previouspostslink { position: absolute; bottom: 0; left: 0; width: calc((100% - 10px) / 2); }
  .wp-pagenavi .nextpostslink { position: absolute; bottom: 0; right: 0; width: calc((100% - 10px) / 2); }
  .pager a, .pager span:not(.extend) { width: 12.5vw; height: 12.5vw; font-size: 28px; font-size: 5.83333vw; line-height: 12.08333vw; }
  .pager span.extend { width: 8.33333vw; height: 12.5vw; font-size: 28px; font-size: 5.83333vw; line-height: 12.08333vw; }
  .pager-icon:before { font-size: 24px; font-size: 5vw; } }



/* top - modal-coupon */
/* load open trigger */
.modal-hidden-switch { display: none; }
/* modaal custom */
.modaal-overlay { z-index: 1000; }
.modaal-close { position: absolute; top: -60px; right: 0; }
.modaal-close:after, .modaal-close:before { top: 0; width: 2px; height: 50px; }
.modaal-container { max-width: 440px; }
.modaal-content-container { padding: 0; }
.modaal-close::before, .modaal-close::after { transition: opacity .3s ease }
.modaal-close:focus, .modaal-close:hover { background-color: transparent; }
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before { background-color: #fff ;opacity: .7 }
@media screen and (max-width: 480px) { .modaal-inner-wrapper { padding: 30px 15px; }
  .modaal-close { top: -50px; width: 35px; height: 35px; }
  .modaal-close:after, .modaal-close:before { left: 17px; height: 35px; } }
/* coupon style */
.modal-coupon-title { vertical-align: middle; }
.modal-coupon-button { cursor: pointer; }
.modal-coupon-button::before { content: 'WEBクーポン予約'; }

.modal-coupon-wrap { display: none; position: absolute; right: 32px; width: 447px; }

@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) { .modal-coupon-wrap { padding-top: 6px; } }
.modal-coupon-inner { max-width: 440px; padding: 94px 24px 60px; background-color: #fff; background-position: center center; background-repeat: no-repeat; -webkit-background-size: cover; background-size: cover; box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.06); text-align: center; }

.modal-coupon-lead { margin-top: 30px; color: #000; font-size: 1.6rem; font-weight: bold; letter-spacing: 0.06em; line-height: 1.6875; }
.modal-coupon-lead span { background-repeat: repeat-x; background-size: 1.09em .5em; background-position: top left -2px; background-image: -webkit-gradient(radial, center center, 0, center center, 1.5, from(#e71f18), color-stop(0.5, #e71f18), color-stop(0.9, transparent), to(transparent)); background-image: -webkit-radial-gradient(center center, 0.13em 0.13em, #e71f18, #e71f18 95%, transparent 95%, transparent); background-image: radial-gradient(0.12em 0.12em at center center, #e71f18, #e71f18 95%, rgba(0, 0, 0, 0)); padding: 0.5em 0; }

_::-webkit-full-page-media, _:future, :root .modal-coupon-lead span { -webkit-text-emphasis-style: filled; -webkit-text-emphasis-color: #e71f18; background-image: none; }

.modal-coupon-form-inner { display: -webkit-box; display: -ms-flexbox; display: flex; width: 290px; margin: 20px auto; }

.form-reset .modal-coupon-label { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; max-width: 100%; }

.form-reset .modal-coupon-select { display: flex; align-items: center; width: 100%; height: 50px; padding: 0 28px 0 15px; border: 1px solid #707070; border-width: 1px 1px 1px 1px; background-color: #fff; color: #444; font-size: 1.6rem; letter-spacing: 0.08em; }

.modal-coupon-input-button { -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 50px; height: 50px; text-align: center; padding: 0; margin: 0; background: #d12d40; border: 1px solid #d12d40; color: #fff; font-size: 1.4rem; font-weight: bold; -webkit-transition: background .3s ease, color .3s ease; transition: background .3s ease, color .3s ease; font-family: FontAwesome, "YuGothic", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; cursor: pointer; letter-spacing: 0.1em; vertical-align: middle; }
.modal-coupon-input-button:hover { border-radius: 0; background: #fff; color: #d12d40; opacity: 1; }

.modal-coupon-input-button { color: #fff; }

.modal-coupon-input-button:hover { color: #d12d40; }

.modal-coupon-note { color: #000; font-size: 1.4rem; font-weight: bold; letter-spacing: 0.04em; line-height: 1.92857; }

.is-modal-coupon-br { display: none; }

@media screen and (max-width: 1280px) { .modal-coupon-wrap { right: 2.5vw; } }
@media screen and (max-width: 1023px) { .header__button .button__list { position: static; }
  .button__listItem.m-coupon { position: fixed; top: 5px; right: 66px; width: 50px; }
  .modal-coupon-input-button { color: #fff; }
  .modal-coupon-input-button { color: #fff; }
  .m-coupon > a { background: none; border: none; padding: 0; }
  .m-coupon > a { background: none; border: none; padding: 0; }
  .m-coupon > a:hover { background: none; }
  .fixed .m-coupon > a { background: none; border: none; padding: 0; }
  .modal-coupon-wrap { max-width: 447px; width: 93.125vw; padding-top: 0; }
  .modal-coupon-button::before { content: ''; display: block; width: 50px; height: 50px; background-image: url(/assets/images/common/icon-modal-coupon-01.svg); background-position: 0 0; background-repeat: no-repeat; background-size: contain; } }
@media screen and (max-width: 480px) {
  .modal-coupon-wrap { right: 15px; width: calc(100% - 30px); }
  .modal-coupon-inner { padding: 62px 10px 35px; }
  .modal-coupon-lead { margin-top: 25px; font-size: 1.4rem; }
  .modal-coupon-form-inner { width: 100%; max-width: 290px; }
  .form-reset .modal-coupon-select { height: 45px; padding: 0 20px 0 10px; font-size: 1.5rem; letter-spacing: 0.05em; }
  .iphone .form-reset .modal-coupon-select { font-size: 1.6rem; }
  .modal-coupon-input-button { width: 45px; height: 45px; }
  .modal-coupon-note { font-size: 1.2rem; } }
@media screen and (max-width:420px) {
  .modal-coupon-form-inner {
    max-width:250px;
  }
}
@media screen and (max-width: 413px) { .is-modal-coupon-br { display: block; } }


.nowrap { display: inline-block; white-space: nowrap; }

.mod-emphasis { font-size: 1.6rem; font-weight: bold; }

.is-tab-only-show { display: none; }

.is-desk-only-show { display: none; }

.is-tab-only-hide { display: block; }

.is-tab-show { display: none; }

.is-sp-show { display: none; }

.is-sp-i-show { display: none; }

.is-sp-m-show { display: none; }

.is-sp-s-show { display: none; }

.is-sp-xs-show { display: none; }

@media screen and (max-width: 1023px) {
  .is-desk-show { display: block; }
  .is-desk-hide { display: none; }
  .is-desk-show-ib { display: inline-block; }
  .is-desk-only-show {display: block;}
}
@media screen and (max-width: 900px) { .is-pc-only-show { display: none; }
  .is-tab-hide { display: none; }
  .is-tab-show { display: block; } }
@media screen and (max-width: 768px) { .is-sp-i-hide { display: none; }
  .is-sp-i-show { display: block; } }
@media screen and (max-width: 767px) { .is-sp-hide { display: none; }
  .is-sp-show { display: block; } }
@media screen and (max-width: 640px) { .is-sp-m-show { display: block; }
  .is-sp-m-hide { display: none; } }
@media screen and (max-width: 480px) { .is-sp-s-show { display: block; }
  .is-sp-s-hide { display: none; } }
@media screen and (max-width: 320px) { .is-sp-xs-show { display: block; }
  .is-sp-xs-hide { display: none; } }
@media screen and (min-width: 768px) and (max-width: 900px) { .is-tab-only-show { display: block; }
  .is-tab-only-hide { display: none; } }

@media screen and (min-width: 1024px) {
  #header.fixed.def-bgWhite+#middle #hero { height: calc(52.5vw - 72px); margin-top: 72px; }
}
@media screen and (min-width: 768px) and (max-width: 1023px) { .add-banner #header.fixed.def-bgWhite+#middle #hero { height: calc(50vw - 35px); margin-top: 35px; } }
@media screen and (max-width: 767px) {
  .add-banner #header.fixed.def-bgWhite+#middle #hero { height: calc(145vw - 35px); margin-top: 35px; }
  body.home #hero .hero_bg ul.hero__block__list li { height: 234vw; }
}

body.home #hero .hero_bg ul.hero__block__list li.size-contain { background-size: contain; background-position: top; }

body.home #hero .hero_bg {position: relative;}



/* gallery */
.galleryGroup {
  margin-top: 60px;
  margin-bottom: 100px;
}
.gallery__inner {
  max-width: 1600px;
  padding: 0 100px;
  margin: 0 auto;
}
.gallery__list {
  display: flex;
  flex-wrap: wrap;
}
.gallery__item {
  margin-right: 50px;
  margin-bottom: 50px;
  position: relative;
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1500ms;
}
.gallery__item.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
.gallery__item-off img {
  display: block;
}
.gallery__item-on {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  top: 0;
  left: 0;
  border: 1px solid rgba(112, 112, 112, 0.9);
  box-sizing: border-box;
  transition: opacity 0.4s, visibility 0s ease 0.4s;
  opacity: 0;
  visibility: hidden;
}
.gallery__item-on:hover {
  opacity: 1;
}
.gallery__item-content-wrap {
  height: calc(100% - 50px);
  display: flex;
  align-items: center;
}
.gallery__item-more {
  width: 100%;
  font-size: 2.0rem;
  font-family: 'medio';
  font-weight: 500;
  color: #fff;
  background-color: #222222;
  position: absolute;
  bottom: 0;
  padding: 14px 0;
}
.gallery__item-more._normal_ {
  background-color: transparent;
  margin-bottom: 1px;
}
.gallery__item-lead {
  color: #333333;
  font-size: 3.0rem;
  font-family: 'medio';
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
}
.gallery__item-tagList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 22px;
}
.gallery__item-tagitem {
  font-size: 1.4rem;
  color: #888888;
  font-family: 'FuturaLT';
  margin: 0 8px;
}
.gallery__item-tagitem::before {
  content: '#';
}
.gallery__item:hover .gallery__item-on {
  transition-delay: 0s;
  opacity: 1;
  visibility: visible;
}
.gallery__item-pic img {
  display: block;
}
.gallery__modal {
  display: none;
}
.gallery-modal .modaal-container {
  max-width: 1600px;
  box-shadow: none;
}
.gallery-modal .modaal-inner-wrapper {
  padding: 200px 100px;
}
.gallery-modal .modaal-close {
  width: 42px;
  height: 42px;
  top: -70px;
}
.gallery-modal .modaal-close:after,
.gallery-modal .modaal-close:before {
  background: #707070;
  border-radius: 0;
  width: 1px;
  height: 58px;
  left: 20px;
  top: -8px;
}
.gallery__modal-pic {
  margin-bottom: 120px;
}
.gallery__modal-block {
  margin-bottom: 40px;
}
.gallery__modal-block._column_ {
  display: flex;
  justify-content: space-between;
}
.gallery__modal-block._column_ img {
  width: calc((100% - 40px)/2);
  align-self: flex-start;
}
.gallery__modal-title {
  font-size: 4.8rem;
  font-family: 'medio';
  font-weight: 500;
  text-align: center;
  margin-bottom: 90px;
  line-height: 1.2;
}
.gallery__modal-close {
  width: 320px;
  height: 60px;
  background-color: #222222;
  color: #fff;
  font-size: 2.0rem;
  font-family: 'medio';
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.gallery__movie {
  background-color: #F4F4F4;
  padding: 100px 0;
}
.gallery__movie-inner {
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 100px;
}
.gallery__movie-inner a {
  display: block;
}
.gallery__movie-inner img {
  width: 100%;
}

.galleryGroup .pager {
	margin-top: 120px;
}


@media screen and (min-width: 1024px) {
  .gallery__item {
    width: calc((100% - 100px) / 3);
  }
  .gallery__item:nth-of-type(3n) {
    margin-right: 0;
  }
  .gallery__item:nth-child(3n+2) {
    top: 60px;
  }
  .gallery__movie-inner {
    display: flex;
    justify-content: space-between;
  }
  .gallery__movie-inner a {
    width: calc((100% - 50px)/2);
  }
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
  .gallery__item-lead {
    font-size: 2.3vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .gallery__item {
    width: calc((100% - 50px) / 2);
  }
  .gallery__item:nth-of-type(2n) {
    margin-right: 0;
    top: 60px;
  }
	.galleryGroup .pager {
	margin-top: 20px;
}
}

@media screen and (min-width: 768px) {
  .gallery__item:nth-of-type(2n).scrollin {
    transition-delay: 0.4s;
  }
  .gallery__item:nth-of-type(3n).scrollin {
    transition-delay: 0.8s;
  }
  .gallery__movie-inner a:first-of-type {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .gallery__item {
    margin-right: 0;
    margin-bottom: 25px;
  }
  .galleryGroup {
    margin-top: 20px;
    margin-bottom: 40px;
  }
  .gallery__item-lead {
    font-size: 2.0rem;
  }
  .gallery__item-more {
    font-size: 1.2rem;
    padding: 6px 0;
  }
  .gallery__item-tagitem {
    font-size: 1.0rem;
  }
  .gallery__item-tagList {
    margin-top: 12px;
  }
  .gallery__inner {
    padding: 0 20px;
  }
  .gallery__modal-title {
    font-size: 2.4rem;
    margin-bottom: 50px;
  }
  .gallery-modal .modaal-outer-wrapper {
    display: block;
  }
  .gallery-modal .modaal-inner-wrapper {
    display: block;
    padding: 100px 20px;
    height: auto;
  }
  .gallery__modal-block._column_ img {
    width: calc((100% - 20px)/2);
  }
  .gallery__modal-block {
    margin-bottom: 20px;
  }
  .gallery__modal-close {
    width: 160px;
    height: 30px;
    font-size: 1.0rem;
  }
  .gallery__modal-pic {
    margin-bottom: 40px;
  }
  .gallery-modal .modaal-close {
    width: 22px;
    height: 22px;
    top: -70px;
  }
  .gallery-modal .modaal-close:after,
  .gallery-modal .modaal-close:before {
    height: 30px;
    left: 10px;
    top: -4px;
  }
  .gallery__movie {
    padding: 50px 0;
  }
  .gallery__movie-inner {
    padding: 0 20px;
  }
  .gallery__movie-inner a:first-of-type {
    margin-bottom: 20px;
  }
		.galleryGroup .pager {
	margin-top: 40px;
}
}

@media screen and (max-width: 640px){
	.galleryGroup .pager {
	margin-top: 0;
}
}
