/*La Bellezza 2022*/

/* Base Layout
------------------------------------------------------------ */
html {
	overflow: auto;
}
* html { /* for IE6 */
	overflow: hidden;
	overflow-x: auto;
	height: 100%;
}
body {
	color:#3E3A39;
	line-height:2em;
	font-family: 'Noto Serif JP', YuMincho ,  "Yu Mincho" , "游明朝体" , serif;;
	min-width: 280px;
	background-color: #FFFFFF;
	font-size: 15px;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	text-align:center;
	box-sizing:border-box;
	overflow:hidden;
}
* html body { /* for IE6 */
	overflow-y: auto;
	height: 100%;
}

ul{
	list-style:none;
}
li{
	float:left;
}
/* clearfix */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,legend,textarea,p,blockquote,th,td{ 
	margin:0;padding:0;
}
img{ 
	border:0;
	vertical-align:bottom }
	
#topbutton {
    position: fixed;
    right: 20px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #737373;
    padding: 0 0 0 35px;
    border-top: solid 1px;
      /* ▼最初は非表示にしておく */
      display: none;
}
#topbutton::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
h1 {
	font-size: 1em;
}

/*　Base Link 
------------------------------------------------------------ */
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

a:link {
	color:#A0A0A0;
	text-decoration:none;
}
a:visited {
	color:#A0A0A0;
	text-decoration:underline;
}
/*a:hover, a:active {
	color:#CDBA9B;
	text-decoration:none;
}
*/
/* 共通
------------------------------------------------------------ */
img{width: 100%;}
section{
    margin: 3em 0;
    clear: both;
    display: inline-block;
    width: 100%;
 }
.sp_none{
 display: none;
}
/* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 500ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}
.fnt08{font-size: 0.8em;}
.fnt09{font-size: 0.9em;}
.fnt12{font-size: 1.2em;}
.fnt15{font-size: 1.5em;}
.mt1{margin-top: 1em;}
.mr05{margin-right: 0.5em;}
.fnt_go{font-family:'M PLUS 1p',ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro,"ＭＳ Ｐゴシック",sans-serif;}
.txt_red{color: #E60012;}
@media screen and ( min-width:280px )
{
.widthsize{
    max-width: 766px;
    padding: 0 1.5em;
    box-sizing: border-box;
    margin: auto;
}
/*header
------------------------------------------------*/
.head_name{
    width: 50%;
    padding: 3px;
} 
/*
-----------------------------------------------------------*nav*/
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.cp_cont {
	height: 65vh;
}
.cp_offcm01 {
	position: fixed;
	top: 20px;
	right: 20px;
	display: inline-block;
    z-index: 10000;
}
/* menu */
.cp_offcm01 .cp_menu {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 250px;
	height: 100%;
	cursor: pointer;
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	background-color: #87bd42;
	opacity: 0.9;
}
.cp_offcm01 .cp_menu ul {
	margin: 0;
	padding: 0;
}
.cp_offcm01 .cp_menu li {
	list-style: none;
    width: 100%;
	color: #ffffff;
    text-align: left;
}
.cp_offcm01 .cp_menu li a {
	display: block;
	padding: 12px 20px;
	text-decoration: none;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
}
.cp_offcm01 .cp_menu .sns_nav1 img{
    width: 50%;
}
.cp_offcm01 .cp_menu .sns_nav3 {
    width: calc(100% / 3);
}
.cp_offcm01 .cp_menu .sns_nav3 a {
	display: block;
	/*padding: 12px 2px;*/
	text-decoration: none;
	color: #ffffff;
}
.cp_offcm01 #cp_toggle01 {
	position: absolute;
	display: none;
	opacity: 0;
}
.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
	-webkit-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
/* menu toggle */
.cp_offcm01 #cp_toggle01 ~ label {
	display: block;
	padding: 0.5em;
	cursor: pointer;
	-webkit-transition: 0.5s transform;
	        transition: 0.5s transform;
	-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	        transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	text-align: center;
	color: #898989;
}
.cp_offcm01 #cp_toggle01:checked ~ label {
	-webkit-transform: translateX(-250px);
	        transform: translateX(-250px);
}
.cp_offcm01 #cp_toggle01 ~ label::before {
	font-family: 'FontAwesome';
	content: '\f0c9';
	font-size: 2em
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
	content: '\f00d';
}

/* 
-----------------------------------------------------bxsilder------- */
.bx-wrapper {
    background-color: transparent!important;
    margin: 0px auto!important;
    border: none!important;
    box-shadow: none!important;
}
.bx-wrapper img {
    display: block!important;
    margin: 0px auto!important;
}
.bx-wrapper .bx-pager.bx-default-pager a{
    background: #fff!important;
    width: 26px !important;
    border-radius: 2px!important;
    border: 1px solid!important;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus{
    background: #000!important;
    }
/* 
------------------------------------------------------------ main */
main{
    margin-top:3em;
 }
h1{
    width: 80%;
    margin: auto;
 }
h2{
    margin: 3rem auto;
    font-size: 1.2em;
    font-weight: 500;
 }
figure{
    width: 50%;
    margin: auto;
 }
.message{
    margin: 3rem auto;
    font-size: 1.2em;
    font-weight: 500;
    text-align: left;
    line-height: 1.8em;
 }
.point{
    font-size: 1.5em;
    text-align: center!important;
 }
.sns_bg{
    background: url("../img/salon_bg.jpg");
    background-size: cover;
    height: 300px;
 }
.sns_area {
    position: relative;
    width: 100%;
    height: 100%;
    margin: auto;
 }
.sns_area a{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
 }
.icon_insta{
    width: 20%;
    margin: auto;
 }
.salon_item_area{
    margin: 4em auto 0;
 }
.flex{
    display: flex;
    flex-wrap:wrap;
}
.salon_item_box{
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto 5em;;
 }
.item_logo{
    margin: auto;
    width: 60%
}
.item_list_btn{
    margin: 2em auto 0;
    width: 60%
}
.item_list_btn a{
    overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
	text-decoration: none;
    border: solid 1px;
    padding: 3px 0;
    letter-spacing: 1em;
}
.item_list_btn a .top{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: transform 100ms;
	width: 100%;
	background: #000;
	transform: scale(0, 0);
	height: 1px;
	transform-origin: left top;
	transition-delay: 0ms;
}
.item_list_btn a .right{
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	transition: transform 100ms;
	content: "";
	width: 1px;
	background: #000;
	transform: scale(0, 0);
	height: 100%;
	transform-origin: right top;
	transition-delay: 50ms;
	display: block;
}
.item_list a .bottom{
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
	transition: transform 100ms;
	content: "";
	width: 100%;
	background: #000;
	transform: scale(0, 0);
	height: 1px;
	transform-origin: right bottom;
	transition-delay: 100ms;
	display: block;
}
.item_list_btn a .left{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: transform 100ms;
	content: "";
	width: 1px;
	background: #000;
	transform: scale(0, 0);
	height: 100%;
	transform-origin: left bottom;
	transition-delay: 150ms;
	display: block;
}
.item_list_btn a::after{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
	content: "";
}
/* hover */
.item_list_btn a:hover{
    color: #000;
    }
.item_list_btn a:hover .top{
	transform-origin: left top;
	transform: scale(1, 1);
	content: "";
}
.item_list_btn a:hover .right{
	transform-origin: right top;
	transform: scale(1, 1);
}
.item_list_btn a:hover .bottom{
	transform-origin: right bottom;
	transform: scale(1, 1);
}
.item_list_btn a:hover .left{
	transform-origin: left bottom;
	transform: scale(1, 1);
}
.qr_img{
    width: 20%;
    margin: 1em auto 0;
    }    
.member_flow{
    margin: 4em auto 0;
    display: inline-block;
 }
.member_flow li{
    margin-bottom: 4em;
    width: 100%;
 }
.member_flow li p{
    margin-top: 2em;
 }
/*.member_flow .form_btn{
    margin-top: 2em;
 }*/
.member_flow .lnk_btn{
    margin-top: 1em;
    padding: 2px 20px;
    border: solid 1px;
    display: inline-block;
}

.member_flow .lnk_btn a{
    display: block;
    position: relative;
    }
.member_flow .lnk_btn a::after{
    content: "▶▶▶";
    padding-left: 1em;
    }
.member_flow .lnk_btn a:link,
.member_flow .lnk_btn a:visited{
    color: #3E3A39
    }


.shoping_banner{
    overflow: visible;
    width: 90%;
    height: 100%;
    margin: 0 auto;
 }
.shoping_banner img{
    display: block;
    transition-duration: 0.5s;
 }
.shoping_banner img:hover{
    transform: scale(0.9,0.9);
    transition-duration: 0.5s;
}
/* 
------------------------------------------------------------ contactform */
#formWrap .ttl{
    background:#000;
    color: #fff;
    font-size: 1.3em;
    margin-bottom: 3em;
    width: 100%;
    padding: 12px 0;
    letter-spacing: 1px;
}
    
.formTable{
    border-collapse: collapse;
    border:solid 1px #bbbbba;
    line-height: 3em;
    margin: 1em auto 2em;
    width: 100%;
    text-align: left;
}
.formTable th,.formTable td{
    width: 100%;
    float: left;
    padding-left: 1em;
    box-sizing: border-box;
    color: #727171;
    letter-spacing: 2px;
    }
.formTable input , .formTable textarea{
    line-height: 1.5em;
    padding: 5px 10px;
    margin: 1em auto;
    width: 90%;
    }
.formTable input[type="radio"]{
    width:2em;
}
.formTable select{
    width: 100px;
    padding: 5px 1em;
}
.btn_top{
    margin: 5em auto 10em;
    text-align: center;
    }
.btn_top a{
    color: #fff;
    padding: 20px;
    text-align: center;
    font-size: 1.5em;
    border: 1px solid;
    display: inline-block;
    box-sizing: border-box;
    }
.btn_top a:hover{
    display:inline-block;
    transition: all 0.5s ease;
    text-decoration: none;
    }
.err input{
    width: auto;
    padding: 10px 50px;
}
.err_messe{
    text-align: center;
} 
.h100{
    min-height: calc(100vh - 490px);
    }

.bg_red{
    background:#e71f19;
    padding: 1px 2px;
    border-radius: 3px;
    color: #fff;
    font-size: 10px;
    margin-left: 1em;
}
.kakunin_btn {
    font-size: 22px;
    text-align: center;
    color: #fff;
    padding: 10px 0;
    margin: 2em auto;
    background: #000;
    }
.kakunin_btn input[type="submit"]{
    width: 100%;
    border: none;
    background: #000;
    letter-spacing: 1em;
    }
.formTable a:link{
    text-decoration: underline
}
#check_doui{
    width: 50px;
}
/* 
------------------------------------------------------------ footer */
footer{
    background: url("../img/f_bg.jpg");
    background-size: cover;
    }
.f_logo{
    margin: 0 auto;
    width: 50%;
    padding: 150px 0 100px;
}   
.f_pp{
    padding-bottom: 20px;
    color: #fff;
}   

/*
--------------------------------------------------------salon_item*/
.salon_item{
    font-family:'M PLUS 1p',ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro,"ＭＳ Ｐゴシック",sans-serif;
}
.salon_item .cate_nav{
    justify-content: space-between;
    flex-direction: row;
    }
.cate_btn{
    margin: 1em auto 0;
    width: calc(100% / 2 - 10px);
}
.cate_btn a{
    display: block;
    border: solid 1px;
    padding: 3px 0;
}
.category{
    font-size:1.1em;
    padding: 10px 0;
    margin-bottom: 5em;
    background: #666;
    color: #fff;
} 
.item_list {
    justify-content: space-between;
    flex-direction: row;
}
.item_list figure{
    width: 80%;
    margin:0 auto 5em; 
}   
.item_name{
    text-align: left;
}
.item_price{
    text-align: right;
}
.item_text{
    text-align: left;
    line-height: 1.7em;
    font-size: 0.9em;
}
.salon_item figcaption{
    margin: 1em 0;
    }
    
}
@media screen and ( min-width:767px )
{
.widthsize{
	max-width: 979px;
}
section{
    margin: 5em 0;
 }
.sp_only{
    display: none;
}
h1{
    width: 40%;
 }
figure{
    width: 30%;
 }
.message{
    text-align: center;
    line-height: 2.5em;
 }
.sns_bg{
    height: 500px;
 }
.sns_area {
    position: relative;
    width: 350px;
 }
.icon_insta{
    padding-top: 80px;
 }
.area_ttl{
    width:50%;
    margin: auto;
 }
.salon_item_box{
    width: calc(100% / 3 - 10px);
 }
.item_logo{
    width: 100%
}
.item_list_btn{
    width: 80%
}
.member_flow .flow_no{
    width: 50%;
    margin: auto;
 }
.qr_img{
    width: 15%;
    }    
.f_logo{
    padding: 200px 0 100px;
    width: 40%;
}   
/*
--------------------------------------------------------salon_item*/
.salon_item .item_logo{
    width: 40%;
    margin: 1em auto 3em;
    }
.item_list::before{
  content:"";
  display: block;
  width:calc(100% / 3 - 30px);
  order:1;
}
.item_list::after{
  content:"";
  display: block;
  width: calc(100% / 3 - 30px);
}
.item_list figure{
    width: calc(100% / 3 - 30px);
}   
.item_name{
    text-align: center;
    height: 50px;
}
.item_price{
    padding-right: 3em;
    height: 40px;
}
.item_text{
    text-align: left;
    height: 100px;
}
}
@media screen and ( min-width:980px ){
.widthsize{
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.sp_none{
    display: block;
} 
.pc_none{
    display: none;
} 
.sns_bg{
    height: 800px;
 }
.icon_insta{
    padding-top: 100px;
 }
.area_ttl{
    width:30%;
 }
.salon_item_area{
    margin-top:5em;;
 }
.salon_item_box{
    width: calc(100% / 3 - 80px);
 }
.item_list_btn{
    width: 100%
}
.member_flow .flow_no{
    width: 30%;
 }
.member_flow li{
    margin-bottom: 4em;
 }
.f_logo{
    width: 30%;
}   
footer{
    margin-top:10em;;
 }
/*
--------------------------------------------------------salon_item*/
.item_list figure{
    width: calc(100% / 3 - 40px);
}   
.item_name{
    text-align: center;
}
}

