@charset "UTF-8";

@media screen and (min-width: 768px){
	.br-sp {display: none; }
}
@media screen and (max-width: 767px) {
	.br-pc {display: none; }
}

p{
    font-feature-settings: "palt";
    margin-bottom: 0;
	letter-spacing: 0.05em;
}
h3{
    font-feature-settings: "palt";
    
	letter-spacing: 0.05em;
}

sup {
    font-size: 10px;
    vertical-align: top;
}

.ul{
	padding-left:0;
  }
  
.li{
	list-style:none;
}
main{
	color: #333;
	font-weight: 500;
	letter-spacing: 0.05em;
}



/*============================================================*/
/*    共通    */
/*============================================================*/
	.primer{
		font-family:  "Noto Sans JP", -apple-system, blinkmacsystemfont, roboto, "Segoe UI", "Helvetica Neue", helveticaneue, yugothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic Pro", verdana, meiryo, sans-serif;
	}

	.kv {
		padding: 0;

	}
	.kv img{
		width: 100%;

	}



	.lead{
		font-family: "Noto Serif JP", serif;
		background: #FFFCE2;
		text-align: center;
		padding-inline:4vw;
		padding-top: min(8vw, 50px);
		padding-bottom: min(3vw, 30px);
	}

	.lead p{
		font-size: clamp(15px, 3.8vw, 24px);
		line-height: 1.6em;
		margin-bottom: 10px;
	}
	.lead_copy-bold{
		font-size: clamp(16px,4vw,28px);
		
	}
	.lead_copy-bold span{
		font-size: 0.8em;
		
	}

	.desc{
		width: 100%;
		background-image: url(../img/bg.webp);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
		padding-top: min(17vw, 95px);
		
		font-weight: 600;
		letter-spacing: 0.08em;
	}
	.note{
		font-size: 10px;
		text-align: right;
		font-weight: 500;
	}

	.desc_cont-copy--text {
		color: #ffffff;
		font-size: clamp(17px,4vw,27px);
		display: inline-block;
		background: linear-gradient(240deg, #39B6ED 0%, #4FCDCD 100%);
		padding-inline: 0.6em;
		padding-top: 0.08em;
		padding-bottom: 0.1em;
		text-align: center;
		font-weight: 600;
		margin-bottom: 0.2em;
	}
	.desc_cont-copy--text span{
		font-size: 0.8em;
	}

	.desc_cont-copy{
		display: block;
		
	}

	.desc_cont01{
		max-width: 828px;
		background: linear-gradient(180deg, #ffffff32 0%,  #ffffff80 100%);
		border: 2px solid #ffffff;
		padding-inline: 4vw;
		padding-top: min(10vw, 70px);
		margin-inline: auto;
		text-align: center;
		font-weight: 600;
		padding-bottom: min(6vw, 70px);
		border-radius: 10px;
		
	}





	.desc_cont01__inner01{
		margin-top: min(5vw, 34px);
		margin-bottom: min(9vw, 44px);
		max-width: 382px;
		margin-inline: auto;
	}
	.desc_cont01__inner01-box{
		display: flex;
		text-align: left;
		font-size: clamp(14px,2vw,18px);
		justify-content: center;
		align-items: center;
		gap:20px;
	}
	@media screen and (max-width: 915px) {
	.lead p{
		
		margin-bottom: 4px;
	}

	.desc_cont01{
		margin-inline: 4vw;
	}
}
	@media screen and (max-width: 768px) {
	.desc_cont01{
		gap:10px;
	}
	.desc_cont01__inner01-box {
		gap:10px;
	}
	.desc_cont01__inner01-box img{
		max-width: 140px;
		width: 24vw;
		
	}
}
	.desc_cont01__inner01-box span{ 
		
		font-size: 90%;
		
	}

	.desc_cont01__inner02{
		margin-bottom: min(2vw, 26px);

		    display: inline-block;
    text-align: right;
	
	}

	.desc_cont01__inner02 img{
		display: block;
		margin-bottom: 10px;
		margin-inline: auto;
	}

	@media screen and (max-width: 768px) {
	.desc_cont01__inner02 img{
		padding-inline: 3vw;
	}
}

	.desc_cont01__inner03{
		background: #ffffff;
		max-width: 598px;
		margin-inline: auto;
		border-radius: 20px 0 20px 0;
		padding-inline: min(7vw, 84px);
		padding-top: min(9vw, 40px);
		padding-bottom: min(7.8vw, 25px);

	}

	.desc_cont01__inner03-title{
		text-align: left;
		font-family: "Noto Serif JP", serif;
		display: flex;
		gap: 1em;
		align-items: center;
		font-size: clamp(14px,2vw,18px);
		margin-bottom: 1em;
	}
	.desc_cont01__inner03-title::after{
		content: "";
		display: block;
		width: 100%;         /* 線の長さを調整 */
		height: 1px;         /* 線の太さを調整 */
		background: #333;    /* 線の色 */
	
	}

	.desc_cont01__inner03-list{
		padding-left: min(2vw, 34px);
		
	}
	.desc_cont01__inner03-list-box{
		display: flex;
		justify-content: left;
		align-items: center;
		gap: 20px;
		text-align: left;
		margin-bottom: min(4vw, 24px);
	}
	.desc_cont01__inner03-list-box img{
		padding-bottom: 10px;
		
	}
	@media screen and (max-width: 768px) {
		.desc_cont01__inner03-list-box{
		
		gap: 6px;
		

	}
	.desc_cont01__inner03-list-box img{
		
		width: 6vw;
	}
}

	.desc_cont01__inner03-list-text{
		font-size: clamp(12px,3vw,16px);
	}
	.desc_cont01__inner03-list-text span{
		
		font-size: 1.1em;
		background: linear-gradient(180deg, #FFF79E00 59.9%, #FFF79E 60%,  #FFF79E 100%);
	}

	

	.desc_cont02{
		max-width: 714px;
		padding-inline: 4vw;
		padding-top: min(12vw, 70px);
		margin-inline: auto;
		text-align: center;
		font-weight: 600;
		padding-bottom: min(12vw, 70px);
		
	}

	.desc_cont02__inner{
		padding-top: min(9vw, 36px);
	}

	.desc_cont02__inner--list{
		display: flex;
		justify-content: center;
		align-items: end;
		gap: min(1vw, 40px);
		margin-bottom: 10px;
	}
	.desc_cont03{
		max-width: 990px;
		background: linear-gradient(135deg, #ffffff 0%, #ffffff27 26%, #ffffff57 64%, #ffffff24 100%);
		border: 2px solid #ffffff;
		padding-inline: 4vw;
		padding-top: min(10vw, 70px);
		margin-inline: auto;
		text-align: center;
		font-weight: 500;
		padding-bottom: min(11vw, 70px);
		border-radius: 60px;
		margin-bottom: min(15vw, 54px);
	}

	.desc_cont03 span{
		font-size: 0.9em;
	}

	.desc_cont03__inner--list01{
		padding-top: min(9vw, 36px);
		margin-bottom: -24px;
	}
	.desc_cont03__inner--list01_box{
		display: grid;
		justify-content: left;
		align-items: center;
		gap: min(4vw, 22px);
		grid-template-columns: 191px 1fr;
		text-align: left;
		max-width: 680px;
		margin-inline: auto;
		margin-bottom: min(9vw, 24px);
	}

	.desc_cont03__inner--list02-box{
		    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    align-items: center;
    gap: min(2vw, 16px);
    max-width: 612px;
    margin-inline: auto;
	margin-bottom: 10px;
}
	.desc_cont03__inner--list02_box-item {
		font-weight: 500;
	}
	.desc_cont03__inner--list02_box-item img{
		margin-bottom: 10px;
	}
	.desc_cont03__inner--list01_box-title {
		font-size: clamp(16px, 4vw, 24px);
		font-weight: 600;
		background: linear-gradient(180deg, #FFF79E00 59.9%, #FFF 60%, #FFF 100%);
		margin-bottom: 0.6em;
		display: inline-block;
	}
	
	.desc_cont03__inner--list01_box-text{
		font-size: clamp(12px,2vw,18px);
		line-height: 1.6em;
	}
	.desc_cont03__inner_copy{
		font-size: clamp(16px, 4vw, 24px);
		font-weight: 600;
		margin-bottom: min(9vw, 24px);
	}
	.desc_cont03_img{
		margin-bottom: min(3vw, 28px);
	}

	
	.desc_cont04{
		background: linear-gradient(90deg, #FFFFFF80 0%, #FFFFFF00 50%, #FFFFFF80 100%);
		padding-top: min(9vw, 62px);
		margin-inline: auto;
		text-align: center;
		font-weight: 500;
		padding-bottom: min(9vw, 62px);
		
	}

	.desc_cont04__inner img{
    margin-top: min(2vw, 20px);
	}

	@media screen and (max-width: 1050px) {
		.desc_cont03{
			border-radius: 22px;
		margin-inline: 4vw;
	}
	}
	@media screen and (max-width: 768px) {
		.desc_cont03 span{
		font-size: 0.8em;
	}
	.desc_cont03__inner--list02_box-item img{
		max-width: 126px;
		margin-bottom: 4px;
	}

		.desc_cont02__inner--list{
		
	}

	.desc_cont03__inner--list01_box{
		
		grid-template-columns: 1fr;
		
	}
	
	.desc_cont03__inner--list01_box img{
		padding-left: 12px;
		margin-inline: auto;
	}
	.desc_cont03__inner--list01_item{
		margin-inline: auto;
	}
	.desc_cont03__inner--list02-box{
		max-width: 337px;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 0;
	}
	.desc_cont03_img{
		margin-block: 6vw;
		
	}
		.desc_cont-copy--text{
			margin-bottom: 0.2em;
		}
		.desc_cont04__inner img{
			max-width: 284px;
			margin-inline: auto;
			
		}
	}

	

	.product{
		background: #FFFCE2;
		padding-top:min(13vw, 110px);
		padding-bottom:min(17vw, 120px);
		padding-inline: 4vw;
	}
	.product--item{
		background: #FFFFFF;
		border-radius: 20px 0 20px 0;
		display: grid;
		grid-template-columns: 342px 1fr;
		justify-content: center;
		max-width: 1000px;
		margin-inline: auto;
		padding-block: min(12vw, 112px);
		padding-inline: min(8vw, 92px);
		gap: 36px;
		box-shadow: 2px 2px 10px #E5CDB7;
		margin-bottom: min(12vw, 112px);
	}
	@media screen and (max-width: 1000px) {
			.product--item{
		grid-template-columns: 1fr;
		
	}
	}



	.product__item-ttl {
		font-weight: 600;
		font-size: clamp(16px, 4vw, 24px);
		line-height: 1.8em;
	}
	.product__item-ttl span{
		font-weight: 400;
		font-size: clamp(15px, 4vw, 23px);
	}
	.product__item-line{
		content: "";
		display: block;
		width: 100%;         /* 線の長さを調整 */
		height: 1px;         /* 線の太さを調整 */
		background: #333;   
		margin-block: 12px; /* 線の色 */
	}
	.product__item-detail{
		max-width: 436px;
	}
	

	@media screen and (max-width: 1000px) {
			.product__item-detail{
		max-width: 582px;
		margin-inline: auto;
		}
		.product--item-img{
		padding-left: 4vw;
		margin-inline: auto;
	}
	}

	.product__item-txt{
		font-weight: 400;
		font-size: clamp(14px,2vw,16px);
		line-height: 1.8em;
		padding-bottom: min(6vw, 50px);
	}
	.my-auto{
		margin-right: 0;
    margin-left: 0;
	}

	.product--recommend-title{
		    text-align: left;
    font-family: "Noto Serif JP", serif;
    display: flex;
    gap: 0.4em;
    align-items: center;
    font-size: clamp(18px, 4vw, 26px);
    margin-bottom: 1em;
    letter-spacing: 0.01em;
	}

	.product--recommend-title::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #333;
	}
	.product--recommend-box{
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: center;
		align-items: end;
		max-width: 728px;
		margin-inline: auto;
		column-gap: 20px;
	}
	.product--recommend{
		
		max-width: 728px;
		margin-inline: auto;
	}

	@media screen and (max-width: 768px) {
		.product--recommend{
		padding-inline: 6vw;
	}
			.product--recommend-box{
		gap: 10px;
		grid-template-columns: 1fr;
		
	}
			.product--recommend-box li{
		gap: 10px;
		grid-template-columns: 1fr;
		margin-inline: auto;
	}
		.my-auto{
			margin-inline: auto;
		}

	}
	@media screen and (max-width: 1000px) {
		
		.my-auto{
			margin-inline: auto;
		}

	}