@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);}
  }

 /* スライドショー共通のスタイル */
 .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;
}

  .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% !important;
  background-color: white;
}
body {
  
}
.inner{
  width: 93%;
  max-width: 100%;
  margin: 0 auto;
  resize: none;
}
body, input, textarea, select {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, 'ヒラギノ角ゴ Pro W3', 'ヒラギノ角ゴ W3', 'メイリオ', sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  color: #3C4950;
  line-height: 1.6;
}
body.fixed {
  position: fixed;
  right: 0;
  left: 0;
  width: 100vw;
  overflow-y: scroll;
}
video {
  width: 100%;
  vertical-align: bottom;
  padding: 20px 15px;
}
/* colors
-------------------------------------------------- */
.white{
  background-color: white;
}
.purple{
  background-color: rgba(185, 132, 171, .3);
}
.dark-purple{
  background-color: #b984ab;
}
.gold{
  background-color: #f6b466;
}
/* ナビ追従時
-------------------------------------------------- */
.header {
  background-color: #fff;
  box-shadow: 1px 1px 4px 0 rgba(0,0,0,.1);
  position: fixed;
  width: 100%;
  z-index: 3;
}

.header a{
  color: #606060;
  letter-spacing: -0.05em;
}

.header ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color: #fff;
}

.header li a {
  display: block;
  padding: 20px 20px;
  text-decoration: none;
}

.header li a:hover,
.header .menu-btn:hover {
  background-color: #f4f4f4;
}

.header .logo {
  display: block;
  float: left;
  font-size: 2em;
  padding: 5px 10px;
  text-decoration: none;
}

/* menu */

.header .menu {
  clear: both;
  max-height: 0;
  transition: max-height .2s ease-out;
}

/* menu icon */

.header .menu-icon {
  cursor: pointer;
  display: inline-block;
  float: right;
  padding: 24px 20px;
  position: relative;
  user-select: none;
}

.header .menu-icon .navicon {
  background: #333;
  display: block;
  height: 2px;
  position: relative;
  transition: background .2s ease-out;
  width: 18px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

.header .menu-icon .navicon:before {
  top: 5px;
}

.header .menu-icon .navicon:after {
  top: -5px;
}

/* menu btn */

.header .menu-btn {
  display: none;
}

.header .menu-btn:checked ~ .menu {
  max-height: 314px;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}

/* 48em = 768px */

@media (min-width: 48em) {
  .header li {
    float: left;
  }
  .header li a {
    padding: 12px 15px;
  }
  .header .menu {
    clear: none;
    float: right;
    max-height: none;
  }
  .header .menu-icon {
    display: none;
  }
}

.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 li{
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}

.news-list .item span{

  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;

  padding: 20px 20px;
}
.news-list .item:first-child span{

}
.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: 600px;
  background-repeat: repeat-x;
  animation: loop 80s 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 0 0;
  color: #606060;
}
.products-block{
  display:flex;
justify-content: center;
gap: 0 10%;
margin-bottom: 10%;
}
.moist-flex{
  position: absolute;
  width: 80%;
}
.moist-button-flex{
  position: absolute;
  width: 35%;
  transform: translate(33vw, 51vw);
}
.moist-button-flex-02{
  position: absolute;
  width: 35%;
  transform: translate(33vw, 46vw);
}
.moist-button-FMflex{
  position: absolute;
  width: 35%;
  transform: translate(43vw, 52.5vw);
}
.moist2-button-flex{
  position: absolute;
  width: 35%;
  transform: translate(33vw, 51vw);
}
.shinto-button-flex{
  position: absolute;
  width: 35%;
  transform: translate(43vw, 47vw);
}
.ingresp-button-flex{
  width: 35%;
  transform: translate(33vw, 43vw);
}
.ingresp-button-flex:hover{
  opacity: 0.8;
}
.ingresp-button-FMflex{
  width: 35%;
  transform: translate(43vw, 45vw);
}
.ingresp-button-FMflex:hover{
  opacity: 0.8;
}
/*ページトップに戻る*/
#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: 4.5vw;
  font-weight: bold;
}

/* ポップアップウィンドウ */
.open {
	cursor:pointer;
}
#pop-up-sp {
	display: none;
}
#pop-up-sp2 {
	display: none;
}
#pop-up-sp3 {
	display: none;
}
#pop-up-sp4 {
	display: none;
}
#pop-up-sp5 {
	display: none;
}
#pop-up-sp6 {
	display: none;
}
#pop-up-sp7 {
	display: none;
}
#pop-up-sp8 {
	display: none;
}
.overlay {
	display: none;
}
#pop-up-sp: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-sp2: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-sp3: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-sp4: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-sp5: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-sp6: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-sp7: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-sp8: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-sp9: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-sp10: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-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);
}