@charset "utf-8";

/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.area {
	padding: 150px 40px;
	box-sizing: border-box;
}
.inner_l {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner_s {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.area {
		padding: 70px 20px;
		box-sizing: border-box;
	}
	.inner {
		max-width: 100%;
	}
}

/* font
-------------------------------------------------------*/
.zenkaku {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.cormorant {
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
}
:root {
	--zenkaku: "Zen Kaku Gothic Antique", sans-serif;
	--cormorant: "Cormorant Garamond", serif;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {

}

/* ttl
-------------------------------------------------------*/
.ttl01 {
	font-family: var(--cormorant);
	font-size: 6.2rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 120px;
}
.ttl02 {
	font-size: 3.3rem;
	font-weight: 500;
	margin-bottom: 30px;
	letter-spacing: 0.06em;
	font-family: var(--cormorant);
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.ttl01 {
		font-size: 3.6rem;
		margin-bottom: 50px;
	}
	.ttl02 {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
}

/* btn
-------------------------------------------------------*/
.btn01 a {
	display: block;
	background: #d19ea7;
	color: #fff;
	text-align: center;
	width: 490px;
	height: 70px;
	border-radius: 6px;
	font-size: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 50px auto 0;
	letter-spacing: 0.09em;
	line-height: 1;
}
.btn02 a, .btn02 span {
	color: #d19ea7;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	position: relative;
	line-height: 1;
	padding-right: 80px;
}
.btn02 a::after,.btn02 span::after {
	position: absolute;
	display: block;
	content: "";
	background: #d19ea7;
	width: 70px;
	height: 1px;
	right: 0;
	top: 50%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.btn01 a {
		width: 90%;
		height: 60px;
		font-size: 2rem;
		margin: 30px auto 0;
	}
	.btn02 a, .btn02 span {
		font-size: 2rem;
		padding-right: 60px;
	}
	.btn02 a::after,.btn02 span::after {
		width: 50px;
	}	
}

/* header
-------------------------------------------------------*/
#header .inner {
	max-width: 100%;
}
#header .logo {
	position: fixed;
	padding: 2.5% 0 0 5%;
	width: 13%;
	z-index: 100;
}
#header.off {
	display: none;
}
#header .logo img {
	max-width: 150px;
}
/* 非表示時のクラス */
#header .logo {
	transition: opacity 0.4s ease, pointer-events 0.4s;
}
#header .logo.hide-logo {
	opacity: 0;
	pointer-events: none;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1120px) {
}
@media screen and (max-width:768px) {
	#header .logo {
		width: 100%;
		padding-top: 5%;
	}
	#header .logo img {
		max-width: 120px;
		min-width: 120px
	}




}

/* nav
-------------------------------------------------------*/
#btn_nav {
	position: fixed;
	top: 40px;
	right: 70px;
	z-index: 999;
	cursor: pointer;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 15px;
}
#btn_nav span {
	display: inline-block;
	background: #231815;
	width: 35px;
	height: 1px;
	transition: .5s;
	position: relative;
}
#btn_nav.active span {
	transform: translateY(8px) rotate(38deg);
}
#btn_nav.active span:last-child {
	transform: translateY(-6px) rotate(-38deg);
}
#nav .nav_cont,
#nav .nav_cont::after {
	position: fixed;
	top: 0;
	height: 100%;
	width: 80%;
	overflow: hidden;
}
#nav .nav_cont {
	overflow: auto;
	background: url(../img/common/bg_nav.png)no-repeat left top/cover;
	right: -100%;
	z-index: 998;
	transition: .8s;
	padding: 11% 0 0 15%;
	box-sizing: border-box;
}
#nav .nav_cont.active {
	right: 0;
}
.nav_row {
	margin-bottom: 10%;
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
}
.list_nav {
	position: relative;
	margin-right: 130px;
}
.nav_side {
	transition: opacity 0.4s ease;
}
.nav_side .list_nav {
	margin-right: 0;
}
.nav_side.off {
	display: none;
}
.list_nav li:not(:last-child) {
	margin-bottom: 10px;
}
.list_nav a {
	font-family: var(--zenkaku);
	font-weight: 400;
	font-size: 1.8rem;
	color: #4d4d4d;
}
.list_nav a.no_link {
	pointer-events: none;
}
.list_nav .ig {
	position: absolute;
	bottom: 5px;
	left: 0;
}
.list_nav .ig img {
	max-width: 39px;
	min-width: 39px;
}
.purchase {
	color: #fff;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.list_purchase {
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: space-between;
	max-width: 660px;
}
.list_purchase li {
	width: 49%;
	margin-bottom: 10px;
}
.list_purchase li a {
	display: block;
	background: #fff;
	color: #A7A7A7;
	font-size: 2.4rem;
	font-family: var(--zenkaku);
	font-weight: 500;
	padding: 20px 30px;
	border-radius: 8px;
	letter-spacing: 0.12em;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:1300px) {
	#nav .nav_cont {
		padding: 5% 0 0 8%;
		background-position: right top;
	}
	.nav_row {
		margin-bottom: 7%;
	}
	.list_nav a {
		font-size: 2rem;
	}
	.purchase {
		font-size: 2rem;
	}
	.list_purchase li a {
		font-size: 2rem;
		padding: 15px 20px;
		border-radius: 8px;
		letter-spacing: 0.12em;
	}
}
@media screen and (max-width:1120px) {
	#btn_nav {
		top: 50px;
		right: 30px;
	}
	#nav .nav_cont {
		padding: 5% 0 0 5%;
	}
	#nav .nav_cont, #nav .nav_cont::after {
		width: 100%;
	}
	.list_nav a {
		font-size: 1.8rem;
	}
	.purchase {
		font-size: 1.8rem;
	}
	.list_purchase li a {
		font-size: 1.8rem;
	}
}
@media screen and (max-width:768px) {
	#btn_nav {
		top: 30px;
		right: 20px;
		height: 15px;
	}
	#btn_nav span {
		width: 30px;
	}
	#nav .nav_cont {
		padding: 30px;
	}
	.nav_row {
		margin-bottom: 20px;
		flex-flow: column;
	}
	.list_nav {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.list_nav li:not(:last-child) {
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.list_nav .ig {
		bottom: 5px;
		right: 0;
		left: inherit;
	}
	.list_nav .ig img {
		max-width: 30px;
		min-width: 30px;
	}
	.purchase {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	.list_purchase li {
		width: 49%;
		margin-bottom: 10px;
	}
	.list_purchase li a {
		font-size: 1.2rem;
		padding: 10px;
	}
}


/* footer
-------------------------------------------------------*/
#footer.area {
	padding: 0;
}
.footer_top_box {
	background: url(../img/common/bg_footer.png)no-repeat center/cover;
	padding: 90px 40px 160px;
}
.footer_top_box .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.footer_top_box .logo {
	margin-bottom: 130px;
}
.footer_top_box .logo img {
	max-width: 150px;
}
.footer_top_box .footer_txt {
	font-size: 4.4rem;
	letter-spacing: 0.12em;
	margin-bottom: 10%;
}
.footer_top_box .right {
	max-width: 330px;
	width: 100%;
}
.footer_top_box .purchase {
	color: #404541;
}
.footer_top_box .list_purchase {
	flex-flow: column;
}
.footer_top_box .list_purchase li {
	width: 100%;
}
.footer_top_box .list_purchase li a {
	/*background: #cfc1ae;*/
	background: #afa08e;
	color: #fff;
}

.footer_nav_box {
	padding: 50px 40px 30px;
}
.footer_nav_in {
	margin-bottom: 50px;
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.footer_nav_in.sp {
	display: none;
}
.footer_nav_in .nav_row {
	margin-bottom: 0;
}
.footer_nav_in .list_nav {
	margin-right: 90px;
}
.footer_nav_in .right .list_nav {
	position: relative;
	height: 100%;
}
.footer_nav_in .ig a {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.footer_nav_in .ig span {
	margin-right: 10px;
	padding-bottom: 5px;
}
.copy {
	color: #a1a1a1;
	font-family: var(--zenkaku);
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.footer_top_box .logo {
		margin-bottom: 100px;
	}
	.footer_top_box .footer_txt {
		font-size: 2.3rem;
	}
}
@media screen and (max-width:1300px) {
	#footer .list_nav a {
		font-size: 2rem;
	}
	#footer .purchase {
		font-size: 2rem;
	}
	#footer .list_purchase li a {
		font-size: 2rem;
		padding: 15px 20px;
		border-radius: 8px;
		letter-spacing: 0.12em;
	}
}
@media screen and (max-width:1120px) {
	.footer_nav_in .list_nav {
		margin-right: 70px;
	}
	#footer .list_nav a {
		font-size: 1.8rem;
	}
	#footer .purchase {
		font-size: 1.8rem;
	}
	#footer .list_purchase li a {
		font-size: 1.8rem;
	}
	.copy {
		font-size: 1.4rem;
	}
}
@media screen and (max-width:768px) {
	.footer_top_box {
		padding: 50px 20px;
		background-position: right;
	}
	.footer_top_box .inner_l {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.footer_top_box .logo {
		margin-bottom: 50px;
	}
	.footer_top_box .logo img {
		max-width: 120px;
	}
	.footer_top_box .footer_txt {
		font-size: 2rem;
		margin-bottom: 50px;
	}

	.footer_nav_in.pc {
		display: none;
	}
	.footer_nav_in.sp {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.footer_nav_box {
		padding: 50px 20px 30px;
	}
	.footer_nav_in.sp .left {
		width: 60%;
	}
	.footer_nav_in.sp .right {
		width: 40%;
	}
	.footer_nav_in {
		margin-bottom: 50px;
	}
	.footer_nav_in .list_nav {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.footer_nav_in .list_nav a {
		font-size: 1.6rem;
	}
	.footer_nav_in .right .list_nav {
		position: inherit;
		height: inherit;
	}
	.footer_nav_in .list_nav .ig {
		position: inherit;
		bottom: 0;
		left: 0;
	}
	.footer_nav_in .list_nav .ig img {
		max-width: 25px;
		min-width: 25px;
	}
	.copy {
		font-size: 1rem;
	}
}


/* index
-------------------------------------------------------*/
.index_visual {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.visual_background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease;
  z-index: 0;
  pointer-events: none;
}

/* スクロール終了後に適用するクラス */
.visual_background.scroll-release {
  position: absolute; /* or static */
  top: auto;
}

.bg1 {
  background: url(../img/index/visual01.png)no-repeat right top/cover;
  z-index: 0;
  opacity: 1;
}

.bg2 {
  background: url(../img/index/visual02.png)no-repeat right bottom/cover;
  z-index: 1;
  opacity: 0;
}


.visual_sticky_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100vh;
  position: relative;
  z-index: 1;
  padding: 0 5% 0 17%;
}

.visual_txt {
  flex: 1;
  color: #404541;
}

.visual_txt h2 {
  font-size: 5rem;
  letter-spacing: 0.27em;
  font-weight: 400;
  margin: 0;
}

.visual_scroll_area {
  flex: 1;
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  padding-top: 80vh;
}


.line {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  line-height: 2;
  opacity: 0;
  transform: translateY(40px);
}



.nav_side {
	position: fixed;
	z-index: 100;
	left: 5%;
	bottom: 5%;
}
.nav_side li {
	will-change: opacity, transform;
}
.nav_side a {
	color: #fff;
}
.nav_side a.active {
  color: #404541 !important;
}
.nav_side .size_s {
	font-size: 2rem;
}
.side_no {
	pointer-events: none;
}

@media screen and (min-width:768px) and ( max-width:1080px) {
	.bg1 {
		background: url(../img/index/visual01.png)no-repeat right 35% bottom/cover;
	}
	.bg2 {
		background: url(../img/index/visual02.png)no-repeat right 35% bottom/cover;
		
	}
	
}
@media screen and (max-width:1400px) {
	.visual_txt h2 {
		font-size: 5.2rem;
	}
	.line {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:1130px) {
	.nav_side {
		left: 2%;
	}
	.visual_sticky_area {
		padding: 0 4% 0 5%;
	}
	.visual_txt h2 {
		font-size: 4rem;
	}
	.line {
		font-size: 1.8rem;
	}

}
@media screen and (max-width:768px) {
	.visual_txt h2 {
		font-size: 3rem;
	}
	.visual_txt {
		font-size: 2.2rem;
		margin-left: 0;
		/*margin-bottom: 60px;*/
		margin-bottom: 74%;
	}
	.visual_sticky_area {
		padding: 0 4% 0 5%;
		align-items: flex-end;
	}
	.visual_scroll_area {
		display: flex;
		position: absolute;
		bottom: 80px;
		vertical-align: bottom;
		flex-flow: column;
		justify-content: flex-end;
	}
	 .line {
		font-size: 1.6rem;
	}
	.bg1 {
		background: url(../img/index/visual01.png)no-repeat right 35% bottom/cover;
	}
	.bg2 {
		background: url(../img/index/visual02.png)no-repeat right 35% bottom/cover;
		/*position: relative;
	overflow: hidden;*/
	}
	/*
	.bg2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	filter: brightness(1.2);
	z-index: 0;
	pointer-events: none;
}*/

/* 子要素を前面に出す */
.bg2 > * {
	position: relative;
	z-index: 1;
}
}

/* visual02 */
.index_visual02 {
	background: url(../img/index/visual02.png)no-repeat top center/cover;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.index_visual02 .logo {
	padding: 80px 0 0 90px;
	position: absolute;
	left: 0;
	top: 0;
}
.index_visual02 .logo img {
	max-width: 250px;
}
.index_visual02 .inner_l {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 10%;
}
.index_visual02 .visual_txt {
	color: #fff;
}


@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.index_visual02 .logo {
		padding: 5% 0 0 5%;
	}
	.index_visual02 .logo img {
		max-width: 140px;
	}
	.index_visual02 .inner_l {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-top: 0;
	}
	.index_visual02 .inner_l .txt {
		font-size: 1.6rem;
		padding-left: 20px;
		margin-top: 30px;
	}
}

/* slider_banner */
.slider_banner.area {
	padding: 200px 0 100px;
}
.slider_banner li {
	margin: 0 25px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.slider_banner.area {
		padding: 100px 0 50px;
	}
	
}
@media screen and (max-width:768px) {
	.slider_banner.area {
		padding: 50px 0 70px;
	}
	.slider_banner li {
		margin: 0 5px;
	}
}

/* index_topics */
.index_topics.area {
	padding: 100px 40px 200px;
}
.index_topics .ttl01 {
	text-align: center;
}
.list_topics {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 120px;
}
.list_topics li {
	width: 23%;
	font-family: var(--zenkaku);
	letter-spacing: 0.08em;
}
.list_topics li .img {
	margin-bottom: 10px;
}
.list_topics li .date {
	margin-bottom: 10px;
	color: #a7a7a7;
	font-size: 2.2rem;
	font-weight: 500;
}
.index_topics .btn02 {
	text-align: center;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.index_topics.area {
		padding: 30px 20px 100px;
	}
	.list_topics {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin-bottom: 60px;
	}
	.list_topics li {
		width: 100%;
	}
	.list_topics li:not(:last-child) {
		margin-bottom: 30px;
	}
	.list_topics li .date {
		font-size: 1.6rem;
	}
}

/* index_product */
.index_product {
	background: url(../img/index/bg_product.png)no-repeat left bottom/cover;
}
.index_product .ttl01 {
	text-align: center;
}
.index_product .btn02 {
	text-align: right;
	margin-top: 70px;
}
.index_product .box_w {
	background: #fff;
	padding: 70px 30px 100px;
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.1);
}
.list_index_product {
	margin: 0 auto;
}
.list_index_product li a {
	display: flex!important;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.list_index_product li .img_l {
	width: 55%;
}
.list_index_product li .box {
	width: 37.5%;
}
.list_index_product li .ttl {
	text-align: center;
	border-bottom: 1px solid #404541;
	font-size: 1.8rem;
	margin-bottom: 20px;
	padding-bottom: 5px;
	white-space: nowrap;
}
.list_index_product li .ttl.size_ss {
	letter-spacing: -0.2em;
}
.list_index_product li .ttl.size_s {
	letter-spacing: -0.1em;
}
.list_index_product .pro_box_color {
	margin-bottom: 36px;
}
.pro_box_color.bicolor {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.pro_box_color div{
	width: 100%;
	display: block;
	height: 36px;
}
.pro_box_color.bicolor div {
	width: 48.5%;
}
.pro01_01 .color01 {
	background: #dcc9b8;
}
.pro01_01 .color02 {
	background: #932033;
}
.pro01_02 .color01 {
	background: #dcc9b8;
}
.pro01_02 .color02 {
	background: #cd7374;
}
.pro01_03 .color01 {
	background: #e0b7ae;
}
.pro01_03 .color02 {
	background: #6f423a;
}
.pro01_04 .color01 {
	background: #f4f1f4;
}
.pro01_04 .color02 {
	background: #4b5175;
}
.pro01_05 .color01 {
	background: #d3c6bc;
}
.pro01_05 .color02 {
	background: #40414c;
}
.pro01_06 .color01 {
	background: #d2d3d7;
}
.pro01_06 .color02 {
	background: #4b5175;
}
.pro01_07 .color01 {
	background: #e7d7c4;
}
.pro01_07 .color02 {
	background: #90624a;
}
.pro01_08 .color01 {
	background: #e7d4e8;
}
.pro01_08 .color02 {
	background: #2c2c6b;
}
.pro01_09 .color01 {
	background: #f5f2f5;
}
.pro01_09 .color02 {
	background: #7e7e9c;
}
.pro02_01 .color01 {
	background: #d8c9b8;
}
.pro02_02 .color01 {
	background: #ddc2b8;
}
.pro02_03 .color01 {
	background: #f4f1f4;
}
.pro02_04 .color01 {
	background: #bbb0a8;
}
.pro02_05 .color01 {
	background: #a7a7a5;
}
.list_index_product {
	position: relative;
}
.list_index_product::after {
	position: absolute;
	display: block;
	content: "他のカラーを見る";
	line-height: 1;
	font-family: var(--zenkaku);
	letter-spacing: 0.08em;
	right: 120px;
	bottom: -55px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.index_product {
		background: url(../img/index/bg_product.png)no-repeat left 40% bottom/cover;
	}
	
}
@media screen and (max-width:768px) {
	.index_product {
		background: url(../img/index/bg_product.png)no-repeat left 40% top/cover;
	  }
	.index_product .btn02 {
		margin-top: 30px;
	}
	.index_product .box_w {
		padding: 20px 20px 70px;
	}
	.list_index_product li .sp_img_box {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.list_index_product li .img_l {
		width: 48%;
	}
	.list_index_product li .img_s {
		width: 48%;
	}
	.list_index_product li .box {
		width: 100%;
	}
	.list_index_product .pro_box_color {
		margin-bottom: 20px;
	}
	.pro_box_color div{
		height: 30px;
	}
	.list_index_product::after {
		right: 100px;
		bottom: -30px;
	}	
}

/* index_benefits */
.index_benefits .ttl01 {
	text-align: center;
	/*margin-bottom: 160px;*/
}
.list_index_benefits {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 120px;
}
.list_index_benefits li {
	width: 48%;
	text-align: center;
}
.list_index_benefits li .img {
	margin-bottom: 30px;
}
.list_index_benefits li .ttl {
	margin-bottom: 20px;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
}
.list_index_benefits li .txt {
	color: #a7a7a7;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	font-family: var(--zenkaku);
}
.list_index_benefits li:last-child {
	margin-top: 10%;
}
.index_benefits .btn02 {
	text-align: center;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_index_benefits li .ttl {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	.list_index_benefits li .txt {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:768px) {
	.index_benefits .ttl02 {
		margin-bottom: 50px;
	}
	.list_index_benefits {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-bottom: 50px;
	}
	.list_index_benefits li {
		width: 85%;
		text-align: center;
	}
	.list_index_benefits li:last-child {
		margin: 0 0 0 auto;
	}
	.list_index_benefits li .img {
		margin-bottom: 20px;
	}
	.list_index_benefits li .ttl {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	.list_index_benefits li .txt {
		font-size: 1.4rem;
		letter-spacing: 0.08em;
	}
	.list_index_benefits li:last-child {
		margin-top: 50px;
	}
}

/* index_instagram */
.index_instagram.area {
	padding: 50px 0 200px;
}
.index_instagram .ttl01 {
	text-align: center;
	margin-bottom: 100px;
}
.slider_instagram01 {
	margin-bottom: 5px;
}
.slider_instagram01 li, .slider_instagram02 li {
	margin: 0 2.5px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.index_instagram.area {
		padding: 50px 0 100px;
	}
	.index_instagram .ttl01 {
		margin-bottom: 50px;
	}
}

/* index_mask_x */
.index_mask_x {
	background: url(../img/index/bg_mask.png)no-repeat center/cover;
}
.index_mask_x.area {
	padding: 200px 40px;
}
.list_mask_x li {
	background: #fff;
	width: 83%;
	margin: 0 0 0 auto;
}
.list_mask_x li>a {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
}
.list_mask_x li:nth-child(2n) {
	margin: 0;
}
.list_mask_x li:not(:last-child) {
	margin-bottom: 80px;
}
.list_mask_x li .txt_box {
	width: 43%;
	padding: 70px 0 70px 100px;
	box-sizing: border-box;
}
.list_mask_x li .txt_box .mask_x {
	font-size: 4.5rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: relative;
	line-height: 1;
	display: inline-block;
	margin-bottom: 30px;
	font-family: var(--cormorant);
}
.list_mask_x li .txt_box .mask_x::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/cross.png)no-repeat right center/27px 27px;
	width: 27px;
	height: 27px;
	right: -40px;
	top: 12px;
}
.list_mask_x li .txt_box .ttl {
	font-size: 9rem;
	letter-spacing: 0.04em;
	position: absolute;
	z-index: 5;
	line-height: 1;
	font-family: var(--cormorant);
}
.list_mask_x li:first-child .txt_box .ttl {
	color: #e1ba8b;
}
.list_mask_x li:nth-child(2) .txt_box .ttl {
	color: #dc92a1;
}
.list_mask_x li:nth-child(3) .txt_box .ttl {
	color: #91c4ba;
}
.list_mask_x li:last-child .txt_box .ttl {
	color: #d5b6d0;
}
.list_mask_x li .txt_box .txt {
	margin-top: 150px;
	font-size: 2.6rem;
	letter-spacing: 0.03em;
	line-height: 2;
}
.list_mask_x li .img_box {
	position: relative;
	width: 57%;
}
.list_mask_x li .btn02 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	text-align: right;
}
.list_mask_x li .btn02 span {
	color: #404541;
	margin-right: -40px;
}
.list_mask_x li .btn02 span::after {
	background: #404541;
}
.list_mask_x li:first-child .btn02  {
	background: #e1ba8b;
}
.list_mask_x li:nth-child(2) .btn02  {
	background: #dc92a1;
}
.list_mask_x li:nth-child(3) .btn02  {
	background: #91c4ba;
}
.list_mask_x li:last-child .btn02  {
	background: #d5b6d0;
}
@media screen and (min-width:768px) and ( max-width:1140px) {
	.list_mask_x li {
		width: 90%;
	}
	.list_mask_x li .txt_box {
		width: 43%;
		padding: 70px 0 70px 5%;
	}
	.list_mask_x li .txt_box .mask_x {
		font-size: 3.6rem;
		margin-bottom: 0;
	}
	.list_mask_x li .txt_box .mask_x::after {
		background: url(../img/common/cross.png)no-repeat right center/22px 22px;
		width: 22px;
		height: 22px;
		right: -30px;
		top: 7px;
	}
	.list_mask_x li .txt_box .ttl {
		font-size: 5.6rem;
	}
	.list_mask_x li .txt_box .txt {
		margin-top: 70px;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	}
@media screen and (max-width:768px) {
	.index_mask_x.area {
		padding: 100px 20px;
	}
	.list_mask_x li {
		width: 90%;
	}
	.list_mask_x li>a {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.list_mask_x li:not(:last-child) {
		margin-bottom: 50px;
	}
	.list_mask_x li .txt_box {
		width: 100%;
		padding: 30px;
	}
	.list_mask_x li .txt_box .mask_x {
		font-size: 2.4rem;
		margin-bottom: 10px;
	}
	.list_mask_x li .txt_box .mask_x::after {
		background: url(../img/common/cross.png)no-repeat right center/15px 15px;
		width: 15px;
		height: 15px;
		right: -25px;
		top: 6px;
	}
	.list_mask_x li .txt_box .ttl {
		font-size: 5rem;
	}
	.list_mask_x li .txt_box .txt {
		margin-top: 70px;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	.list_mask_x li .img_box {
		width: 100%;
	}
	.list_mask_x li .btn02 {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
		text-align: right;
	}
	.list_mask_x li .btn02 span {
		margin-right: -25px;
	}
}

/* index_concept */
.index_concept  {
	background: url(../img/index/bg_concept.png)no-repeat center bottom/cover;
}
.index_concept.area {
	padding: 200px 40px;
}
.index_concept .ttl02 {
	margin-bottom: 90px;
}
.index_concept .txt {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 2;
	margin-bottom: 60px;
}
.index_concept .txt span {
	vertical-align: top;
	font-size: 1.4rem;
}
.index_concept .caution {
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.index_concept .txt {
		font-size: 2rem;
	}
}
@media screen and (max-width:768px) {
	.index_concept  {
		background: url(../img/index/bg_concept_sp.png)no-repeat right bottom/cover;
	}
	.index_concept.area {
		padding: 80px 20px 150px;
	}
	.index_concept .ttl02 {
		margin-bottom: 50px;
	}
	.index_concept .txt {
		font-size: 1.6rem;
		margin-bottom: 40px;
	}
	.index_concept .txt span {
		font-size: 1.2rem;
	}
	.index_concept .caution {
		font-size: 1.2rem;
	}
	
}

/* mid_contact */
.mid_contact {
	background: #f1efe9;
	text-align: center;
}
.mid_contact .txt {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	line-height: 2;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.mid_contact .txt {
		font-size: 1.8rem;
		letter-spacing: 0.05em;
		line-height: 2;
	}
}

/* lower common
-------------------------------------------------------*/
.lower_visual {
	height: 590px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.lower_visual {
		height: 450px;
	}
}

/* topics
-------------------------------------------------------*/
.topics .lower_visual {
	background: url(../img/topics/bg_topics.png)no-repeat center/cover;
}
.topics .topics_area01.area {
	padding: 0 40px 200px;
	margin-top: -270px;
}
.topics_area01 .ttl01 {
	margin-bottom: 100px;
}
.topics .list_topics {
	flex-flow: row wrap;
	margin-bottom: 120px;
}
.topics .list_topics li {
	width: 32%;
	margin-bottom: 100px;
}
.topics .list_topics li .img {
	margin-bottom: 20px;
}
.btn_back a {
	font-size: 3rem;
	font-weight: 500;
	font-family: var(--cormorant);
	letter-spacing: 0.06em;
	position: relative;
	padding-left: 60px;
	line-height: 1;
}
.btn_back a::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/arrow_back.png)no-repeat left center/25px 20px;
	width: 25px;
	height: 20px;
	left: 0;
	top: 9px;
}
.pager {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}
.pager li {
	margin: 0 15px;
}
.pager li:first-child,.pager li:last-child {
	margin: 0 35px;
}
.pager img {
	max-width: 47px;
}
.pager li a {
	color: #dadbdb;
}
.pager li a.on {
	color: #404541;
}
.topics_area01 .pager {
	margin-top: -40px;
}
/* detail */
.topics.topics_detail .lower_visual {
	background: none;
}
.topics_detail_box {
	font-family: var(--zenkaku);
	letter-spacing: 0.08em;
}
.topics_detail_box .img {
	margin-bottom: 50px;
}
.topics_detail_box .date {
	color: #a7a7a7;
	font-size: 2.2rem;
	font-weight: 500;
	margin-bottom: 20px;
}
.topics_detail_box .ttl {
	font-weight: 700;
	font-size: 2.6rem;
	margin-bottom: 40px;
}
.topics_detail_box .txt {
	font-size: 1.8rem;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.topics .topics_area01.area {
		padding: 0 20px 130px;
		margin-top: -130px;
	}
	.topics_area01 .ttl01 {
		margin-bottom: 50px;
	}
	.topics .list_topics {
		flex-flow: row wrap;
		justify-content: flex-start;
		margin-bottom: 70px;
	}
	.topics .list_topics li {
		width: 48%;
		margin-bottom: 50px;
	}
	.topics .list_topics li:not(:nth-child(2n)) {
		margin-right: 4%;
	}
	.topics .list_topics li .img {
		margin-bottom: 10px;
	}
	.btn_back a {
		font-size: 2rem;
		padding-left: 30px;
	}
	.btn_back a::before {
		background: url(../img/common/arrow_back.png)no-repeat left center/17px 14px;
		width: 17px;
		height: 14px;
		left: 0;
		top: 4px;
	}
	.pager li {
		margin: 0 10px;
		font-size: 1.2rem;
	}
	.pager li img {
		max-width: 30px;
	}
	.pager li:first-child,.pager li:last-child {
		margin: 0 30px;
	}
	.topics_area01 .pager {
		margin-top: -80px;
	}
	/* detail */
	.topics_detail_box .img {
		margin-bottom: 30px;
	}
	.topics_detail_box .date {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	.topics_detail_box .ttl {
		font-weight: 700;
		font-size: 2.2rem;
		margin-bottom: 30px;
	}
	.topics_detail_box .txt {
		font-size: 1.6rem;
	}

	.topics_detail .lower_visual {
		height: 300px;
	}
	
}

/* product
-------------------------------------------------------*/
.product {
	position: relative;
}
.product .lower_visual {
	background: url(../img/product/bg_product.png)no-repeat center/cover;
}
.product_area01.area {
	padding: 150px 40px 0;
}
.product .ttl01 {
	margin-bottom: 100px;
}
.product_ttl {
	font-size: 2.6rem;
	margin-bottom: 150px;
	padding-bottom: 20px;
	border-bottom: 1px solid #404541;
}
.list_product li {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 190px;
}
.list_product li:nth-child(2n) {
	flex-flow: row-reverse;
}
.list_product li .txt_box {
	width: 56%;
}
.list_product li .ttl {
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #404541;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
.list_product .pro_box_color {
	margin-bottom: 65px;
}
.list_product .pro_box_color div {
	height: 54px;
	position: relative;
}
#pro02 .pro_box_color div {
	max-width: 265px;
	margin: 0 auto;
}
.list_product .pro_box_color span {
	position: absolute;
	left: 0;
	bottom: -30px;
	font-weight: 500;
	font-family: var(--cormorant);
	letter-spacing: 0.06em;
	width: 100%;
	text-align: center;
}
.list_product li .img {
	width: 36%;
}
#btn_purchase {
	position: fixed;
	right: 0;
	z-index: 900;
	bottom: 10%;
	background: #d19ea7;
	border-radius: 12px 0 0 12px;
	color: #fff;
	width: 400px;
	font-size: 2.2rem;
	letter-spacing: 0.05;
	height: 90px;
	display: block;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .3s;
}
#btn_purchase:hover {
	opacity: 0.7;
	cursor: pointer;
}
#btn_purchase span {
	position: relative;
	padding-left: 60px;
}
#btn_purchase span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_cart.png)no-repeat left center/45px 37px;
	width: 45px;
	height: 37px;
	left: 0;
	top: 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.product .lower_visual {
		background: url(../img/product/bg_product.png)no-repeat right 38% center/cover;
	}
	.product_area01.area {
		padding: 80px 20px 0;
	}
	.product .ttl01 {
		margin-bottom: 50px;
	}
	.product_ttl {
		font-size: 2.2rem;
		margin-bottom: 80px;
	}
	.list_product li {
		margin-bottom: 100px;
	}
	.list_product li .txt_box {
		width: 100%;
	}
	.list_product li .ttl {
		font-size: 1.8rem;
	}
	.list_product li .sp_box {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: space-between;
		margin-bottom: 30px;
	}
	.list_product li .sp_box .img {
		width: 50%;
		text-align: center;
	}
	.list_product li .sp_box .img img {
		width: 80%;
	}
	.list_product .pro_box_color {
		flex-flow: column;
		margin-bottom: 0;
		width: 45%;
	}
	.list_product .pro_box_color div {
		height: 40px;
		width: 100%;
	}
	.list_product .pro_box_color .color02 {
		margin-top: 30px;
	}
	#pro02 .pro_box_color div {
		max-width: 100%;
	}
	.list_product .pro_box_color span {
		bottom: -25px;
	}
	#btn_purchase {
		bottom: 90px;
	}
	#btn_purchase {
		width: 200px;
		font-size: 1.4rem;
		height: 50px;
	}
	#btn_purchase span {
		padding-left: 40px;
	}
	#btn_purchase span::before {
		background: url(../img/common/icon_cart.png)no-repeat left center/27px 25px;
		width: 27px;
		height: 25px;
	}
	
}
/* tab */
.tab_button_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.tab_button_box.single {
	justify-content: center;
}
.tab_button {
	width: 31%;
	background: #D0D1D1;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	border: none;
	font-family: "Shippori Mincho", serif;
	position: relative;
	color: #525757;
	cursor: pointer;
}
.tab_button::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/product/tab_arrow02.png)no-repeat right center/11px 6px;
	width: 11px;
	height: 6px;
	right: 10px;
	top: 12px;
}
.tab_button.active {
	background: #f1efe9;
}
.tab_button.active::after {
	background: url(../img/product/tab_arrow01.png)no-repeat right center/11px 6px;
}
.tab_cont {
	overflow: hidden;
	height: 0;
	transition: height 0.7s ease;
	border-top: none;
}
.tab_cont_box {
	background: #f1efe9;
	padding: 30px;
	font-family: var(--zenkaku);
	font-size: 1.4rem;
	font-weight: 500;
}
.tab_cont_box dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	line-height: 1;
	padding: 0 20px;
	letter-spacing: 0.08em;
}
.tab_cont_box dl:not(:last-child) {
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.tab_cont_box dl dt {
	background: #fff;
	border-radius: 50px;
	padding: 10px 0;
	width: 100px;
	min-width: 100px;
	text-align: center;
	margin-right: 30px;
}
.tab_cont_box dl dd span {
	margin-right: 30px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.tab_cont_box {
		padding: 30px 20px;
	}
	.tab_cont_box dl {
		padding: 0;
	}
	.tab_cont_box dl dt {
		width: 100px;
		margin-right: 20px;
	}
	.tab_cont_box dl dd span {
		margin-right: 30px;
	}	
}
@media screen and (max-width:768px) {
	.tab_button {
		font-size: 1.6rem;
	}
	.tab_cont_box {
		padding: 20px 10px;
		font-size: 1.2rem;
	}
	.tab_cont_box dl {
		padding: 0;
	}
	.tab_cont_box dl dt {
		padding: 5px 0;
		width: 75px;
		min-width: 75px;
		margin-right: 10px;
	}
	.tab_cont_box dl dd span {
		margin-right: 10px;
	}
	
}

/* benefits */
#benefits {
	background: #fcfbfb;
}
#benefits .ttl02 {
	text-align: center;
	margin-bottom: 120px;
}
.list_benefits {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 100px;
}
.list_benefits li {
	width: 48%;
	margin: 0 4% 50px 0;
}
.list_benefits li:nth-child(2n) {
	margin-right: 0;
	margin-top: 20%;
}
.list_benefits .img {
	margin-bottom: 20px;
}
.list_benefits .ttl {
	margin-bottom: 20px;
	text-align: center;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
}
.list_benefits .txt {
	color: #a7a7a7;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	font-family: var(--zenkaku);
}
.list_benefits.no05 {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 200px;
}
.list_benefits.no05 .left_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	width: 50%;
}
.list_benefits.no05 .num {
	margin-right: 40px;
	width: 15%;
}
.list_benefits.no05 .num img {
	max-width: 93px;
	min-width: 93px;
}
.list_benefits.no05 .txt_box {
	width: 85%;
	padding-top: 10px;
}
.list_benefits.no05 .left_box .ttl, .list_benefits.no05 .left_box .txt {
	text-align: left;
}
.list_benefits.no05 .img {
	width: 50%;
}
.list_benefits.no05 .img_table {
	margin: 20px 0;
}
.list_benefits.no05 .img_table img {
	max-width: 375px;
}
.list_benefits.no05 .caution {
	font-family: var(--zenkaku);
	letter-spacing: 0.04em;
}
.size_box {
	border: 1px solid #d19ea7;
	background: #fff;
	padding: 70px 70px 100px;
}
.size_ttl {
	text-align: center;
	color: #d19ea7;
	font-size: 3.3rem;
	font-weight: 500;
	font-family: var(--cormorant);
	letter-spacing: 0.06em;
	margin-bottom: 70px;
}
.size_box .box_in {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-end;
	justify-content: space-between;
}
.size_box .box_in .img {
	width: 33%;
}
.size_box .box_in .txt_box {
	width: 60%;
}
.size_box .box_in table {
	width: 100%;
	text-align: center;
	border: 10px solid #fff;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}
.size_box .box_in table tr:not(:first-child) {
	border-bottom: 1px solid #a7a7a7;
}
.size_box .box_in table th.gray {
	background: #e0e0e0;
	width: 30%;
}
.size_box .box_in table th {
	border: 10px solid #fff;
}
.size_box .box_in table td {
	padding: 15px;
}
.size_box .txt {
	color: #d19ea7;
	font-size: 1.8rem;
	font-family: var(--zenkaku);
	letter-spacing: 0.08em;
	line-height: 2;
	padding-left: 8%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_benefits .ttl {
		font-size: 2rem;
	}
	.list_benefits .txt {
		font-size: 1.6rem;
	}
	.list_benefits.no05 .num {
		margin-right: 20px;
	}
	.list_benefits.no05 .num img {
		max-width: 60px;
		min-width: 60px;
	}
	.list_benefits.no05 .txt_box {
		padding-top: 5px;
		margin-right: 20px;
	}
	.size_box {
		padding: 40px 40px 70px;
	}
	.size_box .box_in {
		align-items: center;
	}
	.size_box .box_in table {
		font-size: 1.8rem;
	}
	.size_box .box_in table td {
		vertical-align: middle;
	}
}
@media screen and (max-width:768px) {
	#benefits .ttl02 {
		margin-bottom: 50px;
	}
	.list_benefits {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-bottom: 50px;
	}
	.list_benefits li {
		width: 85%;
		margin: 0 0 50px;
	}
	.list_benefits li:nth-child(2n) {
		margin-right: 0;
		margin-top: 0;
		margin: 0 0 0 auto;
	}
	.list_benefits .ttl {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	.list_benefits .txt {
		font-size: 1.4rem;
	}
	.list_benefits.no05 {
		flex-flow: column;
		align-items: flex-start;
		justify-content: space-between;
		margin-bottom: 100px;
	}
	.list_benefits.no05 .left_box {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
	}
	.list_benefits.no05 .num {
		margin-right: 20px;
		width: 13%;
	}
	.list_benefits.no05 .num img {
		max-width: 93px;
		min-width: inherit;
	}
	.list_benefits.no05 .txt_box {
		width: 80%;
		padding-top: 5px;
	}
	.list_benefits.no05 .img {
		width: 80%;
		margin: 30px auto 0;
	}
	.list_benefits.no05 .caution {
		font-size: 1.2rem;
	}
	.size_box {
		padding: 30px 20px 50px;
	}
	.size_ttl {
		font-size: 3rem;
		margin-bottom: 30px;
	}
	.size_box .box_in {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.size_box .box_in .img {
		width: 60%;
		margin: 0 auto 20px;
	}
	.size_box .box_in .txt_box {
		width: 100%;
	}
	.size_box .box_in table {
		border: 5px solid #fff;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.size_box .box_in table th {
		border: 5px solid #fff;
	}
	.size_box .box_in table td {
		padding: 10px;
	}
	.size_box .txt {
		font-size: 1.4rem;
		line-height: 1.6;
		padding-left: 0;
	}
	
}



/* mask x ...
-------------------------------------------------------*/
/* common */
.mask_x_detail_area01.area {
	padding: 100px 40px 200px;
}
.mask_ttl {
	font-size: 4.5rem;
	font-family: var(--cormorant);
	font-weight: 500;
	line-height: 1;
	margin-bottom: 40px;
}
.mask_ttl .cross {
	letter-spacing: 0.06em;
	position: relative;
}
.mask_ttl .cross::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/cross_w.png)no-repeat right center/27px 27px;
	width: 27px;
	height: 27px;
	right: -40px;
	top: 15px;
}
.mask_ttl .size_l {
	letter-spacing: 0.04em;
	font-size: 9rem;
	display: block;
	margin-top: 15px;
}
.mask_x_detail_area01 .sub_ttl {
	font-size: 3.8rem;
	margin-bottom: 30px;
	letter-spacing: 0.05em;
}
.mask_x_detail_area01 .txt {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	margin-bottom: 100px;
}
.list_mask_x_img {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
	
	max-width: 900px;
	margin: 0 auto;
	margin-bottom: 100px;
}
.list_mask_x_img li {
	width: 30%;
	margin: 0 5% 5% 0;
}
.list_mask_x_img li:nth-child(3n) {
	margin-right: 0;
}
.col_fashion {
	color: #e1ba8b;
}
.col_make {
	color: #dc92a1;
}
.col_hair {
	color: #91c4ba;
}
.col_other {
	color: #d5b6d0;
}
.list_mask_x_link {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 80px;
}
.list_mask_x_link .mask_ttl {
	font-size: 3rem;
	margin-bottom: 0;
}
.list_mask_x_link .mask_ttl .cross::after {
	background: url(../img/common/cross.png)no-repeat right center/17px 17px;
	width: 17px;
	height: 17px;
	right: -25px;
	top: 10px;
  }
.list_mask_x_link .size_l {
	font-size: 4.7rem;
	margin-top: 5px;
}
.list_mask_x_link li {
	width: 25%;
	padding: 0 40px;
}
.list_mask_x_link a {
	position: relative;
	display: block;
	width: 100%;
}
.list_mask_x_link a::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/arrow_right.png)no-repeat right center/25px 20px;
	width: 25px;
	height: 20px;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.mask_x_detail_area01.area {
		padding: 40px 20px 100px;
	}
	.mask_ttl {
		font-size: 3.6rem;
		margin-bottom: 30px;
	}
	.mask_ttl .cross::after {
		background: url(../img/common/cross.png)no-repeat right center/20px 20px;
		width: 20px;
		height: 20px;
		right: -30px;
		top: 13px;
	}
	.mask_ttl .size_l {
		font-size: 6rem;
		margin-top: 10px;
	}
	.mask_x_detail_area01 .sub_ttl {
		font-size: 2.4rem;
	}
	.mask_x_detail_area01 .txt {
		font-size: 1.8rem;
		margin-bottom: 50px;
	}
	.list_mask_x_img {
		margin-bottom: 50px;
	}
	.list_mask_x_img li {
		width: 48%;
		margin: 0 4% 4% 0;
	}
	.list_mask_x_img li:nth-child(3n) {
		margin-right: 4%;
	}
	.list_mask_x_img li:nth-child(2n) {
		margin-right: 0;
	}
	.list_mask_x_link {
		flex-flow: column;
		align-items: flex-start;
		justify-content: space-between;
		max-width: 80%;
		margin: 80px auto 0;
	}
	.list_mask_x_link .mask_ttl {
		font-size: 2rem;
		margin-bottom: 0;
	}
	.list_mask_x_link .mask_ttl .cross::after {
		background: url(../img/common/cross.png)no-repeat right center/10px 10px;
		width: 10px;
		height: 10px;
		right: -15px;
		top: 8px;
	}
	.list_mask_x_link .size_l {
		font-size: 3.4rem;
		margin-top: 5px;
	}
	.list_mask_x_link li {
		width: 100%;
		padding: 0;
	}
	.list_mask_x_link li:not(:last-child) {
		margin-bottom: 20px;
	}
}

/* fashion */
.mask_x.fashion .lower_visual {
	background: url(../img/fashion/bg_fashion.png)no-repeat center/cover;
}
.mask_x.fashion .mask_x_detail_area01 {
	background: #faf1e3;
}
.mask_x.fashion .sub_ttl {
	color: #e1ba8b;
}
.mask_x.fashion .pager li a.on {
	color: #e1ba8b;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.mask_x.fashion .lower_visual {
	background: url(../img/fashion/bg_fashion_sp.png)no-repeat center/cover;
}

}

/* make */
.mask_x.make .lower_visual {
	background: url(../img/make/bg_make.png)no-repeat center/cover;
}
.mask_x.make .mask_x_detail_area01 {
	background: #f5e7e9;
}
.mask_x.make .sub_ttl {
	color: #dc92a1;
}
.mask_x.make .pager li a.on {
	color: #dc92a1;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
.mask_x.make .lower_visual {
	background: url(../img/make/bg_make_sp.png)no-repeat center/cover;
}
}

/* hair */
.mask_x.hair .lower_visual {
	background: url(../img/hair/bg_hair.png)no-repeat center/cover;
}
.mask_x.hair .mask_x_detail_area01 {
	background: #ebf4f1;
}
.mask_x.hair .sub_ttl {
	color: #91c4ba;
}
.mask_x.hair .pager li a.on {
	color: #91c4ba;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
.mask_x.hair .lower_visual {
	background: url(../img/hair/bg_hair_sp.png)no-repeat center/cover;
}
}

/* other */
.mask_x.other .lower_visual {
	background: url(../img/other/bg_other.png)no-repeat center/cover;
}
.mask_x.other .mask_x_detail_area01 {
	background: #f9f4f7;
}
.mask_x.other .sub_ttl {
	color: #d5b6d0;
}
.mask_x.other .pager li a.on {
	color: #d5b6d0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
.mask_x.other .lower_visual {
	background: url(../img/other/bg_other_sp.png)no-repeat center/cover;
}
}

/* contact
-------------------------------------------------------*/
#contact .inner {
	max-width: 700px;
}
#contact .table_temp {
	width: 100%;
}
#contact.contact_after .inner {
	padding: 0;
}
#contact tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#contact tr>* {
	display: table-cell;
	vertical-align: middle;
	padding: 20px 10px;
	box-sizing: border-box;
	line-height: 1;
}
#contact tr th {
	width: 220px;
	text-align: left;
}
#contact tr th b {
	display: block;
	position: relative;
	font-weight: normal;
}
#contact tr.hissu th b::after,
#contact tr.nini th b::after {
	color: #fff;
	font-weight: 500;
	font-size: 1.2rem;
	width: 34px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
#contact tr.hissu th b::after {
	content: "必須";
	background: #f00;
}
#contact tr.nini th b::after {
	content: "任意";
	background: #777;
}
#contact.contact_after tr {
	border-bottom: 1px solid #ccc;
}
#contact.contact_after tr:first-child {
	border-top: 1px solid #ccc;
	margin: 30px 0 0;
}
#contact.contact_after tr th {
	color: #aaa;
}
#contact.contact_after tr td {
	font-weight: 500;
}
.txt_form .red,
.error_messe b {
	color: #f00;
	font-weight: normal;
}
.error_messe {
	margin: 20px 0 0;
	text-align: center;
	line-height: 1.3;
}
.error_messe>* {
	display: inline-block;
}
#contact input[type="text"],
#contact select,
#contact textarea {
	width: 100%;
}
#contact input[type="text"],
#contact select {
	height: 40px;
}
#contact textarea {
	min-height: 150px;
	resize: vertical;
}
#contact .radio_area label,
#contact .check_area label {
	display: inline-block;
	margin: 5px 5px 5px 0;
	line-height: 1.3;
}
#contact .txt_form {
	text-align: center;
	line-height: 1.4;
}
#contact .txt_form span {
	display: block;
}
::placeholder {
	color: #ccc;
}
#contact .form_btn {
	display: flex;
	flex-flow: row-reverse nowrap;
	align-items: center;
	justify-content: space-evenly;
}
#contact .form_btn01,
#contact .form_btn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	max-width: 260px;
	height: 50px;
	border: none;
	border-radius: 5px;
	padding: 10px;
	margin: 30px auto 0;
	box-sizing: border-box;
	font-size: 120%;
	color: #fff;
	line-height: 1;
    text-align: center;
}
#contact .form_btn01 {
	background: #f00;
}
#contact .form_btn02 {
	background: #333;
}
#contact .privacy {
	border: 1px solid #aeaeae;
	padding: 30px;
	height: 250px;
	overflow: scroll;
	overflow-x: hidden;
	box-sizing: border-box;
	margin: 20px 0 0;
}
#contact .privacy .ttl_privacy {
	text-align: center;
	font-size: 120%;
	margin: 0 0 30px;
}
#contact .privacy .sub_ttl {
	font-weight: 700;
	margin: 0 0 20px;
}
#contact .privacy .txt {
	font-size: 90%;
	line-height: 1.6;
	margin: 0 0 40px;
}
#contact .privacy .date {
	text-align: right;
	font-size: 90%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#contact .txt_head {
		font-size: 100%;
	}
	#contact.contact_after tr:first-child {
		margin: 20px 0 0;
	}
	#contact tr>* {
		display: block;
		padding: 15px 0;
		line-height: 1.3;
	}
	#contact tr th {
		width: 100%;
		font-size: 100%;
	}
	#contact tr td {
		padding-top: 0;
	}
	#contact tr.hissu th b::after,
	#contact tr.nini th b::after {
		top: 0!important;
		right: 0!important;
		bottom: 0!important;
	}
	#contact .radio_area label,
	#contact .check_area label {
		display: flex;
		align-items: center;
	}
	#contact .form_btn {
		flex-flow: column;
	}
	#contact .form_btn01,
	#contact .form_btn02 {
		margin: 20px 0 0;
		font-size: 100%;
		height: 50px;
	}
	#contact .privacy {
		padding: 20px;
		height: 200px;
	}
	#contact .privacy .ttl_privacy {
		font-size: 110%;
		margin: 0 0 20px;
	}
	#contact .privacy .sub_ttl {
		font-size: 90%;
	}
	#contact .privacy .txt {
		font-size: 80%;
		margin: 0 0 30px;
	}
}




.top_ca {
	padding: 0 40px;
}

.top_ca_inner {
	max-width: 1280px;
	margin: 0 auto;
	padding-top: 160px;
}

.top_ca .mask_ttl {
	margin-bottom: 10px;
}
.top_ca h3 {
	color: #fff;
}
.top_ca h3 span {
	color: #fff;
}
.top_ca .sub_ttl {
	color: #404541 !important;
	font-size: 3.5rem;
}

@media screen and (max-width:768px) {
.top_ca_inner {
	padding-top: 250px;
}
	.top_ca .sub_ttl {
	font-size: 2rem;
}
}


.mt50 {
	margin-top: 50px;
}
@media screen and (max-width:768px) {
.mt50 {
	margin-top: 30px;
}
}


/* visumo
-------------------------------------------------------*/

/*トップページスライド*/
.ecbn-selection-title {
	display: none;
}

.ecbn-selection-description {
	display: none;
}

.ecbn-selection-to-nextpage {
	display: none;
}

.ecbn-selection-widget {
	max-width: 1920px;
}


/*下層ページ*/

.ecbn-selection-widget {
	max-width: 100% !important;
}
.ecbn-selection-content {
	max-width: 1000px !important;
	margin: 0 auto !important;;
}
@media (min-width: 1201px) {
.ecbn-selection-content {
	max-width: 1000px !important;
	margin: 0 auto !important;;
}	
}

.fashion .ecbn-selection-page-wrapper .ecbn-selection-more-btn {
	border: 1px solid #e1ba8b;
	background: #e1ba8b;
	color: #fff;
}
.hair .ecbn-selection-page-wrapper .ecbn-selection-more-btn {
	border: 1px solid #91c4ba;
	background: #91c4ba;
	color: #fff;
}
.make .ecbn-selection-page-wrapper .ecbn-selection-more-btn {
	border: 1px solid #dc92a1;
	background: #dc92a1;
	color: #fff;
}
.other .ecbn-selection-page-wrapper .ecbn-selection-more-btn {
	border: 1px solid #d5b6d0;
	background: #d5b6d0;
	color: #fff;
}



.i_logo {
	max-width: 286px;
	margin-bottom: 20px;
}
.copy {
	font-size: 1.4rem;
}
@media screen and (max-width:768px) {
.i_logo {
	max-width: 250px;
}
.copy {
	font-size: 1.2rem;
}
}



/* vismo 20250528 */
.ecbn-selection-slide-wrapper {
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative;
}
.ecbn-selection-snap {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ecbn-selection-snap li {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}
.ecbn-selection-slider-controls {
	display: none;
}



/* sp ハンバーガーメニュー　２列化
-------------------------------------------------------*/
#nav .sp_row {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: flex-start;
}
@media screen and (max-width:768px) {
	.nav_row {
		flex-flow: row nowrap;
		margin-bottom: 50px;
	}
	.nav_row>.list_nav {
		width: 55%;
	}
	#nav .sp_row {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		width: 45%;
	}
	#nav .sp_row .list_nav {
		width: 100%;
	}
	 .list_nav .ig {
		bottom: -35px;
		right: inherit;
		left: 0;
	}
}