/*!
Theme Colors
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&display=swap');

:root {
	--main-color: #111111;
	--main-color-rgb: 17, 17, 17;
	--sub-color: #444444;
	--sub-color-rgb: 68, 68, 68;
	--point-color: #888888;
	--point-color-rgb: 136, 136, 136;
	--bg-color: #FFFFFF;
	--bg-color-rgb: 255, 255, 255;
	--bg-sub-color: #F7F7F7;
	--bg-sub-color-rgb: 247, 247, 247;
	--text-color: #1A1A1A;
	--text-color-rgb: 26, 26, 26;
	--font: "Noto Sans JP", sans-serif;
	--font-regular: 400;
	--font-bold: 700;
	--eng-font: "Outfit", sans-serif;
	--eng-font-regular: 400;
	--eng-font-bold: 700;
}

body {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
}
.btn,
.ctaBtn,
.wp-block-button__link,
.page-numbers,
.postLinkItem,
.inPageNav a {
	border-radius: 0;
}
.header {
	padding: 1rem 0;
}
.header.scrolled::before {
	background-color: rgba(var(--bg-color-rgb), 1);
}
.headerLogo {
	max-width: 8rem;
}
.headerGnav {
	column-gap: 2.5rem;
}
.headerNav {
	grid-area: 1/1/3/2;
	align-self: center;
}
.headerNav li + li::before {
	margin: 0 1.5em;
	color: var(--text-color);
}
.headerNav a,
.ctaBtnText {
	text-transform: uppercase;
}
.main {
	margin-top: 4.75rem;
}
.topMv {
	padding: 0;
	margin: 1.5rem 1.5rem 8rem;
}
.topMvBgImage::after {
	display: none;
}
.topMvDiv {
	position: absolute;
	left: 2rem;
	bottom: 2rem;
}
.topMvBg .topMvContent .topMvTagline,
.topMvBg .topMvContent .topMvTaglineEn,
.topMvBg .topMvContent .topMvTaglineTopic,
.topMvBg .topMvContent .topMvTaglineText {
	text-shadow: none;
}
.topMvBg .topMvContent .topMvTagline {
	font-size: 1em;
	margin: 0;
}
.topMvBg .topMvContent .topMvTaglineEn {
	font-size: 1em;
	font-weight: var(--eng-font-regular);
	margin: 0;
	color: #fff;
}
.topMvTaglineBtn {
	margin-top: 1.5rem;
}
section {
	margin: 8rem auto;
}
.colorSection {
	padding: 8rem 0;
}
.ctaSection {
	padding: 8rem 0;
}
.sectionTitle {
	margin-bottom: 6rem;
	gap: 1em;
}
.sectionTitle::after {
	content: "";
	width: 0.0625rem;
	height: 1em;
	background-color: var(--text-color);
}
.sectionTitleJa {
	display: none;
}
.sectionTitleEn {
	color: inherit;
	text-transform: uppercase;
}
.topAdvantage {
	padding: 8rem 0;
	background-image: url(../../uploads/2025/07/alex-wong-l5Tzv1alcps-unsplash.jpg);
	background-size: cover;
	background-position: center;
}
.topAdvantage::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: var(--main-color);
	mix-blend-mode: hard-light;
	top: 0;
	left: 0;
	opacity: 0.9;
}
.topAdvantage::after {
	display: none;
}
.topAdvantageContent {
	color: #fff;
	text-align: center;
}
.topAdvantageInfo::before {
	content: "srs";
	-webkit-text-stroke: 0.0625rem #fff;
	text-stroke: 0.0625rem #fff;
	margin-bottom: 0.2em;
	margin-top: -0.3em;
}
.topAdvantageTitleEn {
	color: inherit;
	font-weight: var(--eng-font-regular);
	margin: 0 0 1em;
}
.topAdvantageContent .sectionTitle::after {
	background-color: #fff;
}
.serviceList {
	gap: 4rem;
}
.serviceListImage {
	display: none;
}
.serviceListTitle::before {
	display: none;
}
.serviceListTitle {
	padding: 0;
	letter-spacing: 0.1em;
}
.serviceListBtn.btn {
	margin-left: 0;
}
.worksListTitle {
	font-weight: var(--font-regular);
	font-size: 0.8125em;
	letter-spacing: 0.2em;
}
.worksHeadline {
	font-weight: var(--font-regular);
	font-size: 1em;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	text-align: center;
}
.flow dl::after {
	background-color: var(--bg-color);
	border: 0.0625rem solid var(--sub-color);
	color: var(--sub-color);
	border-radius: 0;
}
.flow dl:not(:last-child)::before {
	width: 0.0625rem;
}
.ctaSection::before {
	opacity: 0.7;
}
.ctaSectionContent .sectionTitle::after {
	background-color: #fff;
}
.footer {
	background-color: var(--bg-color);
}
.footerTopTitle {
	flex-basis: 8rem;
}
.breadcrumbs {
	background-color: transparent;
	padding: 2rem 0 0;
}
.contentTitleDiv {
	margin: 0;
}
.contentTitleJa {
	display: none;
}
.contentTitleEn {
	color: inherit;
	text-transform: uppercase;
	font-size: 1.5em;
	transform: translateX(0);
}
#pageLoading {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--bg-color);
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.5s 0.5s;
	opacity: 1;
	visibility: visible;
}
#pageLoading.hide {
	opacity: 0;
	visibility: hidden;
}
#pageLoadingLogo {
	width: 5rem;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s 0.25s;
}
#pageLoadingLogo.show {
	opacity: 1;
	visibility: visible;
}
#outline table dl {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}
#outline table dt {
	flex-basis: 4.5em;
}
#outline table dd {
	flex: 1;
	margin: 0;
}
@media screen and (max-width: 960px) {
	.main {
		margin-top: 3.135rem;
	}
	.topMvContent {
		text-align: left;
	}
	.ctaBtns {
		justify-content: flex-start;
	}
	.ctaSectionBtn.ctaBtns {
		justify-content: center;
	}
}
@media screen and (max-width: 632px) {
	section {
		margin: 4rem auto;
	}
	.colorSection,
	.ctaSection,
	.topAdvantage {
		padding: 4rem 0;
	}
	.sectionTitle {
		margin-bottom: 3rem;
	}
	.topMv {
		display: block;
		margin: 1rem 1rem 4rem;
	}
	.topMvBgImage {
		position: static !important;
		height: auto;
		width: auto;
	}
	.topMvBgImage img {
		position: static;
		height: auto;
		width: auto;
	}
	.topMvDiv {
		position: static;
		margin-top: 2rem;
	}
	.topMvBg .topMvContent,
	.topMvBg .topMvContent .topMvTaglineEn {
		color: var(--text-color);
	}
	.serviceList {
		gap: 2rem;
	}
	.serviceList li {
		flex-basis: calc(50% - 2rem/2);
	}
	.priceNote {
		text-align: left;
	}
}