/***********
 * img*
 ************/
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 0;
}
main img {
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 0;
}
/*======================
 #main-visual
 =======================*/
/*#main-visual {
	width : -webkit-calc(100% - 120px);
	width : calc(100% - 120px);
	margin: 0px auto 0 ;
	height : -webkit-calc(100vh - 180px);
	height : calc(100vh - 180px);
	background: url(https://demo10.okimono.life/wp-content/uploads/2023/12/hairemake05.jpg) center 20% no-repeat;
	-webkit-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position: relative;
}*/
#main-visual::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}
#main-visual:hover::before { opacity: 0.2;}
#main-visual a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#main-visual a .txt-wrap {
	width: 100%;
	text-align: center;
	color: #FFF;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	-ms-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}
#main-visual a .txt-wrap p {
	letter-spacing: 0.1em;
	line-height: 1.5;
	font-family: 'Abel', sans-serif;
	font-size: 16px;
}
#main-visual a .txt-wrap h2 {
	letter-spacing: 0.15em;
	line-height: 1.5;
	font-family: 'Abel', sans-serif;
	font-size: 44px;
	font-weight: normal;
}
#main-visual a .txt-wrap i {
	width: 80px;
	margin: 0 auto;
	padding-top: 30px;
	display: block;
	line-height: 0;
}

@media screen and (max-width: 1200px) {
	#main-visual {
		width : -webkit-calc(100% - 80px);
		width : calc(100% - 80px);
		/*margin: 140px auto 0;*/
		margin: 0px auto 0 ;
		height : -webkit-calc(100vh - 175px);
		height : calc(100vh - 175px);
	}
	#main-visual a .txt-wrap p { font-size: 14px;}
	#main-visual a .txt-wrap h2 { font-size: 36px;}
	#main-visual a .txt-wrap i {
		width: 66px;
		padding-top: 15px;
	}
}
@media screen and (max-width: 920px) {
	#main-visual { margin: 0 auto;}
}
@media screen and (max-width: 640px) {
/*	#main-visual {
		width : 100%;
		height : 0;
		padding-top: 100%;
		background: url(https://demo10.okimono.life/wp-content/uploads/2023/12/hairemake05.jpg) center center no-repeat;
		-webkit-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		position: relative;
	}*/
	#main-visual a .txt-wrap p { font-size: 12px;}
	#main-visual a .txt-wrap h2 { font-size: 26px;}
	#main-visual a .txt-wrap i {
		width: 50px;
		padding-top: 5px;
	}
}

section .lead {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}




/*--------------------------------------------------------------------------
Main visual
---------------------------------------------------------------------------*/
#hero {
	width: 100%;
	margin:0 auto;
	max-width: 1200px;
}

#hero .lead {
	margin: 50px 0 100px;
	position: relative;
	text-align: center;
}
#hero .lead::before {
	/*content: "Beauty";*/
	display: block;
	padding-bottom: 15px;
	font-family: moderno-fb, serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
	position: relative;
}

#hero .lead h1{
	padding-top: 15px;
	font-family: serif;
	font-weight: 300;
	font-size: 26px;
	line-height: 1.4em;
	position: relative;
	text-align: center;
	letter-spacing: 0.1em;
}

#hero .lead h1::after {
	content: "";
	width: 100px;
	height: 1px;
	background: #000;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

#hero .lead p {
	width: 90%;
	margin: 30px auto 0;
	max-width: 700px;
	line-height: 2em;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
	#hero .lead {
		margin: 35px 0 60px;
		position: relative;
		text-align: center;
	}
	#hero .lead::before {
		padding-bottom: 15px;
		font-size: 30px;
		line-height: 40px;
	}
	#hero .lead h1::after {
		width: 50px;
	}
	#hero .lead h1{
		font-size: 24px;
		line-height: 1.6em;
	}
	#hero .lead p {
		margin-top: 15px;
		font-size: 13px;
		line-height: 2em;
	}
}



/*--------------------------------------------------------------------------
dress
---------------------------------------------------------------------------*/
.dress {
	margin-bottom: 100px;
}
.dress#kimono {
	margin-top: 150px;
}

.dress .box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	z-index: 10;
}
.dress .box .cover  {
	width: calc(100% - 400px);
	text-align: center;
	position: relative;
	background: #fff;
}
.dress .box .label  {
	max-width: 400px;
	flex: 0 1 400px;
	height: 350px;
	margin-left: -50px;
	align-self: center;
	background:#fff;
	position: relative;
	text-align: center;
	z-index: 10;
}
.dress#kimono .box .label  {
	order: -1;
	margin-left: 0;
	margin-right: -50px;
}
.dress .box .label .inner {
	margin: 0 auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	text-align: center;
	left: 0;
	right: 0;
}
.dress .box .label .inner span {
	display: block;
	font-family: moderno-fb, serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 50px;
}
.dress .box .label .inner h2 {
	font-family:  serif;
	font-weight: 300;
	font-size: 17px;
	position: relative;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
	.dress .box .cover  {
		width: calc(100% - 350px);
	}
	.dress .box .label  {
		max-width: 350px;
		flex: 0 1 350px;
	}
}
@media screen and (max-width: 1100px) {
	.dress .box .cover  {
		width: calc(100% - 300px);
	}
	.dress .box .label  {
		max-width: 300px;
		flex: 0 1 300px;
		height: 300px;
	}
}

@media screen and (max-width: 768px) {
	.dress#kimono {
		margin-top: 70px;
	}
	.dress .box .cover  {
		width: 100%;
	}
	.dress .box .label  {
		max-width: 100%;
		flex: 0 1 100%;
		margin-left: 0;
		height: auto;
		order: -1;
	}
	.dress .box .label .inner {
		width: 100%;
		margin: 0 auto;
		position: relative;
		top: 0;
		transform: translateY(0);
		-webkit- transform: translateY(0);
		text-align: center;
		left: initial;
		right: initial;
	}
	.dress .box .label .inner span {
		display: block;
		text-align: center;
		font-family: moderno-fb, serif;
		font-size: 35px;
		font-weight: 400;
		line-height: 35px;
		position: relative;
	}
	.dress .box .label .inner h2 {
		margin-bottom: 20px;
		font-size: 15px;
	}
}

.dress p.intro {
	width: 90%;
	margin: 50px auto;
	max-width: 700px;
	font-size: 14px;
	line-height: 2em;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
	.dress {
		margin-bottom: 70px;
	}
	
	.dress p.intro {
		width: 90%;
		margin: 20px auto 0;
		font-size: 13px;
		line-height: 2em;
	}
}

.dress .works {
	width: 94%;
	margin: 50px auto;
	text-align: center;
}
.dress .works::before {
	width: 94%;
	/*content: "Works";*/
	font-family: moderno-fb, serif;
	font-size: 30px;
	font-weight: 400;
}
.dress .works h3 {
	padding-top: 20px;
	position: relative;
	font-size: 12px;
}
.dress .works h3::before {
	content: "";
	display: block;
	width: 70px;
	height: 1px;
	margin: 0 auto;
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.dress .works ul {
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}

.dress .works ul li {
	max-width: 23%;
	flex: 0 1 23%;
	margin-top: 30px;
	cursor: pointer;
	display: block;
	overflow: hidden;
	position: relative;
}
.dress .works ul li img {
	width: 100%;
	height: auto;
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
.dress .works ul li img.alpha {
	width: 100%;
	height: 100%;
	position: absolute;
}
.dress .works li:hover img {
	opacity: 0.8;
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
.dress .works ul + p {
	font-size: 12px;
	padding-top: 2em;
}

@media screen and (max-width: 768px) {
	.dress .works {
		width: 100%;
		margin: 40px auto 50px;
	}
	.dress .works::before {
		font-size: 25px;
	}
	.dress .works h3 {
		padding: 0 0 20px;
		font-weight: normal;
		font-size: 12px;
	}
	.dress .works h3::before {
		display: none;
	}
	.dress .works ul {
		max-width: 100%;
	}
	.dress .works ul li {
		max-width: 33.3333%;
		flex: 0 1 33.3333%;
		margin-top: 0;
	}
}



.dress#kimono h2.common::before {
	content: "Kimono Style";
}

/*--------------------------------------------------------------------------
point
---------------------------------------------------------------------------*/
#point {
	width: 90%;
	height: auto;
	max-width: 1200px;
	margin: 100px auto 0;
	position: relative;
}

#point h2 {
	padding-top: 20px;
	text-align: center;
	font-family: serif;
	font-weight: 300;
	font-size: 17px;
	position: relative;
	letter-spacing: 0.1em;
	font-family: sans-serif;
	font-size: 12px;
}

#point::before {
	/*content: "Point";*/
	display: block;
	text-align: center;
	font-family: moderno-fb, serif;
	font-size: 30px;
	font-weight: 400;
	position: relative;
}

#point h2::before {
	content: "";
	display: block;
	width: 100px;
	height: 1px;
	margin: 0 auto;
	background: #000;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}


@media screen and (max-width: 768px) {
	#point {
		margin: 70px auto 0;
	}
	#point::before {
		padding-bottom: 10px;
		font-size: 25px;
		line-height: 35px;
	}
	#point h2 {
		padding: 15px 0 30px;
	}
	#point h2::before {
		width: 50px;
		
	}
}

#point ul li {
	margin-top: 70px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
}

#point ul li .left {
	max-width: 50%;
	flex: 0 1 50%;
}
#point ul li .right {
	max-width: 50%;
	flex: 0 1 50%;
	padding: 0 50px;
} 
#point ul li:nth-child(even) .right {
	max-width: 50%;
	flex: 0 1 50%;
	padding: 0 50px;
	order: -1;
} 

#point ul li h3 {
	font-family: serif;
	margin-bottom: 40px;
	font-size: 24px;
	font-weight: 300;
	line-height: 28px;
	position: relative;
}
#point ul li h3::after{
	position: absolute;
	display: block;
	content: "";
	width: 50px;
	height: 1px;
	left: 0;
	bottom: -26px;
	background-color: #f1f1f1;
}
#point ul li p {
	line-height: 2em;
}
#point ul li  b {
	font-weight: 400;
}
@media screen and (max-width: 768px) {
	#point ul li {
		width: 100%;
		margin: 0 auto;
	}
	#point ul li h3 {
		margin-bottom: 7px;
		font-size: 18px;
	}
	#point ul li p {
		font-size: 13px;
		line-height: 2em;
	}
	#point ul li .left {
		max-width: 100%;
		flex: 0 1 100%;
	}
	#point ul li .right {
		max-width: 100%;
		flex: 0 1 100%;
		padding: 20px 0 40px;
	} 
	#point ul li:nth-child(even) .right {
		max-width: 100%;
		flex: 0 1 100%;
		padding: 20px 0 40px;
		order: 0;
	} 
	#point ul li:last-child .right {
		padding-bottom: 25px;
	} 
}





/*--------------------------------------------------------------------------
 line
 ---------------------------------------------------------------------------*/
#line { padding: 120px 6.666% 0;}
#line .line-list {}
#line .line-list li { padding-top: 150px;}
#line .line-list li:first-child { padding-top: 0;}
#line .line-list li a {
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#line .line-list li a picture {
	max-width: 56.944%;
	-webkit-flex: 0 1 56.944%;
	-ms-flex: 0 1 56.944%;
	flex: 0 1 56.944%;
	display: block;
	overflow: hidden;
	-webkit-filter:drop-shadow(20px 20px 60px rgba(0, 0, 0, 0.1));
	-moz-filter:drop-shadow(20px 20px 60px rgba(0, 0, 0, 0.1));
	-ms-filter:drop-shadow(20px 20px 60px rgba(0, 0, 0, 0.1));
	filter:drop-shadow(20px 20px 60px rgba(0, 0, 0, 0.1));
	will-change: filter;
}
#line .line-list li:nth-child(even) a picture {
	-webkit-order: 2;
	-ms-order: 2;
	order: 2;
}
#line .line-list li a img {
	-moz-transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	-ms-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}
#line .line-list li a:hover picture img {
	opacity: 0.8;
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
#line .line-list li a .txt-wrap {
	max-width: 36.666%;
	-webkit-flex: 0 1 36.666%;
	-ms-flex: 0 1 36.666%;
	flex: 0 1 36.666%;
}
#line .line-list li a .txt-wrap .en {
	padding-bottom: 1em;
	letter-spacing: 0.04em;
	line-height: 1;
	font-family: neue-haas-unica, sans-serif;
	font-size: 14px;
	font-style: italic;
	font-weight: 200;
}
#line .line-list li a .txt-wrap h3 {
	line-height: 1;
	letter-spacing: 0.1em;
	font-size: 32px;
	font-feature-settings : "palt";
}
#line .line-list li a .txt-wrap h3::after {
	content: "";
	width: 50px;
	height: 1px;
	margin: 25px 0;
	display: block;
	background-color: #000;
	opacity: 0.3;
}
#line .line-list li a .txt-wrap h4 {
	letter-spacing: 0.3em;
	line-height: 1.75;
	font-size: 18px;
	font-weight: 300;
	font-feature-settings : "palt";
}
#line .line-list li a .txt-wrap h4 + p {
	padding-top: 2em;
	
	line-height: 2;
	font-size: 13px;
}


@media screen and (max-width: 1200px) {
	#line { padding: 90px 6.666% 0;}
	#line .line-list li { padding-top: 90px;}
	#line .line-list li a {
		-webkit-align-items: stretch;
		align-items: stretch;
	}
	#line .line-list li a .txt-wrap .en { font-size: 12px;}
	#line .line-list li a .txt-wrap h3 { font-size: 26px;}
	#line .line-list li a .txt-wrap h3::after {
		width: 40px;
		margin: 20px 0;
	}
	#line .line-list li a .txt-wrap h4 { font-size: 16px;}
	#line .line-list li a .txt-wrap h4 + p { font-size: 12px;}
}
@media screen and (max-width: 768px) {
	#line { padding: 70px 6.666% 0;}
	#line .line-list li { padding-top: 70px;}
	#line .line-list li a { display: block;}
	#line .line-list li a picture {
		max-width: initial;
		-webkit-filter: none;
		-moz-filter: none;
		-ms-filter: none;
		filter: none;
	}
	#line .line-list li a .txt-wrap {
		width: 86.666%;
		margin: -60px auto 0;
		padding: 30px 25px;
		max-width: initial;
		text-align: center;
		background: #FFF;
		position: relative;
		-webkit-box-shadow: 10px 10px 30px rgba(0, 0, 0, .1);
		-moz-box-shadow: 10px 10px 30px rgba(0, 0, 0, .1);
		-ms-box-shadow: 10px 10px 30px rgba(0, 0, 0, .1);
		box-shadow: 10px 10px 30px rgba(0, 0, 0, .1);
	}
	#line .line-list li a .txt-wrap .en { font-size: 10px;}
	#line .line-list li a .txt-wrap h3 { font-size: 20px;}
	#line .line-list li a .txt-wrap h3::after {
		width: 30px;
		margin: 15px auto;
	}
	#line .line-list li a .txt-wrap h4 {
		letter-spacing: 0.1em;
		font-size: 11px;
	}
	#line .line-list li a .txt-wrap h4 + p { display: none;}
}

/*--------------------------------------------------------------------------
 brand
 ---------------------------------------------------------------------------*/
#brand { padding: 150px 6.666% 0;}
@media screen and (max-width: 1200px) {
	#brand { padding: 90px 6.666% 0;}
}
@media screen and (max-width: 768px) {
	#brand { padding: 70px 6.666% 0;}
}

/*--------------------------------------------------------------------------
member
---------------------------------------------------------------------------*/
#member .title h2 {
	padding-left: 170px;
}
#member {
	width: 90%;
	height: auto;
	max-width: 1200px;
	margin: 8% auto 5% auto;
}
#member .title {
	margin: 80px 0 40px;
	position: relative;
}
#member .title::before {
	content: "";
	display: block;
	width: 140px;
	height: 1px;
	background: #333;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	position: absolute;
}
#member .title h2::before {
	/*content: "Interview";*/
	padding-right: 20px;
	font-family: moderno-fb, serif;
	font-size: 30px;
	font-weight: 400;
}
#member ul {
	margin-bottom: 40px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
#member ul li {
	max-width: 19%;
	flex: 0 1 19%;
	list-style-type: none;
}
#member ul li a .cover {
	display: block;
	overflow: hidden;
}

#member ul li a .cover img {
	-webkit-transition: 0.4s ease-in-out;
	-moz-transition: 0.4s ease-in-out;
	-o-transition: 0.4s ease-in-out;
	transition: 0.4s ease-in-out;
}
#member ul li a .info {
	margin-top: 15px;
}
member ul li a .info span.name {
	margin: 20px 0 7px;
	font-style: italic;
	font-size: 20px;
	line-height: 20px;
}
#member ul li a .info span {
	display: block;
}
#member ul li a .info span.label {
	color: #666;
}
@media screen and (max-width: 768px){
	#member .title {
		margin: 0 0 15px;
		text-align: center;
	}
	#member .title h2 {
		padding-left: 0;
		font-weight: normal;
	}
	#member .title::before {
		height: 0px;
	}
	#member .title h2::before {
		content: "Interview";
		padding-right: 20px;
		font-family: moderno-fb, serif;
		font-size: 30px;
		font-weight: 400;
	}
	#member ul {
		margin-bottom: 20px;
	}
	#member ul li {
		max-width: 100%;
		flex: 0 1 100%;
		margin: 0 auto 15px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: center;
		border-bottom: solid 1px #efefef;
	}
	#member ul li:first-child {
		padding-top: 15px;
		border-top: solid 1px #efefef;
	}
	#member ul li a {
		max-width: 100%;
		flex: 0 1 100%;
		margin: 0 auto 15px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: center;
	}
	#member ul li a .cover {
		max-width: 50%;
		flex: 0 1 50%;
	}
	#member ul li a .info {
		max-width: 50%;
		flex: 0 1 50%;
		margin-top: 0;
		padding: 0 0 0 20px;
	}
	#member ul li a .info span.name {
		margin: 0 0 7px;
	}
	#member ul li a .info span.label {
		font-size: 11px;
	}
}





