@charset "UTF-8";

/*main
----------------------------------------*/
.dressitem_main {
	text-align: center;
}
.dressitem_main figure img {
	width: 100%;
	max-height: calc(100vh - 14.8rem);
	object-fit: cover;
}
.dressitem_main_scroll {
	width: .1rem;
	height: 7.2rem;
	background: #FAFAF8;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.dressitem_main_scroll::before {
	content: '';
	display: block;
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #FAFAF8;
	position: absolute;
	top: 0;
	left: -.3rem;
	animation-fill-mode: forwards;
	animation-duration: 2s;
	animation-name: main_scroll;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
@keyframes main_scroll {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(7.1rem);
	}
}
@media only screen and (max-width: 768px) {
	.dressitem_main figure img {
		max-height: none;
	}
}

/*anchor
----------------------------------------*/
.dressitem_anchor {
	padding: 6.2rem 2rem;
}
.dressitem_anchor ul {
	display: flex;
	justify-content: center;
}
.dressitem_anchor li {
	width: 23.5rem;
	margin: 0 .3rem;
}
.dressitem_anchor li a {
	display: block;
	text-align: center;
	color: #4A521E;
	padding-bottom: 2.6rem;
}
.dressitem_anchor li a figure {
	overflow: hidden;
}
.dressitem_anchor li a img {
	transition: transform .3s;
}
.dressitem_anchor li a::before {
	content: '';
	display: block;
	width: 2.7rem;
	height: 2.7rem;
	background: #767A25;
	border-radius: 50%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.dressitem_anchor li a::after {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-top: .1rem solid #fff;
	border-right: .1rem solid #fff;
	transform: rotate(135deg);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1.1rem;
	margin: 0 auto;
}
.dressitem_anchor_ttl {
	font-weight: 500;
	letter-spacing: .05em;
	font-size: 1.3rem;
	margin: 1.5rem 0;
}
@media (hover:hover) {
	.dressitem_anchor li a:hover figure img {
		transform: scale(1.1);
	}
}
@media only screen and (max-width: 768px) {
	.dressitem_anchor {
		padding: 2.2rem 2rem 3.4rem;
	}
	.dressitem_anchor ul {
		display: block;
	}
	.dressitem_anchor li {
		width: auto;
		margin: 0 0 .7rem;
		border-bottom: .1rem solid #767A25;
	}
	.dressitem_anchor li a {
		text-align: left;
		padding: 1.5rem 0 1.6rem;
	}
	.dressitem_anchor li a figure {
		display: none;
	}
	.dressitem_anchor li a::before {
		width: 2rem;
		height: 2rem;
		right: 0;
		left: auto;
		bottom: 1.8rem;
		margin: 0;
	}
	.dressitem_anchor li a::after {
		left: auto;
		right: .5rem;
		width: .8rem;
		height: .8rem;
		bottom: 2.4rem;
		border-width: .2rem;
		margin: 0;
		transform: rotate(135deg) scale(.7);
	}
	.dressitem_anchor_ttl {
		margin: 0;
		font-family: inherit;
		color: #767A25;
		font-size: 1.3rem;
	}
}

/*head
----------------------------------------*/
.dressitem_head {
	padding: 12.2rem 0 7.5rem;
	text-align: center;
	border-top: .1rem solid #E2E2D5;
}
.dressitem_head.dress {
	padding: 11.2rem 0 7.5rem;
	background: #EFEFEC;
	border-top: 0;
}
.dressitem_head::before {
	content: '';
	display: block;
	width: .1rem;
	height: 3.4rem;
	background: #E2E2D5;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}
.dressitem_head::after {
	content: '';
	display: block;
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #E2E2D5;
	position: absolute;
	left: 0;
	right: 0;
	top: 3.1rem;
	margin: 0 auto;
}
.dressitem_head.dress::before,
.dressitem_head.dress::after {
	display: none;
}
.dressitem_head_ttl {
	text-align: center;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .05em;
	color: #4A521E;
	margin-bottom: 6.2rem;
}
.dressitem_head_ttl .en {
	display: block;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: .05em;
	margin-bottom: .3rem;
}
.dressitem_head figure {
	max-width: 100rem;
	margin: 0 auto 4.4rem;
}
.dressitem_head_subttl {
	color: #4A521E;
	font-size: 1.3rem;
	letter-spacing: .05em;
	font-weight: 500;
	margin-bottom: 1.9rem;
}
.dressitem_head_subttl span {
	display: block;
	font-size: 1.8rem;
	letter-spacing: .1em;
	margin-bottom: .8rem;
}
.dressitem_head h3 {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .1em;
	margin-bottom: 2.3rem;
}
.dressitem_head p {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.3077;
}
@media only screen and (max-width: 768px) {
	.dressitem_head {
		padding: 6.8rem 2rem 4.4rem;
	}
	.dressitem_head.dress {
		padding: 5.8rem 1.5rem 4.4rem;
	}
	.dressitem_head_ttl {
		margin-bottom: 4.2rem;
		letter-spacing: .06em;
	}
	.dressitem_head_ttl .en {
		margin-bottom: 0;
	}
	.dressitem_head figure {
		margin: 0 -2rem 3.6rem;
	}
	.dressitem_head.dress figure {
		margin-inline: 0;
	}
	.dressitem_head_subttl {
		margin-bottom: 2.2rem;
	}
	.dressitem_head h3 {
		color: #4A521E;
		letter-spacing: .06em;
		line-height: 1.5;
		margin-bottom: 1.9rem;
	}
	.dressitem_head p {
		line-height: 2.1538;
	}
	.dressitem_head.dress .dressitem_head p {
		line-height: 2.0769;
	}
}

/*contents
----------------------------------------*/
.dressitem_contents {
	border-top: .1rem solid #E2E2D5;
	padding: 9rem 0 6.7rem;
	text-align: center;
}
.dressitem_contents_lead {
	max-width: 110rem;
	margin: -.3rem auto 5.2rem;
	padding-bottom: 5.4rem;
	border-bottom: .1rem solid #DADADA;
}
.dressitem_contents.dress {
	background: #EFEFEC;
}
.dressitem_contents::before {
	content: '';
	display: block;
	width: .1rem;
	height: 3.4rem;
	background: #C7C7BC;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
}
.dressitem_contents::after {
	content: '';
	display: block;
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #C7C7BC;
	position: absolute;
	left: 0;
	right: 0;
	top: 3.1rem;
	margin: 0 auto;
}
.dressitem_contents h2 {
	text-align: center;
	font-size: 1.3rem;
	color: #4A521E;
	font-weight: 500;
	letter-spacing: .06em;
	margin-bottom: 1.8rem;
}
.dressitem_contents h2 .en {
	display: block;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: .06em;
	line-height: 1.35;
	margin-bottom: .8rem;
}
.dressitem_contents h3 {
	text-align: center;
	font-size: 1.3rem;
	color: #4A521E;
	font-weight: 500;
	letter-spacing: .06em;
	margin-bottom: 1.2rem;
}
.dressitem_contents h3 span {
	display: block;
	text-align: center;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: .06em;
	line-height: 1.35;
	margin-bottom: .3rem;
}
.dressitem_contents_img + h3 {
	margin-top: 8.2rem;
}
.dressitem_contents_lead > p,
.dressitem_contents > p {
	font-size: 1.3rem;
	line-height: 2.1538;
	font-weight: 500;
	letter-spacing: .06em;
}
.dressitem_contents_img {
	overflow: hidden;
	margin: 4.5rem 0 2rem;
}
.dressitem_contents .center_slider .slick-dots {
	margin-top: 2.4rem;
}
.dressitem_contents .center_slider .slick-dots li {
	margin: 0 .5rem;
}
.dressitem_contents .center_slider .slick-dots button {
	width: .9rem;
	height: .9rem;
}
.dressitem_contents .center_slider {
	max-width: 61.5rem;
}
.dressitem_contents_shop {
	width: 100rem;
	margin: 9.6rem auto 0;
	display: flex;
}
.dressitem_contents_shop figure {
	width: 50%;
}
.dressitem_contents_shop_txt {
	flex: 1;
	padding-left: 6.9%;
	text-align: left;
	margin-top: -.6rem;
}
.dressitem_contents_shop_txt h3 {
	font-size: 1.2rem;
	letter-spacing: .05em;
	font-weight: 500;
	margin-bottom: 3.5rem;
}
.dressitem_contents_shop_txt h3 span {
	display: block;
	font-size: 1.8rem;
	letter-spacing: .1em;
	margin-bottom: .3rem;
}
.dressitem_contents_shop_txt h4 {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .05em;
	color: #4A521E;
	line-height: 2;
	margin-bottom: 1.8rem;
}
.dressitem_contents_shop_txt h4 span {
	display: block;
}
.dressitem_contents_shop_txt p {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 1.7692;
}
.dressitem_contents_shop_txt p + p {
	margin-top: 1rem;
}
.dressitem_contents_link {
	text-align: center;
	margin: 3.8rem 0 0;
}
.dressitem_contents_link a {
	width: 33.7rem;
	display: block;
	border: .1rem solid #7F831D;
	color: #7F831D;
	margin: 0 auto;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .05em;
	padding: 1.2rem .2rem 1.1rem;
}
.dressitem_contents_link a::after {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-top: 1px solid #7F831D;
	border-right: 1px solid #7F831D;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5rem;
	margin: auto 0;
}
.dressitem_contents_photo {
	max-width: 110rem;
	margin: 5.1rem auto 0;
	display: flex;
	justify-content: space-between;
}
.dressitem_contents_photo + .dressitem_contents_photo {
	margin-top: 4.6rem;
}
.dressitem_contents_photo_profile {
	width: 29.3rem;
	text-align: left;
}
.dressitem_contents_photo_profile figcaption {
	font-size: 1.8rem;
	letter-spacing: .07em;
	color: #4A521E;
	margin-top: 1.3rem;
}
.dressitem_contents_photo_profile figcaption span:nth-child(1) {
	display: block;
	font-size: 1.3rem;
	letter-spacing: .06em;
	margin: 1.6rem 0 0;
	line-height: 1.2;
}
.dressitem_contents_photo_profile figcaption span:nth-child(2) {
	display: block;
	font-size: 2rem;
	line-height: 1.2;
	letter-spacing: .06em;
}
.dressitem_contents_photo_img {
	width: 80rem;
}
.dressitem_contents_other {
	border-top: .1rem solid #DADADA;
	max-width: 110rem;
	margin: 7.6rem auto 0;
	padding: 4.7rem 0 4rem;
}
.dressitem_contents_other_logo {
	display: flex;
	justify-content: center;
	margin-top: 1.7rem;
	padding-right: 1.8rem;
}
.dressitem_contents_other_logo figure:nth-child(2) {
	margin: 0 3.3rem 0 5.2rem;
}
.dressitem_contents_other_logo img {
	height: 11.6rem;
	width: auto;
}
@media only screen and (max-width: 768px) {
	.dressitem_contents {
		padding: 6.8rem 0 4.5rem;
	}
	.dressitem_contents h2 {
		margin-bottom: 1.8rem;
	}
	.dressitem_contents h2 .en {
		font-size: 2.5rem;
		margin-bottom: .7rem;
	}
	.dressitem_contents_img + h3 {
		margin-top: 5.5rem;
	}
	.dressitem_contents > p {
		margin: 0 1.5rem;
		line-height: 2.1538;
	}
	.dressitem_contents_lead {
		max-width: 35rem;
		padding-bottom: 4.5rem;
		margin-bottom: 4.3rem;
	}
	.dressitem_contents_img {
		margin-top: 4.5rem;
	}
	.dressitem_contents .center_slider {
		max-width: 34.5rem;
	}
	.dressitem_contents .center_slider .slick-dots {
		margin-top: 2rem;
	}
	.dressitem_contents .center_slider .slick-dots button {
		width: .8rem;
		height: .8rem;
	}
	.dressitem_contents_shop {
		width: 29.5rem;
		margin: 5.7rem auto 6rem;
		display: block;
	}
	.dressitem_contents_shop figure {
		width: auto;
	}
	.dressitem_contents_shop_txt {
		padding-left: 0;
		margin-top: 2.5rem;
	}
	.dressitem_contents_shop_txt h3 {
		margin-bottom: 2rem;
	}
	.dressitem_contents_shop_txt p + p {
		margin-top: 1.8rem;
	}
	.dressitem_contents_link {
		width: 33rem;
		max-width: 100%;
		text-align: center !important;
		margin: 3rem auto 0 !important;
	}
	.dressitem_contents_photo {
		max-width: 35rem;
		margin: 4.5rem auto 0;
		display: block;
	}
	.dressitem_contents_photo + .dressitem_contents_photo {
		margin-top: 4.5rem;
	}
	.dressitem_contents_photo_profile {
		width: auto;
		display: flex;
		align-items: center;
		margin-bottom: 1.5rem;
	}
	.dressitem_contents_photo_profile img {
		width: 15rem;
	}
	.dressitem_contents_photo_profile figcaption {
		flex: 1;
		padding-left: 2.5rem;
		margin-top: .3rem;
	}
	.dressitem_contents_photo_img {
		width: auto;
	}
	.dressitem_contents_other {
		max-width: 35rem;
		margin: 5.5rem auto -1.7rem;
		padding: 5.2rem 0 0;
	}
	.dressitem_contents_other_logo {
		display: block;
		margin-top: -2rem;
		padding-right: 0;
	}
	.dressitem_contents_other_logo figure:nth-child(2) {
		margin: -2.8rem 0 -2.5rem;
	}
	.dressitem_contents_other_logo img {
		margin: 0 auto;
	}
}

/*contents
----------------------------------------*/
.dressitem_treat {
	margin: 9.7rem 0 2rem;
}
.dressitem_treat_ttl {
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: 4.2rem;
}
.dressitem_treat_ttl .en {
	display: block;
	font-size: 2.5rem;
	letter-spacing: .1em;
	margin: .5rem 0 .2rem;
}
.dressitem_treat_ttl span:not(.en) {
	display: block;
	font-size: 1.3rem;
	color: #4A521E;
}
.dressitem_treat > p {
	font-size: 1.3rem;
	letter-spacing: .05em;
	line-height: 2.3077;
	margin-bottom: 4.3rem;
}
.dressitem_treat .col3_img_ttl {
	margin: 1.7rem 0 .7rem;
}
.dressitem_treat .col3_img_item p {
	line-height: 1.8461;
}
.dressitem_treat_contact {
	margin: 3.5rem 1.5rem 0;
	text-align: center;
	font-size: 1.3rem;
	line-height: 2;
}
.dressitem_treat_contact p + p {
	margin-top: .8rem;
}
.dressitem_treat_contact_ttl {
	font-size: 1.6rem;
}
.dressitem_treat_contact a {
	text-decoration: underline;
	text-underline-offset: .2em;
}
@media only screen and (max-width: 768px) {
	.dressitem_treat {
		margin: 8.5rem 0 3rem;
	}
	.dressitem_treat_ttl {
		margin-bottom: 1.9rem !important;
	}
	.dressitem_treat_ttl .en {
		font-size: 2.5rem;
	}
	.dressitem_treat_ttl span:not(.en) {
		margin-bottom: 1.2rem;
	}
	.dressitem_treat > p {
		margin: 0 1.5rem;
		margin-bottom: 4.5rem;
		line-height: 2.1538;
	}
	.dressitem_treat .col3_img {
		max-width: 35rem;
	}
	.col3_img_item + .col3_img_item {
		margin-top: 3.3rem;
	}
	.dressitem_treat .col3_img_item p {
		line-height: 1.6;
	}
}
