@charset "UTF-8";
@media screen and (min-width: 769px) {
  .sponly {
    display: none !important; }

  body {
    background: #ECE9E1; }

  header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }
    header .inner {
      width: 1300rem;
      margin: 0 auto;
      padding: 20rem 0; }
      header .inner .header_logo {
        width: 49rem;
        line-height: 0; }
        header .inner .header_logo a {
          display: block;
          width: 100%;
          line-height: 0; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    /*bottom: 0;*/
    width: 100%;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    -webkit-overflow-scrolling: touch;
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease;
    z-index: 21;
    box-sizing: border-box;
    padding: 128rem 33rem 187rem;
    background: url("../img/hum_bg.png") no-repeat center #361C11;
    background-size: cover; }

  .open nav.hum {
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease; }

  nav.hum .hum_cont {
    display: flex;
    justify-content: flex-start; }
    nav.hum .hum_cont .hum_logo {
      width: 420rem;
      margin-right: 147rem; }
    nav.hum .hum_cont .hum_menu {
      display: flex;
      justify-content: flex-start; }
      nav.hum .hum_cont .hum_menu .hum_link {
        margin-right: 106rem; }
        nav.hum .hum_cont .hum_menu .hum_link:first-child {
          margin-right: 42rem; }
        nav.hum .hum_cont .hum_menu .hum_link li {
          font-size: 24rem;
          line-height: 1.16em;
          margin-bottom: 30rem; }
          nav.hum .hum_cont .hum_menu .hum_link li:last-child {
            margin-bottom: 0; }
          nav.hum .hum_cont .hum_menu .hum_link li a {
            display: inline-block;
            color: #ECE9E1; }
            nav.hum .hum_cont .hum_menu .hum_link li a:hover {
              cursor: pointer;
              color: #938D7C; }
      nav.hum .hum_cont .hum_menu .hum_btn {
        width: 243rem; }
        nav.hum .hum_cont .hum_menu .hum_btn .btn {
          width: 100%;
          margin-bottom: 35rem; }
          nav.hum .hum_cont .hum_menu .hum_btn .btn a {
            display: block;
            width: 100%;
            font-size: 16rem;
            line-height: 1.1875em;
            color: #ECE9E1;
            text-align: center;
            padding: 12rem 0;
            border: solid 1rem #ECE9E1;
            border-radius: 2rem;
            background-image: url("../img/hum_arrow_02.png");
            background-repeat: no-repeat;
            background-position: right 11rem center;
            background-size: 8rem;
            transition: 0.3s; }
            nav.hum .hum_cont .hum_menu .hum_btn .btn a:hover {
              color: #5D3121;
              background-image: url("../img/hum_arrow_01.png");
              background-color: #ECE9E1; }
        nav.hum .hum_cont .hum_menu .hum_btn .insta a {
          display: inline-block;
          font-size: 20rem;
          line-height: 1.05em;
          color: #ECE9E1;
          padding-left: 29rem;
          background: url("../img/icon_insta.png") no-repeat left center;
          background-size: 21rem; }
        nav.hum .hum_cont .hum_menu .hum_btn .threas {
          margin-top: 10rem; }
          nav.hum .hum_cont .hum_menu .hum_btn .threas a {
            display: inline-block;
            font-size: 20rem;
            line-height: 1.05em;
            color: #ECE9E1;
            padding-left: 29rem;
            background: url("../img/threads-logo-white.svg") no-repeat left center;
            background-size: contain; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 33rem;
    right: 33rem;
    width: 48rem;
    height: 15rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 48rem;
    height: 1rem;
    background-color: #5D3121;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 13rem; }

  .open .toggle_btn span {
    background: #fff; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(6.5rem) rotate(-210deg);
    transform: translateY(6.5rem) rotate(-210deg); }

  .open .toggle_btn span:nth-of-type(2) {
    -webkit-transform: translateY(-6.5rem) rotate(210deg);
    transform: translateY(-6.5rem) rotate(210deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  footer {
    width: 100%;
    position: relative;
    background: #361C11; }
    footer .bg {
      position: relative;
      overflow: hidden;
      /* パララックスでみ出た要素を隠す */
      will-change: transform;
      /* ブラウザのアニメーション最適化 */
      background: url("../img/footer_bg.png") no-repeat center top #361C11;
      background-size: 100% auto;
      line-height: 0; }
      footer .bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 967rem;
        left: 0;
        bottom: 0;
        background: url("../img/surface.png") no-repeat;
        background-size: cover;
        mix-blend-mode: hard-light;
        opacity: 0.5; }
    footer .inner {
      width: 1300rem;
      margin: 0 auto;
      color: #ECE9E1;
      padding: 300rem 0 16rem;
      position: relative;
      z-index: 3; }
      footer .inner .footer_head {
        display: flex;
        justify-content: space-between;
        margin-bottom: 142rem; }
        footer .inner .footer_head .footer_icon {
          width: 81rem; }
        footer .inner .footer_head .footer_info {
          display: flex;
          justify-content: flex-end; }
          footer .inner .footer_head .footer_info .footer_menu {
            margin-right: 106rem; }
            footer .inner .footer_head .footer_info .footer_menu:first-child {
              margin-right: 57rem; }
            footer .inner .footer_head .footer_info .footer_menu li {
              font-size: 24rem;
              line-height: 1.16em;
              margin-bottom: 30rem; }
              footer .inner .footer_head .footer_info .footer_menu li:last-child {
                margin-bottom: 0; }
              footer .inner .footer_head .footer_info .footer_menu li a {
                display: inline-block;
                color: #ECE9E1; }
                footer .inner .footer_head .footer_info .footer_menu li a:hover {
                  cursor: pointer;
                  color: #938D7C; }
          footer .inner .footer_head .footer_info .footer_btn {
            width: 243rem; }
            footer .inner .footer_head .footer_info .footer_btn .btn {
              width: 100%;
              margin-bottom: 35rem; }
              footer .inner .footer_head .footer_info .footer_btn .btn a {
                display: block;
                width: 100%;
                font-size: 16rem;
                line-height: 1.1875em;
                color: #ECE9E1;
                text-align: center;
                padding: 12rem 0;
                border: solid 1rem #ECE9E1;
                border-radius: 2rem;
                background-image: url("../img/hum_arrow_02.png");
                background-repeat: no-repeat;
                background-position: right 11rem center;
                background-size: 8rem;
                transition: 0.3s; }
                footer .inner .footer_head .footer_info .footer_btn .btn a:hover {
                  color: #5D3121;
                  background-image: url("../img/hum_arrow_01.png");
                  background-color: #ECE9E1; }
            footer .inner .footer_head .footer_info .footer_btn .insta a {
              display: inline-block;
              font-size: 20rem;
              line-height: 1.05em;
              color: #ECE9E1;
              padding-left: 29rem;
              background: url("../img/icon_insta.png") no-repeat left center;
              background-size: 21rem; }
            footer .inner .footer_head .footer_info .footer_btn .threas {
              margin-top: 10rem; }
              footer .inner .footer_head .footer_info .footer_btn .threas a {
                display: inline-block;
                font-size: 20rem;
                line-height: 1.05em;
                color: #ECE9E1;
                padding-left: 29rem;
                background: url("../img/threads-logo-white.svg") no-repeat left center;
                background-size: contain; }
      footer .inner .footer_logo {
        width: 100%;
        margin-bottom: 14rem; }
      footer .inner .copyright {
        font-size: 16rem;
        line-height: 1.1875em;
        color: #ECE9E1;
        text-align: right; }

  .under .under_body {
    width: 1300rem;
    margin: 0 auto;
    padding: 150rem 0 0; }
    .under .under_body h2 {
      font-size: 65rem;
      line-height: 1;
      color: #5D3121;
      margin-bottom: 60rem; }
    .under .under_body .under_cont {
      display: flex;
      justify-content: space-between; }
      .under .under_body .under_cont .under_cont_left {
        width: 320rem; }
        .under .under_body .under_cont .under_cont_left .under_left_box {
          position: sticky;
          top: 50rem; }
      .under .under_body .under_cont .under_cont_right {
        width: 980rem; }
    .under .under_body .under_btm {
      width: 980rem;
      margin-left: auto;
      margin-top: 35rem;
      display: flex;
      justify-content: space-between; }
      .under .under_body .under_btm .topback a {
        display: inline-block;
        font-size: 16rem;
        line-height: 1.1875em;
        color: #5D3121;
        padding-left: 18rem;
        padding-bottom: 3rem;
        border-bottom: solid 1rem #938D7C;
        background: url("../img/topback_arrow.png") no-repeat left top 5rem;
        background-size: 8rem; }
      .under .under_body .under_btm .pankuzu ul {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start; }
        .under .under_body .under_btm .pankuzu ul li {
          font-size: 12rem;
          letter-spacing: -0.03em;
          line-height: 1.33em;
          color: #5D3121;
          margin-right: 0.5em; }
          .under .under_body .under_btm .pankuzu ul li.long {
            max-width: 700rem;
            margin-right: 0; }
          .under .under_body .under_btm .pankuzu ul li a {
            color: #5D3121; }

  #news .news-content h2 {
    font-size: 28rem !important;
    line-height: 1.6em !important;
    margin-bottom: 30rem !important;
    margin-top: 60rem !important; }
  #news .news-content h3 {
    font-size: 24rem;
    line-height: 1.6em;
    margin-bottom: 15rem;
    margin-top: 40rem;
    color: #5D3121 !important; }
  #news .news-content a {
    color: #5D3121;
    text-decoration: underline; }
  #news .news-content .newsCont_01 {
    border-bottom: solid 2px #5D3121;
    border-top: solid 2px #5D3121;
    padding: 2rem 0;
    margin-bottom: 30rem; }
    #news .news-content .newsCont_01 .newsCont_01_inner {
      border-bottom: solid 1px #5D3121;
      border-top: solid 1px #5D3121;
      padding: 40rem 0;
      line-height: 1.8em !important; }
      #news .news-content .newsCont_01 .newsCont_01_inner p {
        margin: 12rem 0 !important; }
      #news .news-content .newsCont_01 .newsCont_01_inner strong {
        font-size: 30rem; }
  #news .news-content .newsCont_02 {
    margin-bottom: 30rem; }
  #news .news-content .newsCont_04_txt {
    border: solid 1px #5D3121;
    box-sizing: border-box;
    padding: 30rem;
    margin-bottom: 30rem; }
    #news .news-content .newsCont_04_txt h2 {
      margin-top: 0 !important; }
  #news .news-content .news-content__images {
    display: flex;
    justify-content: space-between;
    column-gap: 20rem;
    margin-bottom: 30rem; }
    #news .news-content .news-content__images img {
      width: 100%;
      height: auto; }
  #news .news-content .news-content__columns {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30rem; }
    #news .news-content .news-content__columns .news-content__column-text {
      width: calc(100% - 340rem);
      color: #5D3121 !important; }
    #news .news-content .news-content__columns .news-content__media {
      width: 300rem; }
      #news .news-content .news-content__columns .news-content__media img {
        width: 100%;
        height: auto;
        display: block; }
  #news .under_body {
    padding-bottom: 230rem; }
  #news .under_cont_left dl {
    font-size: 16rem;
    letter-spacing: -0.01em;
    line-height: 1.125em; }
    #news .under_cont_left dl dt {
      color: #938D7C;
      margin-bottom: 6rem; }
    #news .under_cont_left dl dd {
      color: #5D3121; }
    #news .under_cont_left dl.news_cat {
      margin-bottom: 22rem; }
  #news .under_cont_right .news_cont {
    padding-bottom: 70rem;
    border-bottom: solid 1rem #B5B1A6; }
    #news .under_cont_right .news_cont .news_ttl {
      font-size: 30rem;
      line-height: 1.5em;
      color: #5D3121;
      padding-bottom: 16rem;
      border-bottom: solid 1rem #B5B1A6;
      margin-bottom: 43rem; }
    #news .under_cont_right .news_cont .news_img {
      margin-bottom: 55rem; }
    #news .under_cont_right .news_cont .news_box p {
      font-size: 18rem;
      letter-spacing: -0.01em;
      line-height: 1.666em;
      color: #5D3121;
      font-family: fot-cezanne-pron, sans-serif;
      font-weight: 500;
      font-style: normal; }

  #store .under_body {
    padding-bottom: 155rem; }
  #store .under_cont_left dl {
    box-sizing: border-box;
    margin-bottom: 16rem;
    position: relative; }
    #store .under_cont_left dl:last-child {
      margin-bottom: 0; }
    #store .under_cont_left dl.active {
      padding-left: 25rem; }
      #store .under_cont_left dl.active::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 11rem;
        top: 5rem;
        left: 4rem;
        border-radius: 100%;
        background: #5D3121; }
    #store .under_cont_left dl dt {
      font-size: 18rem;
      letter-spacing: 0.01em;
      line-height: 1.16em;
      color: #5D3121;
      margin-bottom: 3rem; }
    #store .under_cont_left dl dd {
      font-size: 14rem;
      letter-spacing: 0.01em;
      line-height: 1em;
      color: #938D7C; }
  #store .under_cont_right .store_cont {
    padding-bottom: 60rem;
    border-bottom: solid 1rem #B5B1A6; }
    #store .under_cont_right .store_cont h3 {
      display: flex;
      justify-content: flex-start;
      align-items: baseline;
      padding-bottom: 18rem;
      border-bottom: solid 1rem #B5B1A6;
      margin-bottom: 23rem; }
      #store .under_cont_right .store_cont h3 span {
        display: inline-block; }
      #store .under_cont_right .store_cont h3 .en {
        font-size: 32rem;
        line-height: 1.156em;
        color: #5D3121;
        margin-right: 15rem; }
      #store .under_cont_right .store_cont h3 .ja {
        font-size: 14rem;
        letter-spacing: 0.01em;
        color: #938D7C; }
    #store .under_cont_right .store_cont .store_img {
      margin-bottom: 37rem; }
    #store .under_cont_right .store_cont .store_box {
      display: flex;
      justify-content: space-between; }
      #store .under_cont_right .store_cont .store_box .store_name span {
        display: inline-block; }
      #store .under_cont_right .store_cont .store_box .store_name .en {
        font-size: 20rem;
        letter-spacing: -0.01em;
        line-height: 1;
        color: #938D7C;
        margin-bottom: 10rem; }
      #store .under_cont_right .store_cont .store_box .store_name .ja {
        font-size: 28rem;
        letter-spacing: -0.005em;
        line-height: 1.21em;
        color: #5D3121; }
      #store .under_cont_right .store_cont .store_box .store_box_right {
        width: 526rem; }
        #store .under_cont_right .store_cont .store_box .store_box_right .address {
          font-size: 16rem;
          letter-spacing: -0.005em;
          line-height: 1.375em;
          color: #5D3121;
          margin-bottom: 15rem; }
        #store .under_cont_right .store_cont .store_box .store_box_right .map {
          margin-bottom: 18rem; }
          #store .under_cont_right .store_cont .store_box .store_box_right .map a {
            display: inline-block;
            font-size: 18rem;
            line-height: 1.055em;
            color: #5D3121;
            text-decoration: underline; }
        #store .under_cont_right .store_cont .store_box .store_box_right .store_info {
          padding-top: 17rem;
          border-top: solid 1rem #B5B1A6; }
          #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl {
            display: flex;
            justify-content: flex-start;
            margin-bottom: 29rem; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl:last-child {
              margin-bottom: 0; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dt {
              width: 150rem;
              font-size: 16rem;
              letter-spacing: -0.005em;
              line-height: 1.125em;
              color: #938D7C;
              margin-bottom: 10rem; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dd {
              flex: 1;
              font-size: 16rem;
              letter-spacing: -0.005em;
              line-height: 1.25em;
              color: #5D3121; }
              #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dd span {
                display: inline-block;
                font-size: 12rem;
                line-height: 1.16em;
                margin-top: 5rem; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl.hour dd {
              line-height: 1.5em; }

  #faq .under_body {
    padding-bottom: 195rem; }
  #faq .under_cont_left .faq_menu {
    display: flex;
    justify-content: flex-start;
    flex-direction: column; }
  #faq .under_cont_left a {
    display: inline-block;
    margin-bottom: 16rem;
    position: relative; }
    #faq .under_cont_left a:last-child {
      margin-bottom: 0; }
    #faq .under_cont_left a.active {
      padding-left: 25rem; }
      #faq .under_cont_left a.active::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 11rem;
        top: 5rem;
        left: 4rem;
        border-radius: 100%;
        background: #5D3121; }
    #faq .under_cont_left a dl {
      box-sizing: border-box; }
      #faq .under_cont_left a dl dt {
        font-size: 18rem;
        letter-spacing: 0.01em;
        line-height: 1.16em;
        color: #5D3121;
        margin-bottom: 3rem; }
      #faq .under_cont_left a dl dd {
        font-size: 14rem;
        letter-spacing: 0.01em;
        line-height: 1em;
        color: #938D7C; }
  #faq .under_cont_right .faq_cont {
    margin-bottom: 90rem; }
    #faq .under_cont_right .faq_cont:last-child {
      margin-bottom: 0; }
    #faq .under_cont_right .faq_cont h3 {
      display: flex;
      justify-content: flex-start;
      align-items: baseline;
      padding-bottom: 12rem;
      border-bottom: solid 1rem #B5B1A6; }
      #faq .under_cont_right .faq_cont h3 span {
        display: inline-block; }
      #faq .under_cont_right .faq_cont h3 .en {
        font-size: 32rem;
        line-height: 1.156em;
        color: #5D3121;
        margin-right: 15rem; }
      #faq .under_cont_right .faq_cont h3 .ja {
        font-size: 14rem;
        letter-spacing: 0.01em;
        color: #938D7C; }
    #faq .under_cont_right .faq_cont .faq_boxes .faq_box {
      border-bottom: solid 1rem #B5B1A6; }
      #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        box-sizing: border-box;
        padding: 22rem 40rem 22rem 0;
        color: #5D3121;
        position: relative;
        cursor: pointer; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box::before {
          position: absolute;
          content: "";
          width: 13rem;
          height: 1rem;
          top: 50%;
          right: 7rem;
          transform: translateY(-50%);
          background: #5D3121; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box::after {
          position: absolute;
          content: "";
          width: 13rem;
          height: 1rem;
          top: 50%;
          right: 7rem;
          transform: translateY(-50%) rotate(90deg);
          background: #5D3121;
          transition: all 0.3s; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box.open::after {
          transform: translateY(-50%) rotate(0); }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box .q_icon {
          font-size: 28rem;
          letter-spacing: -0.01em;
          line-height: 1.178em;
          margin-right: 41rem; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box .q_txt {
          flex: 1;
          font-size: 18rem;
          letter-spacing: -0.01em;
          line-height: 1.333em; }
      #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box {
        display: none; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in {
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          box-sizing: border-box;
          padding: 0 40rem 30rem 0;
          color: #5D3121; }
          #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_icon {
            font-size: 28rem;
            letter-spacing: -0.01em;
            line-height: 1.178em;
            line-height: 1;
            color: #A6222F;
            margin-right: 44rem; }
          #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_txt {
            flex: 1;
            font-size: 18rem;
            letter-spacing: -0.01em;
            line-height: 1.5em; }
            #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_txt a {
              color: #5D3121;
              text-decoration: underline; }
  #faq .under_btm {
    margin-top: 120rem; } }
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important; }

  body {
    background: #ECE9E1; }

  header {
    width: 100%;
    position: fixed !important;
    top: 0;
    left: 0;
    z-index: 10; }
    header .inner {
      width: 331rem;
      margin: 0 auto;
      padding: 15rem 0; }
      header .inner .header_logo {
        width: 34rem;
        line-height: 0; }
        header .inner .header_logo a {
          display: block;
          width: 100%;
          line-height: 0; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 0;
    right: -100vw;
    /*bottom: 0;*/
    width: 100vw;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    transition: all .5s;
    z-index: 21;
    background: url("../img/hum_bg_sp.webp") no-repeat center #361C11;
    background-size: cover; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  nav.hum .hum_cont {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    box-sizing: border-box;
    padding: 106rem 22rem 38rem; }
    nav.hum .hum_cont .hum_logo {
      width: 100%;
      margin-top: 68rem; }
    nav.hum .hum_cont .hum_menu {
      width: 287rem;
      margin: 0 auto; }
      nav.hum .hum_cont .hum_menu .hum_link li {
        font-size: 26rem;
        line-height: 1.23em;
        margin-bottom: 24rem; }
        nav.hum .hum_cont .hum_menu .hum_link li a {
          display: inline-block;
          color: #ECE9E1; }
          nav.hum .hum_cont .hum_menu .hum_link li a:hover {
            cursor: pointer;
            color: #938D7C; }
      nav.hum .hum_cont .hum_menu .hum_link:nth-of-type(2) li:last-child {
        margin-bottom: 0; }
      nav.hum .hum_cont .hum_menu .hum_btn {
        width: 202rem;
        margin-top: 46rem; }
        nav.hum .hum_cont .hum_menu .hum_btn .btn {
          width: 100%;
          margin-bottom: 24rem; }
          nav.hum .hum_cont .hum_menu .hum_btn .btn a {
            display: block;
            width: 100%;
            font-size: 16rem;
            line-height: 1.1875em;
            color: #ECE9E1;
            text-align: center;
            padding: 12rem 0;
            border: solid 1rem #ECE9E1;
            border-radius: 2rem;
            background-image: url("../img/hum_arrow_02.png");
            background-repeat: no-repeat;
            background-position: right 11rem center;
            background-size: 8rem;
            transition: 0.3s; }
            nav.hum .hum_cont .hum_menu .hum_btn .btn a:hover {
              color: #5D3121;
              background-image: url("../img/hum_arrow_01.png");
              background-color: #ECE9E1; }
        nav.hum .hum_cont .hum_menu .hum_btn .insta a {
          display: inline-block;
          font-size: 20rem;
          line-height: 1.05em;
          color: #ECE9E1;
          padding-left: 29rem;
          background: url("../img/icon_insta.png") no-repeat left center;
          background-size: 21rem; }
        nav.hum .hum_cont .hum_menu .hum_btn .threas a {
          display: inline-block;
          font-size: 20rem;
          line-height: 1.05em;
          color: #ECE9E1;
          padding-left: 29rem;
          background: url("../img/threads-logo-white.svg") no-repeat left center;
          background-size: contain; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 28rem;
    right: 22rem;
    width: 30rem;
    height: 10rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 30rem;
    height: 1rem;
    background-color: #5D3121;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 10rem; }

  .open .toggle_btn span {
    background: #fff; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(5rem) rotate(-210deg);
    transform: translateY(5rem) rotate(-210deg); }

  .open .toggle_btn span:nth-of-type(2) {
    -webkit-transform: translateY(-5rem) rotate(210deg);
    transform: translateY(-5rem) rotate(210deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  footer {
    width: 100%;
    position: relative;
    background: #361C11; }
    footer .bg {
      position: relative;
      overflow: hidden;
      /* パララックスでみ出た要素を隠す */
      will-change: transform;
      /* ブラウザのアニメーション最適化 */
      background: url("../img/footer_bg_sp.png") no-repeat center top #361C11;
      background-size: contain;
      line-height: 0; }
      footer .bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background: url("../img/surface_sp.png") no-repeat;
        background-size: cover;
        mix-blend-mode: hard-light; }
    footer .inner {
      width: 330rem;
      margin: 0 auto;
      color: #ECE9E1;
      padding: 110rem 0 16rem;
      position: relative;
      z-index: 3; }
      footer .inner .footer_head {
        margin-bottom: 72rem; }
        footer .inner .footer_head .footer_icon {
          width: 50rem;
          margin-bottom: 72rem; }
        footer .inner .footer_head .footer_info {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap; }
          footer .inner .footer_head .footer_info .footer_menu {
            margin-right: 27rem; }
            footer .inner .footer_head .footer_info .footer_menu li {
              font-size: 20rem;
              line-height: 1.2em;
              margin-bottom: 27rem; }
              footer .inner .footer_head .footer_info .footer_menu li:last-child {
                margin-bottom: 0; }
              footer .inner .footer_head .footer_info .footer_menu li a {
                display: inline-block;
                color: #ECE9E1; }
                footer .inner .footer_head .footer_info .footer_menu li a:hover {
                  cursor: pointer;
                  color: #938D7C; }
          footer .inner .footer_head .footer_info .footer_btn {
            width: 100%;
            margin-top: 60rem;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            footer .inner .footer_head .footer_info .footer_btn .btn {
              width: 160rem; }
              footer .inner .footer_head .footer_info .footer_btn .btn a {
                display: block;
                width: 100%;
                font-size: 16rem;
                line-height: 1.1875em;
                color: #ECE9E1;
                text-align: center;
                padding: 12rem 0;
                border: solid 1rem #ECE9E1;
                border-radius: 2rem;
                background-image: url("../img/hum_arrow_02.png");
                background-repeat: no-repeat;
                background-position: right 11rem center;
                background-size: 8rem;
                transition: 0.3s; }
                footer .inner .footer_head .footer_info .footer_btn .btn a:hover {
                  color: #5D3121;
                  background-image: url("../img/hum_arrow_01.png");
                  background-color: #ECE9E1; }
            footer .inner .footer_head .footer_info .footer_btn .insta {
              margin-top: 27rem;
              width: 160rem; }
              footer .inner .footer_head .footer_info .footer_btn .insta a {
                display: inline-block;
                font-size: 20rem;
                line-height: 1.05em;
                color: #ECE9E1;
                padding-left: 29rem;
                background: url("../img/icon_insta.png") no-repeat left center;
                background-size: 21rem; }
            footer .inner .footer_head .footer_info .footer_btn .threas {
              margin-top: 27rem;
              width: 160rem; }
              footer .inner .footer_head .footer_info .footer_btn .threas a {
                display: inline-block;
                font-size: 20rem;
                line-height: 1.05em;
                color: #ECE9E1;
                padding-left: 29rem;
                background: url("../img/threads-logo-white.svg") no-repeat left center;
                background-size: contain; }
      footer .inner .footer_logo {
        width: 100%;
        margin-bottom: 14rem; }
      footer .inner .copyright {
        font-size: 12rem;
        line-height: 1.25em;
        color: #B5B1A6; }

  .under .under_body {
    width: 330rem;
    margin: 0 auto;
    padding: 120rem 0 0; }
    .under .under_body h2 {
      font-size: 48rem;
      line-height: 1;
      color: #5D3121; }
    .under .under_body .under_cont .under_cont_left {
      width: 100%; }
    .under .under_body .under_cont .under_cont_right {
      width: 100%; }
    .under .under_body .under_btm .topback a {
      display: inline-block;
      font-size: 16rem;
      line-height: 1.1875em;
      color: #5D3121;
      padding-left: 18rem;
      padding-bottom: 3rem;
      border-bottom: solid 1rem #938D7C;
      background: url("../img/topback_arrow.png") no-repeat left top 5rem;
      background-size: 8rem; }
    .under .under_body .under_btm .pankuzu ul {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start; }
      .under .under_body .under_btm .pankuzu ul li {
        font-size: 12rem;
        letter-spacing: -0.03em;
        line-height: 1.33em;
        color: #5D3121;
        margin-right: 0.5em; }
        .under .under_body .under_btm .pankuzu ul li:last-child {
          max-width: 700rem;
          margin-right: 0; }
        .under .under_body .under_btm .pankuzu ul li a {
          color: #5D3121; }

  #news .news-content h2 {
    font-size: 20rem !important;
    line-height: 1.6em !important;
    margin-bottom: 30rem !important;
    margin-top: 60rem !important; }
  #news .news-content h3 {
    font-size: 17rem;
    line-height: 1.6em;
    margin-bottom: 15rem;
    margin-top: 40rem;
    color: #5D3121 !important; }
  #news .news-content a {
    color: #5D3121;
    text-decoration: underline; }
  #news .news-content .newsCont_01 {
    border-bottom: solid 2px #5D3121;
    border-top: solid 2px #5D3121;
    padding: 2rem 0;
    margin-bottom: 30rem; }
    #news .news-content .newsCont_01 .newsCont_01_inner {
      border-bottom: solid 1px #5D3121;
      border-top: solid 1px #5D3121;
      padding: 13rem 0;
      line-height: 1.8em !important; }
      #news .news-content .newsCont_01 .newsCont_01_inner p {
        margin: 8rem 0 !important; }
      #news .news-content .newsCont_01 .newsCont_01_inner strong {
        font-size: 27rem; }
  #news .news-content .newsCont_02 {
    margin-bottom: 30rem; }
  #news .news-content .newsCont_04_txt {
    border: solid 1px #5D3121;
    box-sizing: border-box;
    padding: 30rem;
    margin-bottom: 30rem; }
    #news .news-content .newsCont_04_txt h2 {
      margin-top: 0 !important; }
  #news .news-content .news-content__images {
    display: flex;
    justify-content: space-between;
    column-gap: 10rem;
    margin-bottom: 30rem; }
    #news .news-content .news-content__images img {
      width: 100%;
      height: auto; }
  #news .news-content .news-content__columns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30rem; }
    #news .news-content .news-content__columns .news-content__column-text {
      width: 100%;
      order: 2;
      color: #5D3121 !important; }
    #news .news-content .news-content__columns .news-content__media {
      width: 100%;
      order: 1;
      margin-bottom: 15rem; }
      #news .news-content .news-content__columns .news-content__media img {
        width: 100%;
        height: auto;
        display: block; }
  #news .under_body {
    padding-bottom: 100rem; }
  #news .under_cont_left {
    margin-bottom: 20rem; }
    #news .under_cont_left .under_left_box {
      display: flex;
      justify-content: flex-start; }
    #news .under_cont_left dl {
      font-size: 14rem;
      letter-spacing: -0.01em;
      line-height: 1.142em; }
      #news .under_cont_left dl dt {
        color: #938D7C;
        margin-bottom: 5rem; }
      #news .under_cont_left dl dd {
        color: #5D3121; }
      #news .under_cont_left dl.news_cat {
        margin-right: 27rem; }
  #news .under_cont_right .news_cont {
    padding-bottom: 30rem;
    border-bottom: solid 1rem #B5B1A6;
    margin-bottom: 35rem; }
    #news .under_cont_right .news_cont .news_ttl {
      font-size: 22rem;
      letter-spacing: -0.01em;
      line-height: 1.45em;
      color: #5D3121;
      padding-bottom: 15rem;
      border-bottom: solid 1rem #B5B1A6;
      margin-bottom: 30rem; }
    #news .under_cont_right .news_cont .news_img {
      margin-bottom: 30rem; }
    #news .under_cont_right .news_cont .news_box p {
      font-size: 14rem;
      letter-spacing: -0.01em;
      line-height: 1.714em;
      color: #5D3121;
      font-family: fot-cezanne-pron, sans-serif;
      font-weight: 500;
      font-style: normal; }

  #store .under_body {
    padding-bottom: 125rem; }
  #store h2 {
    margin-bottom: 68rem; }
  #store .under_cont_right .store_cont {
    padding-bottom: 22rem;
    border-bottom: solid 1rem #B5B1A6;
    margin-bottom: 33rem; }
    #store .under_cont_right .store_cont h3 {
      display: flex;
      justify-content: flex-start;
      align-items: baseline;
      padding-bottom: 9rem;
      border-bottom: solid 1rem #B5B1A6;
      margin-bottom: 25rem; }
      #store .under_cont_right .store_cont h3 span {
        display: inline-block; }
      #store .under_cont_right .store_cont h3 .en {
        font-size: 22rem;
        line-height: 1.18em;
        font-weight: 400;
        color: #5D3121;
        margin-right: 12rem; }
      #store .under_cont_right .store_cont h3 .ja {
        font-size: 14rem;
        letter-spacing: 0.01em;
        color: #938D7C; }
    #store .under_cont_right .store_cont .store_img {
      margin-bottom: 30rem; }
    #store .under_cont_right .store_cont .store_box .store_name {
      margin-bottom: 30rem; }
      #store .under_cont_right .store_cont .store_box .store_name span {
        display: inline-block; }
      #store .under_cont_right .store_cont .store_box .store_name .en {
        font-size: 15rem;
        letter-spacing: -0.01em;
        line-height: 1;
        color: #938D7C;
        margin-bottom: 5rem; }
      #store .under_cont_right .store_cont .store_box .store_name .ja {
        font-size: 21rem;
        letter-spacing: -0.005em;
        line-height: 1.19em;
        color: #5D3121; }
    #store .under_cont_right .store_cont .store_box .store_box_right {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      flex-wrap: wrap; }
      #store .under_cont_right .store_cont .store_box .store_box_right .address {
        width: 215rem;
        font-size: 14rem;
        letter-spacing: -0.005em;
        line-height: 1.4285em;
        color: #5D3121; }
      #store .under_cont_right .store_cont .store_box .store_box_right .map a {
        display: inline-block;
        font-size: 14rem;
        line-height: 1.055em;
        color: #5D3121;
        text-decoration: underline; }
      #store .under_cont_right .store_cont .store_box .store_box_right .store_info {
        margin-top: 17rem;
        padding-top: 16rem;
        border-top: solid 1rem #B5B1A6;
        width: 100%; }
        #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl {
          margin-bottom: 12rem; }
          #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl:last-child {
            margin-bottom: 0; }
          #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dt {
            font-size: 13rem;
            letter-spacing: -0.005em;
            line-height: 1.15em;
            color: #938D7C;
            margin-bottom: 5rem; }
          #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dd {
            font-size: 13rem;
            letter-spacing: -0.005em;
            line-height: 1.38em;
            color: #5D3121; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dd a {
              color: #5D3121; }
            #store .under_cont_right .store_cont .store_box .store_box_right .store_info dl dd span {
              display: inline-block;
              font-size: 12rem;
              line-height: 1.16em;
              margin-top: 5rem; }

  #faq .under_body {
    padding-bottom: 100rem; }
  #faq h2 {
    margin-bottom: 33rem; }
  #faq .under_cont_right .faq_cont {
    margin-bottom: 80rem; }
    #faq .under_cont_right .faq_cont:last-child {
      margin-bottom: 0; }
    #faq .under_cont_right .faq_cont h3 {
      padding-bottom: 18rem;
      border-bottom: solid 1rem #B5B1A6; }
      #faq .under_cont_right .faq_cont h3 span {
        display: block; }
      #faq .under_cont_right .faq_cont h3 .en {
        font-size: 24rem;
        line-height: 1.16em;
        color: #5D3121;
        margin-bottom: 6rem; }
      #faq .under_cont_right .faq_cont h3 .ja {
        font-size: 14rem;
        letter-spacing: 0.01em;
        line-height: 1;
        color: #938D7C; }
    #faq .under_cont_right .faq_cont .faq_boxes .faq_box {
      border-bottom: solid 1rem #B5B1A6; }
      #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box {
        display: flex;
        justify-content: flex-start;
        box-sizing: border-box;
        padding: 25rem 29rem 25rem 0;
        color: #5D3121;
        position: relative;
        cursor: pointer; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box::before {
          position: absolute;
          content: "";
          width: 10rem;
          height: 1rem;
          top: 50%;
          right: 10rem;
          transform: translateY(-50%);
          background: #5D3121; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box::after {
          position: absolute;
          content: "";
          width: 10rem;
          height: 1rem;
          top: 50%;
          right: 10rem;
          transform: translateY(-50%) rotate(90deg);
          background: #5D3121;
          transition: all 0.3s; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box.open::after {
          transform: translateY(-50%) rotate(0); }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box .q_icon {
          font-size: 20rem;
          letter-spacing: -0.01em;
          line-height: 1.2em;
          margin-right: 10rem; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .q_box .q_txt {
          flex: 1;
          font-size: 14rem;
          letter-spacing: -0.01em;
          line-height: 1.4285em;
          padding-top: 2rem; }
      #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box {
        display: none; }
        #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in {
          display: flex;
          justify-content: flex-start;
          box-sizing: border-box;
          padding: 0 29rem 17rem 0;
          color: #5D3121; }
          #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_icon {
            font-size: 20rem;
            letter-spacing: -0.01em;
            line-height: 1.2em;
            color: #A6222F;
            margin-right: 13rem; }
          #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_txt {
            flex: 1;
            font-size: 14rem;
            letter-spacing: -0.01em;
            line-height: 1.4285em; }
            #faq .under_cont_right .faq_cont .faq_boxes .faq_box .a_box .a_box_in .a_txt a {
              color: #5D3121;
              text-decoration: underline; }
  #faq .under_btm {
    margin-top: 80rem; } }
