@charset "UTF-8";
/* CSS Document */

main button{
	background: #272420;
    width: 100%;
    color: #fff;
    text-align: center;
    padding: 6%;
    font-size: 1.6rem;
    border-radius: 5px;
    margin: 2% 0 4%;
}

a:hover{
	opacity: 1!important;
}

body {
	overflow-x: hidden;
 　　text-size-adjust: 100%;
 　　-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
 　　-ms-text-size-adjust: 100%;/*EgdeMobile*/
 　　-moz-text-size-adjust: 100%;/*firefox*/
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans", 'メイリオ', 'Meiryo',sans-serif;
}

.marker{
	    border-bottom: 2px dotted #840000;
    padding-bottom: 3px;
    background: linear-gradient(transparent 1%, #fbecec 10%);
}

body main {
  max-width: 100%;
 /* overflow-x: hidden;*/
}

body main .main-contents {
  overflow: hidden;
  background-color: #fff;
}

h1, h2, p{
font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans", 'メイリオ', 'Meiryo',sans-serif;
}

small{
	text-align: left!important;
	    margin: 4% auto 0 !important;
    line-height: 17px;
}

img{
	height: 100%;
}


hr{
	color: #d4d4d4!important;
}

p{
	font-size: 1.6rem;
	line-height: 28px;
}

.mail-box .sub-text{
	font-size: 1.2rem;
}



.inner-block {
	margin: auto;
	    width: 90%;
}

.top-hr{
	    width: 90%;
    border-color: #A29C87;
    margin: 60px auto 4%;
}



.main_wrapper{
	/*margin: 0 4% 10%;*/
}

.hidden-view{
    display: none;
}

.lead{
	text-align: center;
   margin: 8% 0 0;
	
}

.lead small{
	text-align: center;
	margin-top: 2%;
	    font-size: 1rem;
	
}



.lead span{
	font-size: 1.4rem;
	
}

.lead h1{
	font-weight: 500;
    font-size: clamp(26px, 1.2vw, 26px);
    letter-spacing: 0.4rem;
        line-height: 1.6;
    margin: -11% auto 0;
    text-align: center;
}


.lead .lead_text {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: -0.03rem;
    text-align: left;
    width: 90%;
    margin: 0 auto 6%;
}




.product .product_text{
	    font-size: 14px;
    line-height: 23px;
    flex-grow: 1;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 14px;
}




.product .product_text p{
	margin-bottom: 0!important;
}

.product .product_text span{
	    font-size: 10px;
    line-height: 17px;
}

.cate {
    border: 1px solid #272420;
    display: inline;
    padding: 4px;
	    font-size: 12px;
	background: #fff;
}


.name {
    margin: 2% 0 4%;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 24px;
}

.capacity{
	background: #e5e5e5;
    text-align: center;
    padding: 10px;
    margin: 0 0 6%;
    font-size: 13px;
}

.price {
    text-align: left;
    font-size: 24px;
    font-weight: 500;
	    margin-bottom: 2%;
}

.price span {
    font-size: 12px;
}






main{
	margin-top: 2%;
}


.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
  
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

.fuwafuwa2 {
  animation: fuwafuwa2 3s ease-in-out infinite alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
  
}
 
@keyframes fuwafuwa2 {
  0% {
    transform:translate(0, 0) rotate(7deg);
  }
  50% {
    transform:translate(0, 7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(-7deg);
  }
}




.fv {
    background-image: url(https://jurlique-japan.com/topics/jurlique-holiday2025/img/fv_back_02.webp);
    position: relative;
    background-size: cover;
    text-align: center;
    height: auto;
}

.fv .dec-left{
	width: 20%;
    display: block;
	    margin-left: -5%;
}

.fv .title h1{
    color: #F7F3DC;
    font-size: 2.4rem;
    line-height: 30px;
    margin-top: -28%;
    letter-spacing: 0.3rem;
}

.fv .title p{
	     color: #F7F3DC;
    font-size: 1.2rem;
    font-family: 'Lexend Peta', "Hiragino Kaku Gothic ProN", "Hiragino Sans", 'メイリオ', 'Meiryo', sans-serif;
    line-height: 18px;
    margin-top: 3%;
}

.fv .dec-right{
	width: 18%;
    display: block;
    margin-left: 83%;
    margin-top: -40%;
    margin-bottom: 90%;
}

.fv .product_name{
	    color: #fff;
}

.fv .name {
    margin: 2% 0;
}

.fv .price {
    text-align: center;
}

.fv button
{
	    width: 90%;
    background: #fff;
    color: #720D15;
    font-weight: 600;

}


/*さらに見る*/

.read-more {
    position: relative;
	width: 90%;
    margin: 6% auto 4%;
    color: #fff;
}

.read-more p {
    position: relative;
    max-height: 100px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 0;
    overflow: hidden;
    transition: max-height 1s;
	font-size: 1.4rem;
    line-height: 20px;
    text-align: left;
}

.read-more:has(:checked) p{
	max-height: 120vh;
    font-size: 1.4rem;
    line-height: 20px;
    text-align: left;
}

.read-more p::after {
       display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsl(13.64deg 64.08% 40.39% / 0%) 0, hsl(14.09deg 64.08% 40.39% / 74%) 50%, hsl(14.09deg 64.08% 40.39% / 74%) 0, #a74723);
    content: '';
	
}

.read-more:has(:checked) p::after {
    content: none;
}

.read-more label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #ffffff;
        font-size: 1.2rem;
}

.read-more label:hover {
    color: #8f8f8f;
    text-decoration: underline;
    cursor: pointer;
}

.read-more:has(:checked) label {
    display: none;
}

.read-more label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #b6bdc3;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.read-more input {
    display: none;
}





.contents01{
	    background: #840000;
}

.contents01 .point {
    margin-top: 6%;
}

.contents01 .point p{
	    color: #fff;
	    letter-spacing: -0.08rem;
}

.contents01 .staff-rec{
	    background: #fff;
    width: 90%;
        margin: 12% auto 16%;
    padding: 4%;
}


/*スタッフオススメ*/
.contents01 .box-01{
	display: flex;
}

.contents01 .box-02{
	display: flex;
	position: relative;
}


.contents01 .staff-rec .title{
	    margin: 2% 0 4%;
}
.contents01 .staff-rec .title p{
    font-size: 1.6rem;
    margin: 6% 0 8%;
    line-height: 24px;
    text-align: center;
}

.contents01 .card {
 border-top: 1px solid #78040d;
}

.contents01 .card .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 16px;
}

.contents01 .card .description {
      font-size: 1.6rem;
    line-height: 1.6;
       margin-bottom: 6%;
}

.contents01 .card .text-area{
	    margin-top: 6%;
}
.contents01 .card {
    padding-top: 4%;
	}

.contents01 .card .product-info .day {
      color: #8b1c1c;
    font-size: 1.2rem;
    font-weight: 600;
	margin-bottom: -4%;
}

.contents01 .card .product-info .product {
  color: #8b1c1c;
    font-size: 1.4rem;
    font-weight: 600;
}

.contents01 .card .main-image{
	    width: 78%;
    height: 100%;
    margin-right: 2%;
}

.contents01 .card .sub-image{
width: 16%;
    height: auto;
    right: 2%;
    top: -65%;
    position: absolute;
}



.contents02 .inner-block{
	border-radius: 10px;
	}

.contents02 {
	background: #061840;
    color: #fff;
	}

.contents02 .title{
	width: 86%;
    margin: 0 auto 8%;
    padding-top: 16%;
}

.contents02 .product-block .main{
	    padding: 8% 0 4%;
}

.contents02 .product_name{
	    text-align: center;
}
.contents02 .product_name .text{
font-size: 1.4rem;
    line-height: 20px;
    text-align: left;
}
.contents02 .name {
    margin:  6% 0 2%;
}

.contents02 .price{
	        text-align: center;
}

.contents02 button {
    width: 100%;
    border: 1px solid #fff;
    background: none;
    margin: 8% auto 18%;
}

.contents02 .herb-about{
	    width: 90%;
    margin: 4% auto;
    display: flex;
}



.product_point{
	border: 1px solid #272420;
	
}




.contents03{
	    background: #05411c;
}


.contents03 .text p{
	font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: -0.06rem;
    text-align: center;
    margin: 5% auto;
    color: #fff;
}

.contents03 .infomation{
	width: 90%;
    margin: 6% auto;
    color: #fff;
	
}


.contents03 button{
	width: 90%;
    margin: auto 5%;
    background: #fff;
    color: #07411c;
    font-weight: 600;
}

.contents03 .main-text span {
    font-size: 18px;
    font-weight: 600;
}

.contents03 .main-text {
    margin-bottom: 8%;
}

.contents03 .end{
width: 90%;
    margin: 18% auto 0;
    padding-bottom: 20%;
}




/*メニュー*/
	
	
	
	
	.mail-box{
		width: 100%;
    margin: 0 auto 18%;
	}
	
	.mail-box .title-text{
	    font-size: 18px;
    margin-bottom: 21px;
    border-bottom: 1px dotted #808080;
    padding-bottom: 14px;
	}
	
	.mail-box .text{
		border: 1px solid #808080;
    padding: 13px;
    width: 100%;
    margin-bottom: 12px;
    color: #808080;
    background: #ffffff;
	}
	
	.mail-box .privacyPolicyAgreed{
	margin-right: 5px;
	}
	
	.mail-box .sub-text{
	  line-height: 16px;
	}
	.mail-box .submit{
	background: #3a3a3a;
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 14px;
    font-size: 14px;
    border-radius: 5px;
    margin-top: 17px;
	}


.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 4px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 6s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd{animation: anim 8s linear infinite;}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}


@media screen and (min-width: 481px) {
	/* ------------------481px以上に適用されるCSS（タブレット）------------------- */
	
/*common*/
	body{
		max-width: inherit;
	}
	main{
		    min-width: 481px!important;
	}
	
}
	



@media screen and (min-width: 960px) {
		/* --------------------------------960px以上に適用されるCSS（PC）-------------------------------- */
	
.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 8px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 6s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd{animation: anim 8s linear infinite;}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}	
	
	
	
h1, h2, p{

    font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans", 'メイリオ', 'Meiryo',sans-serif;
}
h1 small{
	text-align: left;
	}
	main{background: #812a18;
	}
	p{
		font-size: 18px;
	}
	
	
	.contents01 {
		position: relative;
	}
	.contents04 .price {
        font-size: 24px;
    }
	
	.cate {
		    font-size: 14px;
	}
	
	.lead h1 {
		font-size: 28px;
	}

	.fv .title h1 {
    font-size: 2.8rem;
    line-height: 34px;
	}
	
	.main-contents {
    margin: auto;
    max-width: 470px;
   /* filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 10%));*/
    flex: 1;
	background: #fff;
}
	
	.contents01 .card .main-image {
    width: 58%;
    height: 100%;
    margin-right: 4%;
}
	
	
	.contents01 .card .title {
    font-size: 2.4rem;
	}
	
	.contents01 .card .text-area {
    margin-top: 4%;
}
	.contents01 .card .description {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 12%;
}
	
	.contents01 .card .sub-image {
    width: 13%;
        height: auto;
        right: 2%;
        top: -63%;
    position: absolute;
}
	
	.contents03 .text p {
    font-size: 1.8rem;
    line-height: 1.6;
	}
	
	/*メニュー*/
	
	.under-box{
		display: flex;
	}
	   .under-box .official {
        width: 240px;
        margin: 0 0 40px 0;
        border: 0;
        height: 60px;
    }
	
	.under-box .mail-box{
		width: 65%;
    margin: 0 auto 5%;
	}
	
	.under-box .mail-box .title-text{
	    font-size: 18px;
    margin-bottom: 21px;
    border-bottom: 1px dotted #808080;
    padding-bottom: 14px;
	}
	
	.under-box .mail-box .text{
		border: 1px solid #808080;
    padding: 13px;
    width: 100%;
    margin-bottom: 12px;
    color: #808080;
    background: #ffffff;
	}
	
	.under-box .mail-box .privacyPolicyAgreed{
	margin-right: 5px;
	}
	
	.under-box .mail-box .sub-text{
	  line-height: 16px;
		        font-size: 12px;
	}
	.under-box .mail-box .submit{
	background: #3a3a3a;
    width: 30%;
    text-align: center;
    color: #fff;
    padding: 14px;
    font-size: 14px;
    border-radius: 5px;
    margin-top: 17px;
	}
}