@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700');

/* COMMON */
#eglp {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	font-family: "Noto Serif JP", sans-serif;
	font-optical-sizing: auto;
	line-height: 1.85;
	color: #040404;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#eglp * {
	color: #777;
	text-decoration: none;
}
#eglp h1, #eglp h2, #eglp h3, #eglp h4, #eglp h5, #eglp h6 {
	font-weight: normal;
}

#eglp img {
	width: 100%;
}

#eglp p {
	text-align: justify;
}

#eglp a.blank[target="_blank"] {
	position: relative;
}
#eglp a.blank[target="_blank"]:after {
	font-family: "FontAwesome";
	content: "\f2d2";
	font-weight: 400;
	position: absolute;
	box-sizing: border-box;
	top: 0;
	right: 0;
	background: #999;
	color: #fff;
	padding: 1px 4px;
	font-size: 8px;
}


/* MARKER ANIMATION */
#eglp .marker {
	position: relative;
}
	#eglp .marker::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}



/* FLEX */
#eglp .flex {
	display: flex;
	flex-wrap: wrap;
}
	#eglp .flex.col2 > * {
		width: 50%;
	}

/* BUTTON LIST */
#eglp .buttonList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	#eglp .buttonList > * {
		margin: 8px;
		cursor: pointer;
	}
	#eglp .buttonList > * a {
		display: block;
		padding: 4px 36px;
		color: #5A77A6;
		font-weight: 700;
		border: 1px solid #5A77A6;
	}
	#eglp .buttonList > * a:hover {
		color: #FFF;
		background: #5A77A6;
	}

/* LINK_TEXT */
#eglp .link_text {
	font-size: 1.4rem;
	text-align: center;
	border: 1px solid #AAA;
	cursor: pointer;
}
	#eglp .link_text:hover {
		background: #FFF;
	}

/* HEADER AREA */
#eglp .headerArea {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	height: 80px;
	background: #5A77A6;
	align-items: flex-end
}
	#eglp .headerArea > div {
		position: relative;
		flex: 1 1 0;
		height: 80px;
	}
	#eglp .headerArea .ledexte_logo {
		width: 40%;
	}
	#eglp .headerArea .ledexte_logo img {
		position: relative;
		bottom: 16px;
		left: 16px;
		width: 100px;
	}
	#eglp .headerArea .salon_sum {
		position: absolute;
		top: 30px;
		color: #FFF;
	}
		#eglp .headerArea .salon_sum span {
			color: #FFF;
			font-size: 2.4rem;
		}

	#eglp .headerArea .link_icon {
		position: absolute;
		top: 10px;
		right: 180px;
		margin: 8px;
		width: 48px;
	}
	#eglp .headerArea .link_salon {
		position: absolute;
		right: 8px;
		bottom: 24px;
	}
		#eglp .headerArea .link_salon a {
			padding: 8px 20px;
			color: #FFF;
			text-align: center;
			line-height: 1.6rem;
			border: 2px solid #ffffff;
		}


/* KV AREA */
#eglp .kv {
	position: relative;
	height: 480px;
	overflow: hidden;
	background-image: url("../img/kv-pc.png"), linear-gradient(-155deg, transparent, #5A77A6);
	background-size: cover;
}
	#eglp .kv > div {
		position: absolute;
		top: 25%;
		left: 55%;
	}
		#eglp .kv > div h1 img {
			margin-bottom: 12%;
			width: 200px;
		}
	#eglp .kv > div h2 {
		line-height: 4rem;
	}
		#eglp .kv > div h2 span {
			padding-left: 4px;
			color: #FFF;
		}

	#eglp .kv p.videoArea {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: -1;
	}
		#eglp .kv p.videoArea video {
			width: 100vw;
		}

#eglp .kv p.videoArea::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
/*
	background-image: repeating-linear-gradient(45deg, rgba(6, 78, 159, 0.1), rgba(6, 78, 159, 0.1) 3px, rgba(255, 255, 255, 0.1) 0, rgba(255, 255, 255, 0.1) 6px);
*/

}


/* INNERLINK AREA */
#eglp .innerLinkArea {
	position: sticky;
	top: 0;
	left: 0;
	box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
	background: #FFF;
	z-index: 1;
}
	#eglp .innerLinkArea ul {
		display: flex;
		flex-wrap: wrap;
	}
		#eglp .innerLinkArea li {
			flex: 1 1 0;
			text-align: center;
			font-family: "Cormorant Garamond";
			font-size: 2rem;
		}
		#eglp .innerLinkArea li a {
			display: block;
			padding: 8px 0;
		}
			#eglp .innerLinkArea li a span {
				display: block;
				color: #AAA;
				font-family: "Noto Serif JP", sans-serif;
				font-size: 1rem;
			}
			#eglp .innerLinkArea li a:hover {
				color: #FFF;
				background-color: #5A77A6;
			}
			#eglp .innerLinkArea li a:hover span {
				color: #FFF;
			}


/* CONTENT AREA */
#eglp .contentArea {
}
	#eglp .contentArea > div {
		padding: 60px 0;
		background: #FFF;
	}
	#eglp .contentArea h2 {
		margin-bottom: 80px;
		color: #ced8eb;
		font-family: "Cormorant Garamond";
		text-align: center;
		font-size: 6rem;
		letter-spacing: 1.2rem;
		background-image: linear-gradient(0deg, #af70c1, #a0a8ca);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
		#eglp .contentArea h2 span {
			display: block;
			color: #ced8eb;
			font-family: "Noto Serif JP", sans-serif;
			font-size: 1.8rem;
			letter-spacing: 0.2rem;
		}

/* FOOTER AREA */
#eglp .footerArea {
	padding: 36px 0 12px 0;
	background: #5A77A6;
}
	#eglp .footerArea .flex {
		margin: 48px 0;
		justify-content: center;
	}
		#eglp .footerArea .flex div {
			padding: 0 20px;
		}
	#eglp .footerArea p {
		color: #FFF;
		text-align: center;
	}
		#eglp .footerArea p.produce {
			font-size: 2.4rem;
		}


/*----- BANNER AREA -----*/
#eglp .campaignBtn {
	width: fit-content;
	margin: 32px auto;
}
	#eglp .campaignBtn:hover {
		opacity: .7;
		transition: .7s;
	}
	#eglp .campaignBtn img {
		max-width: 768px;
		margin: 0 auto;
		display: block;
		border-radius: 48px;
	}

#eglp .bannerArea {
	display: none;
}
	#eglp .campaignBtn {
		cursor: pointer;
	}

	#eglp .bannerArea .campaign {
		margin: 0 auto;
		padding: 32px;
		max-width: 1024px;
	}
	#eglp .bannerArea .campaign .sp > p {
		padding: 16px 4px;
	}


	#eglp .bannerArea .flowArea {
		margin: 0 auto;
		padding: 48px 0 12px 0;
		max-width: 768px;
		justify-content: space-evenly;
	}
		#eglp .bannerArea .flowArea > div {
			position: relative;
			margin: 12px;
			padding: 28px;
			flex: 1 1 0;
			border: 1px solid #cfd7e5;
			border-radius: 16px;
		}
		#eglp .bannerArea .flowArea h3 {
			position: absolute;
			padding: 0 8px;
			top: -44px;
			left: 50%;
			width: fit-content;
			transform: translateX(-50%);
			color: #cfd7e5;
			background: #FFF;
		}
			#eglp .bannerArea .flowArea h3 span {
				color: #cfd7e5;
				font-size: 4rem;
			}
		#eglp .bannerArea .flowArea .underline {
			font-weight: bold;
			background-image: linear-gradient(transparent 60%, #bcd3f5 40%);
		}

		#eglp .bannerArea .campaign_detail {
			max-width: 720px;
			margin: 24px auto;
			padding: 24px;
			height: 400px;
			overflow-y: scroll;
			border: 1px solid #CCC;
			background: #f7f7f7;
		}
			#eglp .bannerArea .campaign_detail p.title {
			}
			#eglp .bannerArea .campaign_detail ol {
				list-style: roman;
				padding-left: 16px;
			}
			#eglp .bannerArea .campaign_detail ul {
				list-style: disc;
				padding-left: 16px;
			}
			#eglp .bannerArea .campaign_detail span {
				font-size: 1.2rem;
			}

/*----- CONTENT AREA -----*/

#eglp .contentArea .visualMargin_01 {
	position: relative;
	height: 360px;
	background-image: url(../img/visual_margin_01.jpg);
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center;
	background-size: contain;
}
	#eglp .contentArea .visualMargin_01 img:after {
		content: "";
		position: absolute;
		height: 100%;
		width: 100%;
		background: #c00;
		opacity: .5;
	}

#eglp .contentArea .subscription {
	background-color: #EEE;
}
	#eglp .contentArea .subscription > div {
		margin: 0 auto;
		max-width: 768px;
	}
		#eglp .contentArea .subscription > div img {
			box-shadow: 0 0 16px 4px rgba(0,0,0,0.1);
		}

/* instagramArea INSTAGRAM-MEDIA */
#eglp .contentArea .instagramArea {
	position: relative;
	display: flex;
	justify-content: space-evenly;
	overflow: hidden;
}
#eglp .contentArea .instagramArea iframe {
	position: relative;
	top: -69px;
	margin: 1% !important;
	min-width: 240px!important;
	max-width: 240px!important;
	height: 350px;
	overflow: hidden;
}

/* CONCEPT	*/
#eglp .contentArea .conceptArea {
}
	#eglp .contentArea .conceptArea p {
		padding: 6px 0;
		text-align: center;
	}

/* MERIT	*/
#eglp .contentArea .meritArea {
	background: #EDF1F7;
}
	#eglp .contentArea .meritArea > div {
		margin: 0 auto;
	}

	#eglp .roundList {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		text-align: center;
	}
		#eglp .roundList > * {
			margin: 8px;
			border: 1px solid #AAA;
			border-radius: 50%;
		}
			#eglp .roundList.col4 > * {
				height: 200px;
				width: 200px;
			}
				#eglp .roundList.col4 > * h3 {
					padding-top: 70px;
				}
				#eglp .roundList.col4 > * p {
					text-align: center;
				}

	#eglp .contentArea .meritArea .iconList {
		margin-top: 60px;
	}


	#eglp .iconList {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
		#eglp .iconList > * {
			margin: 0 2%;
		}
			#eglp .iconList.col3 > * {
				width: 25%;
			}
			#eglp .iconList > * img {
				display: block;
				margin: 0 auto;
				width: auto;
				height: 64px;
			}
			#eglp .iconList > * h3 {
				padding: 18px 0;
				font-size: 1.8rem;
				text-align: center;
			}
			#eglp .iconList > * p {
				font-size: 1.4rem;
			}

/* SEMINAR	*/
#eglp .contentArea .seminarArea {
	margin: 0 auto;
	max-width: 768px;
}
	#eglp .contentArea .seminarArea .flex {
		display: flex;
		flex-wrap: wrap;
	}
		#eglp .contentArea .seminarArea .flex > * {
		}

		#eglp .contentArea .seminarArea .flex img {
			width: 320px;
		}

	#eglp .contentArea .seminarArea .flex .program {
		flex: 1 1 0;
	}
	#eglp .contentArea .seminarArea .flex .program > div {
		position: relative;
		margin: 0 0 20px 20px;
		padding: 20px;
		background: #EDF1F7;
	}
	#eglp .contentArea .seminarArea .flex .program > div h3 {
		font-size: 1.6rem;
		text-align: center;
		border-bottom: 1px solid #CCC;
	}
	#eglp .contentArea .seminarArea .flex .program > div p {
		padding: 12px 0;
		font-size: 1.6rem;
	}



/* ITEM	*/
#eglp .contentArea .itemArea {
}
	#eglp .contentArea .itemArea > div {
		margin: 0 auto;
		padding: 16px;
		max-width: 768px;
	}
	#eglp .contentArea .itemArea > div.flex {
		border-radius: 12px;
		background: #EEE;
	}
		#eglp .contentArea .itemArea > div.flex > div:first-child {
			padding: 16px 32px 16px 16px;
		}
			#eglp .contentArea .itemArea > div.flex > div:first-child p {
				font-size: 1.2rem;
			}
		#eglp .contentArea .itemArea > div.flex > div:last-child {
			padding: 16px 32px 16px 16px;
			width: 100%;
		}
		#eglp .contentArea .itemArea > div.flex > div:last-child ul li,
		#eglp .contentArea .itemArea > div.flex > div:last-child p {
			font-size: 1.2rem;
		}
		#eglp .contentArea .itemArea > div.flex > div:last-child > div {
			padding-top: 16px;
		}
		#eglp .contentArea .itemArea > div.flex > div:last-child ul.title {
			padding-top: 8px;
		}
		#eglp .contentArea .itemArea > div.flex > div:last-child ul ul li {
			text-indent: 1rem;
		}
		#eglp .contentArea .itemArea > div.flex h3 {
			line-height: 2.4rem;
			font-size: 2.8rem;
		}
			#eglp .contentArea .itemArea > div.flex h3 p {
				font-size: 1.4rem;
			}
		#eglp .contentArea .itemArea > div.flex h4 {
			padding-top: 16px;
		}

	#eglp .contentArea .itemArea > div.remark {
		font-size: 1.2rem;
	}
	#eglp .contentArea .itemArea .buttonList {
		margin-top: 24px;
	}

	/* 安全性 */
	#eglp .contentArea .safetyInformationArea {
		max-width: 768px;
		margin: 0 auto;
	}
		#eglp .contentArea .safetyInformationArea .openCloseBtn {
			margin: 0 auto;
			padding: 4px 12px;
			width: fit-content;
			color: #FFF;
			background: #708dbd;
			cursor: pointer;
			font-size: 18px;
			padding: 6px 14px;
		  margin: 16px auto;
		}
			#eglp .contentArea .safetyInformationArea .openCloseBtn:hover {
				opacity: .7;
			}
		#eglp .contentArea .safetyInformationArea > div {
			display: none;
			margin-top: 21px;
			padding: 24px;
			font-size: 1.2rem;
			border-radius: 12px;
			background: #F0F0F0;
		}
		#eglp .contentArea .safetyInformationArea > div span {
			font-size: 1rem;
		}
		#eglp .contentArea .safetyInformationArea > div .imageArea {
			padding: 12px;
		}

		#eglp .contentArea .safetyInformationArea > div p {
			padding: 8px 0;
		}
		#eglp .contentArea .safetyInformationArea > div h3 {
			padding: 8px 0 8px 0;
			font-size: 1.6rem;
		}
		#eglp .contentArea .safetyInformationArea > div ol {
			padding-left: 16px;
			list-style:upper-alpha;
		}

		#eglp .contentArea .safetyInformationArea > div table {
			margin: 24px 0;
		}
			#eglp .contentArea .safetyInformationArea > div table th,
			#eglp .contentArea .safetyInformationArea > div table td {
				padding: 8px;
				border: 1px solid #CCC;
			}


/* CONTENTS	*/
#eglp .contentArea .contentsArea {
	background: #EDF1F7;
}
	#eglp .contentArea .contentsArea .material_sample {
		display: flex;
		margin: 0 auto;
		padding: 56px 0;
		max-width: 768px;
	}
		#eglp .contentArea .contentsArea .material_sample p {
			margin: 0 12px;
		}

	#eglp .contentArea .contentsArea .flex {
		margin: 36px auto;
		max-width: 768px;
		text-align: center;
		background: #FFF;
	}
		#eglp .contentArea .contentsArea .flex > * {
			height: 200px;
		}
			#eglp .contentArea .contentsArea h3 {
				width: 200px;
				margin: 60px auto 0px auto;
				text-align: center;
				opacity: 0.4;
			}
			#eglp .contentArea .contentsArea p {
				padding: 4px 0 12px 0;
				text-align: right;
			}
			#eglp .contentArea .contentsArea p a:hover {
				opacity: .7;
			}
/* Q&A	*/
#eglp .contentArea .qaArea {

}
	#eglp .contentArea .qaArea > div {
		margin: 0 auto;
		max-width: 768px;
	}
	#eglp .contentArea .qaArea h4.openCloseBtn {
		position: relative;
		padding: 8px;
		color: #FFF;
		border-bottom: 1px solid #708dbd;
		background: #5A77A6;
		cursor: pointer;
	}
		#eglp .qaArea .openCloseBtn::before,
		#eglp .qaArea .openCloseBtn::after {
			content: "";
			position: absolute;
			right: 20px;
			top: 0;
			bottom: 0;
			margin: auto 0;
			background-color: #CCC;
			width: 12px;
			height: 2px;
			transition: all 0.3s;
		}
		#eglp .qaArea .openCloseBtn::after {
			transform: rotate(90deg);
		}

		#eglp .qaArea .openCloseBtn.open::before {
			transform: rotate(180deg);
		}
		#eglp .qaArea .openCloseBtn.open::after {
			transform: rotate(180deg);
			opacity: 0;
		}

		#eglp .contentArea .qaArea h4.openCloseBtn:hover {
			opacity: 0.7;
		}

	#eglp .contentArea .qaArea [data-area] {
		display: none;
	}
		#eglp .contentArea .qaArea [data-area] div {
		}
			#eglp .contentArea .qaArea [data-area] div p.question {
				position: relative;
				padding: 6px;
				font-size: 1.4rem;
				font-weight: 600;
				border-bottom: 1px solid #dbdbdb;
				background: #EEE;
				cursor: pointer;
			}
				#eglp .contentArea .qaArea [data-area] div p.question:hover {
					opacity: 0.7;
				}

			#eglp .contentArea .qaArea [data-area] div p.answer {
				display: none;
				margin-bottom: 12px;
				padding: 6px;
			}



/* VOICE	*/
#eglp .contentArea .voiceArea {
	background: #EDF1F7;
}
	#eglp .contentArea .voiceArea > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
		max-width: 1200px;
		margin: 0 auto;
	}
	#eglp .contentArea .voiceArea > div > div {
		margin: 0px 2% 60px 2%;
		width: 25%;
	}
		#eglp .contentArea .voiceArea > div .shop p {
			padding: 4px 0 8px 0;
			font-weight: 700;
		}
		#eglp .contentArea .voiceArea > div .text {
			text-align: justify;
		}


@media screen and (max-width: 1199px){
	/*bootstrapを使用する場合。幅を1200pxとして
	左右に15pxずつpaddingをつけている為*/
}
@media screen and (max-width: 1169px){
	/*bootstrapを使用しない場合*/
}

@media screen and (max-width: 1024px){
	#eglp .headerArea .ledexte_logo {
		width: 30%;
	}
}

@media (max-width: 767px){
	#eglp .headerArea {
		display: block;
		height: 180px;
	}
	#eglp .headerArea .ledexte_logo {
		padding: 16px 0;
		width: 100%;
	}
		#eglp .headerArea .ledexte_logo img {
			display: block;
			margin: 0 auto;
			bottom: 0;
			left: 0;
		}
	#eglp .headerArea .salon_sum {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		font-size: 1.6rem;
		text-align: center;
	}
	#eglp .headerArea .link_salon {
		right: 5%;
		bottom: 0;
	}
	#eglp .headerArea .link_icon {
		position: absolute;
		left: 15%;
		top: unset;
		bottom: -16px;
	}

	#eglp .kv {
		height: 240px;
	}
	#eglp .kv > div {
		top: 15%;
	}
	#eglp .kv > div h1 img {
		width: 100px;
	}
	#eglp .kv > div h2 {
		line-height: 3.2rem;
		font-size: 1.6rem;
	}

	#eglp .campaignBtn {
		padding: 0 12px;
	}
		#eglp .campaignBtn img {
			border-radius: 24px;
		}
		#eglp .bannerArea .campaign {
			padding: 0px 32px;
		}


	#eglp .innerLinkArea {
		display: none;
	}
	#eglp .flex {
		display: block;
	}
	#eglp .flex.col2 > * {
		width: auto;
	}
	#eglp .bannerArea .flowArea {
		padding-top: 18px;
	}

	#eglp .bannerArea .flowArea > div {
		margin: 0 auto 48px auto;
		max-width: 90%;
		padding: 12px;
	}
	#eglp .bannerArea .flowArea h3 {
		top: -28px;
	}
	#eglp .bannerArea .campaign_detail {
		margin-top: 20px;
		margin-left: 20px;
		margin-right: 20px;
	}

	#eglp .contentArea .visualMargin_01 {
		height: 140px;
		background-size: 600px;
		background-attachment: inherit;
	}
	#eglp .roundList.col4 > * {
		width: 160px;
		height: 160px;
	}
	#eglp .roundList.col4 > * h3 {
		padding-top: 48px;
	}
	#eglp .iconList {
		display: block;
	}
	#eglp .iconList.col3 > * {
		width: auto;
		padding: 0 40px;
		margin: 0 0 60px 0;
	}
	#eglp .contentArea .seminarArea .flex {
		display: block;
	}
	#eglp .contentArea .seminarArea .flex img {
		width: 100%;
	}
	#eglp .contentArea .seminarArea .flex .program > div {
		margin: 16px;
	}
	#eglp .contentArea .seminarArea .flex .program {
		font-size: 1.6rem;
	}
	#eglp .buttonList > * {
		margin: 16px 2px 0px 2px;
	}
	#eglp .contentArea .subscription {
		padding: 0;
		background: none;
	}
	#eglp .contentArea .itemArea > div.flex {
		margin: 0 32px
	}
	#eglp .contentArea .itemArea > div.remark {
		margin: 0 24px;
	}
	#eglp .contentArea .qaArea h4.openCloseBtn {
		padding-left: 16px;
		font-size: 2rem;
	}
	#eglp .contentArea .qaArea [data-area] div p.question {
		padding-left: 16px;
	}
	#eglp .contentArea .qaArea [data-area] div p.answer {
		padding: 8px 16px;
		font-size: 1.6rem;
	}
	#eglp .contentArea .voiceArea > div {
		display: block;
	}
	#eglp .contentArea .voiceArea > div > div {
		margin: 0px 6% 60px 6%;
		width: auto;
	}
	#eglp .contentArea .voiceArea > div .shop p {
		padding: 8px 0 0 0;
	}
	#eglp .contentArea .voiceArea > div .text {
		font-size: 1.6rem;
	}
	#eglp .footerArea .flex div {
		padding: 12px 120px;
	}


	#eglp .contentArea h2.instagram {
		margin-bottom: 40px;
	}
	#eglp .contentArea .instagramArea {
		display: block;
	}
	#eglp .contentArea .contentsArea p {
		text-align: center;
	}
	#eglp .contentArea .instagramArea iframe {
		top: 0;
		margin: 12px auto !important;
		min-width: auto !important;
		max-width: 80% !important;
		height: 430px;
		overflow: hidden;
	}
}


/* ANIMATION */
#eglp .anim,
#eglp .anim > * {
	transition: 1s;
}
#eglp .slidein_box {
	transform: translateX(120px);
	opacity: 0;
}
#eglp .fadein_text {
	transform: translateY(60px);
	opacity: 0;
}
#eglp .slidein_image:nth-child(even) {
	opacity: 20;
}
	#eglp .slidein_image div:nth-child(even) {
		transform: translateY(100%);
	}
	#eglp .slidein_image div:nth-child(odd) {
		transform: translateX(-80%);
	}
#eglp .typing {
	opacity: 0;
}
