/* CSS Document */

:root{
    --bg-color: #f3f3f3;
    --sub-color:#ad4974;
    --Pg-En-sans: futura-pt, sans-serif;
}

/*
font-family: futura-pt, sans-serif;
*/



#hairstar_wrap{
    width: 100%;
    max-width: 800px;
    font-size: clamp(1.58rem, 0.352rem + 2.56vw, 2.4rem);
    margin: 30px auto; 
    text-align: center;
    line-height: 1.8;
		font-weight: 400;
}

#hairstar_wrap .brsp{
	display: none;
}

#hairstar_wrap img{
    max-width: 100%;
    vertical-align: bottom;
}

#hairstar_wrap sup{
    font-size: 11px;
    vertical-align: super;
    margin-left: 5px;
}

#hairstar_wrap .text-l{
	text-align: left;
}

#hairstar_wrap .comm_w90{
	max-width: 700px;	
}

#hairstar_wrap .comm_mt{
    margin-top: 4em;
}

#hairstar_wrap .comm_ttl{
    font-size: clamp(2.3rem, 0.61rem + 4.3vw, 4.2rem);
    margin-bottom: 1em;
    letter-spacing: 0.05rem;
    font-weight: 400;
}

#hairstar_wrap .comm_ttl span{
    font-size: 58%;
    display: block;
    margin-bottom: 1.2em;
    letter-spacing: 0.22em;
    font-weight: 600;
		position: relative;
		font-family: var(--Pg-En-sans);
}

#hairstar_wrap .comm_ttl span::after{
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 5px;
	background: #c8c4ba;
  left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
	margin-top: 0.3em;
}


#hairstar_wrap .comm_btn{
    background: var(--sub-color);
    font-size: clamp(1.25rem, 3vw, 2rem);
    width: 85%;
    max-width: 600px;
    margin: 2em auto;
		border-radius: 5px;
}

#hairstar_wrap .comm_btn a{
    display: block;
    padding: 15px 0;
    position: relative;
		color: #fff;
}
#hairstar_wrap .comm_btn ::before,#hairstar_wrap .comm_btn ::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3%;
    margin: auto;
}

#hairstar_wrap .comm_btn :before{
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
}
#hairstar_wrap .comm_btn :after {
    right: 3.5%;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 5px solid transparent;
    border-left: 8px solid var(--sub-color);
}

#hairstar_wrap #fv h1{
	margin: 1em auto;
}

#hairstar_wrap #fv p{
	margin-bottom: 2em;
}

#hairstar_wrap #fv p span{
	font-size: 1.8em;
	display: block;
	letter-spacing: 0.1em;	
}




#hairstar_wrap #about{
	background: var(--bg-color);
	padding: 3em 0;
}
#hairstar_wrap #about p{
	text-align: left;
	margin-top: 2em;
}




#hairstar_wrap .p-lineup .comm_flex{
	margin-top: 2em;
	font-weight: 500;
	align-items: flex-start;
}

#hairstar_wrap .p-lineup .comm_flex .box{
	width: 48%;
}


#hairstar_wrap .p-lineup .comm_flex .name{
	margin-top: 1em;
	font-size: 1.1em;
}

#hairstar_wrap .p-lineup .comm_flex .color span{
	background: #252525;
	color: #fff;
	font-size: 75%;
	margin: 0 1%;
	padding: 0 5px 2px;
}

#hairstar_wrap .p-lineup .comm_flex ol{
	margin: 1.5em auto 0.5em;
}
#hairstar_wrap .p-lineup .comm_flex ol	li{
	border-bottom: 1px dashed;
	padding-bottom: 0.2em;
  margin-bottom: 0.2em;
}

#hairstar_wrap .p-lineup .comm_flex .price{
	letter-spacing: 0.05em;
}

#hairstar_wrap .p-lineup .comm_flex .price::after{
	content: "（税込）";
	font-size: 50%;
	display: inline-block;
}



#hairstar_wrap #sns_wrapp{
	background: url("insta.png") no-repeat left 3% #f5f5f5;
	background-size: 26%;
	padding: 3em 0;
}

#hairstar_wrap #sns_wrapp h2 span.fzs{
	display: inline !important;
	font-size: 80%;
	letter-spacing: normal;
	font-weight: normal;
	margin: 0 0.3rem;
}

#hairstar_wrap #sns_wrapp h2 span.fzs:after{
	display: none;
}



#hairstar_wrap #sns_wrapp ol{
	max-width: 700px;
	text-align: left;
	margin-top: 1.2em;
}

#hairstar_wrap #sns_wrapp ol li{
	font-size: .65em;	
}










#hairstar_wrap #trouble{
	background: url("trouble.jpg") no-repeat;
	background-size: cover;
	padding: 2em 0 4em;
}

#hairstar_wrap #trouble ul{
	text-align: left;
	display: inline-block;
	background: #fff;
	padding: 2em;
	box-sizing: border-box;
}

#hairstar_wrap #trouble ul li{
	margin-bottom: 0.5em;
}

#hairstar_wrap #so{
	margin-top: -1em;
}

#hairstar_wrap #so #deco{
	background: #fff;
	border: 1px solid;
	padding: 0 0.4em;
	display: inline-block;
	letter-spacing: 0.05em;
}

#hairstar_wrap #so .midashi{
	margin-top: 1em;
  font-size: clamp(2.3rem, 0.61rem + 4.3vw, 4.2rem);
}

#hairstar_wrap #so p{
	font-weight: 500;
	margin-bottom: 2em;
	letter-spacing: 0.05em;
}


/*----------------- ポイント ------------------------*/
#hairstar_wrap #point .block{
	margin-bottom: 2em;
}

#hairstar_wrap #point .block h3{
	opacity: 0.3;
	font-size: 2.4em;
	font-family: var(--Pg-En-sans);
	letter-spacing: 0.15em;
	font-weight: 500;
	margin-bottom: -0.7em;
}

#hairstar_wrap #point .block .comm_w90{
	margin-top: 2em;
}

#hairstar_wrap #point .block .comm_w90 .reco {
	position: relative;
	margin-top: 2em;
}

#hairstar_wrap #point .block .comm_w90 .reco h2{
	position: absolute;
	top: -0.8em; 
	left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
	letter-spacing: 0.08em;

}

#hairstar_wrap #point .block .comm_w90 .reco ol{
	background: var(--bg-color);
	text-align: left;
	padding: 2em;
	box-sizing: border-box;
}

#hairstar_wrap #point .block .comm_w90 .reco ol li{
	margin-bottom: 0.2em;
}

#hairstar_wrap #point .block .comm_w90 .comm_flex{
	margin-top: 2em;
	flex-wrap: wrap;
	align-items: flex-start;
}

#hairstar_wrap #point .block .comm_w90 .comm_flex dl{
	width: 48%;
	max-width: 330px;
	text-align: left;
	margin-bottom: 1em;
}

#hairstar_wrap #point .block .comm_w90 .comm_flex dl dt{
	text-align: center;
	margin-top: 1em;
	font-size: clamp(1.35rem, 0.805rem + 1.89vw, 2.7rem);
}

#hairstar_wrap #point .block .comm_w90 .comm_flex dl dd{
	border-top: 1px solid;
	margin-top: 0.5em;
	padding-top: 0.5em;
}


/*----------------- howto ------------------------*/

#hairstar_wrap #howto{
	background: var(--bg-color);
	padding: 3em 0 1em;
}
	
#hairstar_wrap #howto .comm_flex{
	justify-content: flex-start;
	padding-bottom: 3em;
}
	
#hairstar_wrap #howto .comm_flex .image{
	width: 45%;
	margin-right: 5%;
	position: relative;
}

#hairstar_wrap #howto .comm_flex:not(:nth-of-type(3)) .image::after{
		content: "";
    width: 50%;
    position: absolute;
    display: block;
    height: 120%;
    background: #fff;
		left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
}

#hairstar_wrap #howto .comm_flex dl{
	width: 45%;
	text-align: left;
}

#hairstar_wrap #howto .comm_flex dt span{
	display: block;
}
#hairstar_wrap #howto .comm_flex dt{
	border-bottom: 1px solid;
	padding-bottom: 0.8em;
	margin-bottom: 0.8em;
}
#hairstar_wrap #howto .comm_flex dd span{
	background: #ececec;
	padding: 0 0.5em;
}
#hairstar_wrap #howto .comm_flex dd p{
	margin: 0.5em auto 1em;
}


/*----------------- マルチ ------------------------*/

#hairstar_wrap #multi p.text-l{
	margin: 1em auto 2em;
}

#hairstar_wrap #multi .box{
	background: var(--bg-color);
	margin-bottom: 2em;
	padding: 1.5em 5%;
	box-sizing: border-box;
}

#hairstar_wrap #multi .box h3{
	margin-top: -2.3em;
	margin-bottom: 0.5em;
	font-family: var(--Pg-En-sans);
	font-size: clamp(1.65rem, 1.184rem + 1.62vw, 2.4rem);
	letter-spacing: 0.05em;
}













#hairstar_wrap #gift{
	background: #ececec;
	padding: 2em 5%;
}

#hairstar_wrap #gift p{
	margin-top: 1.5em;
}



#hairstar_wrap #spec{
	background: var(--bg-color);
	padding: 2em 0;
}

#hairstar_wrap #spec .block{
	background: #fff;
	margin-bottom: 2em;
	padding-bottom: 2em;
}

#hairstar_wrap #spec .block h3{
	background: #2a2a2a;
	color: #fff;
	padding: 0.3em 0;
	margin-bottom: 2em;
}

#hairstar_wrap #spec .block h3 a{
	color: #fff;
}

#hairstar_wrap #spec .block .comm_flex{
	justify-content: center;
	margin-bottom: 2em;
}

#hairstar_wrap #spec .block .comm_flex .box{
	width: 45%;
	margin: auto;
}

#hairstar_wrap #spec .block .comm_flex .box img{
	margin-bottom: 1.3em;
}

#hairstar_wrap #spec .block .comm_flex .box span{
	border: 1px solid;
	padding: 0.1em 0.5em;
	font-size: 0.8em;
}

#hairstar_wrap #spec dl{
	font-size: 0.9em;
}

#hairstar_wrap #spec dt{
	text-align: left;
	width: 30%;
	padding: 0 0 0.2em 0;
}

#hairstar_wrap #spec dd{
	border: none;
	padding: 0 0 0.2em 0;
	width: 65%;
}







@media only screen and (max-width: 789px) {  
	#hairstar_wrap #fv{
		width: 90%;
		margin: auto;
	}
	#hairstar_wrap .brsp{
		display: block;
	}


}







@media only screen and (max-width: 480px) {  
	#hairstar_wrap .p-lineup .comm_flex .name{
		font-size: 1.4rem;
		margin-bottom: 0.5em;
	}

	#hairstar_wrap .p-lineup .comm_flex .color span{
		display: block;
		margin-bottom: 0.1rem;
		font-size: 0.75em;
	}
	#hairstar_wrap .comm_btn :before {
			width: 16px;
			height: 16px;
	}
	#hairstar_wrap .comm_btn :after {
			right: 4.5%;
			width: 7px;
			height: 7px;
			border: 3px solid transparent;
			border-left: 5px solid var(--sub-color);
	}
	#hairstar_wrap #point .block .comm_w90 .reco ol {
			padding: 2em 1em;
	}
	#hairstar_wrap #point .block .comm_w90 .comm_flex dl dt {
			word-break: keep-all;
			overflow-wrap: anywhere;
	}
	#hairstar_wrap #point .block .comm_w90 .comm_flex dl dd{
		font-size: 0.85em;
	}
	#hairstar_wrap #howto .comm_flex dd{
		font-size: 0.9em;
	}
	#hairstar_wrap #spec dt{
		width: 100%;
	}
	#hairstar_wrap #spec dd{
		width: 100%;
		margin-bottom: 0.5em;
	}



}

















