@charset "UTF-8";
@keyframes spin {
  0% {
    transform: rotate(0deg);
    /* 開始時：0度 */ }
  100% {
    transform: rotate(360deg);
    /* 終了時：360度（1周） */ } }
html, body, * {
  -ms-overflow-style: none !important;
  /* IE, Edge 対応 */
  scrollbar-width: none !important;
  /* Firefox 対応 */ }
  html::-webkit-scrollbar, body::-webkit-scrollbar, *::-webkit-scrollbar {
    display: none !important;
    /* Chrome, Safari, Edge 対応 */ }

@media screen and (min-width: 769px) {
  .top_prd_sticky_wrap {
    display: contents; }

  header {
    position: fixed !important;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 18; }

  .header_logo a img {
    animation: spin 1.5s linear infinite;
    animation-play-state: paused; }
  .header_logo a:hover img {
    animation-play-state: running; }

  #load {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ECE9E1; }
    #load .load_logo {
      width: 90rem;
      margin: 0 auto 33rem; }
      #load .load_logo img {
        animation: spin 1.5s linear infinite;
        width: 100%;
        display: block; }
    #load .load_txt {
      width: 420rem;
      margin: 0 auto; }
      #load .load_txt img {
        width: 100%;
        height: auto;
        display: block; }

  .inner {
    width: 1300rem;
    margin: 0 auto; }

  .main_ttl {
    box-sizing: border-box;
    font-size: 24rem;
    color: #5D3121;
    padding-left: 28rem;
    background: url("../img/icon_main.png") no-repeat left top 2rem;
    background-size: 18rem;
    margin-bottom: 30rem;
    font-weight: 300; }
    .main_ttl.main_ttl_white {
      color: #ECE9E1;
      background-image: url("../img/icon_main_white.png"); }

  .toggle_btn.white span {
    background: #fff !important; }

  #fv {
    height: 100vh;
    max-height: 865rem;
    overflow: hidden;
    position: relative; }
    #fv:before {
      content: '';
      display: block;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: 7;
      background: url("../img/mv_texcha.png") no-repeat center;
      background-size: cover; }
    #fv .fv_num {
      position: absolute;
      z-index: 6;
      top: 50%;
      transform: translateY(-50%);
      right: 34.5rem;
      display: flex;
      justify-content: center;
      align-content: center;
      align-items: center;
      flex-wrap: wrap;
      width: 10rem; }
      #fv .fv_num .fv_num_txt1 {
        color: #ECE9E1;
        font-size: 16rem; }
      #fv .fv_num .fv_num_bar {
        margin: 4.5rem 0;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        background: #ECE9E1;
        height: 91rem;
        width: 3rem; }
        #fv .fv_num .fv_num_bar span {
          display: block;
          width: 3rem;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          background: #B5B1A6; }
      #fv .fv_num .fv_num_txt2 {
        color: #ECE9E1;
        font-size: 16rem; }
    #fv:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      background: url("../img/hum_bg.png") no-repeat;
      background-size: cover;
      width: 100%;
      height: 100%;
      z-index: 7; }
    #fv .fv_img {
      position: relative;
      z-index: 1; }
      #fv .fv_img .img4, #fv .fv_img .img2, #fv .fv_img .img3 {
        display: none; }
    #fv .fv_txt {
      position: absolute;
      z-index: 4;
      width: 1298rem;
      left: 50%;
      transform: translateX(-50%);
      top: 78rem; }
      #fv .fv_txt img {
        width: 100%; }
    #fv .fv_img_icon {
      position: absolute;
      z-index: 5;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
      #fv .fv_img_icon .img4, #fv .fv_img_icon .img2, #fv .fv_img_icon .img3 {
        display: none; }
      #fv .fv_img_icon .img2 {
        position: absolute;
        width: 452rem;
        left: 96rem;
        top: 207rem; }
      #fv .fv_img_icon .img3 {
        position: absolute;
        width: 100%;
        left: 0;
        top: 0; }
      #fv .fv_img_icon .img4 {
        position: absolute;
        width: 856rem;
        left: 0;
        top: 0; }

  .top_prd {
    padding-top: 22rem;
    background: #ECE9E1;
    padding-bottom: 360rem; }
    .top_prd .inner {
      position: relative; }
    .top_prd .top_prd_menu {
      position: absolute;
      left: 0;
      top: 78rem;
      z-index: 10; }
      .top_prd .top_prd_menu:before {
        content: '';
        display: block;
        width: 11rem;
        height: 11rem;
        background: #5D3121;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        position: absolute;
        left: 3rem;
        top: 5rem;
        transition: 0.8s; }
      .top_prd .top_prd_menu.menu2:before {
        top: 65rem;
        transition: 0.8s; }
      .top_prd .top_prd_menu.menu2 li:nth-child(1) {
        padding-left: 0;
        transition: 0.8s; }
      .top_prd .top_prd_menu.menu2 li:nth-child(2) {
        padding-left: 24rem;
        transition: 0.8s; }
      .top_prd .top_prd_menu li {
        margin-bottom: 15rem;
        position: relative;
        box-sizing: border-box;
        transition: 0.8s;
        color: #5D3121;
        font-size: 18rem;
        line-height: 1.2em;
        font-weight: 400; }
        .top_prd .top_prd_menu li:nth-child(1) {
          padding-left: 24rem;
          transition: 0.8s; }
        .top_prd .top_prd_menu li span {
          color: #938D7C;
          font-size: 14rem;
          display: block; }
    .top_prd .top_prd_boxes .top_prd_box {
      background: #ECE9E1;
      height: calc(100dvh - 52rem);
      box-sizing: border-box;
      border-top: solid 1px #B5B1A6;
      padding-top: 22rem;
      padding-left: 190rem;
      display: flex;
      justify-content: space-between;
      padding-bottom: 22rem; }
      .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left {
        width: 702rem;
        display: flex;
        justify-content: space-between; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 {
          width: 220rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 div {
            height: 35dvh;
            margin-bottom: 12rem;
            overflow: hidden; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 div img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 {
          width: 470rem;
          height: calc(100vh - 126rem); }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 div {
            height: 100%;
            overflow: hidden; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 div img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
      .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right {
        width: 370rem;
        position: relative; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_rightin {
          height: 200rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn {
          margin-top: 25rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn .shoponly {
            color: #482618;
            font-size: 16rem;
            text-align: center;
            box-sizing: border-box;
            padding: 15rem 0;
            border: solid 1px #5D3121;
            border-radius: 2rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn a {
            display: block;
            color: #fff;
            background: url("../img/arr_shop_on.png") no-repeat right 12rem center #5D3121;
            background-size: 8rem;
            font-size: 16rem;
            padding: 13rem 0;
            border-radius: 2rem;
            transition: 0.1s;
            text-align: center; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn a:hover {
              cursor: pointer;
              background-color: #FFB000;
              color: #5D3121;
              background-image: url("../img/arr_shop.png");
              transition: 0.1s; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_name {
          font-size: 32rem;
          line-height: 1.1em;
          color: #5D3121;
          font-weight: 500;
          margin-bottom: 9rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_name .icon {
            display: inline-block;
            width: 29rem;
            height: auto;
            vertical-align: middle;
            margin-left: 4rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_txt {
          font-size: 16rem;
          letter-spacing: 0.01em;
          margin-bottom: 78rem;
          color: #5D3121; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_txt span {
            display: inline-block;
            color: #5D3121;
            background: #FFB000;
            border-radius: 2rem;
            font-size: 15rem;
            padding: 5rem 24rem;
            margin-top: 13rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_price {
          font-size: 16rem;
          letter-spacing: 0.01em;
          color: #5D3121;
          font-weight: 400;
          margin-bottom: 18rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame {
          box-sizing: border-box;
          border: solid 1px #5D3121;
          display: flex;
          flex-wrap: wrap; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame1 {
            box-sizing: border-box;
            padding: 15rem;
            font-size: 14rem;
            line-height: 1.5em;
            letter-spacing: -0.03em;
            color: #5D3121;
            border-bottom: solid 1px #5D3121;
            width: 100%; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 {
            width: 59%;
            box-sizing: border-box;
            border-right: solid 1px #5D3121;
            padding: 8rem 10rem 15rem;
            color: #5D3121;
            font-weight: 400; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame2_type {
              font-size: 16rem;
              text-align: center; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame2_txt {
              font-size: 11rem;
              letter-spacing: 0.01em;
              margin-bottom: 7rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex {
              display: flex;
              justify-content: center;
              align-items: center; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_txt {
                font-size: 14rem;
                letter-spacing: 0.01em;
                font-weight: 400; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list {
                margin: 0 15rem;
                display: flex; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list5 li {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(2), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(3), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(4) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(2), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(3) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list2 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list2 li:nth-child(2) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list1 li:nth-child(1) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list li {
                  margin-right: 7rem;
                  line-height: 1;
                  padding: 0;
                  width: 10rem;
                  height: 10rem;
                  border: solid 1px #5D3121;
                  border-radius: 100px;
                  -webkit-border-radius: 100px;
                  -moz-border-radius: 100px; }
                  .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list li:last-child {
                    margin-right: 0; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 {
            width: 41%;
            box-sizing: border-box;
            padding: 8rem 10rem 15rem;
            color: #5D3121;
            font-weight: 400; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 .top_prd_box_frame3_txt {
              font-size: 11rem;
              letter-spacing: 0.01em;
              margin-bottom: 7rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 .top_prd_box_frame3_type {
              font-size: 16rem;
              text-align: center; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num {
          position: absolute;
          right: 0;
          bottom: 25rem;
          display: flex;
          align-items: center; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_txt {
            font-size: 14rem;
            color: #938D7C;
            font-weight: 400; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_bar {
            height: 3rem;
            width: 52rem;
            margin: 0 8rem;
            background: #CCC9C1; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_bar span {
              display: block;
              background: #B5B1A6;
              height: 100%; }

  .topbg_01 {
    background: #361C11;
    position: relative; }
    .topbg_01:before {
      content: '';
      display: block;
      width: 100%;
      height: 228rem;
      position: absolute;
      left: 0;
      top: -1px;
      background: url("../img/top_wave_01.png") no-repeat center top;
      background-size: contain; }
    .topbg_01:after {
      content: '';
      display: block;
      width: 100%;
      height: 228rem;
      position: absolute;
      left: 0;
      bottom: -1px;
      background: url("../img/top_wave_02.png") no-repeat center bottom;
      background-size: contain; }
    .topbg_01 .topbg_01_inner {
      padding: 225rem 0;
      position: relative;
      z-index: 2;
      background: url("../img/top_bokashi.png") center top;
      background-size: cover;
      background-attachment: fixed; }

  .brand {
    padding-bottom: 100rem;
    padding-top: 30rem;
    margin-top: 90rem; }
    .brand .brand_box {
      display: flex;
      justify-content: space-between; }
      .brand .brand_box .brand_box_left {
        width: 604rem;
        position: relative;
        height: calc(100vh - 140rem); }
        .brand .brand_box .brand_box_left .brand_box_img {
          height: calc(100vh - 140rem); }
          .brand .brand_box .brand_box_left .brand_box_img div {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: calc(100vh - 140rem); }
            .brand .brand_box .brand_box_left .brand_box_img div.on {
              opacity: 1;
              transition: 0.3s;
              visibility: visible; }
            .brand .brand_box .brand_box_left .brand_box_img div.off {
              opacity: 0;
              transition: 0.3s;
              visibility: hidden; }
          .brand .brand_box .brand_box_left .brand_box_img img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
      .brand .brand_box .brand_box_right {
        width: 651rem; }
        .brand .brand_box .brand_box_right .brand_box_info {
          width: 376rem;
          position: relative;
          margin-bottom: 36rem; }
          .brand .brand_box .brand_box_right .brand_box_info label {
            display: block; }
            .brand .brand_box .brand_box_right .brand_box_info label:hover {
              cursor: pointer; }
          .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info1 {
            opacity: 1;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info2 {
            opacity: 1;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info3 {
            opacity: 1;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label + .brand_box_info_img {
            opacity: 1;
            visibility: visible;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info input[type="radio"] {
            display: none; }
          .brand .brand_box .brand_box_right .brand_box_info .brand_box_info_img {
            position: absolute;
            width: 228rem;
            left: 393rem;
            top: 0;
            opacity: 0;
            transition: 0.3s;
            visibility: hidden; }
            .brand .brand_box .brand_box_right .brand_box_info .brand_box_info_img img {
              width: 100%;
              height: auto; }
          .brand .brand_box .brand_box_right .brand_box_info .brand_box_info1 {
            border-top: solid 1px #D6D2C8;
            padding-top: 10rem;
            color: #ECE9E1;
            font-size: 14rem;
            font-weight: 500;
            margin-bottom: 19rem;
            opacity: 0.4;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info .brand_box_info2 {
            color: #ECE9E1;
            margin-bottom: 15rem;
            font-size: 31rem;
            opacity: 0.4;
            transition: 0.3s; }
          .brand .brand_box .brand_box_right .brand_box_info .brand_box_info3 {
            font-size: 16rem;
            letter-spacing: -0.05em;
            color: #ECE9E1;
            opacity: 0.4;
            transition: 0.3s; }

  /* brand */
  .scrAction {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    padding: 0 5%;
    position: relative;
    overflow: hidden;
    /* 左右のカラム */
    /* 中央の画像カラム */
    /* 画像を重ねるためのラッパー */
    /* 各画像パネル */
    /* 仮の画像表示用（実際は <img>タグや background-image を使用してください） */
    /* 右側テキストの重なり調整 */ }
    .scrAction .left-col, .scrAction .right-col {
      width: 330rem;
      z-index: 10; }
    .scrAction .right-col {
      box-sizing: border-box;
      padding-left: 50rem; }
    .scrAction .left-col p {
      text-align: left;
      font-size: 34rem;
      color: #ECE9E1;
      letter-spacing: 0;
      font-weight: 400 !important; }
    .scrAction .center-col {
      width: 569rem;
      height: 509rem;
      font-weight: 400;
      position: relative; }
    .scrAction .image-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 620rem;
      height: 100%; }
    .scrAction .img-panel {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      /* 2枚目以降は初期状態で下に隠しておく（JSで設定も可能） */ }
    .scrAction .img-placeholder {
      width: 100%;
      height: 509rem;
      display: flex;
      justify-content: center;
      align-items: center; }
      .scrAction .img-placeholder.bg-gray img {
        width: 464rem;
        height: 479rem; }
      .scrAction .img-placeholder.bg-woman img {
        width: 400rem;
        height: 509rem; }
      .scrAction .img-placeholder.bg-food img {
        width: 569rem;
        height: 457rem; }
      .scrAction .img-placeholder.bg-hands img {
        width: 376rem;
        height: 548rem; }
      .scrAction .img-placeholder.bg-hands2 img {
        width: 506rem;
        height: 527rem; }
      .scrAction .img-placeholder img {
        width: 100%;
        /* 追加: 要素の枠を親に合わせる */
        height: 100%;
        /* 追加: 要素の枠を親に合わせる */
        object-fit: contain; }
    .scrAction .text-wrapper {
      position: relative; }
    .scrAction .text-panel {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      opacity: 0;
      font-size: 34rem;
      color: #ECE9E1;
      font-weight: 400; }
    .scrAction .text-panel.active {
      opacity: 1; }
    .scrAction .text-panel span {
      font-size: 18rem;
      letter-spacing: -0.05em;
      font-weight: normal; }

  #top_shop {
    background: #ECE9E1;
    padding-top: 166rem;
    padding-bottom: 40rem; }
    #top_shop .inner {
      display: flex;
      justify-content: space-between; }
      #top_shop .inner .top_shop_right {
        width: 1150rem;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #top_shop .inner .top_shop_right .top_shop_img {
          width: 604rem; }
          #top_shop .inner .top_shop_right .top_shop_img div {
            height: 392rem; }
            #top_shop .inner .top_shop_right .top_shop_img div img {
              object-fit: cover; }
        #top_shop .inner .top_shop_right .top_shop_info {
          width: 490rem; }
          #top_shop .inner .top_shop_right .top_shop_info .top_shop_en {
            font-size: 22rem;
            letter-spacing: -0.05em;
            color: #938D7C;
            margin-bottom: 13rem; }
          #top_shop .inner .top_shop_right .top_shop_info .top_shop_name {
            font-size: 26rem;
            letter-spacing: -0.05em;
            color: #5D3121;
            margin-bottom: 31rem;
            line-height: 1.3em; }
          #top_shop .inner .top_shop_right .top_shop_info .top_shop_ad {
            font-size: 16rem;
            line-height: 1.375em;
            letter-spacing: -0.05em;
            color: #5D3121;
            margin-bottom: 16rem; }
          #top_shop .inner .top_shop_right .top_shop_info .top_shop_map a {
            font-size: 14rem;
            text-decoration: underline;
            color: #5D3121;
            letter-spacing: -0.05em; }
          #top_shop .inner .top_shop_right .top_shop_info .shop_btn {
            padding-top: 11rem;
            margin-top: 24rem;
            border-top: solid 1px #B5B1A6; }
            #top_shop .inner .top_shop_right .top_shop_info .shop_btn a {
              border-radius: 2rem;
              display: block;
              width: 191rem;
              font-size: 16rem;
              color: #5D3121;
              line-height: 1.1em;
              padding: 13rem 0;
              box-sizing: border-box;
              border: solid 1px #5D3121;
              text-align: center;
              background: url("../img/arr_shop.png") no-repeat center right 11rem;
              background-size: 8rem;
              transition: 0.1s; }
              #top_shop .inner .top_shop_right .top_shop_info .shop_btn a:hover {
                cursor: pointer;
                transition: 0.1s;
                background-color: #5D3121;
                background-image: url("../img/arr_shop_on.png");
                color: #fff; }

  #top_news {
    padding-top: 210rem;
    background: #ECE9E1; }
    #top_news .top_news_more {
      width: 191rem;
      margin: 100rem auto 0;
      font-size: 16rem;
      color: #5D3121;
      line-height: 1.1em;
      padding: 13rem 0;
      box-sizing: border-box;
      border: solid 1px #5D3121;
      text-align: center;
      background: url("../img/arr_more.png") no-repeat center right 11rem;
      background-size: 8rem;
      transition: 0.1s; }
      #top_news .top_news_more:hover {
        cursor: pointer;
        transition: 0.1s;
        background-color: #5D3121;
        background-image: url("../img/arr_more_on.png");
        color: #fff; }
    #top_news .top_news_boxes {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #top_news .top_news_boxes .top_news_box {
        width: 48.3%;
        margin-bottom: 26.5rem;
        border-top: solid 1px #B5B1A6;
        padding-top: 12rem;
        display: flex;
        justify-content: space-between;
        position: relative; }
        #top_news .top_news_boxes .top_news_box a {
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%; }
          #top_news .top_news_boxes .top_news_box a:hover {
            cursor: pointer; }
        #top_news .top_news_boxes .top_news_box:hover .top_news_box_left div img {
          transition: 0.4s;
          transform: scale(1.1); }
        #top_news .top_news_boxes .top_news_box .top_news_box_left {
          width: 216rem; }
          #top_news .top_news_boxes .top_news_box .top_news_box_left div {
            height: 138rem;
            overflow: hidden; }
            #top_news .top_news_boxes .top_news_box .top_news_box_left div img {
              transition: 0.4s;
              object-fit: cover; }
        #top_news .top_news_boxes .top_news_box .top_news_box_right {
          width: calc(100% - 244rem);
          padding-top: 12rem; }
          #top_news .top_news_boxes .top_news_box .top_news_box_right .top_news_box_date {
            font-size: 16rem;
            letter-spacing: -0.05em;
            margin-bottom: 24rem;
            font-weight: 400;
            color: #5D3121; }
          #top_news .top_news_boxes .top_news_box .top_news_box_right .top_news_box_ttl {
            font-size: 16rem;
            letter-spacing: -0.05em;
            color: #5D3121;
            width: 290rem;
            line-height: 1.25em; }

  #top_online {
    background: #ECE9E1;
    padding: 210rem 0; }
    #top_online .top_online_inner {
      width: 1300rem;
      margin: 0 auto;
      display: flex;
      justify-content: flex-end;
      background: url("../img/top_online.png") no-repeat left center;
      background-size: contain; }
      #top_online .top_online_inner .top_online_right {
        width: 50%;
        background: #5D3121;
        box-sizing: border-box;
        padding: 19.4rem 0 39rem;
        text-align: center;
        position: relative;
        transition: 0.1s; }
        #top_online .top_online_inner .top_online_right a.anc {
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%; }
          #top_online .top_online_inner .top_online_right a.anc:hover {
            cursor: pointer; }
        #top_online .top_online_inner .top_online_right:hover {
          background: #311301;
          transition: 0.1s; }
          #top_online .top_online_inner .top_online_right:hover .top_online_btn a {
            color: #5D3121;
            background-image: url("../img/hum_arrow_01.png");
            background-color: #ECE9E1;
            transition: 0.3s; }
        #top_online .top_online_inner .top_online_right .top_online_en {
          color: #ECE9E1;
          font-size: 14rem;
          line-height: 1.1em;
          font-weight: 500;
          margin-bottom: 174rem; }
        #top_online .top_online_inner .top_online_right .top_online_logo {
          width: 382rem;
          margin: 0 auto 32.5rem; }
          #top_online .top_online_inner .top_online_right .top_online_logo img {
            display: block;
            width: 100%;
            height: auto; }
        #top_online .top_online_inner .top_online_right .top_online_btn {
          width: 244rem;
          margin: 0 auto 135rem; }
          #top_online .top_online_inner .top_online_right .top_online_btn a {
            transition: 0.1s;
            display: block;
            width: 100%;
            box-sizing: border-box;
            background-image: url("../img/hum_arrow_02.png");
            background-repeat: no-repeat;
            background-position: right 11rem center;
            background-size: 8rem;
            transition: 0.3s;
            font-size: 16rem;
            line-height: 1.1em;
            color: #fff;
            padding: 13rem 0;
            border: solid 1px #fff;
            border-radius: 2rem; }
        #top_online .top_online_inner .top_online_right .top_online_txt {
          font-size: 16rem;
          line-height: 1.625em;
          color: #ECE9E1; }

  #top_intro {
    background: #ECE9E1;
    padding: 197rem 0 258rem;
    color: #5D3121; }
    #top_intro:after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 100%;
      background: url("../img/top_wave_02.png") no-repeat center top;
      background-size: cover;
      width: 100%;
      height: 226rem;
      z-index: 6;
      margin-bottom: -1px; }
    #top_intro .top_intro_box {
      display: flex; }
      #top_intro .top_intro_box .top_intro_left {
        width: 320rem;
        padding-top: 10rem; }
        #top_intro .top_intro_box .top_intro_left .ttl {
          display: inline-block;
          padding-left: 28rem;
          box-sizing: border-box;
          font-size: 24rem;
          background: url("../img/icon_top-intro.png") no-repeat center left;
          background-size: 18rem; }
      #top_intro .top_intro_box .top_intro_right .top_intro_box_en {
        font-size: 65rem;
        line-height: 1.15em;
        margin-bottom: 35rem; }
      #top_intro .top_intro_box .top_intro_right .top_intro_box_ttl {
        display: inline-block;
        text-decoration: underline;
        font-size: 24rem;
        letter-spacing: 0.01em;
        margin-bottom: 89rem; }
      #top_intro .top_intro_box .top_intro_right .top_intro_box_txt {
        font-size: 16rem;
        line-height: 2.25em;
        letter-spacing: 0.01em; }

  .bgindex {
    position: relative;
    z-index: 4;
    background: #ECE9E1; } }
@media screen and (max-width: 768px) {
  #load {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ECE9E1; }
    #load .load_logo {
      width: 113rem;
      margin: 0 auto 15rem; }
      #load .load_logo img {
        animation: spin 1.5s linear infinite;
        width: 100%;
        display: block; }
    #load .load_txt {
      width: 110rem;
      margin: 0 auto; }
      #load .load_txt img {
        width: 100%;
        height: auto;
        display: block; }

  main {
    width: 100vw;
    overflow: clip; }

  .inner {
    width: 330rem;
    margin: 0 auto; }

  .bgindex {
    position: relative;
    z-index: 4; }

  .main_ttl {
    box-sizing: border-box;
    font-size: 18rem;
    color: #5D3121;
    padding-left: 21rem;
    background: url("../img/icon_main.png") no-repeat left top 1rem;
    background-size: 15rem;
    margin-bottom: 20rem;
    font-weight: 300; }
    .main_ttl.main_ttl_white {
      color: #ECE9E1;
      background-image: url("../img/icon_main_white.png"); }

  .toggle_btn.white span {
    background: #fff !important; }

  #fv {
    height: 100dvh;
    overflow: hidden;
    position: relative; }
    #fv:before {
      content: '';
      display: block;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: 7;
      background: url("../img/mv_texcha.png") no-repeat center;
      background-size: cover; }
    #fv .fv_num {
      position: absolute;
      z-index: 6;
      bottom: 30rem;
      right: 24rem;
      display: flex;
      justify-content: center;
      align-content: center;
      align-items: center;
      flex-wrap: wrap;
      width: 14rem; }
      #fv .fv_num .fv_num_txt1 {
        color: #ECE9E1;
        font-size: 14rem;
        width: 100%;
        text-align: center; }
      #fv .fv_num .fv_num_bar {
        margin: 5rem 0;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        background: #ECE9E1;
        height: 67rem;
        width: 2rem; }
        #fv .fv_num .fv_num_bar span {
          display: block;
          width: 2rem;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          background: #B5B1A6; }
      #fv .fv_num .fv_num_txt2 {
        color: #ECE9E1;
        font-size: 14rem;
        width: 100%;
        text-align: center; }
    #fv:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      background: url("../img/hum_bg_sp.png") no-repeat;
      background-size: cover;
      width: 100%;
      height: 100%;
      z-index: 7; }
    #fv .fv_img {
      position: relative;
      z-index: 1; }
      #fv .fv_img .img4, #fv .fv_img .img2, #fv .fv_img .img3 {
        display: none; }
    #fv .fv_txt {
      position: absolute;
      z-index: 4;
      width: 236rem;
      left: 50%;
      transform: translateX(-50%);
      top: 128rem; }
      #fv .fv_txt svg {
        color: #5D3121; }
      #fv .fv_txt img {
        width: 100%; }
    #fv .fv_img_icon {
      position: absolute;
      z-index: 5;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
      #fv .fv_img_icon .img4, #fv .fv_img_icon .img2, #fv .fv_img_icon .img3 {
        display: none; }
      #fv .fv_img_icon .img1 {
        position: absolute;
        width: 100%;
        left: 0;
        top: 209rem; }
      #fv .fv_img_icon .img2 {
        position: absolute;
        width: 268rem;
        left: 225rem;
        top: 221rem; }
      #fv .fv_img_icon .img3 {
        position: absolute;
        width: 100%;
        left: 0;
        top: 0; }
      #fv .fv_img_icon .img4 {
        position: absolute;
        width: 100%;
        left: 0;
        top: 0; }

  .top_prd {
    background: #ECE9E1;
    padding-top: 0;
    padding-bottom: 20rem; }
    .top_prd .top_prd_sticky_wrap {
      position: sticky;
      top: 0;
      z-index: 20;
      padding-top: 10rem;
      height: 75rem; }
      .top_prd .top_prd_sticky_wrap:before {
        content: '';
        position: absolute;
        top: 0;
        left: calc(50% - 50vw);
        width: 100vw;
        height: 100%;
        background: #ECE9E1;
        z-index: -1; }
    .top_prd .top_prd_ttl {
      margin-bottom: 0;
      padding-bottom: 10rem;
      border-bottom: solid 1px #B5B1A6;
      position: relative;
      z-index: 11;
      background-position: left top 1rem; }
    .top_prd .top_prd_menu {
      position: absolute;
      left: 0;
      top: 45rem;
      padding-top: 8rem;
      z-index: 10;
      width: 100%; }
      .top_prd .top_prd_menu.menu2 li:nth-child(1) {
        opacity: 0;
        transition: 0.8s; }
      .top_prd .top_prd_menu.menu2 li:nth-child(2) {
        opacity: 1;
        transition: 0.8s; }
      .top_prd .top_prd_menu li {
        padding-left: 15rem;
        position: relative;
        left: 0;
        top: 0;
        height: 30rem;
        box-sizing: border-box;
        transition: 0.8s;
        color: #5D3121;
        font-size: 13rem;
        line-height: 1.2em;
        font-weight: 400;
        display: block; }
        .top_prd .top_prd_menu li:nth-child(1) {
          opacity: 1;
          transition: 0.8s; }
        .top_prd .top_prd_menu li:nth-child(2) {
          opacity: 0;
          transition: 0.8s;
          margin-top: -31rem; }
        .top_prd .top_prd_menu li:before {
          content: '';
          display: block;
          width: 6rem;
          height: 6rem;
          background: #5D3121;
          border-radius: 100px;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          position: absolute;
          left: 3rem;
          top: 4rem;
          transition: 0.8s; }
        .top_prd .top_prd_menu li span {
          color: #938D7C;
          font-size: 10rem;
          display: inline-block; }
    .top_prd .top_prd_box_right_tag {
      transition: 0.1s;
      opacity: 0;
      position: absolute;
      right: 0;
      top: 50rem;
      display: inline-block;
      color: #5D3121;
      background: #FFB000;
      border-radius: 2rem;
      padding: 3rem 17rem;
      font-size: 12rem;
      letter-spacing: 0.05em;
      z-index: 11; }
      .top_prd .top_prd_box_right_tag.on {
        opacity: 1;
        transition: 0.1s; }
    .top_prd .top_prd_boxes {
      position: relative; }
      .top_prd .top_prd_boxes:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 80rem;
        /* フェードの高さ（お好みで調整してください） */
        background: linear-gradient(to bottom, rgba(236, 233, 225, 0) 0%, #ece9e1 100%);
        pointer-events: none;
        /* 下にあるボタンのタップを邪魔しない設定 */
        z-index: 10; }
      .top_prd .top_prd_boxes .top_prd_box {
        background: #ECE9E1;
        box-sizing: border-box;
        height: auto;
        overflow: visible;
        padding-bottom: 50rem;
        margin-bottom: 30rem;
        display: block;
        position: relative; }
        .top_prd .top_prd_boxes .top_prd_box:last-child {
          margin-bottom: 0; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left {
          display: flex;
          justify-content: space-between;
          margin-bottom: 13rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 {
            width: 99rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 div {
              height: 114rem;
              margin-bottom: 5rem;
              overflow: hidden; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 div:last-child {
                margin-bottom: 0; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img1 div img {
                width: 100%;
                height: 100%;
                object-fit: cover; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 {
            width: 227rem;
            height: 233rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 div {
              height: 100%;
              overflow: hidden; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_left .top_prd_box_img2 div img {
                width: 100%;
                height: 100%;
                object-fit: cover; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_rightin {
          height: 96rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_posi {
          width: 100%; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn {
          width: 100%; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn .shoponly {
            color: #482618;
            font-size: 14rem;
            text-align: center;
            box-sizing: border-box;
            padding: 13rem 0;
            border: solid 1px #5D3121;
            border-radius: 2rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn a {
            display: block;
            color: #fff;
            background: url("../img/arr_shop_on.png") no-repeat right 10rem center #5D3121;
            background-size: 7rem;
            font-size: 14rem;
            padding: 14rem 0;
            border-radius: 2rem;
            transition: 0.1s;
            text-align: center; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_btn a:hover {
              cursor: pointer;
              background-color: #FFB000;
              color: #5D3121;
              background-image: url("../img/arr_shop.png");
              transition: 0.1s; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_name {
          font-size: 26rem;
          line-height: 1.1em;
          color: #5D3121;
          font-weight: 500;
          margin-bottom: 5rem; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_name .icon {
            display: inline-block;
            width: 22rem;
            height: auto;
            vertical-align: middle;
            margin-left: 2rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_txt {
          font-size: 16rem;
          letter-spacing: 0.01em;
          margin-bottom: 25rem;
          color: #5D3121; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_price {
          font-size: 16rem;
          letter-spacing: 0.01em;
          color: #5D3121;
          font-weight: 400;
          margin-bottom: 10rem; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame {
          box-sizing: border-box;
          border: solid 1px #5D3121;
          display: flex;
          flex-wrap: wrap;
          margin-bottom: 10rem;
          width: 100%; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame1 {
            box-sizing: border-box;
            padding: 14rem;
            font-size: 14rem;
            line-height: 1.5em;
            letter-spacing: -0.03em;
            color: #5D3121;
            border-bottom: solid 1px #5D3121;
            width: 100%;
            font-feature-settings: 'plat'; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 {
            width: 59%;
            box-sizing: border-box;
            border-right: solid 1px #5D3121;
            padding: 7rem 8rem 12rem;
            color: #5D3121;
            font-weight: 400; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame2_type {
              font-size: 14rem;
              text-align: center; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame2_txt {
              font-size: 9rem;
              letter-spacing: 0.01em;
              margin-bottom: 6rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex {
              display: flex;
              justify-content: center;
              align-items: center; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_txt {
                font-size: 12rem;
                letter-spacing: 0.01em;
                font-weight: 400; }
              .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list {
                margin: 0 13rem;
                display: flex; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list5 li {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(2), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(3), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list4 li:nth-child(4) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(2), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list3 li:nth-child(3) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list2 li:nth-child(1), .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list2 li:nth-child(2) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list.list1 li:nth-child(1) {
                  background: #5D3121; }
                .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list li {
                  margin-right: 5rem;
                  line-height: 1;
                  padding: 0;
                  width: 10rem;
                  height: 10rem;
                  border: solid 1px #5D3121;
                  border-radius: 100px;
                  -webkit-border-radius: 100px;
                  -moz-border-radius: 100px; }
                  .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame2 .top_prd_box_frame_flex .top_prd_box_frame_flex_list li:last-child {
                    margin-right: 0; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 {
            width: 41%;
            box-sizing: border-box;
            padding: 7rem 8rem 12rem;
            color: #5D3121;
            font-weight: 400; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 .top_prd_box_frame3_txt {
              font-size: 9rem;
              letter-spacing: 0.01em;
              margin-bottom: 6rem; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_frame .top_prd_box_frame3 .top_prd_box_frame3_type {
              font-size: 14rem;
              text-align: center; }
        .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num {
          position: absolute;
          right: 0;
          top: -25rem;
          display: flex;
          align-items: center; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_txt {
            font-size: 14rem;
            color: #938D7C;
            font-weight: 400; }
          .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_bar {
            height: 3rem;
            width: 52rem;
            margin: 0 8rem;
            background: #CCC9C1; }
            .top_prd .top_prd_boxes .top_prd_box .top_prd_box_right .top_prd_box_num .top_prd_box_num_bar span {
              display: block;
              background: #B5B1A6;
              height: 100%; }

  .topbg_01 {
    background: #361C11;
    position: relative;
    clip-path: inset(0); }
    .topbg_01:before {
      content: '';
      position: fixed;
      top: -15vh;
      left: 0;
      width: 100vw;
      height: 130vh;
      background: url("../img/top_bokashi_sp.png") no-repeat center top;
      background-size: cover;
      z-index: -1;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      will-change: transform; }
    .topbg_01:after {
      content: '';
      display: block;
      width: 100%;
      height: 63rem;
      position: absolute;
      left: 0;
      bottom: -1px;
      background: url("../img/top_wave_02_sp.png") no-repeat center bottom;
      background-size: contain; }
    .topbg_01 .topbg_01_inner {
      padding: 53rem 0 63rem;
      position: relative;
      z-index: 2; }
      .topbg_01 .topbg_01_inner:before {
        content: '';
        display: block;
        width: 100%;
        height: 63rem;
        position: absolute;
        left: 0;
        top: -2px;
        background: url("../img/top_wave_01_sp.png") no-repeat center top;
        background-size: contain; }

  .brand {
    margin-bottom: 20rem;
    padding-top: 22rem; }
    .brand .brand_box .brand_box_left {
      position: relative;
      margin-bottom: 25rem; }
      .brand .brand_box .brand_box_left .brand_box_img {
        height: 250rem;
        width: 100%; }
        .brand .brand_box .brand_box_left .brand_box_img div {
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 250rem; }
          .brand .brand_box .brand_box_left .brand_box_img div.on {
            opacity: 1;
            transition: 0.3s;
            visibility: visible; }
          .brand .brand_box .brand_box_left .brand_box_img div.off {
            opacity: 0;
            transition: 0.3s;
            visibility: hidden; }
        .brand .brand_box .brand_box_left .brand_box_img img {
          width: 100%;
          height: auto; }
    .brand .brand_box .brand_box_right .brand_box_info {
      position: relative;
      margin-bottom: 20rem; }
      .brand .brand_box .brand_box_right .brand_box_info label {
        display: block; }
        .brand .brand_box .brand_box_right .brand_box_info label:hover {
          cursor: pointer; }
      .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info1 {
        opacity: 1;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info2 {
        opacity: 1;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label .brand_box_info3 {
        opacity: 1;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info input[type="radio"]:checked + label + .brand_box_info_img {
        opacity: 1;
        visibility: visible;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info input[type="radio"] {
        display: none; }
      .brand .brand_box .brand_box_right .brand_box_info .brand_box_info_img {
        display: none; }
      .brand .brand_box .brand_box_right .brand_box_info .brand_box_info1 {
        border-top: solid 1px #D6D2C8;
        padding-top: 8rem;
        color: #ECE9E1;
        font-size: 12rem;
        font-weight: 500;
        margin-bottom: 13rem;
        opacity: 0.4;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info .brand_box_info2 {
        color: #ECE9E1;
        margin-bottom: 5rem;
        font-size: 20rem;
        opacity: 0.4;
        transition: 0.3s; }
      .brand .brand_box .brand_box_right .brand_box_info .brand_box_info3 {
        font-size: 14rem;
        letter-spacing: -0.05em;
        color: #ECE9E1;
        opacity: 0.4;
        transition: 0.3s; }

  /* brand */
  .scrAction {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    height: 100vh;
    position: relative;
    overflow: hidden;
    margin-bottom: 100rem;
    /* 左右のカラム */
    /* 中央の画像カラム */
    /* 画像を重ねるためのラッパー */
    /* 各画像パネル */
    /* 仮の画像表示用（実際は <img>タグや background-image を使用してください） */
    /* 右側テキストの重なり調整 */ }
    .scrAction .left-col, .scrAction .right-col {
      width: 330rem;
      margin: 0 auto;
      z-index: 10; }
    .scrAction .right-col {
      box-sizing: border-box;
      text-align: right; }
    .scrAction .left-col p {
      text-align: left;
      font-size: 26rem;
      color: #ECE9E1;
      letter-spacing: 0;
      font-weight: 400 !important; }
    .scrAction .center-col {
      width: 273rem;
      height: 240rem;
      font-weight: 400;
      position: relative;
      margin: 24rem auto 50rem; }
    .scrAction .image-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 273rem;
      height: 100%;
      margin: 0 auto; }
    .scrAction .img-panel {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      /* 2枚目以降は初期状態で下に隠しておく（JSで設定も可能） */ }
    .scrAction .img-placeholder {
      width: 100%;
      height: 240rem;
      display: flex;
      justify-content: center;
      align-items: center; }
      .scrAction .img-placeholder.bg-gray img {
        width: 223rem;
        height: 200rem; }
      .scrAction .img-placeholder.bg-woman img {
        width: 176rem;
        height: 223rem; }
      .scrAction .img-placeholder.bg-food img {
        width: 250rem;
        height: 200rem; }
      .scrAction .img-placeholder.bg-hands img {
        width: 165rem;
        height: 240rem; }
      .scrAction .img-placeholder.bg-hands2 img {
        width: 222rem;
        height: 231rem; }
      .scrAction .img-placeholder img {
        width: 100%;
        /* 追加: 要素の枠を親に合わせる */
        height: 100%;
        /* 追加: 要素の枠を親に合わせる */
        object-fit: contain; }
    .scrAction .text-wrapper {
      position: relative;
      padding-bottom: 30rem; }
    .scrAction .text-panel {
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      opacity: 0;
      font-size: 26rem;
      text-align: right;
      color: #ECE9E1;
      font-weight: 400; }
    .scrAction .text-panel.active {
      opacity: 1; }
    .scrAction .text-panel span {
      font-size: 16rem;
      letter-spacing: -0.05em;
      font-weight: normal; }

  #top_shop {
    background: #ECE9E1;
    padding-top: 103rem; }
    #top_shop .inner .top_shop_right .top_shop_img {
      margin-bottom: 37rem; }
      #top_shop .inner .top_shop_right .top_shop_img div {
        height: 200rem; }
        #top_shop .inner .top_shop_right .top_shop_img div img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    #top_shop .inner .top_shop_right .top_shop_info {
      position: relative; }
      #top_shop .inner .top_shop_right .top_shop_info .top_shop_en {
        font-size: 18rem;
        letter-spacing: -0.05em;
        color: #938D7C;
        margin-bottom: 10rem; }
      #top_shop .inner .top_shop_right .top_shop_info .top_shop_name {
        font-size: 22rem;
        letter-spacing: -0.05em;
        color: #5D3121;
        margin-bottom: 30rem;
        line-height: 1.3em; }
      #top_shop .inner .top_shop_right .top_shop_info .top_shop_ad {
        font-size: 14rem;
        line-height: 1.375em;
        letter-spacing: -0.05em;
        color: #5D3121; }
      #top_shop .inner .top_shop_right .top_shop_info .top_shop_map {
        margin-top: 15rem; }
        #top_shop .inner .top_shop_right .top_shop_info .top_shop_map a {
          font-size: 14rem;
          text-decoration: underline;
          color: #5D3121;
          letter-spacing: -0.05em; }
      #top_shop .inner .top_shop_right .top_shop_info .shop_btn {
        padding-top: 55rem;
        margin-top: 21rem;
        border-top: solid 1px #B5B1A6; }
        #top_shop .inner .top_shop_right .top_shop_info .shop_btn a {
          border-radius: 2rem;
          display: block;
          width: 191rem;
          margin: 0 auto;
          font-size: 16rem;
          color: #5D3121;
          line-height: 1.1em;
          padding: 13rem 0;
          box-sizing: border-box;
          border: solid 1px #5D3121;
          text-align: center;
          background: url("../img/arr_shop.png") no-repeat center right 11rem;
          background-size: 8rem;
          transition: 0.1s; }
          #top_shop .inner .top_shop_right .top_shop_info .shop_btn a:hover {
            cursor: pointer;
            transition: 0.1s;
            background-color: #5D3121;
            background-image: url("../img/arr_shop_on.png");
            color: #fff; }

  #top_news {
    padding-top: 140rem;
    background: #ECE9E1; }
    #top_news .top_news_more {
      width: 191rem;
      margin: 40rem auto 0;
      font-size: 16rem;
      color: #5D3121;
      line-height: 1.1em;
      padding: 13rem 0;
      box-sizing: border-box;
      border: solid 1px #5D3121;
      text-align: center;
      background: url("../img/arr_more.png") no-repeat center right 11rem;
      background-size: 8rem;
      transition: 0.1s; }
      #top_news .top_news_more:hover {
        cursor: pointer;
        transition: 0.1s;
        background-color: #5D3121;
        background-image: url("../img/arr_more_on.png");
        color: #fff; }
    #top_news .top_news_boxes .top_news_box {
      border-bottom: solid 1px #B5B1A6;
      padding-top: 12rem;
      padding-bottom: 12rem;
      display: flex;
      justify-content: space-between;
      position: relative; }
      #top_news .top_news_boxes .top_news_box:first-child {
        border-top: solid 1px #B5B1A6; }
      #top_news .top_news_boxes .top_news_box a {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%; }
        #top_news .top_news_boxes .top_news_box a:hover {
          cursor: pointer; }
      #top_news .top_news_boxes .top_news_box:hover .top_news_box_left div img {
        transition: 0.4s;
        transform: scale(1.1); }
      #top_news .top_news_boxes .top_news_box .top_news_box_left {
        width: 150rem; }
        #top_news .top_news_boxes .top_news_box .top_news_box_left div {
          height: 100rem;
          overflow: hidden; }
          #top_news .top_news_boxes .top_news_box .top_news_box_left div img {
            transition: 0.4s;
            object-fit: cover; }
      #top_news .top_news_boxes .top_news_box .top_news_box_right {
        width: 170rem; }
        #top_news .top_news_boxes .top_news_box .top_news_box_right .top_news_box_date {
          font-size: 14rem;
          letter-spacing: -0.05em;
          margin-bottom: 23rem;
          font-weight: 400;
          color: #5D3121; }
        #top_news .top_news_boxes .top_news_box .top_news_box_right .top_news_box_ttl {
          font-size: 14rem;
          letter-spacing: -0.05em;
          color: #5D3121;
          line-height: 1.25em;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          /* ここで制限したい行数を指定します */
          overflow: hidden; }

  #top_online {
    background: #ECE9E1;
    padding: 140rem 0 120rem;
    position: relative; }
    #top_online:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: url("../img/hum_bg_sp.png") no-repeat center;
      background-size: cover;
      z-index: 1; }
    #top_online .top_online_inner {
      width: 330rem;
      margin: 0 auto;
      background: url("../img/top_online_sp.png") no-repeat center top;
      background-size: contain;
      padding-top: 183rem;
      position: relative;
      z-index: 2; }
      #top_online .top_online_inner .top_online_right {
        background: #5D3121;
        box-sizing: border-box;
        padding: 30rem 18rem 24rem;
        text-align: center;
        position: relative;
        transition: 0.1s;
        display: flex;
        flex-wrap: wrap; }
        #top_online .top_online_inner .top_online_right:before {
          content: '';
          position: absolute;
          width: 100%;
          height: 100%;
          background: url("../img/hum_bg_sp.png") no-repeat center;
          background-size: cover;
          left: 0;
          top: 0; }
        #top_online .top_online_inner .top_online_right a.anc {
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%; }
          #top_online .top_online_inner .top_online_right a.anc:hover {
            cursor: pointer; }
        #top_online .top_online_inner .top_online_right:hover {
          background: #311301;
          transition: 0.1s; }
        #top_online .top_online_inner .top_online_right .top_online_en {
          color: #ECE9E1;
          font-size: 28rem;
          line-height: 1.1em;
          font-weight: 500;
          margin-bottom: 22rem;
          display: none; }
        #top_online .top_online_inner .top_online_right .top_online_logo {
          width: 212rem;
          margin: 0 auto 22rem;
          order: 1; }
          #top_online .top_online_inner .top_online_right .top_online_logo img {
            display: block;
            width: 100%;
            height: auto; }
        #top_online .top_online_inner .top_online_right .top_online_btn {
          width: 100%;
          margin: 0 auto;
          order: 3; }
          #top_online .top_online_inner .top_online_right .top_online_btn a {
            display: block;
            width: 100%;
            box-sizing: border-box;
            border: solid 1px #ECE9E1;
            background-image: url("../img/hum_arrow_02.png");
            background-repeat: no-repeat;
            background-position: right 11rem center;
            background-size: 8rem;
            transition: 0.3s;
            font-size: 16rem;
            line-height: 1.1em;
            color: #ECE9E1;
            padding: 13rem 0;
            border-radius: 2rem; }
        #top_online .top_online_inner .top_online_right .top_online_txt {
          order: 2;
          font-size: 14rem;
          line-height: 1.625em;
          color: #ECE9E1;
          width: 100%;
          text-align: center;
          margin-bottom: 29rem; }

  #top_intro {
    background: #ECE9E1;
    padding: 85rem 0 140rem;
    color: #5D3121; }
    #top_intro:after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 100%;
      background: url("../img/top_wave_02.png") no-repeat center top;
      background-size: cover;
      width: 100%;
      height: 63rem;
      z-index: 6;
      margin-bottom: -1px; }
    #top_intro .top_intro_box .top_intro_left .ttl {
      display: inline-block;
      padding-left: 21rem;
      box-sizing: border-box;
      font-size: 18rem;
      background: url("../img/icon_top-intro.png") no-repeat center left;
      background-size: 15rem;
      margin-bottom: 44rem; }
    #top_intro .top_intro_box .top_intro_right .top_intro_box_en {
      font-size: 34rem;
      line-height: 1.15em;
      margin-bottom: 19rem; }
    #top_intro .top_intro_box .top_intro_right .top_intro_box_ttl {
      display: inline-block;
      text-decoration: underline;
      font-size: 18rem;
      letter-spacing: 0.01em;
      margin-bottom: 52rem; }
    #top_intro .top_intro_box .top_intro_right .top_intro_box_txt {
      font-size: 14rem;
      line-height: 1.7em;
      letter-spacing: 0.01em; } }
