@charset "utf-8";
/* ==================================================
elements
================================================== */

a :hover{
  opacity: 0.8;
}
.nav-menu:hover{
  opacity: 0.6;
}
img.btn_animate01 {
  margin: 0 auto;
  animation: fuwafuwa 1s ease 0s infinite alternate;
  transform-origin:center;
  cursor: pointer;
  }
  @keyframes fuwafuwa {
  from {transform: scale(0.9,0.9);}
  to {transform: scale(1,1);}
  }


  .fluid {
    width:70vh;/*横幅*/
    height: 60vh;/*縦幅*/
    left: 4%;
    background:rgba(252, 233, 242, .7);/*背景色*/
    animation: fluidrotate 70s ease 0s infinite;/*アニメーションの設定*/
    position: fixed;
    z-index: -100;
  }
  
  @keyframes fluidrotate {  
      
  0%, 100% {
      border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }
  14% {
      border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  28% {
      border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  42% {
      border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
      border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  70% {
      border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  84% {
      border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }

  
      
  }
  .fluid-02 {
    width:70vh;/*横幅*/
    height: 70vh;/*縦幅*/
    right: 6%;
    top: 20%;
    background:rgba(252, 233, 242, .7);/*背景色*/
    animation: fluidrotate-02 80s ease 0s infinite;/*アニメーションの設定*/
    position: fixed;
    z-index: -100;
  }
  
  @keyframes fluidrotate-02 {  
      
  0%, 100% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }
  14% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  28% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  42% {
      border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  70% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  84% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }

  
      
  }
/*fade in*/
/*順番に表示*/
.fadein {
  opacity : 0;
  transition : all 1s;
}
  
.fadein.active{
  opacity : 1;
}

/*スクロールfade up*/
.element {
  /* 最初は非表示 */
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
  transition: transform 1s, opacity 1s, visibility 1s;
  }
  /* フェードイン時に入るクラス */
  .is-fadein {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(100px);
    transition-duration: 1s;
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
    transition-duration: 1s;
  }
}

.element-left {
  /* 最初は非表示 */
  transform: translateX(-50px);
  opacity: 0;
  visibility: hidden;
  transition: transform 1s, opacity 1s, visibility 1s;
  }
  /* フェードイン時に入るクラス */
  .is-fadein {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }

@keyframes fadeIn-left {
  0% {
    opacity: 0;
    transform: translate(-50%, 0);
    transition: 2s;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

/*fadein cssのみトップ*/
.fade-in {
  animation: fadeIn ease 4s;
  -webkit-animation: fadeIn ease 4s;
  -moz-animation: fadeIn ease 4s;
  -o-animation: fadeIn ease 4s;
  -ms-animation: fadeIn ease 4s;
}


@keyframes fadeIn{
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

html {
  font-size: 62.5%;
  color: #606060;
  /* background-image: linear-gradient(150deg, rgba(252, 233, 242, 1) 15%, rgba(230, 244, 253, 1) 85%); */
  background-color: white;
}
html[data-font="small"]{ font-size: 54.7%;}
html[data-font="medium"]{ font-size: 62.5%;}
html[data-font="large"]{ font-size: 70.3%;}

/* largeの時調整 ここから */
html[data-font="large"] .header_nav {
  padding: 0 10px 0 190px;
}
html[data-font="large"] .header_logo {
  left: 5px;
}
html[data-font="large"] .header_code {
  margin-top: -5px;
}
html[data-font="large"] .header_uprBox .headerParts_linkList03 .headerParts_linkItem > a ,
html[data-font="large"] .header_uprBox .headerParts_linkList03 .headerParts_linkItem > span {
  padding-left: 32px;
  background-position: 10px center;
}
html[data-font="large"] .header_lwrBox .headerParts_linkItem {
  flex: 1 0 auto;
}
html[data-font="large"] .header.fixed .header_nav {
  padding-left: 285px;
}
html[data-font="large"] .header.fixed .header_logo {
  width: 275px;
  left: 4px;
}
@media screen and (max-width: 1480px) {
  html[data-font="large"] .header_nav {
    padding-left: 50px;
  }
  html[data-font="large"] .header_logo {
    width: 225px;
  }
  html[data-font="large"] .header.fixed .header_nav {
    padding-left: 200px;
  }
}
/* largeの時調整 ここまで */

body, input, textarea, select {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, 'ヒラギノ角ゴ Pro W3', 'ヒラギノ角ゴ W3', 'メイリオ', sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: #3C4950;
  line-height: 1.6;
}
.inner{
  width: 65%;
  max-width: 100%;
  margin: 0 auto;
  resize: none;
}
.video-inner{
  width: 50%;
  max-width: 100%;
  padding: 35px;
  margin: 0 auto;
  resize: none;
}
body.scrollLock {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}
video {
  width: 100%;
  vertical-align: bottom;
}
/* colors
-------------------------------------------------- */
.white{
  background-color: white;
}
.purple{
  background-color: rgba(185, 132, 171, .3);
}
.dark-purple{
  background-color: #b984ab;
}
.gold{
  background-color: #f6b466;
}
/* ナビ追従時
-------------------------------------------------- */
.header-box {
  height: 50px;
}

header {
  position: fixed;
  height: 50px;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, .6);
  z-index: 100;
  display: flex;
  justify-content: space-between;
}

.logo {
  width: 106px;
  padding: 5px;
  height: 50px;
}

nav {
  width: 43%;
}

.nav-ul {
  width: 100%;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-li {
  width: 60%;
}

.mobile-menu {
  display: none;
  font-size: 28px;
  font-weight: 600;
  height: 50px;
  text-align: center;
}

/* モバイル用表示切り替え */
@media (max-width: 800px) {
  .mobile-menu {
    display: block;
  }

  .pc-menu {
    display: none;
  }
}
.nav-menu {
  display: block;
  width: 100%;
  line-height: 50px;
  text-align: center;
  color: #606060;
  text-decoration: none;
  font-size: 1.1vw;
  letter-spacing: -0.05em;
}

/*フッター*/
.footer-002 {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 25px 10px 10px;
  background-color: #d9d9d9;
}

.footer-002__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.5em;
  list-style-type: none;
  margin: 0 0 3.5em;
  padding: .5em;
}

.footer-002__sns-icon {
  width: 50px;
  height: 50px;
}

.footer-002__copyright {
  margin: 0;
  color: #ffffffb3;
  font-weight: 200;
  font-size: .8em;
}
.footer-com-logo{
  width: 25%;
}
/* お知らせ
-------------------------------------------------- */
.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.news-list .item span{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}
.news-list .item:first-child span{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  font-size: 16px;
  color: #999;
  padding: 0 20px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .item .category span{
  background: #999;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: rgb(187, 187, 187);
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

/*画像ループ*/
.reco-slide {
  width: 100%;
  height: 10px; /* 画像の高さ */
  background-image: url(../img/IMG_DotLine1.png);
  background-size: 900px;
  background-repeat: repeat-x;
  animation: loop 50s linear infinite;
}
@keyframes loop {
  from {
      background-position: 0 0;
  }
  to {
      background-position: -2000px 0; /* 画像のマイナス幅 */
  }
}
/* position設定
-------------------------------------------------- */
.products-theme{
  text-align: center;
  font-size: larger;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding: 4%;
  color: #606060;
}
.shop-list-theme{
  text-align: center;
  font-size: larger;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 10% 0 0 0;
  color: #606060;
}
.online-store-theme{
  text-align: center;
  font-size: larger;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 10% 0 5% 0;
  color: #606060;
}
.products-block{
  display:flex;
justify-content: center;
gap: 0 3%;
}
.moist-flex{
  position: absolute;
  width: 80%;
}
.moist-button-flex{
  position: absolute;
    width: 29%;
    transform: translate(18vw, 27.5vw);
}
.moist-button-flex-dro{
  position: absolute;
    width: 29%;
    transform: translate(18vw, 25.5vw);
}
.moist-button-flex-shm{
  position: absolute;
    width: 29%;
    transform: translate(18vw, 27vw);
}
.ingre-button-flex{
  width: 29%;
  transform: translate(18vw, 23vw);
}
.ingre-button-flex:hover{
  opacity: 0.8;
}
.ingre-button-FMflex{
  width: 29%;
  transform: translate(24vw, 24vw);
}
.ingre-button-FMflex:hover{
  opacity: 0.8;
}
.ingreN-button-flex{
  width: 29%;
  transform: translate(18vw, 23vw);
}
.ingreN-button-flex:hover{
  opacity: 0.8;
}
.moist-button-FMflex{
  position: absolute;
    width: 29%;
    transform: translate(24vw, 26vw);
}

.ingreN-button-MTflex{
  width: 29%;
  transform: translate(18vw, 23vw);
}
.ingreN-button-flex:hover{
  opacity: 0.8;
}
.moist-button-MTflex{
  position: absolute;
    width: 29%;
    transform: translate(18vw, 25.5vw);
}



/*ページトップに戻る*/
#page_top{
  width: 70px;
  height: 70px;
  position: fixed;
  right: 3%;
  bottom: 50px;
  background: #8d8d8d;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 70px;
  height: 70px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
.shop-list-name{
  text-decoration: none;
  color: #b3b3b3;
  font-size: 3vw;
  font-weight: bold;
}

 /* スライドショー共通のスタイル */
 .slideshow-container {
  max-width: 100%;
  position: relative;
  margin: auto;
}
.slide {
  position: absolute;
  transition: opacity 1.5s ease;
  opacity: 0;
}
.slide.active {
  opacity: 1;
}
img {
  max-width: 100%;
  height: auto;
}

/* ポップアップウィンドウ */
.open {
	cursor:pointer;
}
#pop-up {
	display: none;
}
#pop-up-2 {
	display: none;
}
#pop-up-8 {
	display: none;
}
.overlay {
	display: none;
}
#pop-up:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-2:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-3:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-4:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-5:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-6:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-7:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-8:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-9:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
#pop-up-10:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}

.window {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-2 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-3 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-4 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-5 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-6 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-7 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-8 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-9 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.window-10 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 900px;
    padding: 10px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}

.close {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-2 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-3 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-4 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-5 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-6 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-7 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-8 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-9 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
.close-10 {
	position: absolute;
	top: 23px;
	right: 12px;
	cursor:pointer;
  color: rgba(0,0,0,0);
}
/* スライドショー */
/* スライドショーのコンテナのスタイル */
.slideshow-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50.25%; /* アスペクト比 16:9 の場合 */
  overflow: hidden;
  background-color: #ffffff;
  z-index: 5;
}

/* スライドショーの画像のスタイル */
.slideshow-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ホバーアップ */
.hover-effect {
  padding: 10px;
  transition: transform 0.3s ease;
}
.hover-effect:hover {
  transform: translateY(-10px);
}