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

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

/*-------------------------------------------------------------
Variables
-------------------------------------------------------------*/
/* Layout */
/* Color */
/* Font */
/*-------------------------------------------------------------
Mixin
-------------------------------------------------------------*/
/* Breakpoints */
/* Text */
/*-------------------------------------------------------------
Text
-------------------------------------------------------------*/
[class^=ttl-] {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  line-height: 1.1;
}

.ttl-01 {
  font-size: clamp(4.8rem, 10.2cqw, 6.4rem);
  margin-top: 16px;
  text-align: center;
}

.ttl-02 {
  font-size: clamp(2.4rem, 6.2cqw, 3.2rem);
}
.ttl-02 .txt-sub {
  display: block;
  font-size: 1.3rem;
  margin-top: 0.5em;
}

.txt-ja {
  font-family: "Gothic Medium BBB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

.txt-center {
  text-align: center;
}

.txt-small {
  font-size: 1.2rem;
}

/*-------------------------------------------------------------
Common
-------------------------------------------------------------*/
/* Base */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  background-color: #EFEAE4;
  color: #024961;
  font-family: "Gothic Medium BBB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 1.5rem;
  line-height: 2;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
body ::-moz-selection {
  background: #823121;
  color: #fff;
}
body ::selection {
  background: #823121;
  color: #fff;
}

img {
  border-radius: 8px;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #024961;
}
@media (any-hover: hover) {
  a:hover {
    text-decoration: none;
  }
}

.area-cmn-main p:not(:first-child),
.area-cmn-main ul:not(:first-child),
.area-cmn-main ol:not(:first-child),
.area-cmn-main dl:not(:first-child),
.area-cmn-main table:not(:first-child),
.area-cmn-main pre:not(:first-child),
.area-cmn-main blockquote:not(:first-child) {
  margin-top: 1.6em;
}

@media (min-width: 768px) {
  .hide-tablet {
    display: none;
  }
}

/*-------------------------------------------------------------
Loading
-------------------------------------------------------------*/
/*-------------------------------------------------------------
Layout
-------------------------------------------------------------*/
.wrapper {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  opacity: 0;
}
.wrapper.is-loaded {
  opacity: 1;
}
@media (min-width: 1280px) {
  .wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 50% 50%;
    grid-template-columns: 50% 50%;
    width: 100%;
    height: 100vh;
    position: relative;
  }
  .wrapper:before {
    background-color: #DDD4C9;
    content: "";
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: calc(50% - 24px);
    height: 100vh;
  }
  .wrapper:after {
    background: url(../img/common/zigzag.svg) repeat-y 100%;
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 50%;
    width: 24px;
    height: 100vh;
  }
}

.content-desktop {
  display: none;
}
@media (min-width: 1280px) {
  .content-desktop {
    display: block;
    font-family: "DM Serif Display", serif;
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
  }
  .content-desktop .img-sloth {
    margin: 0 auto;
    height: 16.3767820774vh;
    -webkit-animation: yurayura 8s infinite;
            animation: yurayura 8s infinite;
    margin-top: -10px;
  }
  .content-desktop .img-sloth img {
    display: block;
    margin: 0 auto;
    height: 100%;
    width: auto;
  }
  .content-desktop .img-title {
    margin-top: 16px;
    height: 56.7209775967vh;
  }
  .content-desktop .img-title img {
    display: block;
    margin: 0 auto;
    height: 100%;
    width: auto;
  }
  .content-desktop .txt-copy {
    font-size: 1.5873015873vw;
    margin-top: 3.2586558045vh;
  }
  .content-desktop .txt-copyright {
    color: #823121;
    margin-top: 48px;
  }
}

.content-main .inner-content-main {
  background-color: #EFEAE4;
}
.content-main .inner-content-main .area-cmn-main {
  container-type: inline-size;
}
@media (min-width: 768px) {
  .content-main {
    background-color: #DDD4C9;
  }
  .content-main .inner-content-main {
    margin: 0 auto;
    width: 66.1375661376%;
    max-width: 500px;
  }
}
@media (min-width: 1280px) {
  .content-main {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(50% - 24px);
    height: 100vh;
  }
  .content-main .inner-content-main {
    padding: 7vh 0;
    position: relative;
  }
  .content-main .inner-content-main:before, .content-main .inner-content-main:after {
    background-color: #DDD4C9;
    content: "";
    display: block;
    position: fixed;
    width: 50%;
    height: 7vh;
    z-index: 9;
  }
  .content-main .inner-content-main:before {
    top: 0;
  }
  .content-main .inner-content-main:after {
    bottom: 0;
  }
}

.wrap-content {
  margin-top: 32px;
  overflow: hidden;
}

.container {
  margin: 0 auto;
  width: 86.1538461538%;
}

.texture {
  background: url(../img/common/img-texture.png);
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 99;
}

/*-------------------------------------------------------------
Materials
-------------------------------------------------------------*/
.is-disabled {
  opacity: 0.3;
  pointer-events: none;
}

/*-------------------------------------------------------------
Styles
-------------------------------------------------------------*/
/* Lists */
.list-cmn-dl {
  line-height: 1.6;
}
.list-cmn-dl .item-list-cmn-dl {
  border-top: 1px solid #024961;
  padding: 16px 0 16px 0;
}
.list-cmn-dl .item-list-cmn-dl dd {
  margin: 0.5em 0 0 1em;
}
.list-cmn-dl .item-list-cmn-dl:last-child {
  border-bottom: 1px solid #024961;
}

/* Button */
.btn-cmn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "DM Serif Display", serif;
  font-size: clamp(1.8rem, 4.6cqw, 2rem);
  line-height: 1;
  margin-top: 40px;
}
.btn-cmn a {
  border-bottom: 2px solid #024961;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  padding-bottom: 8px;
}
.btn-cmn a:after {
  background: url(../img/common/ico-arrow.svg) no-repeat center/contain;
  content: "";
  display: block;
  margin-left: 8px;
  width: 20px;
  height: 12px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (any-hover: hover) {
  .btn-cmn a:hover {
    border-bottom-style: dotted;
  }
  .btn-cmn a:hover:after {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.btn-cmn_light a {
  border-bottom: 2px solid #FFFFFF;
}
.btn-cmn_light a:after {
  background-image: url(../img/common/ico-arrow_light.svg);
}

/* Card */
.list-cmn-card .item-list-cmn-card a {
  display: block;
  position: relative;
  text-decoration: none;
}
.list-cmn-card .item-list-cmn-card a:after {
  background: url(../img/common/ico-arrow.svg) no-repeat center/contain;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 12px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (any-hover: hover) {
  .list-cmn-card .item-list-cmn-card a:hover:after {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  .list-cmn-card .item-list-cmn-card a:hover .img-thumbnail img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.list-cmn-card .item-list-cmn-card .img-thumbnail {
  border-radius: 8px;
  overflow: hidden;
}
.list-cmn-card .item-list-cmn-card .img-thumbnail img {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.list-cmn-card .item-list-cmn-card .img-thumbnail + * {
  margin-top: 16px;
}
.list-cmn-card .item-list-cmn-card .txt-title {
  line-height: 1;
}
.list-cmn-card .item-list-cmn-card .txt-title .txt-en {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  font-size: clamp(2rem, 5cqw, 2.4rem);
}
.list-cmn-card .item-list-cmn-card .txt-title .txt-ja {
  display: block;
  font-size: 1.3rem;
  margin-top: 0.5em;
}
.list-cmn-card .item-list-cmn-card .txt-date {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  font-size: clamp(1.6rem, 4cqw, 2rem);
  margin-top: 16px;
}
.list-cmn-card .item-list-cmn-card + .item-list-cmn-card {
  margin-top: 32px;
}

/*-------------------------------------------------------------
Animations
-------------------------------------------------------------*/
@-webkit-keyframes yurayura {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
}
@keyframes yurayura {
  0% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
}
/*-------------------------------------------------------------
Header
-------------------------------------------------------------*/
.area-cmn-header {
  padding-top: 32px;
}
.area-cmn-header .img-logo {
  margin: 0 auto;
  width: 29.7619047619%;
  min-width: 100px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.area-cmn-header .img-logo img {
  width: 100%;
}
.area-cmn-header .img-logo.is-loaded {
  -webkit-transform: rotateY(360deg);
          transform: rotateY(360deg);
}

/*-------------------------------------------------------------
Footer
-------------------------------------------------------------*/
.area-cmn-footer {
  margin-top: 80px;
}
.area-cmn-footer .img-sloth {
  margin: 0 auto;
  width: 73.8095238095%;
}
.area-cmn-footer .copyright {
  background-color: #024961;
  color: #FFFFFF;
  font-family: "DM Serif Display", serif;
  margin-top: 40px;
  padding: 1.5em 0;
  text-align: center;
}
.area-cmn-footer .copyright .txt-company {
  display: block;
  line-height: 1.5;
  margin-bottom: 1em;
}

/*-------------------------------------------------------------
Navigation
-------------------------------------------------------------*/
/* Footer Navigarion */
.nav-footer {
  margin-top: 40px;
}
.nav-footer .list-nav-footer .item-list-nav-footer a {
  display: block;
  position: relative;
  text-decoration: none;
}
.nav-footer .list-nav-footer .item-list-nav-footer a span {
  line-height: 1;
}
.nav-footer .list-nav-footer .item-list-nav-footer a .txt-en {
  font-family: "DM Serif Display", serif;
  font-size: 1.8rem;
}
.nav-footer .list-nav-footer .item-list-nav-footer a .txt-ja {
  display: block;
  margin-top: 0.2em;
}
.nav-footer .list-nav-footer .item-list-nav-footer a:after {
  background: url(../img/common/ico-arrow.svg) no-repeat center/contain;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 12px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.nav-footer .list-nav-footer .item-list-nav-footer a:hover:after {
  -webkit-transform: translateX(5px) translateY(-50%);
          transform: translateX(5px) translateY(-50%);
}
.nav-footer .list-nav-footer .item-list-nav-footer + .item-list-nav-footer {
  margin-top: 24px;
}

/* Breadcrumb */
.nav-breadcrumb {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 8px;
}
.nav-breadcrumb .item-nav-breadcrumb + .item-nav-breadcrumb:before {
  content: "/";
  margin: 0 0.3em;
}

/* Pager */
.nav-pager {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  font-size: clamp(2rem, 5cqw, 2.4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 48px;
}
.nav-pager .btn-pager + .btn-pager {
  margin-left: 1em;
}

/* For Desktop */
.nav-desktop .list-nav-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.nav-desktop .list-nav-desktop .item-list-nav-desktop + .item-list-nav-desktop:before {
  content: "/";
  margin: 0 0.5em;
}

/*---------------------------------------------------------------
home
---------------------------------------------------------------*/
body.home {
  /*-------------------------------------------------------------*/
  /* FIRST VIEW */
  /* ABOUT */
  /* SHOP INFO */
  /* INFORMATION */
  /* INSTAGRAM */
  /*-------------------------------------------------------------*/
}
body.home .ttl-home {
  font-size: clamp(4.8rem, 10.2cqw, 6.4rem);
  text-align: center;
}
body.home .ttl-home .txt-sub {
  color: #823121;
  font-size: 0.3em;
  display: block;
  margin-top: 8px;
}
body.home .ttl-home + * {
  margin-top: 40px;
}
body.home .sec-home {
  padding: 72px 0;
}
body.home .sec-home:last-child {
  padding-bottom: 0;
}
body.home .sec-colored {
  color: #FFFFFF;
}
body.home .sec-colored a {
  color: #FFFFFF;
}
body.home .sec-colored .ttl-home {
  color: #FFFFFF;
}
body.home .sec-colored .ttl-home .txt-sub {
  color: #FFFFFF;
}
body.home .sec-colored_primary {
  background-color: #024961;
}
body.home .sec-colored_secondary {
  background-color: #823121;
}
body.home .area-fv .inner-area-fv .box-fv {
  padding-top: 32px;
}
body.home .area-fv .inner-area-fv .box-fv .txt-lead {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
  line-height: 1;
}
body.home .area-fv .inner-area-fv .box-fv .txt-lead .txt-copy {
  font-size: clamp(4rem, 8.2cqw, 4.8rem);
  margin-top: 16px;
}
body.home .area-fv .inner-area-fv .box-fv .txt-lead .txt-shopname {
  color: #823121;
  font-size: 1.7rem;
  margin-top: 0.5em;
}
body.home .area-fv .inner-area-fv .box-fv .txt-lead .txt-sub {
  font-size: 1.4rem;
  margin-top: 0.5em;
  line-height: 1.3;
}
body.home .area-fv .inner-area-fv .mod-slider {
  margin-top: 64px;
  width: 100%;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
body.home .wrap-content {
  margin-top: 0;
}
body.home .sec-about {
  overflow: hidden;
  position: relative;
}
body.home .sec-about .txt-opening {
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
}
body.home .sec-about .mod-slider {
  margin-top: 48px;
}
body.home .sec-shopinfo .ttl-item-shopinfo {
  font-size: clamp(2rem, 5cqw, 2.4rem);
  margin-top: 32px;
}
body.home .sec-shopinfo .txt-detail {
  margin-top: 16px;
}
body.home .sec-shopinfo .txt-detail p {
  line-height: 1.6;
}
body.home .sec-shopinfo .txt-detail p + p {
  margin-top: 1em;
}
body.home .sec-information .list-information .item-list-information a:after {
  background: url(../img/common/ico-arrow_light.svg) no-repeat center/contain;
}
body.home .list-photos {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

/*---------------------------------------------------------------
about
---------------------------------------------------------------*/
body.about {
  /*-------------------------------------------------------------*/
  /*-------------------------------------------------------------*/
}
body.about .txt-lead {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
  line-height: 1;
  margin-top: 32px;
}
body.about .txt-lead .txt-copy {
  font-size: clamp(4rem, 8.2cqw, 5.6rem);
}
body.about .txt-lead .txt-shopname {
  color: #823121;
  font-size: 1.6rem;
  margin-top: 0.5em;
}
body.about .txt-lead + * {
  margin-top: 32px;
}

/*---------------------------------------------------------------
information
---------------------------------------------------------------*/
body.information {
  /*-------------------------------------------------------------*/
  /*-------------------------------------------------------------*/
}
body.information .sec-single-information .ttl-single {
  margin-top: 24px;
}
body.information .sec-single-information .txt-date {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  font-size: clamp(1.6rem, 4cqw, 2rem);
  margin-top: 16px;
}
body.information .sec-single-information .box-content {
  margin-top: 40px;
}
body.information .btn-back {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.15;
  margin-top: 64px;
  text-align: center;
}

/*---------------------------------------------------------------
recruit
---------------------------------------------------------------*/
body.recruit {
  /*-------------------------------------------------------------*/
  /*-------------------------------------------------------------*/
}
body.recruit .list-images {
  margin-top: 48px;
}
body.recruit .list-images .item-list-images + .item-list-images {
  margin-top: 16px;
}
body.recruit .list-detail {
  margin-top: 48px;
}
body.recruit .btn-form {
  margin-top: 48px;
}
body.recruit .btn-form a {
  background-color: #823121;
  color: #FFFFFF;
  display: block;
  padding: 1.5em 0;
  text-align: center;
  text-decoration: none;
}
body.recruit .btn-form a:hover {
  background-color: #963926;
}
body.recruit .btn-form a span {
  display: block;
  line-height: 1;
}
body.recruit .btn-form a span.txt-main {
  font-size: 1.8rem;
}
body.recruit .btn-form a span.txt-sub {
  font-size: 1.2rem;
  margin-top: 0.5em;
}
body.recruit .mod-contact {
  margin-top: 32px;
}