/*!
Theme Colors
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&family=Playfair+Display:wght@400;700&family=Cormorant+Garamond:wght@400;700&family=Libre+Baskerville:wght@400;700&family=Shippori+Mincho:wght@500&display=swap');
@import url('style-service.css');

:root {
	--main-color: #0057A8;
	--main-color-rgb: 0, 87, 168;
	--sub-color: #0091D4;
	--sub-color-rgb: 0, 145, 212;
	--point-color: #E07B00;
	--point-color-rgb: 224, 123, 0;
	--bg-color: #F7F9FC;
	--bg-color-rgb: 247, 249, 252;
	--bg-sub-color: #E8EEF6;
	--bg-sub-color-rgb: 232, 238, 246;
	--bg-gradient: linear-gradient(135deg, #0057A8 0%, #002D6B 100%);
	--text-color: #111827;
	--text-color-rgb: 17, 24, 39;
	--font: "Noto Sans JP", sans-serif;
	--font-regular: 400;
	--font-bold: 600;
	--eng-font: "Libre Baskerville", Georgia, serif;
	--eng-font-regular: 400;
	--eng-font-bold: 700;
	--point-font: "Shippori Mincho", "Hiragino Mincho ProN", Georgia, serif;
	--point-font-bold: 500;
}

.btn, .ctaBtn, .wp-block-button__link, .page-numbers, .postLinkItem, .inPageNav a, .snow-monkey-form .smf-action .smf-button-control__control {
	border-radius: 0;
}
.home .header {
	color: #fff;
}
.home .siteLogo,
.footerTop  .siteLogo {
	filter: brightness(0) invert(1);
}
.home .siteName {
	color: #fff;
}
.header.scrolled {
	color: inherit;
	z-index: 999;
}
.header.scrolled .headerNav a {
	background-color: rgba(var(--bg-sub-color-rgb),0.7);
}
.header::before {
	display: none;
}
.siteTitle {
	gap: 0.75rem;
}
.siteLogo {
	max-width: 3rem;
}
.siteName {
	line-height: 1;
	flex-direction: column;
}
.siteName strong {
	font-family: var(--eng-font);
	font-weight: var(--eng-font-bold);
	letter-spacing: 0.05em;
}
.siteName span {
	font-size: 0.5em;
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.siteName span::before,
.siteName span::after {
	content: "";
	width: 1em;
	border-top: 0.0625rem solid;
}
.header.scrolled .siteLogo {
	filter: none;
}
.header.scrolled .siteName {
	color: var(--text-color);
}
.ctaBtn {
	background-color: var(--point-color);
	border-color: var(--point-color);
}
.ctaBtnSvg,
.ctaBtn::after {
	display: none;
}
.ctaBtnText {
	padding: 0 2em;
	color: #fff;
}
.home .main {
	margin-top: 0;
}
.colorSection {
	background: linear-gradient(135deg, var(--bg-sub-color) 0%, #D0DCF0 100%);
}
.topMv {
	min-height: 48rem;
}
.topMvBgImage::after {
	opacity: 0.3;
}
.topMvTagline {
	font-family: var(--point-font);
	font-weight: var(--point-font-bold);
	font-size: 3.5em;
	margin-bottom: 4rem;
}
.topMvTaglineTopic {
	font-size: 0.875em;
	font-weight: var(--font-bold);
}
.topMvTaglineText {
	color: inherit;
	font-size: 0.75em;
}
.sectionTitleJa {
	font-family: var(--point-font);
	font-weight: var(--point-font-bold);
	color: var(--main-color);
	letter-spacing: 0;
	text-indent: 0;
}
.sectionTitleEn {
	display: none;
}
.topAdvantage {
	background-image: linear-gradient(90deg, #FFFFFF 0%, #EDF1F8 100%);
}
.topAdvantageDiv {
	display: flex;
	gap: 1rem;
}
.topAdvantageItem + .topAdvantageItem {
	margin-top: 0;
}
.topAdvantageItem {
	flex-direction: column-reverse;
	flex: 1;
	border: 1px solid rgba(var(--main-color-rgb),0.2);
}
.topAdvantageItem:nth-child(2n) {
	flex-direction: column-reverse;
}
.topAdvantageImage {
	width: 100%;
	flex-basis: 19.1875rem;
	flex-grow: 0;
}
.topAdvantageInfo {
	padding: 2rem;
	flex: 0;
}
.topAdvantageTitle {
	font-size: 1.25em;
}
.serviceTypeGroup {
	padding: 1.5rem 2rem 2rem;
	background-color: #fff;
}
.serviceTypeGroup + .serviceTypeGroup {
	margin-top: 1.5rem;
}
.serviceTypeTitle {
	font-family: var(--point-font);
	font-weight: var(--point-font-bold);
	font-size: 2.5em;
	color: var(--sub-color);
	letter-spacing: 0;
}
.serviceList:not(.serviceListInWorks) li.pickup-full {
	flex-basis: 100%;
}
.serviceList:not(.serviceListInWorks) li.pickup-half {
	flex-basis: calc(50% - 1rem / 2);
}
.serviceList a {
	background-color: var(--bg-sub-color);
}
.serviceList li.pickup .serviceListTitle {
	font-size: 1.35em;
}
.serviceListSlug {
	display: none;
}
.worksList {
	gap: 1rem;
}
.worksList li {
	flex-basis: calc(25% - 1rem*3/4);
}
.worksList a {
	background-color: #fff;
	padding: 1rem;
	height: 100%;
}
.worksList a::after {
	display: none;
}
.worksType {
	margin: 0;
}
.worksListTitle {
	font-weight: var(--font-regular);
	font-size: 0.875em;
}
.blogListMeta time {
	font-weight: var(--eng-font-regular);
	color: var(--main-color);
}
.blogListCategory {
	display: none;
}
.ctaSection::before {
	mix-blend-mode: initial;
	background: var(--bg-gradient);
}
.ctaSectionContent .sectionTitleJa {
	color: inherit;
}
.ctaSectionBtn .ctaBtn {
	background-color: var(--point-color);
	color: inherit;
	border-color: var(--point-color);
}
.footer {
	background: #001F52;
	color: #fff;
}
.footerTopTitle {
	flex-basis: 9rem;
}
.footerTopTitle strong {
	font-family: var(--eng-font);
	font-weight: var(--eng-font-bold);
	letter-spacing: 0.05em;
}
.footerTopTitle span {
	font-size: 0.75em;
}
.footerBottom {
	border-color: rgba(255, 255, 255, 0.15);
}
.contentTitleJa {
	font-size: 2em;
	font-family: var(--point-font);
	font-weight: var(--point-font-bold);
	color: var(--main-color);
	letter-spacing: 0;
}
.contentTitleEn {
	display: none;
}
.staffMeta + .contents p:first-child strong {
	font-size: 1.5em;
}
.staffQuals h3 {
	background: none;
	padding: 0;
	font-size: 14px;
	margin: 1.5rem 0 0;
}
.staffQuals h3::before {
	display: none;
}
.staffQuals a {
	color: var(--main-color);
	text-decoration: underline;
}
.topNews {
	background: var(--bg-gradient);
	padding: 2.5rem 0;
	color: #fff;
}
.topNews .sectionTitleJa,
.topNews .newsList a,
.topNews .btn {
	color: inherit;
}
.topNews .newsList,
.topNews .newsList li {
	border-color: #fff;
}
.priceMidGroupName {
	color: var(--main-color);
}
.footerBanner {
	padding: 0;
	width: 16.5625rem;
}
.footerBanner img {
	border-radius: 0.5rem;
}
.footerBanner i.closer {
	top: -0.3rem;
	right: -0.3rem;
	background-color: var(--main-color);
}
#philosophy dl {
	margin: 0;
}
#philosophy dt {
	font-family: var(--eng-font);
	font-weight: var(--eng-font-bold);
	letter-spacing: 0.05em;
	color: var(--sub-color);
	font-size: 1.25em;
	margin-top: 1rem;
}
#philosophy dd {
	display: flex;
	align-items: center;
	margin-top: 0.5em;
	margin-left: 0;
	gap: 0.5em;
}
#philosophy dd::before {
	content: "";
	border-top: 0.0625rem solid;
	flex-basis: 1em;
	flex-shrink: 0;
	color: var(--sub-color);
}
.footerTop .siteLogo {
	max-width: 2rem;
}
.footerTop .siteName {
	color: #fff;
	font-size: 1em;
}

@media screen and (max-width: 960px) {
	
}
@media screen and (max-width: 632px) {
	
}