.link_area{
    width:206px;
}
.link_area .shop_link:first-child{
	margin-bottom:12px;
}
.shop_link{
    width:206px;
	padding:16px;
	padding-left:22px;
	border:1px solid #260C57;
	border-radius:2px;
	font-size:18px;
	line-height:1;
	color:#260C57;
	display:flex;
	align-items: center;
    justify-content: center;
	position:relative;
}
.shop_link.subscription{
	background:#fff1d4;
}
.shop_link:before{
	content:"";
	width:24px;
	height:24px;
	margin-right: 6px;
	display:inline-block;
	background:url("../img/cart2.svg") no-repeat;
}
.shop_link:hover{
	opacity:1;
	background:#260C57;
	color:#BFA670;
}
.shop_link:hover:before{
	background:url("../img/cart.svg") no-repeat;
}
header .shop_link{
	position:fixed;
	z-index:99999;
	top:24px;
	right:24px;
	color:#BFA670;
	background:#260C57;
}
header .shop_link:before{
	background:url("../img/cart.svg") no-repeat;
}
header .shop_link:hover{
	background:#fff;
	color:#260C57;
}
header .shop_link:hover:before{
	background:url("../img/cart2.svg") no-repeat;
}


.popup {
  position: fixed; /* バナーを追従させる */
  display: none;
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 20px; /* バナーの上下の位置 */
  right: 20px; /* バナーの左右の位置 */
  width: 400px; /* バナーの横幅 */
}
.banner_close{
    width: 36px;
    height: 36px;
	font-size:28px;
    line-height: 1;
    position: absolute;
    top: -8px;
    right: 8px;
    z-index: 99999;
    padding: 4px 8px;
    border: none;
    color: white;
    background-color: #c0a770;
    border-radius: 20px;
    cursor: pointer;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}
.popup-banner img {
  max-width: 100%; /* 画像の最大幅 */
}


.concept{
	margin-top:280px;
	position:relative;
	background:linear-gradient(150deg, #fff 0%, #F9F6F1 50%);
}
.concept::before{
	content:"";
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	background-image:url("../img/tobe.png");
	background-size:contain;
	background-repeat:no-repeat;
	background-position:right;
	z-index:0;
}
.concept_txt{
	padding-bottom:56px;
	position:relative;
	top:-40px;
}
.concept p{
	margin-top:24px;
	padding-left:8px;
	font-size:17px;
	line-height:2.4;
	font-weight:500;
	letter-spacing:.1em;
}
.concept p.concept_emphasis{
	font-size:24px;
}


.tolaa_cosmetic{
	width:100%;
	margin:240px auto 0;
}
.tolaa_cosmetic1 span{
	width:100%;
	height:64vh;
	background:url("../img/tolaa_cosmetic1.jpg") center no-repeat;
	background-size:cover;
	display:inline-block;
}
.tolaa_cosmetic2 span{
	width:100%;
	height:64vh;
	background:url("../img/tolaa_cosmetic2.jpg") center no-repeat;
	background-size:cover;
	display:inline-block;
}
.cosmetic_contents{
	margin:24px auto 0;
}
.cosmetic_name{
	font-size:28px;
	font-weight:bold;
	color:#260C57;
	line-height:1;
}
.cosmetic_name span{
	font-size:16px;
	font-weight:normal;
	color:#260C57;
}

.cosmetic_efficacy{
	margin:240px auto 0;
}
.ingredient {
	width:100%;
	height: fit-content;
	padding:144px 0;
	position:relative;
	background:linear-gradient(45deg, #fff 10%, #f1f1f1 100%);
	text-align: center;
}
.ingredient::before{
	content:"";
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	background:url("../img/cosmetics.png");
	background-size:75%;
	background-repeat:no-repeat;
	background-position:right bottom;
	z-index:0;
	bottom:0;
	opacity:.25;
}
.ingredient.ingredient2::before{
	content:"";
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	background:url("../img/cosmetics2.png");
	background-size:64%;
	background-repeat:no-repeat;
	background-position:right bottom;
	z-index:0;
	bottom:0;
	opacity:.25;
}
.ingredient p{
	width:100%;
	height:fit-content;
	margin:0 auto 60px;
	text-align:center;
}
.ingredient p img{
	width:auto;
	height:36px;
}
.ingredient img{
	width:95%;
	max-width:560px;
	height:fit-content;
    z-index:1;
}


.cell_contents{
	padding:80px 0;
	border-bottom:2px solid #6B1685;
}
.patent{
	width:100%;
	margin:0 auto 28px;
	text-align:center;
}
.patent img{
	width:80%;
	max-width:300px;
}
.cell_contents p{
	font-size:14px;
}
.cell_ttl{
	width:200px;
}
.explanation_txt{
	width:calc( 100% - 224px );
}
.explanation_txt p{
	line-height:2;
}
.explanation_txt p strong{
	font-size:16px;
	font-weight:600;
}
.explanation_txt2{
	margin-top:20px;
}

.cell_explanation{
	margin-top:40px;
}
.cell_explanation img{
	margin-bottom:12px;
}
.cell_explanation img.fusica_cell{
	width:75%;
}
.cell_explanation img.cysay{
	width:20%;
	height:auto;
}
.cell_explanation p{
	margin-bottom:20px;
}
.cell_explanation p:last-child{
	margin-bottom:0;
}

.effect_contents{
	margin-top:48px;
	background:#F0E7F3;
	border-radius:2px;
}
.effect_contents p{
	color:#260C57;
}
.effect_contents .effect_content_txt{
	padding:4.8%;
}
.effect_contents .effect_content_txt p{
	margin-bottom:12px;
    font-size:14px;
	font-weight:500;
}
.effect_contents .effect_content_txt p:last-child{
	margin-bottom:0;
}
.effect_contents .effect_content_txt p.effect_emphasis{
    font-size:20px;
	font-weight:bold;
}
.effect_contents .effect_content_txt p span{
	line-height:1.5;
    font-size:13px;
	font-weight:normal;
}

.free_ingredients{
	padding-top:80px;
}
.free_ingredients_ttl{
	text-align:center;
}
.free_ingredients_ttl img{
	width:188px;
	margin-top:12px;
}
.free_ingredients_content {
	margin-top:40px;
	justify-content:center;
}
.free_ingredients_content img{
	width: 23%;
	margin-right:2.5%;
}
.free_ingredients_content img:last-child ,
.free_ingredients_content img:nth-child(4){
	margin-right:0;
}

.insta{
	padding:212px 0 0;
}
.insta_gallery{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.insta_gallery a{
	width:32%;
}
.insta_gallery img{
	width:100%;
}

.company{
	padding:240px 0 160px;
}

.company table{
	width:100%;
    border-spacing:16px;
}
.company th{
	width:160px;
	color:#6B1685;
	font-size:17px;
	font-weight:600;
	box-sizing:content-box;
	text-align:left;
}
.company th,.company td{
	padding:24px 16px 24px 8px;
	border-top:1px solid #DAC4E0;
}
.company th.tel{
	letter-spacing:.33em;
}
.company iframe{
	width:100%;
	height:412px;
}
@media screen and (max-width: 768px){
	.tablet{
		display: block;
	}
	.concept{
		margin-top:240px;
	}
	.tolaa_cosmetic{
		margin:200px auto 0;
	}
	.tolaa_cosmetic1 span{
		height:464px;
	}
	.tolaa_cosmetic2 span{
		height:464px;
	}
	.cosmetic_efficacy{
		margin:200px auto 0;
	}
	.ingredient {
		padding:112px 0;
	}
	.ingredient img{
		max-width:512px;
	}
	.cell_explanation img.fusica_cell{
		width:100%;
		margin-bottom: 24px;
	}
	.cell_explanation img.cysay{
		width:20%;
		height:auto;
	}
	.cell_explanation p{
		width:75%;
		margin-bottom:20px;
	}
	.free_ingredients_content img{
		width:22%;
	}
	.company{
		padding:184px 0 144px;
	}

	
}



@media screen and (max-width: 640px){

	header .logo{
		width:64%;
		bottom:-7.5vw;
	}
	/*header .shop_link{
		width:calc( 100% - 24px );
		top:auto;
		bottom:12px;
		right:12px;
		font-size: 5.24vw;
		justify-content: center;
	}
	.shop_link:before{
		margin-right:8px;
	}*/
	header .shop_link{
		width:calc( 50% - 11px );
    	padding: 4vw 3vw;
		top:auto;
		bottom:12px;
		left:8px;
		font-size: 4vw;
		justify-content: center;
	}
	.shop_link:before{
		width: 20px;
		height: 20px;
		margin-right: 6px;
	}
	header .first_link{
		width:calc( 50% - 11px );
    	padding: 3vw;
		position: fixed;
		z-index: 99999;
		bottom:12px;
		right:8px;
		font-size: 4.4vw;
		display:flex;
		justify-content: center;
		text-align:center;
		color: #260C57;
		background: #fff1d4;
    	border-radius: 2px;
    	border: 1px solid #260C57;
	}

.popup2 {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    z-index: 99998;
    background-color: rgba(0, 0, 0, .75);
}
.popup-banner2 {
	width:90%;
	max-width:640px;
	position: relative;
}
.popup-banner2 a:hover{
	opacity:.8;
}
.popup-close2 {
    position: absolute;
    top: -21px;
    right: 12px;
    display: block;
    width: 44px;
    height: 44px;
    line-height: 42px;
    font-size: 1.75rem;
    border-radius: 50%;
    text-align: center;
    color: white;
    background-color: #c0a770;
	cursor: pointer;
	z-index: 10000;
}
    
.popup2.open {
	display: flex;
	animation: fadeIn .7s;
}

	.concept::before{
		background-size:cover;
		background-position: 40%;
		opacity: 0.33;
	}
	.concept_txt {
		padding-bottom:4.4vh;
		top: -10vw;
	}
	.concept p{
		margin-top:2vh;
    	padding-left:1vw;
		font-size:3.9vw;
	}
	.concept p:nth-child(2){
		margin-top:3.6vh;
	}
	.concept p.concept_emphasis{
		font-size:6vw;
	}
	.tolaa_cosmetic{
		margin: 16vh auto 0;
	}
	.tolaa_cosmetic1 span ,.tolaa_cosmetic2 span{
		height:40vh;
		background-size:170%
	}
	
	.cosmetic_contents{
		margin:6vw auto 0;
	}
	.cosmetic_name{
		margin-bottom:8vw;
		font-size:7.2vw;
	}
	.cosmetic_name span{
		font-size:3.7vw;
	}
	.link_area{
		width:100%;;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.link_area .shop_link:first-child{
		margin-bottom:12px;
	}
	.shop_link{
		width:64%;
		padding:4.8vw;
		font-size: 4.4vw;
	}
	
	.cosmetic_efficacy{
		margin: 16vh auto 0;
	}
	.ingredient {
		padding: 11.2vh 0;
	}
	.ingredient::before,.ingredient.ingredient2::before{
		background-size:90%;
	}
	.ingredient p{
		margin:0 auto 8vw;
	}
	.ingredient p img{
		width:auto;
		height:7.2vw;
	}
	.ingredient img{
		max-width:100%;
		height:auto;
	}
	
	.explanation_txt{
		width:100%;
	}
	.patent{
		margin-bottom:5vw;
	}
	.cell_ttl{
		width:100%;
		margin:0 auto 4vw;
		text-align:center;
	}
	.cell_ttl img{
		width:45%;
	}
	.cell_contents{
		padding:8.8vh 0;
	}
	.cell_contents p{
		font-size:3.5vw;
	}
	.cell_explanation{
		margin-top:6.4vw;
		justify-content:center;
	}
	.cell_explanation p{
		width:100%;
		margin-bottom:4vw;
	}
	.cell_explanation img.fusica_cell {
    	margin-bottom: 4vw;
	}
	.cell_explanation img.cysay{
		width:28%;
    	margin-bottom: 4vw;
	}
	.effect_contents{
		margin-top:4.8vh;
	}
	.effect_contents .effect_content_txt p{
		margin-bottom:3vw;
		font-size:3.5vw;
	}
	.effect_contents .effect_content_txt p.effect_emphasis{
		font-size:4.2vw;
	}
	.effect_contents .effect_content_txt p span{
		font-size:3.3vw;
	}
	.free_ingredients {
    	padding-top:8.8vh;
	}
	.free_ingredients_content img {
		width:30%;
	}
	.free_ingredients_content img:first-child,
	.free_ingredients_content img:nth-child(2),
	.free_ingredients_content img:nth-child(6),
	.free_ingredients_content img:last-child{
		margin:0 2.5%;
	}
	.free_ingredients_content img:nth-child(4){
		margin-right:2.5%;
	}
	
	.insta{
		padding:18.4vh 0 0;
	}
	
	.company{
		padding:18.4vh 0 14.4vh;
	}
	.company table{
    	border-spacing:8px;
	}
	.company th, .company td{
    	padding: 4vw 3vw 4vw 1.6vw;
	}
	.company th{
    	width: 32%;
		font-size:3.8vw;
	}
	.company td{
		font-size:3.6vw;
	}
	.company iframe{
		height:40vh;
	}
}












