.sub-mv {
	position: relative;
	height: 500px;
	overflow: hidden
}

.sub-mv__image {
	position: absolute;
	inset: 0
}

.sub-mv__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 48%
}

.sub-mv__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .41)
}

.sub-mv__title {
	position: absolute;
	top: 60%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -50%)
}

.sub-mv__title h2 {
	margin: 0;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 50px;
	font-weight: 500;
	letter-spacing: 6%;
}

.sub-mv__copy {
	position: absolute;
	bottom: 20px;
	left: 5.5%;
	z-index: 2;
	margin: 0;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 24px;
	line-height: 36px;
	letter-spacing: 6%;
}

.price-content {
	padding: 70px 0 150px
}

.price-content__inner {
	width: min(1280px, 88%);
	margin: 0 auto
}

.price-content__lead {
	margin: 0 0 65px;
	text-align: center;
	letter-spacing: 6%;
}

.price-section {
	margin-bottom: 130px
}

.price-section--last {
	margin-bottom: 0
}

.price-section__heading {
	margin-bottom: 58px;
	text-align: center
}

.price-section__heading::after {
	display: block;
	width: 100%;
	margin-top: 34px;
	border-bottom: 5px dotted #A6877E;
	content: ""
}

.price-section__heading h3 {
	margin: 0;
	color: #532E1C;
	font-family: "Montserrat", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 57px;
	letter-spacing: 6%;
}

.price-section__heading p {
	margin: 0;
	letter-spacing: 6%;
	font-weight: 600;
}

.price-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 115px;
	width: min(1150px, 100%);
	margin: 0 auto
}

.price-list__column {
	margin: 0
}

.price-list__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	min-height: 64px;
	padding: 18px 5px;
	border-bottom: 2px dotted #A6877E;
}

.price-list__row dt {
	line-height: 70px;
	letter-spacing: 6%;
	font-weight: 500;
}

.price-list__row dd {
	margin: 0;
	line-height: 2;
	letter-spacing: 6%;
	text-align: right;
	white-space: nowrap;
	font-weight: 700;
}

.price-list__row--multi {
	align-items: start
}

.price-section__note {
	width: min(815px, 100%);
	margin: 45px auto 0
}

.price-section__note p {
	margin: 6px 0;
	line-height: 36px;
	letter-spacing: 6%;
	font-weight: 600;
}

.price-txt {
	font-weight: 500;
	letter-spacing: 6%;
	line-height: 35px;
	margin-top: 30px;
}

@media(max-width:1200px) and (min-width:1025px) {
	.sub-mv {
		margin-top: 100px
	}
}

@media(max-width:1024px) {
	.sub-mv {
		height: 350px;
		margin-top: 50px
	}

	.sub-mv__title {
		top: 50%;
	}

	.price-content {
		padding: 65px 0 120px
	}

	.price-content__inner {
		width: 90%
	}

	.price-section {
		margin-bottom: 105px
	}

	.price-list {
		gap: 0 60px;
		font-size: 13px;
	}

	.price-section__note p {
		font-size: 13px;
	}

	.price-list__row dt {
		line-height: 36px;
	}
}

@media(max-width:767px) {
	.sub-mv {
		height: 290px;
		margin-top: 50px
	}

	.sub-mv__image img {
		object-position: center
	}

	.sub-mv__title h1 {
		font-size: 32px
	}

	.sub-mv__copy {
		bottom: 18px;
		left: 20px;
		font-size: 16px;
		line-height: 1.8;
	}

	.price-content {
		padding: 50px 0 90px
	}

	.price-content__inner {
		width: calc(100% - 40px)
	}

	.price-content__lead {
		margin-bottom: 50px;
	}

	.price-section {
		margin-bottom: 85px
	}

	.price-section__heading {
		margin-bottom: 30px
	}

	.price-section__heading::after {
		margin-top: 17px
	}

	.price-section__heading h3 {
		font-size: 24px
	}

	.price-list {
		display: block
	}

	.price-list__column+.price-list__column {
		margin-top: 0
	}

	.price-list__row {
		min-height: 55px;
		padding: 12px 3px
	}

	.price-list__row dt,
	.price-list__row dd {
		font-size: 13px
	}

	.price-section__note {
		margin-top: 30px
	}

	.price-section__note p {
		font-size: 13px
	}
}

@media(max-width:375px) {
	.price-content__inner {
		width: calc(100% - 30px)
	}

	.price-list__row {
		gap: 12px
	}
}

.sub-mv--concept .sub-mv__image img {
	object-position: center 48%
}

.concept-content {
	padding: 130px 0 170px
}

.concept-content__inner {
	width: min(1280px, 90%);
	margin: 0 auto
}

.concept-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 125px 28px
}

.concept-card {
	position: relative;
	grid-column: span 2;
	word-wrap: break-word;
}

.concept-card:nth-child(4) {
	grid-column: 2/span 2
}

.concept-card:nth-child(5) {
	grid-column: 4/span 2
}

.concept-card__image {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 238px;
	overflow: hidden
}

.concept-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease
}

.concept-card:hover .concept-card__image img {
	transform: scale(1.04)
}

.concept-card__body {
	position: relative;
	min-height: 280px;
	margin: 6px 10px;
	padding: 27px 25px 32px;
	border-bottom: 1px solid rgba(71, 54, 45, .65);
	border-left: 1px solid rgba(71, 54, 45, .65);
	background: rgba(255, 255, 255, .12)
}

.concept-card__body h3 {
	margin: 0 0 17px;
	color: #532E1C;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 4%;
}

.concept-card__body p {
	margin: 0;
	line-height: 35px;
	letter-spacing: 4%;
}

@media(max-width:1200px) {
	.concept-content {
		padding: 110px 0 140px
	}

	.concept-grid {
		gap: 100px 24px
	}

	.concept-card__body h3 {
		font-size: 22px
	}
}

@media(max-width:900px) {
	.concept-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 75px 25px
	}

	.concept-card,
	.concept-card:nth-child(4),
	.concept-card:nth-child(5) {
		grid-column: auto
	}

	.concept-card:last-child {
		grid-column: 1/3;
		width: calc(50% - 12.5px);
		margin: 0 auto
	}

	.concept-card__image {
		height: 220px
	}
}

@media(max-width:767px) {
	.concept-content {
		padding: 75px 0 100px
	}

	.concept-content__inner {
		width: calc(100% - 40px)
	}

	.concept-grid {
		display: block
	}

	.concept-card,
	.concept-card:last-child {
		width: 100%;
		margin: 0 0 60px
	}

	.concept-card:last-child {
		margin-bottom: 0
	}

	.concept-card__image {
		height: auto;
		aspect-ratio: 16/10
	}

	.concept-card__body {
		min-height: 0;
		margin: 0 7px;
		padding: 24px 18px 28px
	}

	.concept-card__body h2 {
		margin-bottom: 14px;
		font-size: 21px
	}

	.concept-card__body p {
		line-height: 2
	}
}

@media(max-width:375px) {
	.concept-content__inner {
		width: calc(100% - 30px)
	}

	.concept-card {
		margin-bottom: 50px
	}

	.concept-card__body {
		padding: 22px 15px 25px
	}

	.concept-card__body h2 {
		font-size: 19px
	}
}

.staff-content {
	padding: 115px 0 190px
}

.staff-content__inner {
	width: min(1280px, 90%);
	margin: 0 auto
}

.staff-card {
	display: grid;
	grid-template-columns: 395px minmax(0, 1fr);
	align-items: center;
	gap: 46px;
	margin-bottom: 140px
}

.staff-card:last-child {
	margin-bottom: 0
}

.staff-card__image {
	position: relative;
	z-index: 2;
	width: 100%;
	overflow: hidden
}

.staff-card__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3/4;
	object-fit: cover
}

.staff-card__profile {
	position: relative;
	min-height: 395px;
	padding: 15px 0 25px 45px;
	border-bottom: 1px solid #A6877E;
	border-left: 1px solid #A6877E;
}

.staff-card__name {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 0 25px 13px;
	border-bottom: 1px dotted #A6877E;
}

.staff-card__name h3 {
	margin: 0;
	color: #532E1C;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 6%;
}

.staff-card__name p {
	margin: 0;
	color: #A6877E;
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	letter-spacing: 6%;
	font-weight: 500;
}

.staff-card__list {
	margin: 22px 0 0;
	padding: 0 28px
}

.staff-card__row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 20px;
	padding: 15px 0
}

.staff-card__row dt {
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	letter-spacing: 6%;
	color: #532E1C;
}

.staff-card__row dd {
	margin: 0;
	letter-spacing: 6%;
}

.staff-card__row--message {
	display: block;
	padding-top: 14px
}

.staff-card__row--message dt {
	margin-bottom: 8px
}

.staff-card__row--message dd {
	line-height: 2
}

.staff-card--reverse {
	grid-template-columns: minmax(0, 1fr) 350px
}

.staff-card--reverse .staff-card__image {
	grid-column: 2;
	grid-row: 1
}

.staff-card--reverse .staff-card__profile {
	grid-column: 1;
	grid-row: 1;
	padding: 15px 45px 25px 0;
	border-right: 1px solid rgba(112, 67, 48, .65);
	border-bottom: 1px solid rgba(112, 67, 48, .65);
	border-left: 0
}

.staff-card--reverse .staff-card__name {
	padding-right: 25px;
	padding-left: 35px
}

.staff-card--reverse .staff-card__list {
	padding-right: 28px;
	padding-left: 35px
}

@media(max-width:1024px) {
	.staff-content {
		padding: 95px 0 150px
	}

	.staff-card {
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 28px;
		margin-bottom: 110px
	}

	.staff-card--reverse {
		grid-template-columns: minmax(0, 1fr) 300px
	}

	.staff-card__profile {
		min-height: 360px;
		padding-left: 30px
	}

	.staff-card__name {
		padding-right: 18px;
		padding-left: 18px
	}

	.staff-card__list {
		padding-right: 20px;
		padding-left: 20px
	}

	.staff-card--reverse .staff-card__profile {
		padding-right: 30px
	}

	.staff-card--reverse .staff-card__name,
	.staff-card--reverse .staff-card__list {
		padding-left: 20px
	}
}

@media(max-width:767px) {
	.staff-content {
		padding: 70px 0 110px
	}

	.staff-content__inner {
		width: calc(100% - 40px)
	}

	.staff-card,
	.staff-card--reverse {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin-bottom: 80px
	}

	.staff-card__image,
	.staff-card--reverse .staff-card__image {
		grid-column: auto;
		grid-row: auto;
		width: min(290px, 88%);
		margin: 0 auto
	}

	.staff-card__profile,
	.staff-card--reverse .staff-card__profile {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		min-height: 0;
		margin-top: 25px;
		padding: 0 0 25px;
		border-right: 1px solid rgba(112, 67, 48, .65);
		border-bottom: 1px solid rgba(112, 67, 48, .65);
		border-left: 1px solid rgba(112, 67, 48, .65)
	}

	.staff-card__name,
	.staff-card--reverse .staff-card__name {
		display: block;
		padding: 0 18px 14px;
		text-align: center
	}

	.staff-card__name h3 {
		font-size: 21px
	}

	.staff-card__name p {
		margin-top: 5px;
	}

	.staff-card__list,
	.staff-card--reverse .staff-card__list {
		margin-top: 17px;
		padding: 0 18px
	}

	.staff-card__row {
		gap: 15px;
		padding: 9px 0
	}

	.staff-card__row--message {
		display: block
	}
}

@media(max-width:375px) {
	.staff-content__inner {
		width: calc(100% - 30px)
	}

	.staff-card__image,
	.staff-card--reverse .staff-card__image {
		width: 92%
	}

	.staff-card__list,
	.staff-card--reverse .staff-card__list {
		padding: 0 14px
	}
}

.section-heading {
	text-align: center
}

.section-heading::after {
	display: block;
	width: 100%;
	margin-top: 20px;
	border-bottom: 5px dotted #A6877E;
	content: ""
}

.section-heading h3 {
	margin: 0;
	color: #532E1C;
	font-family: "Montserrat", sans-serif;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 6%;
}

.section-heading p {
	margin: 8px 0 0;
	font-size: 24px;
	letter-spacing: 6%;
}

.store {
	position: relative;
	padding: 80px 0 110px;
	background: url("../images/top/message.png") left center/52% 100% no-repeat
}

.store__inner {
	width: min(1280px, 88%);
	margin: 0 auto
}

.store__text {
	width: min(1040px, 100%);
	margin: 42px auto 0
}

.store__text p {
	font-weight: 600;
	margin: 0 0 11px;
	line-height: 35px;
	letter-spacing: 6%;
}

.store__text p:last-child {
	margin-bottom: 0
}

.overview {
	padding: 95px 0 170px
}

.overview__inner {
	width: min(1120px, 88%);
	margin: 0 auto
}

.overview__content {
	width: min(810px, 100%);
	margin: 48px auto 0
}

.overview__list {
	margin: 0
}

.overview__row {
	display: grid;
	grid-template-columns: 187px minmax(0, 1fr);
	align-items: center;
	min-height: 54px;
	border-bottom: 4px solid #E9E9E9;
}

.overview__row dt {
	align-self: stretch;
	padding: 18px 15px;
	margin-bottom: -4px;
	color: #532E1C;
	border-bottom: 4px solid #A6877E;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	letter-spacing: 6%;
}

.overview__row dd {
	margin: 0;
	padding: 14px 22px 14px 100px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 6%
}

.overview__row dd a {
	transition: opacity .3s ease
}

.overview__row dd a:hover {
	opacity: .65
}

.overview__note {
	margin: 20px 0 0;
	padding-left: 15px;
	letter-spacing: 6%;
	font-weight: 500;
}

.overview__access {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 80px
}

.overview__access img {
	display: block;
	width: 460px;
	max-width: 100%;
	height: auto
}

.overview__button {
	min-width: 301px;
	margin-top: 42px;
	font-size: 16px
}

@media(max-width:1024px) {
	.store {
		padding: 70px 0 95px;
		background-size: 62% 100%
	}

	.section-heading h2 {
		font-size: 28px
	}

	.section-heading p {
		font-size: 20px
	}

	.overview {
		padding: 85px 0 140px
	}
}

@media(max-width:767px) {
	.section-heading::after {
		margin-top: 16px;
		border-bottom-width: 2px
	}

	.section-heading h2 {
		font-size: 25px
	}

	.store {
		padding: 60px 0 75px;
		background-position: center top;
		background-size: auto 52%;
		background-repeat: no-repeat
	}

	.store__inner {
		width: calc(100% - 40px)
	}

	.store__text {
		margin-top: 32px;
		padding: 25px 18px;
		background: rgba(255, 255, 255, .65)
	}

	.store__text p {
		line-height: 2
	}

	.overview {
		padding: 70px 0 100px
	}

	.overview__inner {
		width: calc(100% - 40px)
	}

	.overview__content {
		margin-top: 35px
	}

	.overview__row {
		grid-template-columns: 110px minmax(0, 1fr)
	}

	.overview__row dt {
		padding: 15px 8px;
	}

	.overview__row dd {
		padding: 12px 14px;
	}

	.overview__note {
		padding-left: 8px;
	}

	.overview__access {
		margin-top: 50px
	}

	.overview__access img {
		width: 280px
	}

	.overview__button {
		margin-top: 32px
	}
}

@media(max-width:375px) {

	.store__inner,
	.overview__inner {
		width: calc(100% - 30px)
	}

	.store__text {
		padding: 22px 14px
	}

	.overview__row dd {
		padding-right: 8px;
		padding-left: 10px;
	}
}

.gallery-single__content {
	padding: 100px 0 170px
}

.gallery-single__inner {
	width: min(1000px, 88%);
	margin: 0 auto
}

.gallery-single__article {
	width: 100%
}

.gallery-single__header {
	margin-bottom: 50px;
	text-align: center
}

.gallery-single__title {
	margin: 0;
	color: #532E1C;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .08em
}

.gallery-single__date {
	display: block;
	margin-top: 12px;
	letter-spacing: .1em
}

.gallery-single__image {
	width: min(760px, 100%);
	margin: 0 auto 55px
}

.gallery-single__image img {
	display: block;
	margin: 0 auto;
}

.gallery-single__body {
	width: min(760px, 100%);
	margin: 0 auto;
	line-height: 2.1;
	letter-spacing: .04em
}

.gallery-single__body p {
	margin: 0 0 25px
}

.gallery-single__body img {
	max-width: 100%;
	height: auto;
	margin: 20px 0
}

.gallery-single__body h2 {
	margin: 60px 0 25px;
	color: #653d2d;
	font-size: 23px;
	font-weight: 400;
	letter-spacing: .06em
}

.gallery-single__body h3 {
	margin: 45px 0 20px;
	color: #653d2d;
	font-size: 19px;
	font-weight: 400;
	letter-spacing: .06em
}

.gallery-single__body ul,
.gallery-single__body ol {
	margin: 25px 0;
	padding-left: 25px
}

.gallery-single__body a {
	text-decoration: underline
}

.gallery-single__pager {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 40px;
	margin-top: 100px;
	padding-top: 35px;
	border-top: 1px solid rgba(101, 61, 45, .35)
}

.gallery-single__pager-prev a,
.gallery-single__pager-next a {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gallery-single__pager-prev span,
.gallery-single__pager-next span {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .12em;
	color: #532E1C;
}

.gallery-single__pager-prev strong,
.gallery-single__pager-next strong {
	font-size: 16px;
	line-height: 1.7
}

.gallery-single__pager-next {
	text-align: right
}

.gallery-single__empty {
	text-align: center
}

.gallery-btn {
	font-size: 16px;
}

@media(max-width:1024px) {
	.gallery-single__content {
		padding: 85px 0 140px
	}

	.gallery-single__pager {
		gap: 25px
	}
}

@media(max-width:767px) {
	.gallery-single__content {
		padding: 65px 0 100px
	}

	.gallery-single__inner {
		width: calc(100% - 40px)
	}

	.gallery-single__header {
		margin-bottom: 35px
	}

	.gallery-single__title {
		font-size: 22px
	}

	.gallery-single__image {
		margin-bottom: 40px
	}

	.gallery-single__body {
		font-size: 12px;
		line-height: 2
	}

	.gallery-single__body h2 {
		margin-top: 45px;
		font-size: 20px
	}

	.gallery-single__body h3 {
		margin-top: 35px;
		font-size: 17px
	}

	.gallery-single__pager {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 30px 15px;
		margin-top: 70px
	}

	.gallery-single__back {
		order: -1;
		width: 100%
	}

	.gallery-single__pager-prev,
	.gallery-single__pager-next {
		width: calc(50% - 8px)
	}

	.gallery-single__pager-prev strong,
	.gallery-single__pager-next strong {
		font-size: 10px
	}
}

@media(max-width:375px) {
	.gallery-single__inner {
		width: calc(100% - 30px)
	}
}

.gallery-archive {
	min-height: 900px;
	padding: 125px 0 180px
}

.gallery-archive__inner {
	width: min(1140px, 90%);
	margin: 0 auto
}

.gallery-archive__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 85px 24px
}

.gallery-archive__item {
	overflow: hidden
}

.gallery-archive__link {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden
}

.gallery-archive__image {
	width: 100%;
	aspect-ratio: 4/5;
	overflow: hidden;
	background: #eee
}

.gallery-archive__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease
}

.gallery-archive__hover {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(70, 45, 34, .65);
	color: #fff;
	text-align: center;
	opacity: 0;
	transition: opacity .4s ease
}

.gallery-archive__hover h2 {
	margin: 0 0 12px;
	line-height: 1.7;
	letter-spacing: .05em
}

.gallery-archive__hover span {
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	letter-spacing: .15em
}

.gallery-archive__link:hover .gallery-archive__image img {
	transform: scale(1.05)
}

.gallery-archive__link:hover .gallery-archive__hover {
	opacity: 1
}

.gallery-pagination {
	margin-top: 90px
}

.gallery-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none
}

.gallery-pagination .page-numbers li {
	margin: 0
}

.gallery-pagination a,
.gallery-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid rgba(101, 61, 45, .55);
	border-radius: 50%;
	color: #653d2d;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	transition: background .3s ease, color .3s ease
}

.gallery-pagination .current,
.gallery-pagination a:hover {
	background: #653d2d;
	color: #fff
}

.gallery-pagination .prev,
.gallery-pagination .next {
	width: auto;
	border-radius: 25px
}

.gallery-archive__empty {
	text-align: center
}

.gallery-archive__empty p {
	margin: 0;
	color: #493b34;
	font-size: 13px
}

@media(max-width:1024px) {
	.gallery-archive {
		padding: 100px 0 150px
	}

	.gallery-archive__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 65px 20px
	}
}

@media(max-width:767px) {
	.gallery-archive {
		min-height: 600px;
		padding: 70px 0 100px
	}

	.gallery-archive__inner {
		width: calc(100% - 40px)
	}

	.gallery-archive__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 14px
	}

	.gallery-archive__hover {
		display: none
	}

	.gallery-pagination {
		margin-top: 60px
	}

	.gallery-pagination .page-numbers {
		gap: 7px
	}

	.gallery-pagination a,
	.gallery-pagination span {
		min-width: 34px;
		height: 34px;
		font-size: 9px
	}
}

@media(max-width:375px) {
	.gallery-archive__inner {
		width: calc(100% - 30px)
	}

	.gallery-archive__grid {
		gap: 32px 10px
	}
}