@font-face {
  font-family: "Lobster";
  src: url(../fonts/lobster/Lobster1.4.otf);
}
/* ===========
reset
=========== */
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

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

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
}

/* ===========
base
=========== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: hidden;
  font-size: 62.5%;
  visibility: hidden;
}
html.wf-active, html.loading-delay {
  visibility: visible;
}

body {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-style: normal;
  font-weight: 100;
  font-size: 1.6rem;
  background-color: #FBFBFB;
  color: #775135;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
body::-webkit-scrollbar {
  display: none;
}

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

a {
  -webkit-transition: 0.25s;
  transition: 0.25s;
  color: #775135;
}
a:hover {
  color: #775135;
  opacity: 0.7;
}

/* ===========
common layout
=========== */
.inner {
  padding-left: 16px;
  padding-right: 16px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .inner {
    max-width: 972px;
  }
}

.main_visual {
  margin-top: 100px;
}
@media (min-width: 1024px) {
  .main_visual {
    margin-top: 0;
  }
}

.page_2col_inner {
  max-width: 1232px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1024px) {
  .page_2col_inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.page_2col_inner > :nth-child(1) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-top: 100px;
}
@media (min-width: 1024px) {
  .page_2col_inner > :nth-child(1) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-top: 0;
  }
}

.page_2col_inner > :nth-child(2) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}
@media (min-width: 1024px) {
  .page_2col_inner > :nth-child(2) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-left: 40px;
  }
}

.page_3grid {
  padding-bottom: 180px;
}

.page_3grid_inner {
  max-width: 1232px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .page_3grid_inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.page_3grid_inner > :nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: 100px;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .page_3grid_inner > :nth-child(1) {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-top: 0;
    width: 260px;
  }
}

.page_3grid_inner > :nth-child(2) {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  max-width: 100%;
}
@media (min-width: 768px) {
  .page_3grid_inner > :nth-child(2) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media (min-width: 1024px) {
  .page_3grid_inner > :nth-child(2) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-left: 80px;
  }
}

.page_3grid_inner > :nth-child(3) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .page_3grid_inner > :nth-child(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
}

/* ===========
sub_page_main_visual
=========== */
.sub_page_main_visual {
  position: relative;
  height: 200px;
  background-image: url(../img/common/lower_page_mv.png);
  background-position: top center;
  background-size: 100% 200px;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .sub_page_main_visual {
    height: 372px;
    background-position: center;
    background-size: 100% 372px;
  }
}
.sub_page_main_visual:after {
  position: absolute;
  bottom: 0;
  content: "";
  width: 100%;
  height: 30px;
  background-image: url(../img/common/pattern-stripe.png);
  background-position: center bottom;
  background-size: 300px;
  background-repeat: repeat-x;
}
@media (min-width: 768px) {
  .sub_page_main_visual:after {
    height: 45px;
  }
}

.sub_page_main_visual_top {
  position: relative;
  top: -1px;
  height: 18px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .sub_page_main_visual_top {
    height: 60px;
  }
}

.sub_page_main_visual_top_left,
.sub_page_main_visual_top_right {
  background-color: #FBFBFB;
  height: inherit;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.sub_page_main_visual_top_center {
  width: 1366px;
}
.sub_page_main_visual_top_center img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 18px;
}
@media (min-width: 768px) {
  .sub_page_main_visual_top_center img {
    height: 60px;
  }
}

.sub_page_main_visual_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: calc(100% - 18px);
}
@media (min-width: 768px) {
  .sub_page_main_visual_inner {
    height: calc(100% - 60px);
  }
}

.sub_page_main_visual_heading {
  position: relative;
  top: -9px;
}
@media (min-width: 768px) {
  .sub_page_main_visual_heading {
    top: -30px;
  }
}

/* ===========
heading
=========== */
.heading_title {
  font-size: 3.5rem;
  letter-spacing: 0.055em;
  color: #A33846;
  font-family: Lobster, sans-serif;
  text-align: center;
}
@media (min-width: 768px) {
  .heading_title {
    font-size: 4.5rem;
  }
}

.heading_title_img {
  margin-right: 10px;
}
.heading_title_img img {
  height: 3.5rem;
}
@media (min-width: 768px) {
  .heading_title_img img {
    height: 4.5rem;
  }
}

.heading_lead {
  font-size: 1.7rem;
  font-weight: 300;
  margin-top: 22px;
  text-align: center;
}

/* ===========
btn
=========== */
.btn {
  width: 220px;
  max-width: 100%;
  color: #A33846;
  border: 1px solid currentColor;
  border-radius: 50px;
  padding: 0.875em;
  font-size: 1.7rem;
  letter-spacing: -0.01em;
  display: block;
  text-align: center;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  cursor: pointer;
}
.btn:hover {
  opacity: 1;
  color: #FBFBFB;
  background-color: #A33846;
}

.btn_arrow {
  width: 220px;
  max-width: calc(100% - 30px);
  padding-right: 30px;
  position: relative;
  text-align: center;
}
.btn_arrow::after {
  position: absolute;
  content: "";
  background-image: url(../img/common/arrow.png);
  width: 48px;
  height: 24px;
  background-size: 48px 24px;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  right: -24px;
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s;
}
@media (min-width: 768px) {
  .btn_arrow:hover::after {
    -webkit-transform: translateY(-50%) translateX(6px);
            transform: translateY(-50%) translateX(6px);
  }
}

.text_link {
  text-decoration: underline;
}

/* ===========
sidebar
=========== */
.sidebar {
  max-width: 100%;
}

.sidebar_btn {
  margin-top: 50px;
  width: 260px;
  max-width: 100%;
}
/* ===========
category
=========== */
.category_title {
  font-family: "ten-mincho", serif;
  color: #A33846;
  font-size: 2rem;
  letter-spacing: 0.03em;
  padding-bottom: 20px;
  border-bottom: 1px solid #A33846;
}

.category_list {
  margin-top: 50px;
}

.category_item:not(:first-child) {
  margin-top: 40px;
}
.category_item a {
  font-family: "ten-mincho", serif;
  color: #684932;
  font-size: 2rem;
  letter-spacing: 0.03em;
}

/* ===========
pagination
=========== */
.pagination_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pagination_item,
.page-numbers {
  height: 33px;
  width: 33px;
  max-width: 100%;
  color: #A33846;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 1.2rem;
  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;
  margin-top: 30px;
}
.pagination_item:not(:last-child),
.page-numbers:not(:last-child) {
  margin-right: 25px;
}

.pagination_item.is_current,
.page-numbers.current,
.page-numbers.dots {
  color: #FFFFFF;
  background-color: #A33846;
}

.pagination_item_link:hover,
.page-numbers:hover {
  opacity: 1;
  color: #FFFFFF;
  background-color: #A33846;
}

.header {
  height: 100px;
  background-color: #FBFBFB;
  background-image: url(../img/common/header/header_bk.png);
  background-position: top center;
  background-size: 100% 10px;
  background-repeat: no-repeat;
  position: fixed;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
}
@media (min-width: 1024px) {
  .header {
    height: 134px;
    background-size: 100% 20px;
    position: static;
  }
}

.header_inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 768px) {
  .header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1232px;
  }
}

.header_logo {
  height: calc(100% - 10px);
  top: 10px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .header_logo {
    height: auto;
  }
}
.header_logo a {
  display: block;
  height: 100%;
}
.header_logo a img {
  height: 100%;
}
@media (min-width: 1024px) {
  .header_logo a img {
    width: 292px;
    max-width: none;
    height: auto;
  }
}

.header_nav {
  display: none;
}
@media (min-width: 1024px) {
  .header_nav {
    display: block;
  }
}

.header_nav_items {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (min-width: 1024px) {
  .header_nav_item:not(:first-child) {
    margin-left: 30px;
  }
}
.header_nav_item a {
  font-weight: 600;
  font-style: normal;
  font-family: expo-sans-pro, sans-serif;
  position: relative;
}
.header_nav_item a::after {
  position: absolute;
  content: "";
  display: inline-block;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 2px;
  background-size: 8px 3px;
  background-image: linear-gradient(to right, #F7A1A1, #F7A1A1 3px, transparent 3px, transparent 8px);
  background-position: left bottom;
  background-repeat: repeat-x;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header_nav_item a:hover {
  opacity: 1;
  color: #A33846;
}
.header_nav_item a:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}

.header_sub_nav {
  display: none;
}
@media (min-width: 1024px) {
  .header_sub_nav {
    display: block;
  }
}

.header_sub_nav_items {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header_sub_nav_item:not(:first-child) {
  margin-left: 16px;
}

.header_sub_nav_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header_sub_nav_sns_item {
  width: 30px;
}
.header_sub_nav_sns_item:not(:first-child) {
  margin-left: 16px;
}
.header_sub_nav_online_shop {
  width: 171px;
}

/* =========== 
drawer
=========== */
html.is_fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.drawer {
  -ms-flex-item-align: center;
      align-self: center;
}
@media (min-width: 1024px) {
  .drawer {
    display: none;
  }
}

.drawer_icon {
  display: block;
  position: fixed;
  position: relative;
  z-index: 41;
  cursor: pointer;
  text-align: center;
  height: 25px;
  width: 30px;
}

.is_open .drawer_icon {
  height: 25px;
}

.drawer_line {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #F7A1A1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.drawer_line:nth-of-type(1) {
  top: 0;
}
.drawer_line:nth-of-type(2) {
  top: 50%;
}
.drawer_line:nth-of-type(3) {
  top: 100%;
}

.is_open .drawer_line:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 12.5px;
}
.is_open .drawer_line:nth-of-type(2) {
  display: none;
}
.is_open .drawer_line:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 12.5px;
}

.drawer_contents {
  display: none;
  position: fixed;
  width: 100%;
  height: calc(100% - 100px);
  min-height: calc(100vh - 100px);
  min-height: calc(var(--vh, 1vh) * 100 - 100px);
  z-index: 39;
  background-color: rgba(251, 251, 251, 0.9);
  top: 100px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 30px 20px 48px 20px;
}

.drawer_nav_item:not(:first-child) {
  margin-top: 20px;
}
.drawer_nav_item a {
  font-size: 1.8rem;
  display: block;
  border-bottom: 3px dashed #F7A1A1;
  padding-bottom: 15px;
  font-weight: 600;
  font-style: normal;
  font-family: expo-sans-pro, sans-serif;
}

.drawer_sub_nav {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.drawer_sub_nav_item {
  margin-top: 40px;
}

.drawer_sub_nav_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.drawer_sub_nav_sns_item:not(:first-child) {
  margin-left: 26px;
}
.drawer_sub_nav_sns_item a {
  display: block;
}
.drawer_sub_nav_sns_item a img {
  width: 30px;
}

.drawer_sub_nav_online_shop a {
  display: block;
}
.drawer_sub_nav_online_shop a img {
  width: 180px;
  max-width: 100%;
}

.footer {
  padding-top: 80px;
}
@media (min-width: 768px) {
  .footer {
    padding-top: 160px;
  }
}

.footer_inner {
  max-width: 1232px;
  background-image: url(../img/common/footer/footer_tree.png);
  background-position: right 16px bottom 0;
  background-size: calc((102 / 375) * 100vw) calc((120 / 375) * 100vw);
  background-repeat: no-repeat;
  background-color: rgba(251, 251, 251, 0.8);
  background-blend-mode: lighten;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .footer_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    background-position: left 16px bottom 0;
    background-size: contain;
    padding-bottom: 30px;
  }
}

@media (min-width: 768px) {
  .footer_description {
    position: relative;
    z-index: 1;
  }
}
@media (min-width: 1024px) {
  .footer_description {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .footer_logo {
    width: 214px;
  }
}
.footer_logo a {
  display: block;
  text-align: center;
}
.footer_text {
  margin-top: 20px;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 2.0588235294;
}
@media (min-width: 768px) {
  .footer_text {
    margin-top: 30px;
  }
}

.footer_shop_info {
  margin-top: 30px;
}
.footer_shop_info li {
  font-size: 1.5rem;
  line-height: 2.3333333333;
}

.footer_link_area {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: auto;
}
@media (min-width: 768px) {
  .footer_link_area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.footer_btn {
  width: 277px;
  max-width: 100%;
}
.footer_btn a {
  width: 100%;
  display: block;
}
.footer_sns_items {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .footer_sns_items {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 0;
    margin-left: 25px;
  }
}

.footer_sns_item:not(:first-child) {
  margin-left: 25px;
}
.footer_sns_item a {
  display: block;
}
.footer_sns_item a img {
  width: 30px;
}
@media (min-width: 768px) {
  .footer_sns_item a img {
    width: 42px;
  }
}

.footer_copyright {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
  background-image: url(../img/common/bk_wall.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .footer_copyright {
    padding-top: 60px;
    padding-bottom: 22px;
  }
}
.footer_copyright small {
  font-size: 1.7rem;
  line-height: 2.0588235294;
}

/* ===========
utility
=========== */
@media (min-width: 768px) {
  .is_sp {
    display: none;
  }
}

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

.mt_50 {
  margin-top: 50px;
}

.mt_100 {
  margin-top: 100px;
}

.mb_160 {
  margin-bottom: 160px;
}
/*# sourceMappingURL=style.css.map */