@charset "utf-8";
/* CSS Document */

#cmn_page > section {
	padding: 110px 0;
}
#cmn_page > section:nth-child(even) {
	background: #F9FBFF;
}
#cmn_page > section:nth-child(odd) .cmn_page_h2 span,
.cuisine_cmn section:nth-child(odd) .cmn_page_h3 span {
	background: #fff;
}
#cmn_page > section:nth-child(even) .cmn_page_h2 span,
.cuisine_cmn section:nth-child(even) .cmn_page_h3 span {
	background: #F6F3F1;
}

.cmn_pageArea {
	max-width: 1260px;
	margin: 0 auto;
}
.cmn_pageBox {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9.5%;
}
#cmn_page section:nth-child(odd) .cmn_pageBox {
	flex-flow: row-reverse;
}
.cmn_pageTxt {
	max-width: 550px;
}
.cmn_pageTxt > p {
	/*
	width: 70%;
	*/
	margin: 0 auto;
	line-height: 214%;
	text-align: center;
}
.cmn_pageImg {
	position: relative;
}
#cmn_page h4 {
	font-size: 2.2rem;
	background: #fff;
	padding: 25px 10px;
	-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
	position: absolute;
	top: -60px;
	font-weight: 500;
	letter-spacing: 0.3rem;
	width: 50px;
	display: flex;
	align-items: center;
	z-index: 1;
}
#cmn_page section:nth-child(odd) h4 {
	left: 50px;
}
#cmn_page section:nth-child(even) h4 {
	right: 50px;
	background: #FAF8F7;
}


@media screen and (max-width: 1536px) {
	#cmn_page > section {
		padding: 110px 5%;
	}
}
@media screen and (max-width: 1280px) {
	#cmn_page section:nth-child(odd) h4 {
		left: 30px;
	}
	#cmn_page section:nth-child(even) h4 {
		right: 30px;
	}
}
@media screen and (max-width: 1024px) {
	#cmn_page > section {
		padding: 110px 7%;
	}
	.cmn_pageBox {
		display: block;
		max-width: 800px;
		margin: 0 auto;
	}
	.cmn_pageTxt {
		max-width: inherit;
		margin-bottom: 60px;
	}
	
	#cmn_page .slick-arrow.prev,
	#facility_dtl .slick-arrow.prev {
		left: -50px;
	}
	#cmn_page .slick-arrow.next,
	#facility_dtl .slick-arrow.next {
		right: -50px;
	}
	#cmn_page .slick-dots,
	#facility_dtl .slick-dots {
		position: inherit;
		margin-top: 10px;
		bottom: 0;
	}
	#cmn_page .slick-dots li button:before,
	#facility_dtl .slick-dots li button:before {
		font-size: 12px;
		color: #dfdfdf;
		opacity: 1;
	}
	#cmn_page .slick-dots li button:hover:before,
	#cmn_page .slick-dots li button:focus:before,
	#facility_dtl .slick-dots li button:hover:before,
	#facility_dtl .slick-dots li button:focus:before
	{
		color: #e4b776;
	}
	#cmn_page .slick-dots li.slick-active button:before,
	#facility_dtl .slick-dots li.slick-active button:before {
		color: #e4b776;
	}
	#cmn_page .slick-dotted.slick-slider,
	#facility_dtl .slick-dotted.slick-slider {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	#cmn_page .slick-arrow.next,
	#facility_dtl .slick-arrow.next {
		right: -25px;
	}
	#cmn_page .slick-arrow.prev,
	#facility_dtl .slick-arrow.prev {
		left: -25px;
	}
	#cmn_page h4 {
		font-size: 2rem;
		top: -40px;
	}
	#cmn_page section:nth-child(odd) h4 {
		left: 20px;
	}
	#cmn_page section:nth-child(even) h4 {
		right: 20px;
	}
}
@media screen and (max-width: 480px) {
	#cmn_page h4 {
		font-size: 1.6rem;
		width: 36px;
		padding: 15px 0;
		letter-spacing: 0.2rem;
		top: -20px!important;
	}
	.cmn_page_h2 h2 {
		margin-bottom: 15px;
		font-size: 1.3rem;
	}
	.cmn_page_h2 p {
		font-size: 2.4rem;
	}
	.cmn_page_h3 {
		margin-bottom: 40px;
	}
	.cmn_page_h3 h3 {
		font-size: 1.2rem;
		margin-bottom: 15px;
	}
	.cmn_page_h3 p {
		font-size: 2.2rem;
	}
	.cmn_pageTxt {
		margin-bottom: 40px;
	}
	.cmn_pageTxt > p {
		width: 90%;
		line-height: 180%;
	}
	#cmn_page > section {
		padding: 60px 7%;
	}
	.cmn_page_h3 p::after {
		margin-left: 15px;
	}
	.cmn_page_h3 p::before {
		margin-right: 15px;
	}
	.cmn_page_h3 p::after, .cmn_page_h3 p::before {
		width: 25px;
	}
}


/* ==============================================

	#dress .linkArea 

================================================= */
#dress .linkArea li {
	word-break: keep-all;
}

/* ==============================================

	dress_info

================================================= */
#dress_info {
	margin-bottom: 100px;
}
.dress_infoTtl {
	text-align: center;
	position: relative;
	z-index: 1;
}
.dress_infoTtl .en_txt {
	font-size: 13rem;
	font-family: 'Cormorant Garamond', serif;
	letter-spacing: 0;
	color: rgba(167, 137, 55, 0.2);
}
.dress_infoTtl h2 {
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	color: #a78937;
	font-weight: 600;
}
.dress_infoArea {
	background: #F5F1EF;
	padding: 130px 40px 70px;
	margin-top: -75px;
}
.dress_infoArea ul {
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
}
.dress_infoArea ul li {
	background: #fff;
	padding: 0 10px;
	width: calc((100% - 45px) / 4);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}


.dress_infoPoint {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 25px 0 90px;
}
.dress_infoPoint_txt {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 20px;
}
.dress_infoPoint_txt::before {
	content: "";
	background: url("../images/dress/point.png") no-repeat;
	width: 86px;
	height: 86px;
	display: block;
}
.dress_infoPoint p {
	font-size: 1.5rem;
	line-height: 160%;
	font-weight: 600;
}
.dress_infoPoint img {
	margin-left: -40px;
}

#dress_info .cmn_ttl_h2 h3 {
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	color: #a78937;
	font-weight: 400;
}

@media screen and (max-width: 1366px) {
	#dress_info {
		width: 90%;
	}
}
@media screen and (max-width: 768px) {
	.dress_infoTtl .en_txt {
		font-size: 11rem;
	}
	.dress_infoArea {
		margin-top: -65px;
	}
	.dress_infoTtl h2 {
		font-size: 1.5rem;
	}
	#dress_info .cmn_ttl_h2 h3 {
		font-size: 1.3rem;
	}
	.dress_infoArea ul li {
		width: calc((100% - 15px) / 2);
	}
	.dress_infoPoint {
		flex-flow: column;
		margin: 50px 0 90px;
	}
	.dress_infoPoint img {
		margin: 0;
		position: absolute;
		opacity: 0.4;
	}
}
@media screen and (max-width: 640px) {
	.dress_infoTtl .en_txt {
		font-size: 9rem;
	}
	.dress_infoArea {
		margin-top: -55px;
	}
	.dress_infoPoint p {
		flex: 1;
	}
}
@media screen and (max-width: 480px) {
	#dress_info {
		margin-bottom: 40px;
	}
	.dress_infoTtl .en_txt {
		font-size: 6rem;
	}
	.dress_infoArea {
		margin-top: -40px;
		padding: 80px 5% 40px;
	}
	.dress_infoPoint {
		margin-bottom: 60px;
	}
	.dress_infoTtl h2 {
		font-size: 1.3rem;
	}
}


/* ==============================================

	dress_list

================================================= */
.dress_cmn figcaption {
	text-align: center;
	margin-top: 8px;
	font-size: 1.4rem;
	color: #686868;
	display: table;
	margin: 10px auto 0;
	line-height: 130%;
}
.dress_cmn figcaption a {
	color: #686868;
}
.dress_list {
	display: flex;
	align-items: flex-start;
	/*
	justify-content: space-around;
	*/
	flex-flow: row wrap;
	max-width: 1520px;
	margin: 0 auto;
}
.dress_list li {
	margin: 2% 1% 0;
	width: calc(92% / 4);
}

@media screen and (max-width: 1536px) {
	/*
	.dress_cmn .cmn_pageImg {
		width: calc(100% - 550px);
	}
	*/
	.dress_cmn .cmn_pageImg img {
		width: 100%;
		height: 650px;
		object-fit: cover;
		font-family: 'object-fit: none; object-position: right;';
	}
}
@media screen and (max-width: 1194px) {
	.dress_cmn .cmn_pageImg img {
		height: 600px;
	}
	#cdress .cmn_pageImg img {
		object-position: 65%;
	}
}
@media screen and (max-width: 1024px) {
	.dress_cmn .cmn_pageImg {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
	}
	.dress_cmn .cmn_pageImg img {
		width: auto;
		height: auto;
	}
	#cmn_page.dress_cmn h4 {
		top: -30px;
	}
}
@media screen and (max-width: 768px) {
	#dress .linkArea ul {
		flex-flow: row wrap;
		gap: 30px;
	}
	#dress .linkArea li {
		flex: none;
	}
	#dress .linkArea li:nth-child(-n+2) {
		width: calc((100% - 30px) / 2);
	}
	#dress .linkArea li:nth-child(n+3) {
		width: calc((100% - 30px) / 2);
	}
	/* 1つ増えた時の内容
	#dress .linkArea li:nth-child(n+3) {
		width: calc((100% - 60px) / 3);
	}
	  */
}


/* ==============================================

	dress_catalog

================================================= */
#dress_catalog {
	padding: 0 5%;
}
#dress_catalog .en_icon {
	text-align: center;
	font-size: 10rem;
	position: relative;
	z-index: 1;
}

/*---------------------------------------------
	dress_catalogArea
---------------------------------------------*/
.dress_catalogArea {
	max-width: 1200px;
	margin: 0 auto;
	background: #f5f4f0;
	padding: 11% 6.6% 8.8%;
	padding: 95px 80px 70px;
	margin-top: -45px;
}
.dress_catalog_txt {
	display: flex;
	justify-content: center;
	gap: 15px 80px;
	margin-bottom: 70px;
}
.dress_catalog_txt h2 {
	font-size: 1.4rem;
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	margin-bottom: 25px;
}
.dress_catalog_txt p {
	line-height: 214%;
}

/*---------------------------------------------
	dress_catalog_btnArea
---------------------------------------------*/
.dress_catalog_btnArea {
	display: flex;
	justify-content: center;
	gap: 4%;
}
.dress_catalog_btn {
	width: calc((100% - 80px) / 3);
	overflow: hidden;
}
.dress_catalog_btn a {
	position: relative;
}
.dress_catalog_box {
	height: 460px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
}
.dress_catalog_box::before {
	content: "";
	background: rgba(0, 0, 0, 0.2);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 1;
}
.dress_catalog_btn a:hover .dress_catalog_box::before {
	background: none;
}
.dress_catalog_box > * {
	position: relative;
	z-index: 2;
}
.dress_catalog_box h3 {
	font-size: 5.6rem;
	color: #fff;
	font-weight: 400;
	font-family: "EB Garamond", serif;
	letter-spacing: 0.15em;
}
.dress_catalog_box h3::first-letter {
	font-size: 6.6rem;
}
.dress_catalog_btn a:hover .dress_catalog_box h3 {
	color: transparent;
	-webkit-text-stroke: 0.6px #FFF;
}

/*---------------------------------------------
	dress_btn
---------------------------------------------*/
.dress_btn {
	max-width: 260px;
	width: 84%;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #b19c7f;
	color: #fff;
	/*
	position: absolute;
	bottom: 120px;
	*/
	-webkit-transition: all 0.1s;
	-o-transition: all 0.1s;
	transition: all 0.1s;
	margin-top: 20px;
}
.dress_btn.cmn_arrow span {
	width: 100%;
	text-align: center;
}
.dress_btn.cmn_arrow span::after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
.dress_catalog_btn a:hover .dress_btn {
	background: #fff;
	color: #b19c7f;
}
.dress_catalog_btn a:hover .dress_btn.cmn_arrow span::after {
	border-top: 1px solid #b19c7f;
	border-right: 1px solid #b19c7f;
}

.dress_catalog_btn figure img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0 !important;
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: none; object-position: right;';
	height: 100%;
	-webkit-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.dress_catalog_btn a:hover figure img {
	-webkit-transform: scale(1.03);
	-ms-transform: scale(1.03);
	transform: scale(1.03);
}
@media screen and (max-width: 1366px) {
	.dress_catalogArea {
		padding: 95px 4% 70px;
	}
}
@media screen and (max-width: 1194px) {
	.dress_catalog_box {
		height: 400px;
	}
	.dress_btn {
		margin-top: 10px;
	}
}
@media screen and (max-width: 1024px) {
	#dress_catalog {
		padding: 0 3%;
	}
	#dress_catalog .en_icon {
		font-size: 8rem;
	}
	.dress_catalogArea {
		padding: 10% 4% 50px;
		margin-top: -35px;
	}
	.dress_catalog_txt {
		margin-bottom: 50px;
		gap: 15px 5%;
	}
	.dress_catalog_box {
		height: 350px;
	}
	.dress_btn {
		font-size: 1.3rem;
		width: 90%;
	}
	.dress_btn.cmn_arrow span::after {
		right: 10px;
	}
}
@media screen and (max-width: 896px) {
	.dress_catalog_box {
		height: 320px;
	}
}
@media screen and (max-width: 768px) {
	#dress_catalog .en_icon {
		font-size: 7rem;
		font-size: clamp(3rem, 9.3vw, 7rem);
	}
	.dress_catalogArea {
		padding: 10% 10% 50px;
		margin-top: -5%;
	}
	.dress_catalog_txt {
		margin-bottom: 40px;
	}
	.dress_catalog_btnArea {
		flex-flow: column;
		gap: 30px;
	}
	.dress_catalog_btn {
		width: 100%;
	}
	.dress_catalog_btn a {
		display: flex;
		flex-flow: row-reverse;
		background: #fff;
	}
	.dress_catalog_btn a:hover {
		background: #E7E1D8;
	}
	.dress_catalog_btn figure {
		width: 40%;
		height: 180px;
		overflow: hidden;
	}
	.dress_catalog_btn figure img {
		position: relative;
		object-position: top;
	}
	.dress_catalog_box {
		height: 180px;
		width: 60%;
		padding: 0 4%;
	}
	.dress_catalog_box::before {
		display: none;
	}
	.dress_btn {
		width: 100%;
		max-width: inherit;
	}
	.dress_catalog_btn a:hover .dress_btn {
	}
	.dress_catalog_box h3 {
		color: transparent;
		-webkit-text-stroke: 0.6px #695334;
	}
	.dress_catalog_btn a:hover .dress_catalog_box h3 {
		color: #B19C7F;
		-webkit-text-stroke: 0;
	}
}
@media screen and (max-width: 480px) {
	.dress_catalogArea {
		padding: 10% 6% 40px;
	}
	.dress_catalog_txt {
		flex-flow: column;
		margin-bottom: 30px;
	}
	.dress_catalog_txt figure {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5%;
	}
	.dress_catalog_txt figure img {
		width: 35px;
		height: auto;
	}
	.dress_catalog_txt h2 {
		margin-bottom: 0;
	}
	.dress_catalog_txt p {
		line-height: 170%;
	}
	.dress_catalog_box {
		width: 63%;
		height: 130px;
	}
	.dress_btn.cmn_arrow span {
		line-height: 130%;
	}
	.dress_catalog_btn figure {
		width: 37%;
		height: 130px;
	}
	.dress_catalog_box h3 {
		font-size: 3.6rem;
		line-height: 90%;
	}
	.dress_catalog_box h3::first-letter {
		font-size: 5.5rem;
	}
	.dress_catalog_btnArea {
		gap: 20px;
	}
}




