@charset "UFT-8";


body {
    font-family: "Hiragino Mincho ProN W3",serif;
    font-style: normal;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #FFFFFF;
    touch-action: auto;
    overflow-x: hidden;
    overflow-y: scroll;
  }

  ul {
    list-style: none;
  }

  footer {
    margin-bottom: 0;
  }

  * {
  box-sizing: border-box;
  /* border: 2px solid red; */
  }

  .element {
    opacity: 0;
    transition: opacity 1s ease-in-out, filter 1s ease-in-out, transform 1s ease-in-out;
    filter: blur(15px);
    transform: scale(1.02);
  }

  .element.fade-in {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }

  .elementB {
    opacity: 0;
    transition: opacity 1s ease-in, filter 1s ease-in, transform 1s ease-in;
    filter: blur(15px);
    transform: scale(1.02);
  }

  .elementB.fade-in {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }

  #hover-image {
    display: none; /* 最初は非表示にする */
  }

/*////////////////////////////////////////////////////////////////////////////////// ?480px //////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:479px) {

h1 {
  color: #121212;
  font-size: 4.8vw;
  text-align: center;
  letter-spacing: 0.5vw;
}

.logo {
  position: fixed;
  z-index: 100;
}

.logo img {
  width: 17vw;
  top: 12.8vw;
  left: 6vw;
  position: fixed;
  z-index: 100;
}

.logoM {
  display: none;
}

.logoM img {
  display: none;
}

.logo_menu {
    margin-top: 5vw;
    margin-left: 5.5vw;
}

.logo_menu img {
    position: relative;
    width: 17vw;
    z-index: 10;
}

.to_onlineshopA {
  width: 21.7vw;
  height: 28.7vw;
  bottom: 11vw;
  right: 7vw;
  position: fixed;
  z-index: 60;
}

.top_conomenu {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 2676px;
  overflow: hidden;
  z-index: -50;
  transition: opacity 0.5s ease-in-out;
}

.top_conomenu.hidden {
  display: none;
}

h2.conomenu-title {
  font-family: "Hiragino Mincho ProN W6",serif;
  position: fixed;
  top: 50vw;
  left: 31vw;
  color: #121212;
  font-size: 4.8vw;
  text-align: center;
  letter-spacing: 0.5vw;
  z-index: -10;
}

.conomenu {
  overflow-x: hidden;
}

.conomenuA {
  display: flex;
  justify-content: flex-end;
}

.images {
  width: 100%;
  overflow-x: hidden;
}

.conomenu_imageA {
  z-index: 50;
}

.conomenu_imageA img {
  position: relative;
  width: 39vw;
  top: 280vw;
  left: 61vw;
}

.conomenu_shadowA {
  display: none;
  z-index: 40;
}

.conomenu_shadowA-B {
  opacity: 0.2;
  z-index: 40;
}

.conomenu_shadowA-B img {
  position: relative;
  width: 44vw;
  top: 238vw;
  left: 56vw;
  overflow-x: hidden;
}

.conomenu_imageB {
  width: 69vw;
  position: relative;
  top: 260vw;
  left: 0vw;
  z-index: 50;
}

.conomenu_shadowB {
  opacity: 0.2;
  z-index: 40;
}

.conomenu_shadowB img {
  position: relative;
  width: 200vw;
  top: 181vw;
  left: -23vw;
  z-index: 40;
}

.conomenu_imageC {
  width: 46vw;
  position: relative;
  top: 210vw;
  left: 35vw;
  z-index: 50;
}

.conomenu_shadowC {
  opacity: 0.2;
  z-index: 40;
}

.conomenu_shadowC img {
  position: relative;
  width: 55vw;
  top: 165vw;
  left: 29vw;
}

.conomenu_imageD {
  z-index: 50;
}

.conomenu_imageD img {
  position: relative;
  width: 57vw;
  top: 190vw;
  left: 43vw;
  z-index: 50;
}

.conomenu_shadowD {
  display: none;
  z-index: 40;
}

.conomenu_shadowD-B {
  opacity: 0.2;
  z-index: 40;
}

.conomenu_shadowD-B img {
  position: relative;
  width: 65vw;
  top: 125vw;
  left: 35vw;
}

.conomenu_text {
  position: fixed;
  color: #121212;
  top: 64vw;
  left: 12.1vw;
  font-size: 2.9vw;
  line-height: 6.3vw;
  letter-spacing: 0.14vw;
  text-align: center;
  z-index: -10;
}
/*
.custom-line-arrow img {
  position: fixed;
  width: 1.9vw;
  top: 122vw;
  left: 49vw;
  z-index: -10;
} */

/* 矢印のアニメーション */
.custom-line-arrow {
  position: relative;
  width: 5px; /* 矢印の幅に合わせて調整してください */
  height: 30px; /* 矢印の高さに合わせて調整してください */
  top: 95vw;
}

.custom-line-arrow img {
  position: relative;
  width: 8px;
  height: 100px;
  left: 49.2vw;
  opacity: 0;
  animation: arrowAnimation 1.5s ease-in-out infinite;
}

/* アニメーションの定義 */
@keyframes arrowAnimation{
	0%{
		height:0px;
		top:0;
		opacity: 0;
	}
	10%{
		height:70px;
		opacity: 0.5;
	}
  30%{
		height:70px;
		opacity: 1;
	}
  90%{
		height:20px;
		opacity: 0.1;
	}
	100%{
		height:0;
		top:70px;
		opacity: 0;
	}
}

.to_onlineshopB {
  top: 90vw;
  margin-left: 71.7vw;
  width: 21.7vw;
  position: fixed;
  z-index: 50;
}

.conomenu_imageA-pc {
  display: none;
}

.conomenu_imageB-pc {
  display: none;
}

.conomenu_imageC-pc {
  display: none;
}

.conomenu_imageD-pc {
  display: none;
}

.conomenu_categoryA {
  margin-top:  250vw;
}

.conomenu_categoryB {
  margin-top:  20vw;
}

.conomenu_category-last {
  margin-top:  20vw;
}

.conomenu_eachA {
  color: #121212;
  font-size: 3.14vw;
  letter-spacing: 0.31vw;
  line-height: 3.9vw;
  text-align: center;
}

.conomenu_eachB {
  color: #121212;
  margin-top:  23vw;
  font-size: 3.14vw;
  letter-spacing: 0.31vw;
  line-height: 3.9vw;
  text-align: center;
}

.conomenu_category {
  max-width: 350px;
  margin: auto;
}

.conomenu_image_each {
  margin: auto;
  margin-top: 4.8vw;
  width: 78vw;
  border: 0.5px solid #707070;
}

.conomenu_image_each img {
  width: 78vw;
  border: 0.5px solid #707070;
  left: 50%;
  transform: translateX(-50%);
}

.out {
    position: relative;
    top: 4.8vw;
    left: 0%;
}

.out img {
  border: 0.5px solid #707070;
  display: block;
  width: 78vw;
  height: auto;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
}

.in img {
    position: absolute;
    opacity: 0;
    transition: .3s;
    border: 0.5px solid #707070;
    display: block;
    width: 78vw;
    height: auto;
    top: -1vw;
    left: 50%;
    transform: translateX(-50%);
}

input {
    display: none;
}

.in {
    display: flex;
    justify-content: center;
    margin-left: 2vw;
    margin-top: 4vw;
}

label span {
    display: block;
    width: 2.5vw;
    height: 2.5vw;
    margin-right: 6vw;
    margin-top: 2vw;
    border-radius: 100%;
    cursor: pointer;
    position: relative;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
}

label span::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border: 0.5px solid #131313; /* Corrected the typo here */
    opacity: 0.5;
    border-radius: 100%;
    left: 50%;
    transform: translateX(-50%);
}

label input:checked + span::before {
    background: #707070;
    opacity: 1;
    border: 0.2px solid #000; /* Change border color when checked */
}

label input:checked ~ img, label input:checked ~ a img {
    opacity: 1;
    z-index: 1;
}

.margin {
  height: 45vw;
}

/* .conomenu_imageA .element, */
 /* .conomenu_imageC .element { */
   /* transform: translateY(0); */
   /* transition: transform 0.01s ease; /* 移動に0.5秒かけて緩やかに変化させる */
/* } */
}

/* /////////////////////////////////////////////////////////////////////////////////// 480px?699px ///////////////////////////////////////////*/

@media screen and (min-width:480px) and (max-width:799px) {

  h1 {
    color: #121212;
    font-size: 4vw;
    text-align: center;
    letter-spacing: 0.5vw;
  }

  .logo {
    width: 17vw;
    top: 12.8vw;
    left: 6vw;
    position: fixed;
    z-index: 100;
  }

  .logo img

  .logoM {
    display: none;
  }

  .logoM img {
    display: none;
  }

  .logo_menu {
  }

  .logo_menu img {
      position: relative;
      width: 13.5vw;
      top: 4.5vw;
      left: 6vw;
      z-index: 10;
  }

  .top_image_sp img {
    width: 100%;
    margin-top: 7vw;
  }

  .top_image_L {
    display: none;
  }

  .to_onlineshopA {
    width: 21.7vw;
    height: 28.7vw;
    bottom: 11vw;
    right: 7vw;
    position: fixed;
    z-index: 1000;
  }

  .PCtopmenu {
    display: none;
  }

  .logoB {
    display: none;
  }

  .top_conomenu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 2676px;
    overflow: hidden;
    z-index: -50;
    transition: opacity 0.5s ease-in-out;
  }

  .top_conomenu.hidden {
    display: none;
  }

  h2.conomenu-title {
    position: fixed;
    top: 40vw;
    left: 30vw;
    color: #121212;
    font-size: 5vw;
    text-align: center;
    letter-spacing: 0.5vw;
    z-index: -10;
  }

  .conomenu_imageA {
    z-index: 100;
  }

  .conomenu_imageA img {
    position: relative;
    width: 39vw;
    top: 200vw;
    left: 61vw;
    z-index: 100;
  }

  .conomenu_shadowA {
    display: none;
  }

  .conomenu_shadowA-B {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowA-B img {
    position: relative;
    width: 45vw;
    top: 158vw;
    left: 55vw;
  }

  .conomenu_imageB {
    width: 69vw;
    position: relative;
    top: 180vw;
    left: 0vw;
    z-index: 50;
  }

  .conomenu_shadowB {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowB img {
    position: relative;
    width: 80vw;
    top: 120vw;
    left: -20vw;
    z-index: 40;
  }

  .conomenu_imageC {
    width: 46vw;
    position: relative;
    top: 140vw;
    left: 35vw;
    z-index: 50;
  }

  .conomenu_shadowC {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowC img {
    position: relative;
    width: 50vw;
    top: 100vw;
    left: 29vw;
  }

  .conomenu_imageD {
    z-index: 50;¥
  }

  .conomenu_imageD {
    position: relative;
    width: 57vw;
    top: 130vw;
    left: 43vw;
    z-index: 50;
  }

  .conomenu_shadowD {
    display: none;
  }

  .conomenu_shadowD-B {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowD-B img {
    position: relative;
    width: 67vw;
    top: 62vw;
    left: 33vw;
  }

  .conomenu_text {
    position: fixed;
    color: #121212;
    top: 53vw;
    left: 18vw;
    font-size: 2.5vw;
    line-height: 5.3vw;
    letter-spacing: 0.14vw;
    text-align: center;
    z-index: -10;
  }
  /*
  .custom-line-arrow img {
    position: fixed;
    width: 1.9vw;
    top: 122vw;
    left: 49vw;
    z-index: -10;
  } */

  /* 矢印のアニメーション */
  .custom-line-arrow {
    position: relative;
    width: 5px; /* 矢印の幅に合わせて調整してください */
    height: 30px; /* 矢印の高さに合わせて調整してください */
    top: 80vw;
  }

  .custom-line-arrow img {
    position: relative;
    width: 8px;
    height: 100px;
    left: 49.2vw;
    opacity: 0;
    animation: arrowAnimation 1.5s ease-in-out infinite;
  }

  /* アニメーションの定義 */
  @keyframes arrowAnimation{
  	0%{
  		height:0px;
  		top:0;
  		opacity: 0;
  	}
  	10%{
  		height:90px;
  		opacity: 0.5;
  	}
    30%{
  		height:90px;
  		opacity: 1;
  	}
    90%{
  		height:30px;
  		opacity: 0.1;
  	}
  	100%{
  		height:0;
  		top:90px;
  		opacity: 0;
  	}
  }

  .to_onlineshopB {
    top: 80vw;
    margin-left: 71.7vw;
    width: 19vw;
    position: fixed;
    z-index: 50;
  }

  .conomenu_imageA-pc {
    display: none;
  }

  .conomenu_imageB-pc {
    display: none;
  }

  .conomenu_imageC-pc {
    display: none;
  }

  .conomenu_imageD-pc {
    display: none;
  }

  .conomenu_categoryA {
    margin-top:  250vw;
  }

  .conomenu_categoryB {
    margin-top:  20vw;
  }

  .conomenu_category-last {
    margin-top:  20vw;
  }

  .conomenu_eachA {
    color: #121212;
    font-size: 3.14vw;
    letter-spacing: 0.31vw;
    line-height: 3.9vw;
    text-align: center;
  }

  .conomenu_eachB {
    color: #121212;
    margin-top:  23vw;
    font-size: 3.14vw;
    letter-spacing: 0.31vw;
    line-height: 3.9vw;
    text-align: center;
  }

  .conomenu_image_each {
    margin-top: 4.8vw;
    margin-left: 11.1vw;
    width: 78vw;
    border: 0.5px solid #707070;
  }

  .conomenu_image_each img {
    width: 78vw;
    border: 0.5px solid #707070;
    left: 50%;
    transform: translateX(-50%);
  }

  .out {
      position: relative;
      top: 4.8vw;
      left: 0%;
  }

  .out img {
    border: 0.5px solid #707070;
    display: block;
    width: 78vw;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
  }

  .in img {
      position: absolute;
      opacity: 0;
      transition: .3s;
      border: 0.5px solid #707070;
      display: block;
      width: 78vw;
      height: auto;
      top: -1vw;
      left: 50%;
      transform: translateX(-50%);
  }

  input {
      display: none;
  }

  .in {
      display: flex;
      justify-content: center;
      margin-left: 1vw;
      margin-top: 4vw;
  }

  label span {
      display: block;
      width: 2vw;
      height: 2vw;
      margin-right: 2.5vw;
      margin-top: 2vw;
      border-radius: 100%;
      cursor: pointer;
      position: relative;
      z-index: 2;
      left: 50%;
      transform: translateX(-50%);
  }

  label span::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #ffffff;
      border: 0.5px solid #131313; /* Corrected the typo here */
      opacity: 0.5;
      border-radius: 100%;
      left: 50%;
      transform: translateX(-50%);
  }

  label input:checked + span::before {
      background: #707070;
      opacity: 1;
      border: 0.2px solid #000; /* Change border color when checked */
  }

  label input:checked ~ img, label input:checked ~ a img {
      opacity: 1;
      z-index: 1;
  }

  .margin {
    height: 45vw;
  }

  }

/*///////////////////////////////////////////////////////////////////////////// 700px?999px //////////////////////////////////////////////////////// */

@media screen and (min-width:800px) and (max-width:1139px) {

  h1 {
    color: #121212;
    font-size: 26px;
    text-align: center;
    letter-spacing: 2.6px;
  }

  .logo-menu {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .logo img {
    width: 13vw;
    top: 7vw;
    left: 6vw;
    position: fixed;
    z-index: 100;
  }

  .logoM {
    margin-top: 33px;
    margin-left: 55px;
  }

  .logoM img {
    position: fixed;
    width: 104px;
    z-index: 50;
  }

  .logo_menu {
      margin-top: 5vw;
      margin-left: 5vw;
  }

  .logo_menu img {
      position: relative;
      width: 10vw;
      top: 1vw;
      left: 6vw;
      z-index: 10;
  }

  #header {
    position: relative;
    width: 0vw;
    display: flex;
    padding: 5%;
    justify-content: space-around;
    z-index: 100;
  }

  #header #nav_hbg {
    position: relative;
    top: 1vw;
    left: 85vw;
    cursor: pointer;
    z-index: 120;
  }

  #header #nav_hbg div {
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    width: 8vw;
    height: 7vw;
    padding: 1vw;
    z-index: 120;
  }

  #header #nav_hbg div span {
    width: 100%;
    height: 1px;
    background-color: #121212;
    transition: opacity 0.1s ease, transform 0.3s ease-in-out;
    z-index: 120;
  }

  #header .clicked span:nth-child(1) {
    transform: translateY(2vw) rotate(152deg);
    z-index: 120;
  }

  #header .clicked span:nth-child(2) {
    opacity: 0;
    z-index: 120;
  }

  #header .clicked span:nth-child(3) {
    transform: translateY(-1.45vw) rotate(-152deg);
    z-index: 120;
  }

  #header #nav_hbg div.clicked span {
    background-color: #ffffff;
  }

  #header #nav_menu {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    z-index: 10;
    background-color: #121212;
    z-index: 100;
  }

  #header #nav_menu.opened {
    visibility: visible;
    opacity: 1;
    z-index: 100;
  }

  #header #nav_menu ul {
    margin-left: 32vw;
    padding: 5%;
    font-size: 3vw;
    letter-spacing: 0.5vw;
    text-align: left;
    z-index: 100;
  }

  #header #nav_menu ul li:not(:first-child) {
    margin-top: 2.5vw;
    z-index: 100;
  }

  #header #nav_menu ul a {
    color: #fff;
    text-decoration: none;
    z-index: 100;
  }

  #nav_menu {
    padding-top:8vw;
    z-index: 100;
  }

  #nav_menu ul {
    margin-top: -5vw;
    display: flex;
    flex-direction: column;
  }

  .navibtn1 {
    display: none;
  }

  .navibtn2 {
    display: none;
  }

  .navibtn3 {
    display: none;
  }

  .navibtn4 {
    display: none;
  }

  .navibtn5 {
    display: none;
  }

  .navibtn6 {
    display: none;
  }

  .top_image img {
    width: 100vw;
    margin-top: -15vw;
  }

  .top_image_sp img {
   display: none;
  }

  .top_image_L {
    display: none;
  }

  .to_onlineshopA img {
    width: 92px;
    bottom: 100px;
    right: 84px;
    position: fixed;
    z-index: 100;
  }

  .fixed-element {
    display: none; /* 初期状態では非表示にします */
    position: fixed;
    top: 1140px; /* 表示位置を設定します */
    right: 30px;
  }

  /* 1140ピクセル以降でのみ表示するスタイルを適用します */
  @media (min-height: 1140px) {
    .fixed-element {
      display: block;
    }
  }

  .PCtopmenu {
    max-width: 800px;
    position: fixed;
    z-index: 50;
  }

  .logoB {
    position: fixed;
    display: block;
  }

  .logoB img {
    position: fixed;
    top: 20px;
    left: 7vw;
    width: 70px;
  }

  .navibtn1B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 50.5vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn1B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 57.2vw;
    width: 7.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn2B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 64.9vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn3B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 69.9vw;
    width: 5.9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn4B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 75.7vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn5B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 85vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn6B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .concept {
    display: none;
  }


  .conomenu {
    max-width: 800px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .top_conomenu {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    z-index: -50;
  }

  h2 {
    position: fixed;
    top: 240px;
    color: #121212;
    font-size: 19px;
    text-align: center;
    letter-spacing: 0.8px;
    z-index: -10;
  }

  .conomenu_text {
    position: fixed;
    color: #121212;
    top: 288px;
    font-size: 11px;
    line-height: 30px;
    letter-spacing: 0.7px;
    text-align: center;
    z-index: -10;
  }

  /* .custom-line-arrow img{
    position: fixed;
    width: 7.9px;
    top: 515px;
    z-index: -10;
  } */

  /* 矢印のアニメーション */
  .custom-line-arrow {
    position: relative;
    width: 5px; /* 矢印の幅に合わせて調整してください */
    height: 30px; /* 矢印の高さに合わせて調整してください */
    top: 430px;
    z-index: -10;
  }

  .custom-line-arrow img {
    position: relative;
    width: 8px;
    height: 100px;
    left: 0.6vw;
    opacity: 0;
    animation: arrowAnimation 1.5s ease-in-out infinite;
    z-index: -10;
  }

  /* アニメーションの定義 */
  @keyframes arrowAnimation{
  	0%{
  		height:0px;
  		top:0;
  		opacity: 0;
  	}
  	10%{
  		height:70px;
  		opacity: 0.5;
  	}
    30%{
  		height:70px;
  		opacity: 1;
  	}
    90%{
  		height:20px;
  		opacity: 0.1;
  	}
  	100%{
  		height:0;
  		top:70px;
  		opacity: 0;
  	}
  }

  .to_onlineshopB {
    position: fixed;
    top: 460px;
    left: 762vw;
    width: 72px;
    z-index: 50;
  }

  .conomenu_imageA {
    display: none;
  }

  .conomenu_shadowA-B {
    display: none;
  }

  .conomenu_shadowD-B {
    display: none;
  }

  .conomenu_imageA-pc img {
    position: relative;
    width: 390px;
    top: 1000px;
    left: 10px;
    z-index: 50;
  }

  .conomenu_shadowA {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowA img {
    position: relative;
    width: 500px;
    top: 640px;
    left: -70px;
  }

  .conomenu_imageB {
    display: none;
  }

  .conomenu_imageB-pc img {
    position: relative;
    width: 294px;
    top: 800px;
    left: 550px;
    z-index: 50;
  }

  .conomenu_shadowB {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowB img {
    position: relative;
    width: 350px;
    top: 530px;
    left: 500px;
  }

  .conomenu_imageC img {
    position: relative;
    width: 294px;
    top: 860px;
    left: 100px;
    z-index: 50;
  }

  .conomenu_shadowC {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowC img {
    position: relative;
    width: 350px;
    top: 580px;
    left: 50px;
  }

  .conomenu_imageD {
    display: none;
  }

  .conomenu_imageD-pc img {
    position: relative;
    width: 431px;
    top: 929px;
    left: 360px;
    z-index: 50;
  }

  .conomenu_shadowD {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowD img {
    position: relative;
    width: 550px;
    top: 500px;
    left: 290px;
  }

  .conomenu_categoryA {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  700px;
  }

  .conomenu_categoryB {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_eachA {
    color: #121212;
    margin-bottom: 21px;
    font-size: 13px;
    letter-spacing: 1.3px;
    line-height: 17px;
    text-align: center;
  }

  .conomenu_eachB {
    color: #121212;
    margin-top:  103px;
    margin-bottom: 21.4px;
    font-size: 13px;
    letter-spacing: 1.3px;
    line-height: 17px;
    text-align: center;
  }

  .conomenu_image_each {
    width: 446px;
    border: 0.5px solid #707070;
  }

  .conomenu_image_each img {
    width: 446px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px;
  }

  .out {
      position: relative;
      top: 0px;
  }

  .out img {
    border: 0.5px solid #707070;
    display: block;
    width: 446px;
    height: auto;
    margin: auto;
  }

  .in img {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: .3s;
      border: 0.5px solid #707070;
      display: block;
      width: 446px;
      height: auto;
      left: 50%;
      transform: translateX(-50%);
  }

  input {
      display: none;
  }

  .in {
      display: flex;
      justify-content: center;
      margin-left: 2vw;
      margin-top: 10px;
  }

  label span {
      display: block;
      width: 15px;
      height: 15px;
      margin-right: 20px;
      margin-top: 25px;
      border-radius: 100%;
      cursor: pointer;
      position: relative;
      z-index: 2;
      left: 50%;
      transform: translateX(-50%);
  }

  label span::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #ffffff;
      border: 0.5px solid #131313; /* Corrected the typo here */
      opacity: 0.5;
      border-radius: 100%;
      left: 50%;
      transform: translateX(-50%);
  }

  label input:checked + span::before {
      background: #707070;
      opacity: 1;
      border: 0.2px solid #000; /* Change border color when checked */
  }

  label input:checked ~ img, label input:checked ~ a img {
      opacity: 1;
      z-index: 1;
  }

  .margin {
    height: 200px;
  }

}

/*///////////////////////////////////////////////////////////////////// 1000px?1279px //////////////////////////////////////////////////*/

@media screen and (min-width:1140px) and (max-width:1279px) {

  h1 {
    color: #121212;
    font-size: 26px;
    text-align: center;
    letter-spacing: 2.6px;
  }

  .logo-menu {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .logo img {
    width: 8vw;
    top: 3vw;
    left: 5.5vw;
    position: fixed;
    z-index: 100;
  }

  .logoM {
    margin-top: 33px;
    margin-left: 55px;
  }

  .logoM img {
    position: fixed;
    width: 104px;
    z-index: 50;
  }

  #header {
    display: none;
  }

  .navigation_text {
    z-index: 50;
  }

  .navibtn1 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -13.05vw;
    left: 90vw;
    padding-left: 0.5vw;
    cursor: pointer;
    text-align: left;
  }
  .navibtn1:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -10.63vw;
    left: 87.66vw;
    padding-left: 0.5vw;
    text-align: left;
    cursor: pointer;
  }
  .navibtn2:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 6vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -9.7vw;
    left: 86.85vw;
    padding-left: 0.5vw;
    cursor: pointer;
  }
  .navibtn3:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 7vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -6.8vw;
    left: 84.05vw;
    padding-left: 0.5vw;
    cursor: pointer;
  }
  .navibtn4:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 11vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -2.35vw;
    left: 79.7vw;
    padding-left: 0.5vw;
    cursor: pointer;
  }
  .navibtn5:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6 {
    position: relative;
    color: #121212;
    font-size: 1.5vw;
    letter-spacing: 0.12vw;
    width: 11vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: 0.08vw;
    left: 77.37vw;
    padding-left: 0.5vw;
    cursor: pointer;
  }
  .navibtn6:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .top_image_L img{
    display: none;
  }

  .top_image_sp {
    display: none;
  }

  .top_image img{
    width: 100%;
    margin-top: -200px;
    z-index: 100;
  }

  .to_onlineshopA img {
    width: 92px;
    bottom: 100px;
    right: 84px;
    position: fixed;
    z-index: 100;
  }

  .fixed-element {
    display: none; /* 初期状態では非表示にします */
    position: fixed;
    top: 1140px; /* 表示位置を設定します */
    right: 30px;
  }

  /* 1140ピクセル以降でのみ表示するスタイルを適用します */
  @media (min-height: 1140px) {
    .fixed-element {
      display: block;
    }
  }

  .PCtopmenu {
    max-width: 1000px;
    position: fixed;
    z-index: 50;
  }

  .logoB {
    position: fixed;
    display: block;
  }

  .logoB img {
    position: fixed;
    top: 20px;
    left: 7vw;
    width: 70px;
  }

  .navibtn1B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 50.5vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn1B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 57.2vw;
    width: 7.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn2B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 64.9vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn3B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 69.9vw;
    width: 5.9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn4B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 75.7vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn5B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 85vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn6B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .conomenu {
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .top_conomenu {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    z-index: -50;
  }

  h2 {
    position: fixed;
    top: 240px;
    color: #121212;
    font-size: 19px;
    text-align: center;
    letter-spacing: 0.8px;
    z-index: -10;
  }

  .conomenu_text {
    position: fixed;
    color: #121212;
    top: 288px;
    font-size: 11px;
    line-height: 30px;
    letter-spacing: 0.7px;
    text-align: center;
    z-index: -10;
  }

  /* .custom-line-arrow img{
    position: fixed;
    width: 7.9px;
    top: 515px;
    z-index: -10;
  } */

  /* 矢印のアニメーション */
  .custom-line-arrow {
    position: relative;
    width: 5px; /* 矢印の幅に合わせて調整してください */
    height: 30px; /* 矢印の高さに合わせて調整してください */
    top: 430px;
    z-index: -10;
  }

  .custom-line-arrow img {
    position: relative;
    width: 8px;
    height: 100px;
    left: 0.6vw;
    opacity: 0;
    animation: arrowAnimation 1.5s ease-in-out infinite;
    z-index: -10;
  }

  /* アニメーションの定義 */
  @keyframes arrowAnimation{
  	0%{
  		height:0px;
  		top:0;
  		opacity: 0;
  	}
  	10%{
  		height:70px;
  		opacity: 0.5;
  	}
    30%{
  		height:70px;
  		opacity: 1;
  	}
    90%{
  		height:20px;
  		opacity: 0.1;
  	}
  	100%{
  		height:0;
  		top:70px;
  		opacity: 0;
  	}
  }

  .to_onlineshopB {
    position: fixed;
    top: 460px;
    left: 762vw;
    width: 72px;
    z-index: 50;
  }

  .conomenu_imageA {
    display: none;
  }

  .conomenu_shadowA-B {
    display: none;
  }

  .conomenu_shadowD-B {
    display: none;
  }

  .conomenu_imageA-pc img {
    position: relative;
    width: 390px;
    top: 507px;
    left: 66px;
    z-index: 50;
  }

  .conomenu_shadowA {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowA img {
    position: relative;
    width: 500px;
    top: 140px;
    left: -20px;
  }

  .conomenu_imageB {
    display: none;
  }

  .conomenu_imageB-pc img {
    position: relative;
    width: 294px;
    top: 327px;
    left: 629px;
    z-index: 50;
  }

  .conomenu_shadowB {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowB img {
    position: relative;
    width: 380px;
    top: 40px;
    left: 570px;
  }

  .conomenu_imageC img {
    position: relative;
    width: 294px;
    top: 390px;
    left: 259px;
    z-index: 50;
  }

  .conomenu_shadowC {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowC img {
    position: relative;
    width: 380px;
    top: 100px;
    left: 210px;
  }

  .conomenu_imageD {
    display: none;
  }

  .conomenu_imageD-pc img {
    position: relative;
    width: 431px;
    top: 429px;
    left: 540px;
    z-index: 50;
  }

  .conomenu_shadowD {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowD img {
    position: relative;
    width: 500px;
    top: 45px;
    left: 490px;
  }

  .conomenu_categoryA {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  700px;
  }

  .conomenu_categoryB {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_eachA {
    color: #121212;
    margin-bottom: 21px;
    font-size: 13px;
    letter-spacing: 1.3px;
    line-height: 17px;
    text-align: center;
  }

  .conomenu_eachB {
    color: #121212;
    margin-top:  103px;
    margin-bottom: 21.4px;
    font-size: 13px;
    letter-spacing: 1.3px;
    line-height: 17px;
    text-align: center;
  }

  .conomenu_image_each {
    width: 446px;
    border: 0.5px solid #707070;
  }

  .conomenu_image_each img {
    width: 446px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px;
  }

  .out {
      position: relative;
      top: 0px;
  }

  .out img {
    border: 0.5px solid #707070;
    display: block;
    width: 446px;
    height: auto;
    margin: auto;
  }

  .in img {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: .3s;
      border: 0.5px solid #707070;
      display: block;
      width: 446px;
      height: auto;
      left: 50%;
      transform: translateX(-50%);
  }

  input {
      display: none;
  }

  .in {
      display: flex;
      justify-content: center;
      margin-left: 1vw;
      margin-top: 10px;
  }

  label span {
      display: block;
      width: 15px;
      height: 15px;
      margin-right: 20px;
      margin-top: 25px;
      border-radius: 100%;
      cursor: pointer;
      position: relative;
      z-index: 2;
      left: 50%;
      transform: translateX(-50%);
  }

  label span::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #ffffff;
      border: 0.5px solid #131313; /* Corrected the typo here */
      opacity: 0.5;
      border-radius: 100%;
      left: 50%;
      transform: translateX(-50%);
  }

  label input:checked + span::before {
      background: #707070;
      opacity: 1;
      border: 0.2px solid #000; /* Change border color when checked */
  }

  label input:checked ~ img, label input:checked ~ a img {
      opacity: 1;
      z-index: 1;
  }

  .margin {
    height: 200px;
  }

}

/*///////////////////////////////////////////////////////////////////// 1280px?1799px //////////////////////////////////////////////////*/

@media screen and (min-width:1280px) and (max-width:1799px) {

  h1 {
    color: #121212;
    font-size: 26px;
    text-align: center;
    letter-spacing: 2.6px;
  }

  .logo-menu {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .logo img {
    width: 8vw;
    top: 3vw;
    left: 5.5vw;
    position: fixed;
    z-index: 100;
  }

  .logoM {
    margin-top: 33px;
    margin-left: 55px;
  }

  .logoM img {
    position: fixed;
    width: 104px;
    z-index: 50;
  }

  #header {
    display: none;
  }

  .navigation_text {
    z-index: 50;
  }

  .navibtn1 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -12vw;
    left: 90vw;
    padding-left: 0.23vw;
    cursor: pointer;
    text-align: left;
  }
  .navibtn1:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -10.07vw;
    left: 88.15vw;
    padding-left: 0.23vw;
    text-align: left;
    cursor: pointer;
  }
  .navibtn2:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 4.3vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -9.4vw;
    left: 87.55vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn3:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -7.07vw;
    left: 85.3vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn4:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 8.6vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -3.367vw;
    left: 81.68vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn5:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 8.6vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -1.45vw;
    left: 79.8vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn6:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .top_image_L {
    display: none;
  }

  .top_image_sp {
    display: none;
  }

  .top_image img{
    width: 100%;
    margin-top: -200px;
    z-index: 100;
  }

  .to_onlineshopA img {
    width: 92px;
    bottom: 100px;
    right: 84px;
    position: fixed;
    z-index: 100;
  }

  .fixed-element {
    display: none; /* 初期状態では非表示にします */
    position: fixed;
    top: 1140px; /* 表示位置を設定します */
    right: 30px;
  }

  /* 1140ピクセル以降でのみ表示するスタイルを適用します */
  @media (min-height: 1140px) {
    .fixed-element {
      display: block;
    }
  }

  .PCtopmenu {
    max-width: 1280px;
    position: fixed;
    z-index: 50;
  }

  .logoB {
    position: fixed;
    display: block;
  }

  .logoB img {
    position: fixed;
    top: 20px;
    left: 7vw;
    width: 70px;
  }

  .navibtn1B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 50.5vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn1B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 57.2vw;
    width: 7.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn2B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 64.9vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn3B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 69.9vw;
    width: 5.9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn4B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 75.7vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn5B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 85vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn6B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .conomenu {
    max-width: 1280px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    z-index: -10;
  }

  .top_conomenu {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    z-index: -10;
  }

  h2 {
    position: fixed;
    top: 308px;
    color: #121212;
    font-size: 24px;
    text-align: center;
    letter-spacing: 1.2px;
    z-index: -10;
  }

  .conomenu_text {
    position: fixed;
    color: #121212;
    top: 370px;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.7px;
    text-align: center;
    z-index: -10;
  }

  /* .custom-line-arrow img{
    position: fixed;
    width: 7.9px;
    top: 515px;
    z-index: -10;
  } */

  /* 矢印のアニメーション */
  .custom-line-arrow {
    position: relative;
    width: 5px; /* 矢印の幅に合わせて調整してください */
    height: 30px; /* 矢印の高さに合わせて調整してください */
    top: 500px;
    z-index: -10;
  }

  .custom-line-arrow img {
    position: relative;
    width: 8px;
    height: 100px;
    left: 0.4vw;
    opacity: 0;
    animation: arrowAnimation 1.5s ease-in-out infinite;
    z-index: -10;
  }

  /* アニメーションの定義 */
  @keyframes arrowAnimation{
  	0%{
  		height:0px;
  		top:0;
  		opacity: 0;
  	}
  	10%{
  		height:70px;
  		opacity: 0.5;
  	}
    30%{
  		height:70px;
  		opacity: 1;
  	}
    90%{
  		height:20px;
  		opacity: 0.1;
  	}
  	100%{
  		height:0;
  		top:70px;
  		opacity: 0;
  	}
  }

  .to_onlineshopB {
    position: fixed;
    top: 590px;
    left: 79.2vw;
    width: 119px;
    z-index: 50;
  }

  .conomenu_imageA {
    display: none;
  }

  .conomenu_shadowA-B {
    display: none;
  }

  .conomenu_shadowD-B {
    display: none;
  }

  .conomenu_imageA-pc img {
    position: relative;
    width: 493px;
    top: 650px;
    left: 85px;
    z-index: 50;
  }

  .conomenu_shadowA {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowA img {
    position: relative;
    width: 650px;
    top: 160px;
    left: 0px;
  }

  .conomenu_imageB {
    display: none;
  }

  .conomenu_imageB-pc img {
    position: relative;
    width: 326px;
    top: 420px;
    left: 807px;
    z-index: 50;
  }

  .conomenu_shadowB {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowB img {
    position: relative;
    width: 400px;
    top: 120px;
    left: 750px;
  }

  .conomenu_imageC img {
    position: relative;
    width: 328px;
    top: 500px;
    left: 332px;
    z-index: 50;
  }

  .conomenu_shadowC {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowC img {
    position: relative;
    width: 400px;
    top: 190px;
    left: 280px;
  }

  .conomenu_imageD {
    display: none;
  }

  .conomenu_imageD-pc img {
    position: relative;
    width: 534px;
    top: 550px;
    left: 692px;
    z-index: 50;
  }

  .conomenu_shadowD {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowD img {
    position: relative;
    width: 650px;
    top: 50px;
    left: 620px;
  }

  .conomenu_categoryA {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  500px;
  }

  .conomenu_categoryB {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_eachA {
    color: #121212;
    margin-bottom: 27.5px;
    font-size: 17px;
    letter-spacing: 1.7px;
    line-height: 22px;
    text-align: center;
  }

  .conomenu_eachB {
    color: #121212;
    margin-top:  132px;
    margin-bottom: 27.5px;
    font-size: 17px;
    letter-spacing: 1.7px;
    line-height: 22px;
    text-align: center;
  }

  .conomenu_image_each {
    width: 446px;
    border: 0.5px solid #707070;
  }

  .conomenu_image_each img {
    width: 446px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px;
  }

  .out {
      position: relative;
      top: 0px;
  }

  .out img {
    border: 0.5px solid #707070;
    display: block;
    width: 446px;
    height: auto;
    margin: auto;
  }

  .in img {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: .3s;
      border: 0.5px solid #707070;
      display: block;
      width: 446px;
      height: auto;
      left: 50%;
      transform: translateX(-50%);
  }

  input {
      display: none;
  }

  .in {
      display: flex;
      justify-content: center;
      margin-left: 1vw;
      margin-top: 0px;
  }

  label span {
      display: block;
      width: 15px;
      height: 15px;
      margin-right: 20px;
      margin-top: 25px;
      border-radius: 100%;
      cursor: pointer;
      position: relative;
      z-index: 2;
      left: 50%;
      transform: translateX(-50%);
  }

  label span::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #ffffff;
      border: 0.5px solid #131313; /* Corrected the typo here */
      opacity: 0.5;
      border-radius: 100%;
      left: 50%;
      transform: translateX(-50%);
  }

  label input:checked + span::before {
      background: #707070;
      opacity: 1;
      border: 0.2px solid #000; /* Change border color when checked */
  }

  label input:checked ~ img, label input:checked ~ a img {
      opacity: 1;
      z-index: 1;
  }

  .margin {
    height: 200px;
  }

}

/* ////////////////////////////////////////////////// 1800px?//////////////////////////////////////////////////////////////// */

@media screen and (min-width:1800px) {

  h1 {
    color: #121212;
    font-size: 26px;
    text-align: center;
    letter-spacing: 2.6px;
  }

  .logo-menu {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .logo img {
    width: 8vw;
    top: 6vw;
    left: 5.5vw;
    position: fixed;
    z-index: 100;
  }

  .logoM {
    margin-top: 33px;
    margin-left: 55px;
  }

  .logoM img {
    position: fixed;
    width: 104px;
    z-index: 50;
  }

  #header {
    display: none;
  }

  .navigation_text {
    z-index: 50;
  }

  .navibtn1 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -8vw;
    left: 89.9vw;
    padding-left: 0.23vw;
    cursor: pointer;
    text-align: left;
  }
  .navibtn1:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -6.1vw;
    left: 88.11vw;
    padding-left: 0.23vw;
    text-align: left;
    cursor: pointer;
  }
  .navibtn2:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 4.3vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -5.45vw;
    left: 87.51vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn3:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: -3.15vw;
    left: 85.26vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn4:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 8.6vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: 0.47vw;
    left: 81.66vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn5:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6 {
    position: relative;
    color: #121212;
    font-size: 1.2vw;
    letter-spacing: 0.12vw;
    width: 8.6vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    transform: rotate(90deg); /* ?????90?????? */
    top: 2.35vw;
    left: 79.8vw;
    padding-left: 0.23vw;
    cursor: pointer;
  }
  .navibtn6:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .top_image_L img{
    width: 100%;
    margin-top: -200px;
    z-index: 100;
  }

  .top_image_sp {
    display: none;
  }

  .top_image {
    display: none;
  }

  .to_onlineshopA img {
    width: 92px;
    bottom: 100px;
    right: 84px;
    position: fixed;
    z-index: 100;
  }

  .fixed-element {
    display: none; /* 初期状態では非表示にします */
    position: fixed;
    top: 1140px; /* 表示位置を設定します */
    right: 30px;
  }

  /* 1140ピクセル以降でのみ表示するスタイルを適用します */
  @media (min-height: 1140px) {
    .fixed-element {
      display: block;
    }
  }

  .PCtopmenu {
    max-width: 1280px;
    position: fixed;
    z-index: 50;
  }

  .logoB {
    position: fixed;
    display: block;
  }

  .logoB img {
    position: fixed;
    top: 20px;
    left: 7vw;
    width: 70px;
  }

  .navibtn1B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 50.5vw;
    width: 6.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn1B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn2B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 57.2vw;
    width: 7.8vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn2B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn3B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 64.9vw;
    width: 5.1vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn3B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn4B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 69.9vw;
    width: 5.9vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn4B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn5B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 75.7vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn5B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .navibtn6B {
    position: fixed;
    color: #121212;
    font-size: 1.1vw;
    letter-spacing: 0.1vw;
    top: 35px;
    left: 85vw;
    width: 9.4vw;
    background-color: #ffffff;
    border: 1px solid;
    display: inline-block;
    justify-content: center;
    text-align: center;
    cursor: pointer;
  }
  .navibtn6B:hover {
    opacity: 1;
    color: #ffffff;
    background-color: #121212;
    border: #121212 solid 1px;
    transition: 0.5s;
  }

  .concept {
    display: none;
  }

  .conomenu {
    max-width: 1280px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    z-index: -10;
  }

  .top_conomenu {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    z-index: -10;
  }

  h2 {
    position: fixed;
    top: 308px;
    color: #121212;
    font-size: 24px;
    text-align: center;
    letter-spacing: 1.2px;
    z-index: -10;
  }

  .conomenu_text {
    position: fixed;
    color: #121212;
    top: 370px;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.7px;
    text-align: center;
    z-index: -10;
  }

  /* .custom-line-arrow img{
    position: fixed;
    width: 7.9px;
    top: 515px;
    z-index: -10;
  } */

  /* 矢印のアニメーション */
  .custom-line-arrow {
    position: relative;
    width: 5px; /* 矢印の幅に合わせて調整してください */
    height: 30px; /* 矢印の高さに合わせて調整してください */
    top: 500px;
    z-index: -10;
  }

  .custom-line-arrow img {
    position: relative;
    width: 8px;
    height: 100px;
    left: 0.3vw;
    opacity: 0;
    animation: arrowAnimation 1.5s ease-in-out infinite;
    z-index: -10;
  }

  /* アニメーションの定義 */
  @keyframes arrowAnimation{
  	0%{
  		height:0px;
  		top:0;
  		opacity: 0;
  	}
  	10%{
  		height:70px;
  		opacity: 0.5;
  	}
    30%{
  		height:70px;
  		opacity: 1;
  	}
    90%{
  		height:20px;
  		opacity: 0.1;
  	}
  	100%{
  		height:0;
  		top:70px;
  		opacity: 0;
  	}
  }

  .to_onlineshopB {
    position: fixed;
    top: 590px;
    left: 79.2vw;
    width: 119px;
    z-index: 50;
  }

  .conomenu_imageA {
    display: none;
  }

  .conomenu_shadowA-B {
    display: none;
  }

  .conomenu_shadowD-B {
    display: none;
  }

  .conomenu_imageA-pc img {
    position: relative;
    width: 493px;
    top: 650px;
    left: 85px;
    z-index: 50;
  }

  .conomenu_shadowA {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowA img {
    position: relative;
    width: 650px;
    top: 160px;
    left: 0px;
  }


  .conomenu_imageB {
    display: none;
  }

  .conomenu_imageB-pc img {
    position: relative;
    width: 326px;
    top: 420px;
    left: 807px;
    z-index: 50;
  }

  .conomenu_shadowB {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowB img {
    position: relative;
    width: 400px;
    top: 120px;
    left: 750px;
  }

  .conomenu_imageC img {
    position: relative;
    width: 328px;
    top: 500px;
    left: 332px;
    z-index: 50;
  }

  .conomenu_shadowC {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowC img {
    position: relative;
    width: 400px;
    top: 190px;
    left: 280px;
  }

  .conomenu_imageD {
    display: none;
  }

  .conomenu_imageD-pc img {
    position: relative;
    width: 534px;
    top: 550px;
    left: 692px;
    z-index: 50;
  }

  .conomenu_shadowD {
    opacity: 0.2;
    z-index: 40;
  }

  .conomenu_shadowD img {
    position: relative;
    width: 650px;
    top: 50px;
    left: 620px;
  }

  .conomenu_categoryA {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  500px;
  }

  .conomenu_categoryB {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top:  80px;
  }

  .conomenu_eachA {
    color: #121212;
    margin-bottom: 27.5px;
    font-size: 17px;
    letter-spacing: 1.7px;
    line-height: 22px;
    text-align: center;
  }

  .conomenu_eachB {
    color: #121212;
    margin-top:  132px;
    margin-bottom: 27.5px;
    font-size: 17px;
    letter-spacing: 1.7px;
    line-height: 22px;
    text-align: center;
  }

  .conomenu_image_each {
    width: 446px;
    border: 0.5px solid #707070;
    text-align: center;
  }

  .conomenu_image_each img {
    width: 446px;
  }

  .conomenu_category-last {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px;
  }

  .out {
      position: relative;
      top: 0px;
  }

  .out img {
    border: 0.5px solid #707070;
    display: block;
    width: 446px;
    height: auto;
    margin: auto;
  }

  .in img {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: .3s;
      border: 0.5px solid #707070;
      display: block;
      width: 446px;
      height: auto;
      left: 50%;
      transform: translateX(-50%);
  }

  input {
      display: none;
  }

  .in {
      display: flex;
      justify-content: center;
      margin-left: 00vw;
      margin-top: 20px;
  }

  label span {
      display: block;
      width: 15px;
      height: 15px;
      margin-right: 20px;
      margin-top: 25px;
      border-radius: 100%;
      cursor: pointer;
      position: relative;
      z-index: 2;
      left: 50%;
      transform: translateX(-50%);
  }

  label span::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: #ffffff;
      border: 0.5px solid #131313; /* Corrected the typo here */
      opacity: 0.5;
      border-radius: 100%;
      left: 50%;
      transform: translateX(-50%);
  }

  label input:checked + span::before {
      background: #707070;
      opacity: 1;
      border: 0.2px solid #000; /* Change border color when checked */
  }

  label input:checked ~ img, label input:checked ~ a img {
      opacity: 1;
      z-index: 1;
  }

  .margin {
    height: 200px;
  }

}
