@charset "UTF-8";

/**----共通　----------**/

/* 
font-family: 'Noto Serif JP', serif;
font-family: 'Shippori Mincho', serif;
 */


a { 
    text-decoration: none;
    color: #000; 
    }
    a:visited{
      color : #000;
    }
  img{
      width: 100%;
      height: auto;
    }

        
    body{
      font-family: 'Noto Serif JP', serif;
        font-family: 'BIZ UDPMincho', serif;
           font-size: 16px;
        line-height: 1.7;
         background-color: #F3EFE8; 
        color: #4D4D4D;
        /* padding: 0 10px; */
		line-break: strict;/*禁則処理*/
      }
    .inner{
      width: min(1000px, 70%);
      max-width: 100%;
      margin: 0 auto;
  }
	.inner-detail{
      width: 800px;
      max-width: 100%;
      margin: 0 auto;
  }
    ul{
      list-style: none;
    }
    
  
    ::selection
  {
    background: #f3f3f3;
    color: #858585;
  }

  span99{
    display: inline-block;
  }

  /**----header　----------**/

header{
	position: absolute;
	z-index: 999;
	width: 100%;
}
.insta{
  width: 80px;
	padding: 30px 30px 0 0;
}

.flex-head{
  display: flex;
  justify-content: flex-end;
  align-items: center;
	width: 100%;
}
/**----top画像非表示　----------**/
.mv-calendar-sp {
    display: none;
}
.mv {
    width: 100%;
}
.mv img{
    display: block;
	position: relative;
	width: 100%;
}
/**----btn　----------**/
.fixed_btn{
  position: fixed;
  bottom: 10px;
  right: 10px;
  padding: 30px 40px;
	z-index: 9999;
	border-radius: 50%;
  background-color: #2F3E5C;
	box-shadow: 0 8px 32px 0 rgba(27, 36, 54, 0.7);
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border: 1px solid rgba(199, 237, 255, 0.3);
}
.fixed_btn p{
	color: #fff;
	line-height: 1.2em;
	letter-spacing: 0.2em;
}
.fixed_btn img{
	width: 36px;
	padding-top: 5px;
	margin: 0 auto;
}

/**----top-text　----------**/

.top-text-detail{
	padding: 64px 0;
}
.top-text-space{
	margin:auto;
}
.top-text h1{
	font-size: 40px;
	padding-bottom: 30px;
	color:#685E38;
	line-height: 1.5em;
	text-align: left;
}
.top-text p{
	margin: 0 auto;
  text-align: left;
	font-size: 18px;
	letter-spacing: 0.2em;
	line-height: 2em;
	color: #000000;
}

/**----top　----------**/


/**----product　----------**/
.product-back{
  width: min(1100px, 90%);
  padding: 100px 60px 48px 60px;
  margin: 0 auto;
  /* Glass effect */
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  /* border-radius: 24px; */
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 8px 32px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.4);
  position: relative;
  /* width: 70%;
	padding: 70px;
	margin: 0 auto;
	background: rgb(232, 195, 188, 0.2);
	box-shadow: 0 8px 32px 0 rgba(163, 137, 131, 0.3);
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border-radius: 10px;
	border: 1px solid rgba( 255, 255, 255, 0.18 ); */
}


#product{
	/* padding: 120px 0 280px 0; */
    z-index: 2;
  width: 100%;
	background-image:url("../img/back.webp");
  background-repeat: repeat;   /* ← 追加 */
	background-size: auto;       /* ← 追加（coverを使わない） */
	background-position: top left;
}
.product-first{
	margin-bottom: 60px;
	color: #fff;
}
.product-inner{
	max-width: 950px;
	margin: 0 auto;
	padding: 0 50px;
}
#product h2{
  color: #fff;
  text-align: center;
  font-size: 32px;
  padding-bottom: 40px;
}

/*左上バッジ*/
.product-image{
  position: relative;
  width: 90%; 
  margin: 0 auto;       /* ← 追加 */
}

.product-image img{
  width: 100%;
  display: block;     /* ← 追加（余白防止） */
}

.badge{
  position: absolute;
  line-height: 1.2;
  top: -20px;
  left: -20px;
  z-index: 10;
  padding: 24px 32px;
  font-size: 24px;
  font-weight: 300;
  background: #2F3E5C;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
/*↑左上バッジ*/

.product-first img{
	width: 100%;
	border-radius: 10px;
	background: rgba( 255, 255, 255, 0.2 );
	box-shadow: 0 8px 32px 0 rgba( 255, 255, 255, 0.3 );
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
}
.product-font{
  width: 90%;
  margin: 0 auto;
}
.product-font-padding{
  padding-bottom: 24px;
}
#product h3{
  font-size: 24px;
  padding: 24px 0 10px 0;
}

.second{
	padding-top: 40px;
}

/**----item　----------**/
#item{
  padding: 64px 0;
  background-color: #92adad;
}


#item h3{
  font-size: 23px;
  text-align: center;
  margin-bottom: 15px;
}

.button-054{
  margin: 0 auto;
  width: 250px;
}
.button-054 a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 250px;
  margin: 40px auto 0;
  padding: .9em 3em .9em 2em;
  border: 1px solid #fff;
  border-radius: 5px;
  /*background-color: rgba(255,255,255,0.40);*/
  color: #fff;
  font-size: 18px;
}
.button-054 a:hover{
  background-color: rgba(255,255,255,0.40);
}
.button-054 a::after {
  position: absolute;
  right: 2em;
  transform: translateY(-50%);
  transform-origin: left;
  width: 2em;
  height: .5em;
  background-color: #fff;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
  transition: transform .3s;
}

.button-054 a:hover::after {
  transform: translateY(-50%) scaleX(1.4);
}
.button-064{
  margin: 0 auto;
  width: 250px;
}
.button-064 a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 250px;
  margin: 20px auto 0;
  padding: .9em 3em .9em 2em;
  border: 1px solid #4D4D4D;
  border-radius: 5px;
  /*background-color: rgba(255,255,255,0.40);*/
  color: #4D4D4D;
  font-size: 18px;
}
.button-064 a:hover{
	background-color: rgba(255, 255, 255, 0.5);
	transition: 0.5s;
  color: #4D4D4D;
  border: 1px solid #4D4D4D;
}
.button-064 a::after {
  position: absolute;
  right: 2em;
  transform: translateY(-50%);
  transform-origin: left;
  width: 2em;
  height: .5em;
  background-color: #4D4D4D;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
  transition: transform .3s;
}

.button-064 a:hover::after {
  transform: translateY(-50%) scaleX(1.4);
}

.bag{
  width: 100%;     /* 画面幅に合わせる */
    max-width: 350px; /* 必要なら上限 */
    margin: 0 auto;
}

.flex-pre{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flex-pre p{
  width: 50%;
}

.bag-p{
  font-size: 14px;
  margin-top: 15px;
}

.bag-p a{
  color: #266cbb;
  font-weight: bold;
}


/**----saiji　----------**/
#saiji{
	margin: 64px 0;
	text-align: center;
}
#saiji ul{
  display: inline-block; /* ← これ重要 */
  text-align: left;      /* ← 中身を左揃え */
  padding-left: 0;       /* ← 余白リセット */
  list-style-position: inside; /* マーカー位置調整 */
}
#saiji h3{
  padding-bottom: 20px;
}

#saiji .button-064 {
	padding-top: 20px;
}
/**----other　----------**/

#other{
  background-color: #F1F1F1;
  padding: 70px 0;
}

.other-img{
  width: 370px;
}

#other ul{
  display: flex;
  justify-content: space-between;
}


.other-img:hover{
  opacity: .7;
	transition:0.3s;
}

/**----footer　----------**/

footer{
	background-color: #2F3E5C;
	box-shadow: 0 8px 32px 0 rgba(27, 36, 54, 0.7);
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border: 1px solid rgba(255, 224, 224, 0.7);
  /*background-color: #686868;*/
  padding: 15px 0;
}

.foot-flex a{
  font-size: 12px;
  color: #fff;
}

.foot-flex li{
  margin-right: 30px;
}

.foot-logo{
  width: 200px;
  margin: 0 0 30px auto;
filter: brightness(0) invert(1);/*フィルターで白に*/
}

.foot-flex{
  display: flex;
}

.copy{
  color: #fff;
  font-size: smaller;
  text-align: center;
}


@media screen and (min-width:1024px) {
  .pc-none{
    display: none;
  }
}
@media screen and (max-width:1020px) {
/**----btn　----------**/
.fixed_btn{
  padding: 25px 30px;
  z-index: 9999;
}
.fixed_btn p{
	line-height: 1.2em;
	letter-spacing: 0.2em;
}
.fixed_btn img{
	width: 32px;
}
/**----product　----------**/
.product-back{
  padding: 100px 60px 50px 60px;
}
.product-first{
	/* margin-bottom: 550px; */
	color: #fff;
}
.product-inner{
	max-width: 650px;
	margin: 0 auto;
	padding: 0px;
}
.product-detail{
	width: 90%;
	/* padding: 70px; */
	margin: 0 auto;
	top: 140%;
    left: 50%;
}
#product h2{
  color: #fff;
  text-align: center;
  font-size: 32px;
  padding-bottom: 40px;
}
	.product-detail-space{
	top: 160%;
    left: 50%;
	
}
/**----top-text　----------**/

.top-text-detail{
	padding: 40px 0 0px;
}
.top-text-space{
	margin:auto;
}
.top-text h1{
	font-size: 32px;
	padding-bottom: 30px;
	color:#685E38;
	line-height: 1.5em;
	text-align: left;
}
.top-text p{
	margin: 0 auto;
	font-size: 16px;
	letter-spacing: 0.2em;
	line-height: 2em;
	color: #000000;
	padding-bottom: 40px;
}

/**----inner　----------**/
  .inner{
    width: 650px;
  }

 .flex-item{
    display: block;
  }

  .flex-item2{
    display: block;
  }

  .box {
    margin: 20px auto 0;
    width: 600px;
}

.other-img {
  width: 340px;
}
	.inner-detail{
		padding: 0 20px;
	}
.flex-pre{
display: block;
}
.flex-pre p{
  width: 100%;
}
.bag {
  margin: 0 auto;
}
#mv .saiji-rink {
  font-size: 23px;
  right: 19%;
}
.foot-logo {
  width: 150px;
}
}

@media screen and (min-width:767px) {
  .tbpc-none{
    display: none!important;
  }
}
@media screen and (max-width:767px) {
  .sp-none{
    display: none!important;
  }
	header{
		text-align: left;
	}
/**----TOP非表示　----------**/	
	
	.mv {
        display: none;
    }

    .mv-calendar-sp {
		width: 100%;
		display: block;
    }
	.mv-calendar-sp img{
		display: block;
	position: relative;
		top: 0;
	width: 100%;
    }
/**----btn　----------**/
.fixed_btn{
  padding: 12px 15px;
  z-index: 9999;
}
.fixed_btn p{
	padding-top: 5px;
	line-height: 1em;
	letter-spacing: 0.2em;
	font-size: 13px;
}
.fixed_btn img{
	width: 20px;
	padding-top: 3px;
}
/**----inner350----------**/
  .inner{
    max-width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
  }
/**----top-text　----------**/
.top-text-detail{
	padding: 40px 0 40px;
}
.top-text-space{
	margin:auto;
}
.top-text h1{
	font-size: 22px;
	padding-bottom: 16px;
	color:#685E38;
	line-height: 1.5em;
	text-align: left;
}
.top-text p{
	margin: 0 auto;
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	color: #000000;
	padding-bottom: 0px;
}

/**----product　----------**/
.product-back{
  padding: 60px 0px 0px 0px;
}
#product{
	/* padding: 64px 0 180px 0; */
  width: 100%;
 /* background-image: linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%);*/
	background-image:url("../img/back-sp.webp");
	object-fit:cover;
}
.product-first{
	/* margin-bottom: 520px; */
	color: #fff;
}
.product-inner{
	position: relative;
	/* max-width: 350px; */
	margin: 0 auto;
}
.product-first img{
	width: 100%;
	border-radius: 10px;
	background: rgba( 255, 255, 255, 0.2 );
	box-shadow: 0 8px 32px 0 rgba( 255, 255, 255, 0.3 );
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
}
#product h2{
  color: #fff;
  text-align: center;
  font-size: 20px;
  padding-bottom: 40px;
}
#product h3{
  font-size: 18px;
  padding: 24px 0 10px 0;
}
.product-detail{
	width: 90%;
	/* padding: 70px; */
	margin: 0 auto;
	top: 140%;
    left: 50%;
}
	.product-detail-space{
	top: 220%;
    left: 50%;
}

/*左上バッジ*/
.product-image{
  position: relative;
  width: 90%; 
  margin: 0 auto;       /* ← 追加 */
}

.product-image img{
  width: 100%;
  display: block;     /* ← 追加（余白防止） */
}

.badge{
  position: absolute;
  line-height: 1.2;
  top: -30px;
  left: -10px;
  z-index: 10;
  padding: 19px 23px;
  font-size: 18px;
  font-weight: 300;
  background: #2F3E5C;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
/*↑左上バッジ*/

/**----item　----------**/
	#item{
  padding: 42px 0;
}

#item h2 {
  font-size: 21px;
  margin-bottom: 20px;
}
#item h3 {
  font-size: 20px;
}
#other{
  background-color: #F1F1F1;
  padding: 42px 0;
}
#other ul {
  display: block;
}
.other-img {
  width: 300px;
  margin: 20px auto;
}
.foot-flex {
  display: block;
}
.foot-logo {
  width: 180px;
  margin: 30px auto;
}
.copy {
  font-size: x-small;
}
.bag{
  width: 100%;     /* 画面幅に合わせる */
    max-width: 300px; /* 必要なら上限 */
    margin: 0 auto;
    padding-bottom: 16px;
}
.bag-p{
  font-size: 13px;

}
#mv .saiji-rink {
  font-size: 16px;
  right: 9%;
}
.button-064{
  margin: 0 auto;
  width: 250px;
}
.button-064 a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 250px;
  margin: 20px auto 0;
  padding: .9em 3em .9em 0em;
  border: 1px solid #4D4D4D;
  border-radius: 5px;
  /*background-color: rgba(255,255,255,0.40);*/
  color: #4D4D4D;
  font-size: 18px;
}


/*saiji*/
#saiji{
  margin: 42px auto;
	text-align: center;
  max-width: 90%;
}
}
