	.concept-main {
		display: grid;
		row-gap: 100px;
	}
.concept-service-container.concept-service-reform-container{
	margin: 0 auto;
}
.concept-service-facility-image-sp { display: none; }
	.concept-mainVisual {
		background-image: url(../images/concept/mainVisual.jpg);
	}

	.concept-about-wrap { position: relative;}
	.concept-about {
	  width: 100%;
	  max-width: 1240px;
	  margin-inline: auto;
	  padding: 60px 20px 0;
	  display: grid;
	  grid-template-columns: repeat(7, minmax(0, 1fr));
	  position: relative;
	}
	.concept-about-wrap::before {
	  content: 'CONCEPT';
	  position: absolute;
	  top: 160px;
	  left: -30px;
	  transform: rotate(90deg);
	  color: #3E3A39;
	  font-size: 22px;
	  font-family: 'Yu Gothic', serif;
	  letter-spacing: 6.6px;
	}
	.concept-container {
	  display: flex;
	  flex-direction: column;
	  row-gap: 36px;
	  grid-column: span 3 / span 3;
	  padding: 2rem 6rem 2rem 20px;
	}
	.concept-container h3 {
	  font-size: 40px;
	  font-family: 'Noto Serif JP', serif;
	  font-weight: 400;
	  letter-spacing: 8px;
	  color: #3E3A39;
	}
	.concept-container p {
	  font-size: 16px;
	  font-family: 'Noto Serif JP', serif;
	  font-weight: 400;
	  letter-spacing: 1.8px;
	  color: #3E3A39;
	}
	.concept-logo {
	  margin-top: auto;
	  display: block;
		width: 75%;
	  max-width: 360px;
	}
	.concept-images {
	  display: grid;
	  grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-column: span 4 / span 4;
	  column-gap: 24px;
	}

.concept-value { position: relative; }
.concept-value::before {
	content: '';
	position: absolute;
	bottom: -6rem;
	right: 60%;
	background-image: url(../images/concept/texture-value.jpg);
	background-repeat: no-repeat;
	width: 100%;
	max-width: 800px;
	aspect-ratio: 8 / 5;
	z-index: -1;
}

	.concept-feature { width: 100%; }
	.concept-feature-title {
		margin-bottom: -40px;
		position: relative;
		z-index: 1;
	}
	.concept-feature-wrap {
		background-color: #F4F4F4;
		padding-bottom: 60px;
		position: relative;
	}
	.concept-feature-container {
		width: 100%;
		max-width: 1240px;
		margin-inline: auto;
		padding: 60px 20px 0;
		display: grid;
		row-gap: 80px;
		position: relative;
	}
	.concept-feature-wrap::before {
		content: 'FEATURES';
		position: absolute;
		top: 130px;
		left: -30px;
		transform: rotate(90deg);
		color: #3E3A39;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}
	.concept-feature-content {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.concept-feature-item {
		display: grid;
		place-items: center;
		row-gap: 24px;
		grid-column: span 1 / span 1;
		padding-right: 40px;
	}
	.concept-feature-number { width: 100%; }
	.concept-feature-number span:nth-child(1) {
		font-family: 'Cormorant Garamond', serif;
		font-size: 16px;
		margin-right: 20px;
	}
	.concept-feature-number span:nth-child(2) {
		font-family: serif;
		font-size: 36px;
		letter-spacing: 10px;
		color: #3E3A39;
	}
	.concept-feature-item h3 {
		width: 100%;
		position: relative;
		font-size: 24px;
		font-family: 'Noto Serif JP', serif;
		letter-spacing: 2.8px;
		color: #3E3A39;
		text-align: right;
	}
	.concept-feature-item h3::before {
		content: '';
		position: absolute;
		top: calc(50% - .5px);
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #3E3A39;
		z-index: 0;
	}
	.concept-feature-item h3 span {
		padding-left: 40px;
		background-color: #F4F4F4;
		position: relative;
		z-index: 1;
		font-weight: 400;
	}
	.concept-feature-item p {
		font-family: 'Yu Gothic', serif;
		letter-spacing: 1.8px;
		color: #3E3A39;
	}
	.concept-feature-content img { grid-column: span 1 / span 1; }

	.concept-service-title { margin-bottom: 60px; }
	.concept-service-container {
		width: 100%;
		max-width: 1920px;
		margin: 0 auto 200px;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: relative;
	}
	.concept-service-content {
		grid-column: span 1 / span 1;
		position: relative;
	}
	.concept-service-content h3 {
		display: grid;
		row-gap: 8px;
		margin-bottom: 36px;
	}
	.concept-service-content h3 {
		font-family: 'Cormorant Garamond', serif;
		font-size: 14px;
		font-weight: 400;
		letter-spacing: 3px;
		color: #3E3A39;
	}
	.concept-service-content h3 {
		font-family: 'Noto Serif JP', serif;
		font-size: 28px;
		font-weight: 400;
		letter-spacing: 5.6px;
		color: #3E3A39;
	}
	.concept-service-content p {
		font-family: 'Yu Gothic', serif;
		font-size: 18px;
		line-height: 2;
		letter-spacing: 1.8px;
		color: #3E3A39;
	}
	
	.concept-service-new-container { margin-bottom: 200px; }
	.concept-service-new-container::before {
		content: 'NEW CONSTRUCTION';
		position: absolute;
		top: 200px;
		left: -120px;
		transform: rotate(90deg);
		color: #FFFFFF;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}
	.concept-service-new-iamge { grid-column: span 1 / span 1; }
	.concept-service-new-container .concept-service-content { padding-inline: 20%; }
	.concept-service-new-container .concept-service-content::before {
		content: '';
		position: absolute;
		top: 84px;
		right: 50%;
		background-image: url(../images/concept/texture-new.jpg);
		background-repeat: no-repeat;
		width: 100%;
		max-width: 800px;
		aspect-ratio: 8 / 5;
		z-index: -1;
	}
	.concept-service-new-image2 {
		position: absolute;
		right: 100px;
		top: 340px;
		width: 24%;
		max-width: 400px;
	}

	.concept-service-hotel-container::before {
		content: 'HOTEL';
		position: absolute;
		top: 10rem;
		left: -6px;
		transform: rotate(90deg);
		color: #3E3A39;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}
	.concept-service-hotel-container .concept-service-content { padding: 6rem 20% 0;}
	.concept-service-hotel-container .concept-service-content::before {
		content: '';
		position: absolute;
		top: 6rem;
		right: -70%;
		background-image: url(../images/concept/texture-hotel.jpg);
		background-repeat: no-repeat;
		width: 100%;
		max-width: 800px;
		aspect-ratio: 8 / 5;
		z-index: -1;
	}
.concept-service-hotel-image-sp { display: none; }
	.concept-service-hotel-image {
		grid-column: span 1 / span 1;
		display: flex;
		align-items: end;
		column-gap: 20px;
	}
	.concept-service-hotel-image img:nth-child(1) {
		width: auto;
		height: 200px;
	}
	.concept-service-hotel-image img:nth-child(2) {
		width: calc(100% - 330px);
	}

	.concept-service-ceremony-image {
		grid-column: span 1 / span 1;
		display: flex;
		align-items: end;
		column-gap: 20px;
	}
	.concept-service-ceremony-image img:nth-child(1) { width: calc(100% - 200px); }
	.concept-service-ceremony-image img:nth-child(2) {
		height: 240px;
		width: auto;
	}
	.concept-service-ceremony-container .concept-service-content { padding: 4rem 20% 0; }
	.concept-service-ceremony-container .concept-service-content::before {
		content: '';
		position: absolute;
		top: 6rem;
		right: 50%;
		background-image: url(../images/concept/texture-ceremony.jpg);
		background-repeat: no-repeat;
		width: 100%;
		max-width: 800px;
		aspect-ratio: 8 / 5;
		z-index: -1;
	}
	.concept-service-ceremony-container::before {
		content: 'CEREMONY HALL';
		position: absolute;
		top: 200px;
		left: -90px;
		transform: rotate(90deg);
		color: #FFFFFF;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}

	.concept-service-facility-image {
		grid-column: span 1 / span 1;
		display: flex;
		column-gap: 20px;
	}
	.concept-service-facility-image img:nth-child(1) { width: 46%; }
	.concept-service-facility-image img:nth-child(2) { width: 54%; }
	.concept-service-facility-container .concept-service-content { padding: 4rem 20% 0; }
	.concept-service-facility-container .concept-service-content::before {
		content: '';
		position: absolute;
		bottom: -2rem;
		left: 50%;
		background-image: url(../images/concept/texture-facility.jpg);
		background-repeat: no-repeat;
		width: 100%;
		max-width: 800px;
		aspect-ratio: 2 / 1;
		z-index: -1;
	}
	.concept-service-facility-container::before {
		content: 'FACILITY';
		position: absolute;
		top: 10rem;
		left: -28px;
		transform: rotate(90deg);
		color: #3E3A39;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}

	.concept-service-reform-image {
		grid-column: span 1 / span 1;
		display: flex;
		column-gap: 20px;
	}
	.concept-service-reform-image img:nth-child(1) { width: 60%; }
	.concept-service-reform-image img:nth-child(2) { width: 40%; }
	.concept-service-reform-container .concept-service-content { padding: 4rem 20% 0; }
	.concept-service-reform-container .concept-service-content::before {
		content: '';
		position: absolute;
		top: 20%;
		right: 0;
		background-image: url(../images/concept/texture-facility.jpg);
		background-repeat: no-repeat;
		width: 20%;
		aspect-ratio: 1 / 2;
		z-index: -1;
	}
	.concept-service-reform-container::before {
		content: 'REFORM';
		position: absolute;
		top: 10rem;
		left: -20px;
		transform: rotate(90deg);
		color: #FFFFFF;
		font-size: 22px;
		font-family: 'Yu Gothic', serif;
		letter-spacing: 6.6px;
	}

	.concept-value {
	  width: 100%;
	  max-width: 1240px;
	  margin-inline: auto;
	  padding: 60px 20px 0;
	  display: grid;
	  row-gap: 48px;
	}
	.concept-value-title { padding-inline: 0; }
	.concept-value-container {
	  display: grid;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.concept-value-image {
	  grid-column: span 1 / span 1;
	  position: relative;
	}
	.concept-value-image::before {
	  content: '';
	  position: absolute;
	  bottom: -100px;
	  left: -200px;
	  width: 100%;
	  height: 100%;
	  background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/concept/texture-value.jpg);
	  background-repeat: no-repeat;
	  z-index: -1;
	}
	.concept-value-content {
	  grid-column: span 1 / span 1;
	  display: grid;
	  place-items: center;
	}
	.concept-value-item {
	  display: flex;
	  padding-left: 40px;
	}
	.concept-value-item p:nth-child(1) {
	  font-family: serif;
	  font-size: 36px;
	  letter-spacing: 20px;
	  color: #3E3A39;
		position: relative;
	}
	.concept-value-item p:nth-child(1)::before {
		content: '';
		position: absolute;
		width: 0px;
		height: 40px;
		top: 4px;
		right: -10px;
		transform: rotate(45deg);
		border-right: 1px solid #707070;
	}
	.concept-value-item p:nth-child(2) {
	  font-family: 'Noto Serif JP', serif;
	  font-size: 16px;
	  letter-spacing: 1.8px;
	  color: #3E3A39;
		padding-left: 50px;
	}

.concept-contact-container .common-contact-title {
	display: none;
}
.concept-contact-container-wrap {
	position: relative;
	margin-block: 4rem;
}
.concept-contact-container-wrap::before {
	content: 'CONTACT';
	position: absolute;
	top: 60px;
	left: -20px;
	transform: rotate(90deg);
	color: #3E3A39;
	font-size: 22px;
	font-family: 'Yu Gothic', serif;
	letter-spacing: 6.6px;
}
.common-contact-wrap::before { display: none; }

.concept-container-logo {
	display: flex;
	justify-content: end;
}

@media screen and (max-width: 830px) {
	.concept-about-wrap::before,
	.concept-feature-wrap::before {
		display: none;
	}
	.concept-main { row-gap: 60px; }
	.concept-about { padding: 0 20px; }
	.concept-logo { margin-bottom: 20px; }
	.concept-images {
		grid-column: span 7 / span 7;
	}
	.concept-container {
		grid-column: span 7 / span 7;
		padding: 0;
	}
	.concept-container h3 {
		font-size: 19px;
	}
	.concept-feature-item h3 {
		font-size: 20px;
	}
	.concept-feature-item {
		grid-column: span 2/ span 2;
		padding-right: 0;
		margin-bottom: 2rem;
		row-gap: 12px;
	}
	.concept-feature-content img { grid-column: span 2/ span 2; }

	.concept-value {
		padding-top: 0;
		row-gap: 24px;
	}
	.concept-value::before { display: none; }
	.concept-value-image { grid-column: span 2 / span 2;}
	.concept-value-container img {
		grid-column: span 2 / span 2;
		margin-bottom: 2rem;
	}
	.concept-value-content {
		grid-column: span 2 / span 2;
		row-gap: 24px;
	}
	.concept-value-item {
		padding-left: 0;
	}
	.concept-value-item p:nth-child(1)::before {
		height: 24px;
		top: 4px;
		right: -16px;
	}
	.concept-value-item p:nth-child(1) {
		font-size: 20px;
		letter-spacing: 4px;
		margin-bottom: 12px;
	}
	.concept-value-item p:nth-child(2) {
		width: 100%;
	}
	.concept-feature-container {
		row-gap: 24px;
	}

	.concept-service-new-container::before,
	.concept-service-hotel-container::before,
	.concept-service-facility-container::before,
	.concept-service-reform-container::before,
	.concept-service-ceremony-container::before{ display: none; }

	.concept-service-new-iamge,
	.concept-service-content { grid-column: span 2 / span 2; }

	.concept-service-new-container { margin-bottom: 0; }
	.concept-service-new-container .concept-service-content {
		padding: 24px 20px;
	}
	.concept-service-new-container .concept-service-content::before,
	.concept-service-hotel-container .concept-service-content::before,
	.concept-service-ceremony-container .concept-service-content::before,
	.concept-service-facility-container .concept-service-content::before,
	.concept-service-reform-container .concept-service-content::before {
		display: none;
	}
	.concept-service-new-image2 { display: none; }

	.concept-service-container.concept-service-hotel-container {
	}
	.concept-service-hotel-iamge,
	.concept-service-hotel-container{ grid-column: span 2 / span 2; }

	.concept-service-hotel-container .concept-service-content { padding: 24px 20px; }
	.concept-service-hotel-container .concept-service-hotel-image-sp {
		display: block;
		grid-column: span 2 / span 2;
	}
	.concept-service-hotel-container .concept-service-hotel-image { display: none; }

	.concept-service-ceremony-image,
	.concept-service-ceremony-container .concept-service-content {
		grid-column: span 2 / span 2;
	}
	.concept-service-ceremony-container .concept-service-content { padding: 24px 20px; }
	.concept-service-ceremony-image img:nth-child(1) { width: 100%; }
	.concept-service-ceremony-image img:nth-child(2) { display: none; }

	.concept-service-reform-image,
	.concept-service-reform-container .concept-service-content {
		grid-column: span 2 / span 2;
	}
	.concept-service-reform-container .concept-service-content { padding: 24px 20px; }
	.concept-service-reform-image img:nth-child(1) { width: 100%; }
	.concept-service-reform-image img:nth-child(2) { display: none; }

	.concept-service-facility-container .concept-service-content { padding: 24px 20px; }
	.concept-service-facility-container .concept-service-facility-image { display: none; }
	.concept-service-facility-container .concept-service-facility-image-sp {
		display: block;
		grid-column: span 2 / span 2;
	}

	.concept-service-container { margin-bottom: 40px; }

	.concept-container-title h3:nth-child(2) {
		width: 80%;
		text-align: right;
	}
	.concept-value-title {
		display: flex;
		flex-direction: column;
	}
	.concept-value-title span:nth-child(1) {
		text-align: left;
	}
	.concept-value-title span:nth-child(2) {
		text-align: right;
	}

	.concept-service-content-title {
		display: flex;
		flex-direction: column;
	}
	.concept-service-content-title span:nth-child(1) {
		text-align: left;
	}
	.concept-service-content-title span:nth-child(2) {
		text-align: right;
	}

	.concept-mainVisual {
		margin-top: 3rem;
	}
}
