


  


/* COMMON
================================================== */

.main-links a{
display:inline-block;
border:1px solid #000000;
font-size:12px;
padding:2px 10px;
font-family: 'Noto Serif JP', serif;
}

body.contact .main-links a{
	display:inline-block;
	border:1px solid #000000;
	font-size:12px;
	padding:2px 10px;
	margin:0 0 0 -20px;
	font-family: 'Noto Serif JP', serif;
	}
	



.common-pages{
	width:auto;
	height:auto;
	margin:40px 0 0 0!important;
	padding:0;
	text-align:left;
	overflow:hidden;
}

.common-pages-life{
	width:auto;
	height:auto;
	margin:40px 0 0 0!important;
	padding:0;
	text-align:left;
	overflow:hidden;
}


@media (max-width: 800px) {

	.common-pages{
		width:auto;
		height:auto;
		margin:17% 0px 0 15%!important;
		padding:0;
		text-align:left;
		overflow:hidden;
	}
	
	.common-pages-life{
		width:auto;
		height:auto;
		margin:17% 0px 0 15%!important;
		padding:0;
		text-align:left;
		overflow:hidden;
	}

}



@media (max-width: 600px) {

	.common-pages{
		width:auto;
		height:auto;
		margin:35% 0px 0 20%!important;
		padding:0;
		text-align:left;
		overflow:hidden;
	}
	
	.common-pages-life{
		width:auto;
		height:auto;
		margin:35% 0px 0 20%!important;
		padding:0;
		text-align:left;
		overflow:hidden;
	}

}



.page-container{
	max-width:1500px;
	min-width:290px;
	height:auto;
	margin:0 auto;
	padding:0;
	text-align:center;
	overflow:hidden;
}

.page-container-wide{
	max-width:1600px;
	min-width:290px;
	height:auto;
	margin:160px auto;
	padding:0;
	text-align:center;
	overflow:hidden;
}


.page-container-narrow{
	max-width:1300px;
	min-width:290px;
	height:auto;
	margin:160px auto;
	padding:0;
	text-align:center;
	overflow:hidden;
}

.section-bg{
	width:auto;
	height:auto;
	overflow:hidden;
	padding:80px 0;
	margin:0;
	background-color:#ededed!important;
}

@media (max-width: 800px) {


	.section-bg{
		width:auto;
		height:auto;
		overflow:hidden;
		padding:0px 0;
		margin:0;
		background-color:#ffffff!important;
	}

}



.section-bg-item{
	width:auto;
	height:auto;
	overflow:hidden;
	padding:0px 0;
	margin:0;
	background-color:#ffffff!important;
}


@media (max-width: 1600px) {


	.page-container{
		max-width:1000px;
		min-width:290px;
		height:auto;
		margin:0 auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	.page-container-wide{
		max-width:1100px;
		min-width:290px;
		height:auto;
		margin:120px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	
	.page-container-narrow{
		max-width:900px;
		min-width:290px;
		height:auto;
		margin:120px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}

}


@media (max-width: 1300px) {


	.page-container{
		max-width:900px;
		min-width:290px;
		height:auto;
		margin:0 auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	.page-container-wide{
		max-width:900px;
		min-width:290px;
		height:auto;
		margin:120px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	
	.page-container-narrow{
		max-width:700px;
		min-width:290px;
		height:auto;
		margin:120px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}

}

@media (max-width: 1200px) {


	.page-container{
		max-width:800px;
		min-width:290px;
		height:auto;
		margin:0 auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	.page-container-wide{
		max-width:900px;
		min-width:290px;
		height:auto;
		margin:160px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}
	
	
	.page-container-narrow{
		max-width:700px;
		min-width:290px;
		height:auto;
		margin:160px auto;
		padding:0;
		text-align:center;
		overflow:hidden;
	}

}



@media (max-width: 800px) {


	.page-container{
		max-width:800px;
		min-width:290px;
		height:auto;
		margin:0 auto;
		padding:0;
		text-align:left;
		overflow:hidden;
	}
	
	.page-container-wide{
		max-width:900px;
		min-width:290px;
		height:auto;
		margin:0px auto;
		padding:0;
		text-align:left;
		overflow:hidden;
	}
	
	
	.page-container-narrow{
		max-width:700px;
		min-width:290px;
		height:auto;
		margin:0px auto;
		padding:0;
		text-align:left;
		overflow:hidden;
	}

}




/* FLEX BOX
================================================== */

.parent {
  float: left;
  margin: 0 5%;
  width:40%;
  height: 90vh;
}


.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

.child {
  text-align: center;      /* 横方向に中央揃え */
}



.flex_wrapper-box {
	padding:0;
	margin:0;
	display: flex;  
	align-items:flex-end; 
}

.flex_wrapper-box-t {
	padding:0;
	margin:0;
	display: flex;  
	align-items:start; 
}

.flex_wrapper-box-c {
	padding:0;
	margin:0;
	display: flex;  
	align-items:center; 
}




.flex_wrapper-box-re {
	padding:0;
	margin:0;
	display: flex;  
	align-items:center; 
	flex-direction: row-reverse;
}



.flex_two-item {
	width:40%;
	padding:0px; 
	margin: 0 5%;
}


.flex_two-item-more-narrow {
	width:25%;
	padding:0px; 
	margin: 0 2.5%;
}


.flex_two-item-narrow {
	width:35%;
	padding:0px; 
	margin: 0 5%;
	
}

.flex_two-item-wide {
	width:45%;
	padding:0px; 
	margin: 0 2.5%;
}



.flex_two-item-left {
	width:40%;
	padding:0px; 
	margin:2.5%;
}

.flex_two-item-right {
	width:50%;
	padding:0px; 
	margin:2.5%;
}

.flex_wrapper-box-style {
	padding:0;
	margin:5% 0 0 0;
	display: flex;  
	flex-wrap: wrap;
	align-items:center; 
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
}

.flex_two-item-style {
	width:48%;
	padding:0px; 
	margin:0 0 5% 0;
}


.flex_two-item-arrow {
	width:25%;
	padding:0px; 
	margin-top:-20%;
	display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}



.flex_single-item-wide {
	width:45%;
	padding:0px; 
	margin: 0 auto;
	text-align:center;
}


@media (max-width: 800px) {


	.parent {
		float: none;
		margin: 0;
		padding:0;
		width:100%;
		height: auto;
	  }
	  
	  
	  .parent {
		display: inherit;
		justify-content: center;
		align-items: center;
	  }
	  
	  .child {
		width:100%;
		
		text-align: center;      /* 横方向に中央揃え */
	  }
	  
	  
	  
	  
	  .flex_wrapper-box {
		  padding:0;
		  margin:0;
		  display: inherit;
		  align-items:flex-end; 
	  }
	  
	  .flex_wrapper-box-t {
		  padding:0;
		  margin:0;
		  display: inherit;
		  align-items:start; 
	  }
	  
	  .flex_wrapper-box-c {
		  padding:0;
		  margin:0;
		  display: inherit;
		  align-items:center; 
	  }
	  

	  .flex_wrapper-box-re {
		padding:0;
		margin:0;
		display: inherit;
		align-items:center; 
		flex-direction: inherit;
	}


	  .flex_two-item {
		width:auto;
		  padding:0px; 
		  margin: 0;
	  }
	  
	  
	  .flex_two-item-more-narrow {
		width:auto;
		  padding:0px; 
		  margin: 5% 5% 0 0;
	  }
	  
	  
	  .flex_two-item-narrow {
		width:auto;
		  padding:0px; 
		  margin:0;
	  }
	  
	  .flex_two-item-wide {
		width:auto;
		  padding:0px; 
		  margin:0;
	  }
	  
	  
	  
	  .flex_two-item-left {
		width:auto;
		  padding:0px; 
		  margin: 0;

	  }
	  
	  .flex_two-item-right {
		width:auto;
		  padding:0px; 
		  margin: 0;

	  }
	  
	  
	  
	  .flex_two-item-style {
		  width:auto;
		  padding:0px; 
		  margin:0 0 30% 0;
	  }
	  
	  
	  .flex_two-item-arrow {
		width:auto;
		  padding:0px; 
		  margin-top:-20%;
		  display: flex; /* 子要素をflexboxで揃える */
		  flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
		  justify-content: center; /* 子要素をflexboxにより中央に配置する */
		  align-items: center;  /* 子要素をflexboxにより中央に配置する */
	  }
	  
	  
	  
	  .flex_single-item-wide {
		  width:auto;
		  padding:0px; 
		  margin: 0 auto;
		  text-align:center;
	  }


	  .flex_wrapper-box-style {
		width:85%;
		padding:0;
		margin:5% 0 0 8%;
		display: flex;  
		flex-wrap: wrap;
		align-items:center; 
		-webkit-justify-content: space-between; /* Safari */
		justify-content:         space-between;
	}

}


/* POSITION BOX
================================================== */

.l-contents-box{
	width:auto;
	height:auto;
	margin:0;
	padding:0;
text-align:left;
overflow:hidden;
}

.ll-contents-box{
	width:auto;
	height:auto;
	margin:0;
	padding:0;
text-align:left;
overflow:hidden;
}


.r-contents-box{
	width:auto;
	height:auto;
	margin:0;
	padding:0;
text-align:right!important;
overflow:hidden;
}

.m-contents-box{
	width:auto;
	height:auto;
	margin:0 auto;
	padding:0;
text-align:center!important;
overflow:hidden;
}

@media (max-width: 800px) {

	.l-contents-box{
		width:auto;
		height:auto;
		margin:0;
		padding:100px 0;
	text-align:left;
	overflow:hidden;
	}

	.ll-contents-box{
		width:auto;
		height:auto;
		margin:0;
		padding:0 0 100px;
	text-align:left;
	overflow:hidden;
	}
	
.end{
	margin-bottom:60px!important;
}
.end100{
	margin-bottom:15px!important;
}

.c-contents-box{
	width:auto;
	height:auto;
	margin:0 0 15px 0;
	padding:0;
text-align:left;
overflow:hidden;
}

.r-contents-box{
	width:auto;
	height:auto;
	margin:-100px 15px 0;
	padding:0;
text-align:right!important;
overflow:hidden;
}


}


/* TEXT BOX
================================================== */

h3{
	width:auto;
	height:auto;
	overflow:hidden;
	font-size:16px;
	margin:0 0 15px 0;
	padding:0;
	font-weight:200;
	font-family: 'Noto Serif JP', serif;
	font-weight:700;
}

.txt-sp{
	padding:40px 0 0 0!important;
}




.txt-end{
	padding:0px 0 80px 0!important;
}

.txt-end2{
	padding:0px 0 40px 0!important;
}



.img-end{
	padding:80px 0 100px 0!important;
}


.main-copy{
	font-weight: 500;
	line-height:190%;
	font-size:14px;
}

.main-copy a{
	background-color:#dff7da;
}


@media (max-width: 800px) {

	h3{
		width:auto;
		height:auto;
		overflow:hidden;
		font-weight:200;
		font-size:16px;
		margin:0 15px 20px 0;
	}

	.main-copy{
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
		line-height:160%;
		font-size:13px;
		padding:0 15px 15px 0!important;
	}
}


ul.main-list{
	font-weight: 500;
	line-height:160%;
	margin:0 0 40px 0;
	padding:0;
}

ul.main-list li{
	text-indent: -1em;
	padding-left: 1em;
	font-size:12px;
	margin:0 0 15px 0;
}

@media (max-width: 800px) {


	ul.main-list{
		font-weight: 500;
		line-height:160%;
		margin:0;
		padding:0;
	}
	
	ul.main-list li{
		text-indent: -1em;
		padding-left: 1em;
		font-size:13px;
		margin:0 0 15px 0;
	}

}

ul.main-list li a{
	background-color:#dff7da;
}

@media (max-width: 600px) {


	ul.main-list{
		font-weight: 500;
		line-height:160%;
		margin:0 15px 40px 0;
		padding:0;
		text-align:left;
	}
	
	ul.main-list li{
		text-indent: -1em;
		padding-left: 1em;
		font-size:12px;
		margin:0 0 15px 0;
		text-align:left;
	}

	ul.main-list li a{
		background-color:#dff7da;
	}

}



.single-links{
	width:30px;
	text-align:right;
}

ul.single-pagenation{
	width:auto;
	height:auto;
	position:fixed;
	bottom:20px;
	right:20px;
	font-weight:bold;
}

ul.single-pagenation li{
	padding:0;
	margin:0 0 3px;
}

.single-pagenation img{
	width:20px;
}

@media (max-width: 800px) {

	ul.single-pagenation{
		width:auto;
		height:auto;
		position:relative;
		bottom:0px;
		right:0px;
		margin:10% 0 10% 0;
		font-size:13px;
	}
	
	ul.single-pagenation li{
		width:49%;
		display:inline-block;
		padding:0 0;
	}
	
}

/* SALON 
================================================== */


dl.access-box-01{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:60px 15px 25px 0;
	padding:0;
	text-align:left;
}

dl.access-box-01 dt{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:5px 0 15px 0;
	text-align:left;
	font-size:14px;
	font-weight:bold;
}

dl.access-box-01 dd{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:0 0 15px 0;
	padding:0;
	font-size:12px;
	text-align:left;
}

dl.access-box-01 a{
	background-color:#dff7da;
}




dl.access-box-02{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:0 15px 25px 0;
	padding:0;
	text-align:left;
}

dl.access-box-02 dt{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:0 0 10px 0;
	text-align:left;
	font-size:12px;
	color:#75ba65;
}

dl.access-box-02 dd{
	width:auto;
	height:auto;
	overflow:hidden;
	margin:0 0 5px 0;
	padding:0;
	font-size:12px;
	text-align:left;
}

@media (max-width: 2560px) {

	p.concept-txt{
		width:70%;
		height:auto;
		margin:0 auto;
		text-align:center;
		}

}

@media (max-width: 1560px) {

p.concept-txt{
	width:90%;
	height:auto;
	margin:0 auto;
	text-align:center;
	}

}

	@media (max-width: 800px) {

		p.concept-txt{
			width:90%;
			height:auto;
			margin:40px auto;
			text-align:center;
			}
		


	}




	  dl.access-box-03{
		width:auto;
		height:auto;
		overflow:hidden;
		margin:25px 0;
		padding:0;
		text-align:left;
	}

	@media (max-width: 800px) {
		dl.access-box-03{
			width:auto;
			height:auto;
			overflow:hidden;
			margin:25px 0;
			padding:0 15px 0 0;
			text-align:left;
		}


	}



	
	dl.access-box-03 dt{
		width:auto;
		height:auto;
		overflow:hidden;
		margin:0;
		padding:0 0 10px 0;
		text-align:left;

	}
	dl.access-box-03 dt:before {
		content: "- ";
		margin:0;
		color:#fc363b;
	  }

	
	dl.access-box-03 dd{
		width:auto;
		height:auto;
		overflow:hidden;
		font-size:12px;
		line-height:170%;
		margin:0;
		padding:0;
		text-align:left;
	}
	

span.small{line-height:120%!important;}







/* CONTACT 
================================================== */


.container{
	width:100%;
	height:100vh;
	display:flex;
  }
  .container .target{
	flex:0 1 auto;
	width:31%;
	margin:auto;
  }
  

  
  
  
  
  @media (max-width: 600px) {
  
	.container{
	  width:100%;
	  height:100vh;
	  display: flex;
  justify-content: center;
  align-items: center;
	  
	}
	.container .target{
	  width:auto;
	  height:300px;
	  margin:0 10px 0 20%!important;
	  padding:0;
	  text-align:center;
	}
  
  
  }
  



/* add to LIFE
================================================== */


  .lines-on-sides{
	position: relative;
	top: 0;
	left: 0;
	text-align: center;
  }
  .lines-on-sides:before {
	content: "";
	display: block;
	border-top: solid 1px #ccc;
	width: 100%;
	margin:0;
	height: 1px;
	position: absolute;
	top: 50%;
	z-index: 1;
  }
  .lines-on-sides span {
	background-image:url(/images/common-bg.jpg);
	padding: 0 20px;
	position: relative;
	z-index: 5;
  }
  .lines-on-sides.sides_left{
	text-align: left;
  }
  .lines-on-sides.sides_left span{
	padding-left: 0;
  }
  .lines-on-sides.sides_right{
	text-align: right;
  }
  .lines-on-sides.sides_right span{
	padding-right: 0;
  }




.mgt{
	margin:0 0 60px 0!important;
	padding:0px 0 30px 0!important;
}

  .flex_wrapper-box-new {
	padding:0;
	margin:0;
	display: flex; 
	justify-content: center;
	align-items:center; 
}


.flex_two-item-left-newitem {
	width:55%;
	padding:0px; 
	margin:5% 2.5% 10% 2.5%;
}



.flex_two-item-right-newitem {
	width:45%;
	padding:0px; 
	margin:5% 2.5% 10% 2.5%;
	display: flex; 
	justify-content: center;
	align-items:center; 
}




  .flex_two-item-left-new {
	width:50%;
	padding:0px; 
	margin:2.5%;
}

.flex_two-item-right-new {
	width:40%;
	padding:0px; 
	margin:2.5%;
	display: flex; 
	justify-content: center;
	align-items:center; 
}

  

.main-copy-small{
	width:55%;
	margin:40px auto 30px auto;
	padding:0;
	text-align:center;
	font-weight: 500;
	line-height:200%;
	font-size:12px;
}


  dl.ll-contents-box-txt{
	  font-size:12px;
	  text-align:left;
  }

  dl.ll-contents-box-txt dt{
	font-weight:bold;
	margin:0 0 5px 0;
}

dl.ll-contents-box-txt dd{
	margin:0 0 0px 0;
	padding:0 0 10px 0;
	line-height:140%;
}



@media (max-width: 800px) {



	.lines-on-sides{
		position: relative;
		top:30px;
		left: 0;
		text-align: left;
	  }
	  .lines-on-sides:before {
		content: "";
		display: none;
		border-top: solid 1px #ccc;
		width: 100%;
		margin:0;
		height: 1px;
		position: absolute;
		top: 50%;
		z-index: 1;
	  }
	  .lines-on-sides span {
		background-image:none;
		padding:0px;
		position: relative;
		z-index: 5;
	  }
	  .lines-on-sides.sides_left{
		text-align: left;
	  }
	  .lines-on-sides.sides_left span{
		padding-left: 0;
	  }
	  .lines-on-sides.sides_right{
		text-align: right;
	  }
	  .lines-on-sides.sides_right span{
		padding-right: 0;
	  }
	



	  .mgt{
		margin:0 0 90px 0!important;
		padding:0!important;
	}


	.flex_two-item-left-newitem {
		width:auto;
		padding:0px; 
		margin:-50px 0;
	}
	
	
	
	.flex_two-item-right-newitem {
		width:auto;
		padding:0px; 
		margin:0 2.5% 15% 0%;
		display: flex; 
		justify-content: center;
		align-items:center; 
	}
	

	

	
	  .flex_wrapper-box-new {
		padding:0;
		margin:0;
		display: block; 
		justify-content: center;
		align-items:center; 
	}
	
	
	
	  .flex_two-item-left-new {
		width:auto;
		padding:0px; 
		margin:0 0 20px 0;
	}
	
	.flex_two-item-right-new {
		width:auto;
		padding:0px; 
		margin:0;
		display: block; 
		justify-content: center;
		align-items:center; 
	}
	
	  
	
	.main-copy-small{
		width:auto;
		margin:40px 25px 30px 0;
		padding:0;
		text-align:left;
		font-weight: 500;
		line-height:190%;
		font-size:12px;
	}
	
	
	  dl.ll-contents-box-txt{
		  font-size:12px;
		  text-align:left;
	  }
	
	  dl.ll-contents-box-txt dt{
		font-weight:bold;
		margin:0 0 5px 0;

	}
	
	dl.ll-contents-box-txt dd{
		margin:0 0 2px 0;
	}


}





table.menu_list {
	width:80%;
	height:auto;
	overflow:hidden;
	border-top:1px dashed #cccccc;
	margin:0 auto 120px auto;
	text-align:center;
	font-size:12px;
	border-collapse: collapse;
  }
  table.menu_list td, 	table.menu_list th {
	width:50%;
	padding: 10px;
	border-bottom:1px dashed #cccccc;
  }
  table.menu_list th {
	text-align:left;
	padding-left:0;
  }

  table.menu_list td{
text-align:right;
font-size:16px;
  }


  @media (max-width: 800px) {

	table.menu_list {
		width:94%;
		height:auto;
		overflow:hidden;
		border-top:1px dashed #cccccc;
		margin:10% 0 35% 0;
		font-size:12px;
		border-collapse: collapse;
	  }

  }