main {
	background: #f8f2f2;
}

article {
	max-width: 700px;
	margin: 0 auto;
	background: #fff;
}

.br-sp {
	display: none;
}


/*--------------------------------------
 CTA
----------------------------------------*/
#mes {
	width: 90%;
	margin: 0 auto;
	/* border-top: dotted 1px #d3d3d3; */
	text-align: center;
}

#mes h2 {
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	text-decoration: underline;
}

#mes p.title {
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.5;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
}

#mes p.title::before,
#mes p.title::after {
	width: 1px;
	height: 26px;
	content: "";
	background-color: #b0965d;
	position: absolute;
	top: -3px;
}

#mes p.title::before {
	margin-right: 1em;
	transform: rotate(-30deg);
	left: 13%;
}

#mes p.title::after {
	margin-left: 1em;
	transform: rotate(30deg);
	right: 13%;
}

#mes .btn {
	background-color: #f6a6a8;
	border-radius: 15px;
	position: relative;
}

#mes .btn_reserve {
	background-color: #b0965d;
}

#mes .btn a {
	padding: 5% 0;
	display: block;
	width: 100%;
	height: 100%;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
}

#mes .btn i {
	width: 15%;
	position: absolute;
	top: -35%;
	left: -3%;
	transform: rotate(-10deg);
}

#mes p.family {
	margin-top: 12px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	color: #b0965d;
}

/*--------------------------------------
hero
----------------------------------------*/
#hero {
	width: 100%;
	text-align: center;
}
#hero p {
	font-size: 12px;
	line-height: 1.6;
}

/*--------------------------------------
 ABOUT
----------------------------------------*/
#about .gold {
	color: #b0965d;
}

#about .pink {
	color: #ff498b;
}

#about {
	width: 95%;
	margin: 0 auto;
}

#about .about-wrap {
	padding: 25px 1%;
	border: 2px solid #e2dbc7;
	text-align: center;
	font-weight: bold;
}

#about h2 {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

#about h2 .pink {
	font-size: 1.8rem;
}

#about h2 span {
	font-size: 1.4rem;
}

#about .image {
	display: flex;
	justify-content: space-between;
}

#about .image img {
	width: 25%;
}

#about p {
	font-size: 14px;
	font-weight: normal;
}

#about b {
	font-weight: normal;
}




/*--------------------------------------
 venue
----------------------------------------*/
#venue {
	width: 90%;
	margin: 0 auto;
}

#venue h2 {
	padding: 3% 5px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background-color: #b0965d;
	text-align: center;
}


/*--------------------------------------
 POINT
----------------------------------------*/
#point {
	padding: 50px 0 30px;
	background-color: #c3b6a6;
}

#point .title {
	position: relative;
}

#point h2 {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 0.6;
	letter-spacing: 0.02em;
	color: #fff;
	text-align: center;
}

#point h2 span {
	font-size: 10px;
	font-weight: normal;
}

#point i {
	width: 30%;
	position: absolute;
	top: -85px;
	left: 10px;
}

#point ul {
	width: 90%;
	margin: 0 auto;
}

#point ul li {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: rgba(299, 299, 299, .7)
}

#point ul li figure {
	width: 30%;
	position: relative;
	color: #fff;
}

#point ul li figure::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 50px 50px;
	border-color: transparent transparent transparent #071a38;
	position: absolute;
	left: 0;
	top: 0;
}

#point ul li figure figcaption {
	position: absolute;
	left: 5px;
	top: 0px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 30px;
	color: #fff;
	letter-spacing: 0.02em;
}

#point ul li figure figcaption small {
	padding-right: 3px;
	font-size: 0.4rem;
	line-height: 30px;
	font-weight: bold;
	color: #fff;
}

#point ul li .txt {
	width: 67%;
	margin: 0 auto;
	text-align: left;
}

#point ul li .txt p {
	width: 90%;
	margin: 3px auto 0;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #f2557c;
}

#point ul li .txt span {
	width: 90%;
	margin: 3px auto 0;
	font-size: 1.1rem;
	font-weight: bold;
	color: #071a38;
	display: block;
	line-height: 1.4;
}

#point ul li .txt p.cont {
	width: 90%;
	margin: 3px auto 0;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #333;
	font-weight: normal;
	text-align: justify;
}

#point ul li .txt .note {
	display: block;
	margin-top: 6px;
	font-size: 10px;
	font-weight: normal;
	color: #333;
}

#point ul+p {
	width: 90%;
	margin: 0 auto;
	font-size: 0.9rem;
	font-weight: normal;
}

#point .batch {
	width: 40%;
	margin: 20px auto 0;
	padding: 1%;
	font-size: 0.8em;
	color: #fff;
	text-align: center;
	background-color: #b0965d;
	border-radius: 3px;
	/* 	display: inline-block; */
}

#point ul li .txt .batch.day {
	width: 23%;
	margin-left: 1%;
}

#point .benefits {
	text-align: center;
	width: 90%;
	margin: 40px auto 0;
	color: #fff;
}

#point .benefits .title {
	font-size: 1.6rem;
	margin-bottom: 24px;
}

#point .benefits .txt {
	line-height: 1.75;
}

#point .benefits .txt span {
	font-size: 1.2rem;
	margin-bottom: 24px;
}

#point .benefits .benefits-image {
	width: 80%;
	margin: 0 auto;
}


/*--------------------------------------
 PRESENT
----------------------------------------*/
#present {
	width: 90%;
	margin: 0 auto;
}

#present .title {
	padding: 2.5% 0 2.5%;
	background-color: #2d4a74;
}

#present .title h2 {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
	color: #fff;
}

#present .title p {
	margin-bottom: 4px;
	font-size: 13px;
	color: #fff;
	text-align: center;
	line-height: 13px;
}
#present .subtitle {
	margin: 24px auto 4px;
	padding: 1% 0;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	font-weight: bold;
	color: #333;
	text-align: center;
}
#present ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

#present ul li {
	background-color: #f3f4f8;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#present ul li img {
	width: 35%;
}

#present ul li .txt-wrap {
	width: 60%;
	margin: 0 auto;
	text-align: center;
	position: relative;
}

#present ul li .txt-wrap h3 {
	width: 95%;
	margin: 10px auto 0;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.02em;
	color: #2d4a74;
}

#present ul li .txt-wrap h3 span {
	font-size: 1.1rem;
}

#present ul li .txt-wrap h3 small {
	font-size: 10px;
}

#present ul li .txt-wrap h3+p {
	margin-top: 5px;
	font-size: 1.1rem;
	line-height: 1.4;
	color: #2d4a74;
	background-color: transparent;
}

#present ul li .txt-wrap i {
	width: 50%;
	position: absolute;
	top: 70%;
	left: -55px;
}

/*--------------------------------------
 SALON
----------------------------------------*/
#salon {
	width: 90%;
	margin: 0 auto;
}

#salon h2 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #b0965d;
	text-align: center;
}

#salon .salon-wrap .area {
	margin-top: 20px;
}

#salon .salon-wrap .area p.area-name {
	padding: 1% 0;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background-color: #b0965d;
	text-align: center;
}

#salon .salon-wrap .area ul {
	margin-top: 10px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#salon .salon-wrap .area ul li {
	width: 31%;
	margin-bottom: 20px;
}

#salon .salon-wrap .area ul li p {
	margin-top: 10px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-align: center;
}
/* #salon .salon-wrap .area ul li p.event {
	margin-top: 6px;
	font-size: 10px;
	font-weight: normal;
} */

#salon .salon-wrap .area ul li p.btn {
	width: 90%;
	margin: 10px auto 0;
	padding: 5px 0;
	font-size: 0.9rem;
	text-align: center;
	color: #fff;
	border-radius: 50px;
	background-color: #ffacac;
}

#salon a:hover .btn {
	opacity: .6;
	transition: .6s;
}


/*--------------------------------------
 FEATURE
----------------------------------------*/
#feature {
	width: 90%;
	margin: 0 auto;
}

#feature h2 {
	padding: 3% 5px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background-color: #b0965d;
	text-align: center;
}

#feature ul::before {
	content: "";
	display: block;
	width: 30%;
	order: 1;
}

#feature ul::after {
	content: "";
	display: block;
	width: 30%;
}

#feature ul {
	align-items: flex-start;
}

#feature ul li {
	max-width: 30%;
	flex: 0 1 30%;
	margin-bottom: 30px;
	text-align: center;
}

#feature ul li img {
	overflow: hidden;
	border-radius: 100%;
}

#feature ul li p {
	margin-top: 10px;
	font-size: 12px;
	line-height: 1.4em;
}


/*--------------------------------------
 STYLE
----------------------------------------*/
#style {
	width: 90%;
	margin: 0 auto;
}

/* #style h2{
	font-size: 1.5rem;
	line-height: 1.4;
	color: #2d4a74;
	font-weight: bold;
	text-align: center;
}
#style h2 span{border-bottom: 5px solid #b0965d;} */
#style h2 {
	padding: 3% 0;
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background-color: #b0965d;
	text-align: center;
}

#style ul {
	margin-top: 10px;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}

#style ul li {
	width: 48%;
	margin-bottom: 15px;
}

#style ul li .txt {
	margin-top: 5px;
}

#style ul li .txt p {
	margin-bottom: 3px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #f2557c;
	text-align: center;
}

#style ul li .txt p.tag {
	font-size: 1rem;
	color: #b0965d;
	display: block;
	font-weight: normal;
}

.copyright {
	text-align: center;
	font-size: 1.4rem;
}


@media screen and (max-width: 920px) {
	#about p {
		text-align: left;
		padding: 0 20px;
	}
	#mes p.title::before, #mes p.title::after {
		top: 3px;
		height: 40px;		
	}

	#mes p.title::before {
		left: 8%;
	}

	#mes p.title::after {
		right: 8%;
	}

	#mes p.family {
		margin-top: 8px;
		font-size: 1.2rem;
	}

	#point ul li .txt p {
		font-size: 1.4rem;
	}

	#point ul li .txt p.cont {
		font-size: 1.2rem;
		line-height: 1.5;
	}

	#point .benefits p {
		font-size: 1.4rem;
		line-height: 1.5;
	}

	#point .benefits .benefits-image {
		margin: 12px auto;
	}
	#present ul {
		gap: 8px;
	}
	#present ul li .txt-wrap h3 {
    font-size: 1.2rem;
	}

	#salon .salon-wrap .area ul li p {
		font-size: 1.3rem;
	}

	.copyright {
		font-size: 0.9rem;
	}
}

@media screen and (max-width: 780px) {
	.br-sp {
		display: block;
	}

	#mes p.title::before,
	#mes p.title::after {
		top: -4px;
	}
	#point ul li figure {
		width: 38%;
	}		

}