@charset 'utf-8';

/* Reset
--------------------------------------------------- */
*, ::before, ::after { box-sizing: border-box; }
::before, ::after { text-decoration: inherit; vertical-align: inherit; }
html { cursor: default; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-tap-highlight-color: transparent; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; word-break: break-word; }
body { margin: 0; }
h1 { font-size: 2em; margin: 0.67em 0; }
dl dl, dl ol, dl ul, ol dl, ul dl { margin: 0; }
ol ol, ol ul, ul ol, ul ul { margin: 0; }
hr { height: 0; overflow: visible; }
main { display: block; }
nav ol, nav ul { list-style: none; padding: 0; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
iframe { border-style: none; }
img { border-style: none; }
svg:not([fill]) { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-collapse: collapse; }
details { display: block; }
dialog { background-color: white; border: solid; color: black; display: block; height: -moz-fit-content; height: -webkit-fit-content; height: fit-content; left: 0; margin: auto; padding: 1em; position: absolute; right: 0; width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; }
dialog:not([open]) { display: none; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a, area, button, input, label, select, summary, textarea, [tabindex] { touch-action: manipulation; }
[hidden] { display: none; }
img { max-width: 100%; height: auto; }
img[src$=".svg"], svg { width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 100%; font-weight: normal; }
blockquote, figure, p { margin: 0; }
dl, dd, ol, ul { margin: 0; padding: 0; }
ul, ol { list-style: none; }
i, em { font-style: normal; }

/* base */
html { font-size: 62.5%; }
@media screen and (max-width:23.4365em) {
  html { font-size: 56.25%; }
}
@media screen and (min-width:48em) {
  html { font-size: 56.25%; }
}
@media screen and (min-width:80em) {
  html { font-size: 62.5%; }
}
body { font-family: 'Readex Pro', Midashi Go MB31, 'MidashiGoPro-MB31', sans-serif; font-weight: 400; font-size: 1.6rem; color: #7a4a00; line-height: 1; letter-spacing: 0.1em; -webkit-font-feature-settings: "palt" 1; font-feature-settings: "palt" 1; }
@media (-webkit-min-device-pixel-ratio:2) {
  body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
}
::-moz-selection { background: #ff3600; color: #fff; text-shadow: none; }
::selection { background: #ff3600; color: #fff; text-shadow: none; }
a { color: #161616; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
a:link, a:visited { color: #161616; text-decoration: none; }
@media screen and (min-width:48em) {
  a:hover, a:active { color: #ff3600; }
  svg path { transition: fill 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
}

/* Layouts
--------------------------------------------------- */

/* frame */
.frame { width: 100%; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; }
.frame__header, .frame__footer { flex-grow: 0; width: 100%; }
.frame__content { flex-grow: 1; width: 100%; overflow: hidden; }
@media screen and (max-width:47.999em) {
  .frame__content { min-height: 48rem; }
}
@media screen and (min-width:48em) {
  .frame__header, .frame__footer, .frame__content { min-width: 1024px; }
  .frame__content { min-height: 80rem; }
}

/* Components
--------------------------------------------------- */

/**
 * structure
 */

/* header */
.header { position: absolute; top: 0; left: 0; z-index: 999; }
.header.-sticky { transition: box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1); box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); }
@media screen and (max-width:47.999em) {
  .header { padding: 1.2rem 4.27%; }
  .header__logo { width: 15.48rem; }
}
@media screen and (min-width:48em) {
  .header__logo { width: 28.4rem; margin-top: 2.4rem; margin-bottom: 2.2rem; margin-left: 3.33%; transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .header__logo a:hover path { fill: #7a4a00; transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .header.-sticky .header__logo { width: 20rem; margin-top: 2rem; margin-bottom: 1.8rem; transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }
}
.nav__container { display: flex; align-items: center; justify-content: center; position: fixed; top: -100vh; left: 0; width: 100%; height: 100%; min-height: 100vh; background-color: #fffbf5; opacity: 0; transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), top 0.1s cubic-bezier(0.19, 1, 0.22, 1) 1s; }
.nav__menu { -webkit-transform: translateY(-10%); transform: translateY(-10%); transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
.nav__button { position: fixed; top: 3.2rem; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); right: calc(4.27% - 4rem); z-index: 999; width: 5.6rem; height: 5.6rem; display: block; cursor: pointer; background-color: #fffbf5; border-radius: 50%; }
.nav__button-icon { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 3.2rem; height: 2px; background-color: #ff3600; border-radius: 2px; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
.nav__button-icon::before, .nav__button-icon::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 3.2rem; height: 2px; background-color: #ff3600; transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
.nav__button-icon::before { -webkit-transform: translateY(-8px); transform: translateY(-8px); }
.nav__button-icon::after { -webkit-transform: translateY(8px); transform: translateY(8px); }
.nav.-open .nav__container { top: 0; z-index: 100; overflow-y: scroll; opacity: 1; transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1); }
.nav.-open .nav__menu { -webkit-transform: translateY(0); transform: translateY(0); transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
.nav.-open .nav__button-icon { background-color: transparent; }
.nav.-open .nav__button-icon::before { -webkit-transform: rotate(15deg) scale(1); transform: rotate(15deg) scale(1); }
.nav.-open .nav__button-icon::after { -webkit-transform: rotate(-15deg); transform: rotate(-15deg); }
@media screen and (min-width:48em) {
  .nav__menu { padding-left: 37.6rem; }
  .nav__menu::before { content: ' '; position: absolute; top: 0; left: 0; display: block; width: 28rem; height: 100%; background: url("../img/hero.jpg") 80% center no-repeat; background-size: cover; border-radius: 2rem; }
  .nav__button { top: 6rem; right: calc(3.33% - 6rem); width: 8rem; height: 8rem; }
  .nav__button-icon { width: 4rem; }
  .nav__button-icon::before, .nav__button-icon::after { width: 4rem; }
  .nav__button:hover .nav__button-icon, .nav__button:hover .nav__button-icon::before, .nav__button:hover .nav__button-icon::after { background-color: #7a4a00; }
  .nav.-open .nav__button:hover .nav__button-icon { background-color: transparent; }
}
.nav-menu { font-weight: 600; text-transform: uppercase; }
.nav-menu a, .nav-menu a:link, .nav-menu a:visited { color: #ff3600; }
@media screen and (max-width:47.999em) {
  .nav-menu { font-size: 4rem; }
  .nav-menu.-sub { font-size: inherit; }
  .nav-menu__item { line-height: 2; }
  .nav-menu__item > a { display: block; }
}
@media screen and (min-width:48em) {
  .nav-menu { font-size: 4.8rem; }
  .nav-menu a:hover, .nav-menu a:active { color: #7a4a00; }
  .nav-menu.-sub { margin-top: 3.2rem; font-size: inherit; }
  .nav-menu__item:not(:first-child) { margin-top: 3.2rem; }
}

/* footer */
.footer { background-color: #fffbf5; font-size: 1.2rem; }
@media screen and (max-width:47.999em) {
  .footer { padding: 3.2rem 4.27%; }
  .footer__logo { width: 18.6rem; margin: auto; }
  .footer__copyright { margin-top: 2.4rem; text-align: center; }
}
@media screen and (min-width:48em) {
  .footer { padding: 9.6rem 0; }
  .footer__inner { display: flex; flex-wrap: wrap; margin: auto; width: 91.8%; max-width: 131.2rem; }
  .footer__logo { width: 25.6rem; margin-right: auto; }
  .footer__copyright { margin-top: 2.4rem; width: 100%; }
}
.footer-menu { display: flex; flex-wrap: wrap; }
.footer-menu__item.-external { font-family: Gothic Medium BBB, 'GothicBBBPro-Medium', sans-serif; }
.footer-menu__item.-external svg { width: 1rem; margin-left: 0.8rem; margin-bottom: 0.2rem; }
.footer-menu__item.-instagram { width: 100%; }
.footer-menu__item.-instagram svg { width: 2.4rem; margin-left: 1.6rem; margin-bottom: 0.2rem; }
.footer-menu__item.-sunfresh { width: 14.35rem; }
@media screen and (max-width:47.999em) {
  .footer-menu { justify-content: center; }
  .footer-menu__item { margin-top: 2.4rem; }
  .footer-menu__item:not(:first-child) { margin-left: 1.6rem; }
  .footer-menu__item.-instagram { text-align: center; }
  .footer-menu__item.-sunfresh { margin-top: 1.6rem; }
}
@media screen and (min-width:48em) {
  .footer-menu { justify-content: flex-end; }
  .footer-menu__item:not(:first-child) { margin-left: 2.4rem; }
  .footer-menu__item.-external { padding-top: 0.6rem; }
  .footer-menu__item.-instagram { order: -1; margin-top: 1rem; margin-bottom: 2.4rem; text-align: right; }
  .footer-menu__item a:hover svg path { fill: #ff3600; }
}

/**
 * common
 */
.section { position: relative; background-color: #fffbf5; }
.section.-dark { background: #fff8ed url("../img/section-bg.png") 0 0 repeat; background-size: 100px; }
@media screen and (max-width:47.999em) {
  .section { padding-top: 6.4rem; padding-bottom: 6.4rem; }
  .section.-hero { padding-top: 6.4rem; padding-bottom: 12rem; }
  .section.-concept { padding-top: 8rem; padding-bottom: 8rem; }
  .section.-service { padding-top: 13.6rem; }
}
@media screen and (min-width:48em) {
  .section { padding-top: 12rem; padding-bottom: 12rem; }
}
.section-heading { font-weight: 600; color: #ff3600; text-transform: uppercase; text-align: center; }
.section-heading > span { display: block; margin-top: 0.8rem; font-size: 1.6rem; color: #7a4a00; letter-spacing: 0.03em; }
@media screen and (max-width:47.999em) {
  .section-heading { font-size: 3.2rem; letter-spacing: -0.01em; }
}
@media screen and (min-width:48em) {
  .section-heading { font-size: 4.8rem; letter-spacing: -0.01em; }
  .section-heading.-left { text-align: left; }
}
.anchor-point { display: block; }
@media screen and (max-width:47.999em) {
  .anchor-point { padding-top: 6.4rem; margin-top: -6.4rem; }
}
@media screen and (min-width:48em) {
  .anchor-point { padding-top: 8rem; margin-top: -8rem; }
}

/**
 * section
 */

/* hero */
.hero__image { border-radius: 2.5%; }
.hero__image > img { border-radius: 2rem; }
.hero__copy { font-weight: 600; color: #ff3600; }
.hero__copy span { display: block; }
@media screen and (max-width:47.999em) {
  .hero { margin: 0 4.66%; }
  .hero__copy-catch { margin-top: 1.6rem; font-size: 4.8rem; line-height: 0.92; letter-spacing: -0.03em; }
  .hero__copy-lead { margin-top: 1.3rem; font-size: 2rem; line-height: 1.4; letter-spacing: 0.12em; }
}
@media screen and (min-width:48em) {
  .hero { position: relative; margin: auto; width: 93.33%; max-width: 134.4rem; }
  .hero__image { margin-left: auto; width: 65.48%; }
  .hero__copy { position: absolute; top: 48.9%; left: 1.19%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
  .hero__copy-catch { font-size: 8.8rem; line-height: 0.91; letter-spacing: -0.03em; }
  .hero__copy-lead { margin-top: 3.2rem; font-size: 2.4rem; line-height: 1.5; letter-spacing: 0.05em; }
}

/* concept */
.concept { position: relative; z-index: 2; }
.concept__lead { position: relative; z-index: 1; font-weight: 500; color: #ff3600; text-align: center; }
.concept__body { color: #a86500; text-align: center; }
@media screen and (max-width:47.999em) {
  .concept { margin: 0 4.27%; }
  .concept__lead { margin-top: 2.4rem; font-size: 1.8rem; line-height: 1.44; }
  .concept__body { margin-top: 2.4rem; line-height: 1.63; }
}
@media screen and (min-width:48em) {
  .concept { margin: auto; max-width: 144rem; }
  .concept__lead { margin-top: 4.8rem; font-size: 2.4rem; line-height: 1.33; }
  .concept__body { margin-top: 3.2rem; line-height: 1.88; }
}
.concept-image { position: absolute; z-index: 1; }
@media screen and (max-width:47.999em) {
  .concept-image.-left { top: -8.4rem; left: -4%; width: 40.47%; }
  .concept-image.-right { bottom: -8.4rem; right: -2.4%; width: 36.53%; }
}
@media screen and (min-width:48em) {
  .concept-image.-left { top: -3.8rem; left: 50%; -webkit-transform: translateX(-77.6rem); transform: translateX(-77.6rem); width: 44rem; }
  .concept-image.-right { bottom: -10.1rem; right: 50%; -webkit-transform: translateX(76rem); transform: translateX(76rem); width: 43.2rem; }
}

/* service */
@media screen and (max-width:47.999em) {
  .service:first-of-type { margin-top: 3.2rem; }
  .service:not(:first-of-type) { margin-top: 4.8rem; }
}
@media screen and (min-width:48em) {
  .service:first-of-type { margin-top: 8rem; }
  .service:not(:first-of-type) { margin-top: 12rem; }
}
.service__inner { background: #fff8ed url("../img/section-bg.png") 0 0 repeat; background-size: 100px; }
.service__image > img { border-radius: 1.6rem; }
.service__text { color: #a86500; }
.service__text-heading { font-weight: 600; color: #ff3600; }
.service__text-heading > span { display: block; margin-top: 1rem; font-size: 1.6rem; color: #7a4a00; }
@media screen and (max-width:47.999em) {
  .service__inner { padding: 1.6rem 4.27% 4.8rem; }
  .service__text { padding: 1.6rem 0; }
  .service__text-heading { margin-bottom: 1.6rem; font-size: 2.8rem; }
  .service__text-copy { margin-top: 1rem; line-height: 1.5; }
}
@media screen and (min-width:48em) {
  .service { position: relative; }
  .service::after { content: ''; position: absolute; top: 0; left: 0; display: block; width: 50%; height: 100%; background: #fff8ed url("../img/section-bg.png") 0 0 repeat; }
  .service__inner { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; margin: auto; width: 93.33%; max-width: 120rem; border-radius: 0.8rem; }
  .service__image { width: 53.33%; padding: 8.8rem 0; }
  .service__text { width: 46.67%; padding: 8.8rem 6.67%; }
  .service__text-heading { margin-bottom: 4rem; font-size: 3.6rem; }
  .service__text-copy { margin-top: 1rem; font-size: 1.8rem; line-height: 1.78; letter-spacing: 0.12em; }
  .service.-right::after { left: 50%; }
  .service.-right .service__text { order: -1; }
}
.menu-heading { font-weight: 600; font-size: 2.4rem; color: #ff3600; line-height: 1.5; text-align: center; }
.menu-heading > span { display: block; font-size: 1.6rem; color: #7a4a00; letter-spacing: 0.03em; line-height: 2; }
.menu-copy { font-family: Gothic Medium BBB, 'GothicBBBPro-Medium', sans-serif; text-align: center; }
@media screen and (max-width:47.999em) {
  .menu-heading { margin-bottom: 3.2rem; }
  .menu-heading:not(:first-child) { margin-top: 4.8rem; }
  .menu-copy { margin-bottom: 3.2rem; font-size: 1.4rem; line-height: 1.71; }
}
@media screen and (min-width:48em) {
  .menu-heading, .menu-copy { margin-bottom: 2.4rem; }
  .menu-heading:not(:first-child) { margin-top: 8rem; }
}
.menu-list__item { border-bottom: 1px dashed #e3d4bb; }
@media screen and (max-width:47.999em) {
/*   .menu-list__item:first-child { border-top: 2px dashed #e3d4bb; } */
}
@media screen and (min-width:48em) {
  .menu-list { display: flex; flex-wrap: wrap; margin: 0 -2rem; }
  .menu-list__item { width: calc(33.33% - 4rem); margin: 0 2rem; }
/*   .menu-list__item:nth-child(-n+3) { border-top: 2px dashed #e3d4bb; } */
}
.menu-card > img { margin-bottom: 1.6rem; border-radius: 0.8rem; }
.menu-card__name { padding: 0 0 0 0.8rem; color: #7a4a00; line-height: 1.25; letter-spacing: 0.03em; }
.menu-card__name > span { display: block; margin-bottom: 0.4rem; font-weight: 500; font-size: 1.1rem; color: #ff3600; line-height: 1; text-transform: uppercase; }
@media screen and (max-width:47.999em) {
  .menu-card { padding: 1.6rem 0; }
}
@media screen and (min-width:48em) {
  .menu-card { padding: 2rem 0; }
}
.menu-feature__image > img { border-radius: 0.8rem; }
@media screen and (max-width:47.999em) {
  .menu-feature__copy { margin-top: 2.4rem; }
  .menu-feature__copy > p { margin-top: 0.5em; line-height: 1.5; }
}
@media screen and (min-width:48em) {
  .menu-feature { display: flex; align-items: center; justify-content: space-between; margin-top: 4rem; }
  .menu-feature__image { width: 47.83%; }
  .menu-feature__copy { width: 46.09%; }
  .menu-feature__copy > p { margin-top: 1em; line-height: 1.75; letter-spacing: 0.03em; }
}
.menu-button { position: relative; z-index: 1; background-color: #fffbf5; box-shadow: inset 0 0 0 4px #ff3600; font-size: 1.8rem; font-weight: 700; color: #ff3600; text-align: center; cursor: pointer; padding-left: 1.6rem; }
.menu-button__icon { display: block; position: absolute; top: 50%; left: 4rem; background-color: #ff3600; margin-top: -1px; width: 1.6rem; height: 2px; }
.menu-button__icon::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 1.6rem; height: 2px; background-color: #ff3600; transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.menu-button.-open { background-image: linear-gradient(135deg, #f29b23 0%, #ff3700 100%); box-shadow: inset 0 0 0 4px transparent; color: #fff; }
.menu-button.-open .menu-button__icon { background-color: #fff; }
.menu-button.-open .menu-button__icon::before { background-color: transparent; -webkit-transform: rotate(180deg) translateY(75%); transform: rotate(180deg) translateY(75%); }
@media screen and (max-width:47.999em) {
  .menu-button { margin: -2.8rem auto 0; max-width: 24rem; border-radius: 5.6rem; line-height: 5.6rem; }
}
@media screen and (min-width:48em) {
  .menu-button { margin: -3.2rem auto 0; max-width: 32rem; border-radius: 6.4rem; line-height: 6.4rem; }
  .menu-button:hover { background-image: linear-gradient(135deg, #f29b23 0%, #ff3700 100%); box-shadow: inset 0 0 0 4px transparent; color: #fff; opacity: 0.85; }
  .menu-button:hover .menu-button__icon { background-color: #fff; }
  .menu-button:hover .menu-button__icon::before { background-color: transparent; -webkit-transform: rotate(180deg) translateY(75%); transform: rotate(180deg) translateY(75%); }
}
.menu-content { transition: height 0.5s, opacity 0.5s, margin-top 0.1s 0.4s; height: 0; opacity: 0; margin-top: 0; overflow: hidden; }
.menu-content.-open { transition: all 0.5s; opacity: 1; margin-top: 1.6rem; }
.menu-content__inner { border-radius: 1.6rem; border: 1px solid #e3d4bb; }
@media screen and (max-width:47.999em) {
  .menu-content { margin-left: 4.27%; margin-right: 4.27%; }
  .menu-content__inner { padding: 3.2rem 4.66% 4.8rem; }
}
@media screen and (min-width:48em) {
  .menu-content { margin-left: auto; margin-right: auto; width: 93.33%; max-width: 108rem; }
  .menu-content__inner { padding: 6.4rem 5.56% 8rem; }
}

/* quality */
@media screen and (max-width:47.999em) {
  .quality { margin: 3.2rem 4.66% 0; }
}
@media screen and (min-width:48em) {
  .quality { margin: 8rem auto 0; width: 93.33%; max-width: 108rem; }
}
@media screen and (max-width:47.999em) {
  .quality-card + .quality-card { margin-top: 4.8rem; }
}
@media screen and (min-width:48em) {
  .quality-card + .quality-card { margin-top: 8rem; }
}
.quality-card__image > img { border-radius: 0.8rem; }
.quality-card__text { position: relative; }
.quality-card__text-heading { color: #ff3600; }
.quality-card__text-heading > span { position: absolute; top: 0; left: 0; opacity: 0.08; font-weight: 700; }
@media screen and (max-width:47.999em) {
  .quality-card__text { margin-top: 0.8rem; }
  .quality-card__text-heading { padding-top: 2.4rem; font-size: 2.4rem; }
  .quality-card__text-heading > span { font-size: 4rem; letter-spacing: -0.01em; }
  .quality-card__text-copy { margin-top: 1.6rem; line-height: 1.5; letter-spacing: 0.12em; }
}
@media screen and (min-width:48em) {
  .quality-card { display: flex; justify-content: space-between; }
  .quality-card__image { width: 48.15%; }
  .quality-card__text { margin-top: 1.2rem; width: 44.44%; }
  .quality-card__text-heading { padding-top: 4.4rem; font-size: 3.6rem; }
  .quality-card__text-heading > span { font-size: 8rem; letter-spacing: -0.01em; }
  .quality-card__text-copy { margin-top: 2.4rem; font-size: 1.8rem; line-height: 1.89; letter-spacing: 0.12em; }
}

/* instagram */
.instagram__slide a img { border-radius: 0.8rem; }
@media screen and (max-width:47.999em) {
  .instagram__slide { margin-top: 3.2rem; }
}
@media screen and (min-width:48em) {
  .instagram { position: relative; margin: auto; max-width: 180rem; }
  .instagram__heading { position: absolute; top: 0; left: 8.33%; z-index: 1; }
  .instagram__slide { width: 67.08%; margin-left: auto; -webkit-transform: translateX(4.58%); transform: translateX(4.58%); }
  .instagram__slide a:hover { opacity: 0.3; }
}

/* shop */
@media screen and (max-width:47.999em) {
  .shop { margin: 3.2rem 4.27% 0; }
}
@media screen and (min-width:48em) {
  .shop { margin: 8rem auto 0; width: 93.33%; max-width: 80rem; }
}
.shop-card { border-bottom: 1px solid #e3d4bb; }
.shop-card:first-child { border-top: 1px solid #e3d4bb; }
.shop-card__image > img { border-radius: 0.8rem; }
.shop-card__text-tags { display: flex; flex-wrap: wrap; margin-top: -0.4rem; }
.shop-card__text-tags > li { margin-top: 0.4rem; margin-right: 0.4rem; padding: 0.4rem 1rem; border-radius: 0.4rem; background-color: #ff3600; font-weight: 500; font-size: 1.2rem; color: #fff; text-transform: uppercase; letter-spacing: 0.05em; }
.shop-card__text-name { margin-top: 1.6rem; margin-bottom: 0.8rem; font-size: 1.8rem; font-weight: 500; line-height: 1.33; letter-spacing: 0.05em; }
.shop-card__text-location, .shop-card__text-info { font-family: Gothic Medium BBB, 'GothicBBBPro-Medium', sans-serif; font-weight: 400; font-size: 1.4rem; line-height: 1.71; }
.shop-card__text-info { display: flex; flex-wrap: wrap; width: 100%; }
.shop-card__text-info > dt { width: 5em; }
.shop-card__text-info > dd { width: calc(100% - 5em); }
@media screen and (max-width:47.999em) {
  .shop-card { padding: 2.4rem 0; }
  .shop-card__text { margin-top: 1.2rem; }
}
@media screen and (min-width:48em) {
  .shop-card { display: flex; justify-content: space-between; padding: 3.2rem 0; }
  .shop-card__image { width: 42%; }
  .shop-card__text { width: 54%; }
}

/* Trumps
--------------------------------------------------- */

/* typo */
._center { text-align: center !important; }
._left { text-align: left !important; }
._right { text-align: right !important; }
._small { font-size: 0.8em !important; }
._large { font-size: 1.2em !important; }
@media screen and (max-width:47.999em) {
  ._sp-center { text-align: center !important; }
  ._sp-left { text-align: left !important; }
  ._sp-right { text-align: right !important; }
}
@media screen and (min-width:48em) {
  ._pc-center { text-align: center !important; }
  ._pc-left { text-align: left !important; }
  ._pc-right { text-align: right !important; }
}

/* layout */
._cf:before, ._cf:after { content: " "; display: table; }
._cf:after { clear: both; }
._pull-rt { float: right !important; }
._pull-lt { float: left !important; }
._p0 { padding: 0 !important; }
._pt0 { padding-top: 0 !important; }
._pb0 { padding-bottom: 0 !important; }
._mr-auto { margin-right: auto !important; }
._ml-auto { margin-left: auto !important; }
._mx-auto { margin-left: auto !important; margin-right: auto !important; }
._m0 { margin: 0 !important; }
._mt0 { margin-top: 0 !important; }
._mb0 { margin-bottom: 0 !important; }
._mt4 { margin-top: 0.4rem !important; }
._mb4 { margin-bottom: 0.4rem !important; }
@media screen and (max-width:47.999em) {
  ._mt8 { margin-top: 0.4rem !important; }
  ._mb8 { margin-bottom: 0.4rem !important; }
  ._mt16 { margin-top: 0.8rem !important; }
  ._mb16 { margin-bottom: 0.8rem !important; }
  ._mt24 { margin-top: 1.2rem !important; }
  ._mb24 { margin-bottom: 1.2rem !important; }
  ._mt32 { margin-top: 1.6rem !important; }
  ._mb32 { margin-bottom: 1.6rem !important; }
  ._mt40 { margin-top: 2rem !important; }
  ._mb40 { margin-bottom: 2rem !important; }
  ._mt48 { margin-top: 2.4rem !important; }
  ._mb48 { margin-bottom: 2.4rem !important; }
  ._mt56 { margin-top: 2.8rem !important; }
  ._mb56 { margin-bottom: 2.8rem !important; }
  ._mt64 { margin-top: 3.2rem !important; }
  ._mb64 { margin-bottom: 3.2rem !important; }
  ._mt72 { margin-top: 3.6rem !important; }
  ._mb72 { margin-bottom: 3.6rem !important; }
  ._mt80 { margin-top: 4rem !important; }
  ._mb80 { margin-bottom: 4rem !important; }
  ._mt96 { margin-top: 4.8rem !important; }
  ._mb96 { margin-bottom: 4.8rem !important; }
  ._mt120 { margin-top: 6rem !important; }
  ._mb120 { margin-bottom: 6rem !important; }
  ._mt160 { margin-top: 6rem !important; }
  ._mb160 { margin-bottom: 6rem !important; }
}
@media screen and (min-width:48em) {
  ._mt8 { margin-top: 0.8rem !important; }
  ._mb8 { margin-bottom: 0.8rem !important; }
  ._mt16 { margin-top: 1.6rem !important; }
  ._mb16 { margin-bottom: 1.6rem !important; }
  ._mt24 { margin-top: 2.4rem !important; }
  ._mb24 { margin-bottom: 2.4rem !important; }
  ._mt32 { margin-top: 3.2rem !important; }
  ._mb32 { margin-bottom: 3.2rem !important; }
  ._mt40 { margin-top: 4rem !important; }
  ._mb40 { margin-bottom: 4rem !important; }
  ._mt48 { margin-top: 4.8rem !important; }
  ._mb48 { margin-bottom: 4.8rem !important; }
  ._mt56 { margin-top: 5.6rem !important; }
  ._mb56 { margin-bottom: 5.6rem !important; }
  ._mt64 { margin-top: 6.4rem !important; }
  ._mb64 { margin-bottom: 6.4rem !important; }
  ._mt72 { margin-top: 7.2rem !important; }
  ._mb72 { margin-bottom: 7.2rem !important; }
  ._mt80 { margin-top: 8rem !important; }
  ._mb80 { margin-bottom: 8rem !important; }
  ._mt96 { margin-top: 9.6rem !important; }
  ._mb96 { margin-bottom: 9.6rem !important; }
  ._mt120 { margin-top: 12rem !important; }
  ._mb120 { margin-bottom: 12rem !important; }
  ._mt160 { margin-top: 16rem !important; }
  ._mb160 { margin-bottom: 16rem !important; }
}

/* responsive */
._pc { display: none; }
@media screen and (max-width:25.624em) {
  ._sp-xs { display: none; }
}
@media screen and (min-width:48em) {
  ._pc { display: inline-block; }
  ._sp { display: none; }
}

/* f**k IE */
_:-ms-lang(x)::-ms-backdrop, .frame__header { min-height: 0%; }
_:-ms-lang(x)::-ms-backdrop, .frame__footer { min-height: 0%; }
_:-ms-lang(x)::-ms-backdrop, .frame__content { display: block; }


/* JavaScript */
.js-heroImage { overflow: hidden; }
.js-heroCopy { overflow: hidden; line-height: 1.25; }
.js-heroCopy:not(:first-child) { margin-top: -0.34em; }
.js-ltr { display: inline-block !important; transform: translate(0, 1.5em); }