/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 27 2026 | 12:41:16 */
/* =========================================
       Scope: .lp-about-wrapper
========================================= */

/* --- Base Layout & Reset --- */
.lp-about-wrapper {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Times New Roman", "MS PMincho", serif;
	color: #4a3b32; /* Deep Brown */
	line-height: 1.8;
	background-color: #f8f4ed; 
	padding-bottom: 80px;
	overflow-x: hidden;
	width: 100%;
	/* Font Size Rule: SP 16px~ */
	font-size: 16px; 
}

@media (min-width: 768px) {
	.lp-about-wrapper {
		/* Font Size Rule: PC 18px~ */
		font-size: 18px;
	}
}

.lp-about-wrapper * {
	box-sizing: border-box;
}

.lp-about-wrapper img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* --- Utilities --- */
.lp-about-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}
@media (min-width: 768px) {
  .lp-about-container {
	padding: 0;
  }
}

.lp-about-container-sm {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}
@media (min-width: 768px) {
  .lp-about-container-sm {
	padding: 0;
  }
}

.lp-sp-only { display: block; }
@media (min-width: 768px) {
	.lp-sp-only { display: none; }
}

/* --- Animations (CSS) --- */
.lp-animate {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: opacity, transform;
}

/* Upward fade */
.lp-animate-up {
	transform: translateY(40px);
}

/* From Left */
.lp-animate-left {
	transform: translateX(-40px);
}

/* From Right */
.lp-animate-right {
	transform: translateX(40px);
}

/* Active State (Toggled by JS) */
.lp-animate.is-visible {
	opacity: 1;
	transform: translate(0);
}
@media (max-width: 767px) {
	.lp-about-wrapper .lp-hero-container {
		margin-bottom: 200px;
	}	
}

/* --- Intro Section --- */
.lp-about-intro {
	text-align: center;
}

.lp-about-intro .lp-about-lead-text {
	text-align: left;
	display: inline-block;
}
@media (min-width: 768px) {
	.lp-about-intro .lp-about-lead-text {
		text-align: center;
	}
}

/* --- Common Text Utilities --- */
.lp-about-subtitle {
	display: block;
	font-size: 0.9em;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	color: #8c7b70;
}

.lp-about-main-title {
	font-size: 2em;
	line-height: 1.5;
	margin-bottom: 40px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #4a3b32;
	border: none;
}

.lp-about-title-highlight {
	color: #cfa86e; /* Gold/Ocher accent */
	font-weight: bold;
}

.lp-about-lead-text {
	font-size: 1em;
	text-align: left;
	display: inline-block;
}

@media (min-width: 768px) {
	.lp-about-main-title { font-size: 2.5em; }
}

/* --- Section Common --- */
.lp-about-section {
	padding: 0;
	position: relative;
}
@media (min-width: 768px) {
	.lp-about-section {
		padding-top: 40px;
	}
}

.lp-about-sec-title {
	font-size: 2em;
	letter-spacing: 0.1em;
	color: #cfa86e;
	margin: 0;
	font-family: serif;
	border: none;
    padding: 0;
}

.lp-about-sec-ja {
	font-size: 1em;
	color: #4a3b32;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin: 0;
}

.lp-about-center-title {
	text-align: center;
	font-size: 1.6em;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e5e0d8;
	position: relative;
	border: none;
}
.lp-about-center-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	background-color: #cfa86e;
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
}

/* --- MVV Section (Zigzag) --- */
.lp-about-mvv .lp-about-row {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lp-about-img-frame {
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(0,0,0,0.05);
	border-radius: 4px;
}

.lp-about-vertical-heading {
	margin-bottom: 20px;
	padding-left: 15px;
	border-left: none; /* Reset border */
	height: auto; /* Reset height */
}

.lp-about-body-text h3 {
	font-size: 1.2em;
	margin: 20px 0 10px;
	color: #6e5d52;
	font-weight: bold;
}

.lp-about-h3-accent {
	border-bottom: 1px dashed #cfa86e;
	display: inline-block;
	padding-bottom: 2px;
}

.lp-about-list-clean {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}
.lp-about-list-clean li {
	margin-bottom: 8px;
	padding-left: 1em;
	position: relative;
}
.lp-about-list-clean li::before {
	content: "・";
	position: absolute;
	left: 0;
	color: #cfa86e;
}

.lp-about-emotional-text {
	font-size: 1.1em;
	font-weight: bold;
	color: #cfa86e;
	line-height: 1.6;
	margin-top: 20px;
}

/* PC Layout for MVV */
@media (min-width: 768px) {
	.lp-about-mvv .lp-about-row {
		flex-direction: row;
		align-items: center;
	}

	.lp-about-mvv.lp-about-reverse .lp-about-row {
		flex-direction: row-reverse;
	}

	.lp-about-col-img {
		flex: 1;
		position: relative;
	}

	/* Decorative background offset */
	.lp-about-col-img::before {
		content: "";
		position: absolute;
		top: -20px;
		left: -20px;
		width: 60%;
		height: 100%;
		background-color: #f2efe6;
		z-index: -1;
	}
	.lp-about-reverse .lp-about-col-img::before {
		left: auto;
		right: -20px;
	}

	.lp-about-col-text {
		flex: 1;
		display: flex;
		flex-direction: row-reverse; /* For vertical text alignment logic */
		justify-content: flex-end;
		gap: 30px;
	}
	.lp-about-reverse .lp-about-col-text {
		flex-direction: row;
		justify-content: flex-start;
	}

	/* Vertical Heading */
	.lp-about-vertical-heading {
		writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		border-left: none;
		padding-left: 0;
		margin-bottom: 0;
		display: flex;
		align-items: center;
		gap: 10px;
		height: auto; /* Ensure height is auto as requested */
	}

	.lp-about-sec-title {
		font-size: 4em; /* Larger EN font */
		margin: 0;
		line-height: 1;
		opacity: 0.8;
	}

	.lp-about-sec-ja {
		margin-left: 15px;
		font-size: 1.1em;
		letter-spacing: 0.3em;
		margin-top: 0;
	}

	.lp-about-body-text {
		flex: 1;
		padding-top: 20px;
	}
}

/* --- Can be Box --- */
.lp-about-canbe-box {
	background-color: #fff;
	padding: 25px;
	border: 1px solid #e5e0d8;
	border-radius: 2px;
}

.lp-about-canbe-title {
	font-size: 1.3em;
	margin-bottom: 15px;
	text-align: center;
	color: #4a3b32;
}

.lp-about-canbe-desc {
	font-size: 1em;
	margin-bottom: 20px;
}

.lp-about-dl-list dt {
	font-weight: bold;
	color: #cfa86e;
	margin-top: 15px;
	font-family: sans-serif;
	font-size: 1em;
}
.lp-about-dl-list dd {
	margin: 5px 0 0 0;
	font-size: 1em;
	padding-left: 10px;
	border-left: 2px solid #f2efe6;
}

/* --- Company Section --- */
.lp-about-company-block {
	margin-bottom: 0;
	background: #fff;
	padding: 30px 10px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.03);
}
@media (min-width: 768px) {
  padding: 30px 80px;	
}

.lp-about-company-name {
	font-size: 1.2em;
	text-align: center;
	margin-bottom: 20px;
	color: #4a3b32; /* Ensure visibility */
}

.lp-about-logo-area {
	text-align: center;
	margin-bottom: 30px;
}
.lp-about-logo-area img {
	max-width: 250px;
}

.lp-about-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
}

.lp-about-table th,
.lp-about-table td {
	padding: 15px;
	border-bottom: 1px solid #e5e0d8;
	text-align: left;
}

.lp-about-table th {
	background-color: #f9f7f0; /* Darker off-white for contrast */
	width: 30%;
	color: #4a3b32; /* Ensure dark text */
	font-weight: bold;
}

.lp-about-table td {
	color: #333333; /* Dark gray for content */
}