:root { --marklis-primary: #375A9D;
--marklis-primary-dark: #2a4476;
--marklis-primary-light: #4a6fb5;
--marklis-secondary: #6b6b6b;
--marklis-accent: #C59C53;
--marklis-accent-soft: rgba(197, 156, 83, 0.15); --marklis-text: #1c1c1c;
--marklis-text-light: #6b6b6b;
--marklis-text-dark: #1a1a1a; --marklis-background: #ffffff;
--marklis-background-light: #f8f9fa;
--marklis-background-dark: #f4f4f4; --marklis-border: rgba(0,0,0,0.08);
--marklis-border-light: rgba(0,0,0,0.06);
--marklis-border-dark: rgba(0,0,0,0.12); --marklis-shadow-sm: 0 2px 4px rgba(0,0,0,0.06);
--marklis-shadow: 0 4px 12px rgba(0,0,0,0.06);
--marklis-shadow-lg: 0 8px 24px rgba(0,0,0,0.08); --marklis-font-sans: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif;
--marklis-font-serif: 'Outfit', 'M PLUS 1p', 'Noto Sans JP', sans-serif; --marklis-border-radius: 8px;
--marklis-border-radius-sm: 4px;
--marklis-border-radius-lg: 12px;
--marklis-border-radius-full: 9999px;
--marklis-radius: 8px;
--marklis-radius-lg: 12px; --marklis-transition: all 0.3s ease; --marklis-section-padding: 64px;
--marklis-section-padding-mobile: 40px; --marklis-gradient-primary: linear-gradient(135deg, var(--marklis-primary) 0%, var(--marklis-primary-dark) 100%);
--marklis-gradient-subtle: linear-gradient(135deg, #e8f5e8 0%, #f0f9f6 100%); --marklis-accent-service: #3b82f6;
--marklis-accent-pricing: #C59C53;
--marklis-accent-partnership: #a855f7; --ref-dark-navy: #1e3a5f;
--ref-text-dark: #2d3748;
--ref-bg-strip: #f7f8fa; --fp-space: 24px;
--fp-space-lg: 48px;
--fp-radius: 8px;
}
@media (max-width: 768px) {
:root {
--fp-space: 16px;
--fp-space-lg: 24px;
}
}
@media (min-width: 769px) {
:root {
--fp-space: 32px;
--fp-space-lg: 64px;
}
}  body.home .site-content > .ast-container,
body.page-template-default.page-id-services .site-content > .ast-container,
body.page-template-default.page-id-pricing .site-content > .ast-container {
max-width: 100vw;
width: 100vw;
padding: 0;
margin: 0 auto;
box-sizing: border-box;
overflow: visible;
} body.home .site-content .ast-container,
body.page .site-content .ast-container,
body.home .site-main,
body.page .site-main,
body.home #primary,
body.page #primary {
display: flex !important;
flex-direction: column !important;
flex-wrap: nowrap !important;
align-items: stretch !important;
width: 100% !important;
} .marklis-page-content,
.marklis-contact-page-section,
.pricing-page-container,
.philosophy-page-wrapper,
.company-info-section,
.story-page-section,
.marklis-story-wrapper,
.company-profile-section,
.legal-privacy-container {
display: flex !important;
flex-direction: column !important;
width: 100% !important;
flex-wrap: nowrap !important;
} body.single .site-content .ast-container,
body.archive .site-content .ast-container,
body.blog .site-content .ast-container {
display: flex !important;
flex-direction: column !important;
flex-wrap: nowrap !important;
align-items: stretch !important;
width: 100% !important;
} html,
body.blog,
body.single-post,
body.blog .site,
body.single-post .site,
body.blog .site-content,
body.single-post .site-content {
background: #ffffff !important;
}  a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
outline: 3px solid var(--marklis-primary);
outline-offset: 3px;
}
.cta-button:focus-visible,
.global-cta-button-primary:focus-visible,
.global-cta-button-line:focus-visible {
outline: 3px solid var(--marklis-primary);
outline-offset: 4px;
} body {
font-family: var(--marklis-font-sans);
color: var(--marklis-text);
line-height: 1.7;
font-weight: 400;
} h1, h2, h3, h4, h5, h6 {
font-family: var(--marklis-font-serif);
font-weight: 700;
color: var(--marklis-text-dark);
} .fp-section-header {
max-width: 1200px;
margin: 0 auto var(--fp-space-lg);
padding: 0 var(--fp-space);
text-align: center;
}
.fp-section-header .fp-process-main-title,
.fp-process-main-title {
font-family: var(--marklis-font-serif);
font-size: clamp(1.75rem, 5vw, 3rem);
font-weight: 700;
color: var(--marklis-primary);
letter-spacing: 0.08em;
margin: 0 0 12px;
text-transform: uppercase;
position: relative;
padding-bottom: 12px;
}
.fp-section-header .fp-process-main-title::after,
.fp-process-main-title::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 48px;
height: 3px;
background: linear-gradient(90deg, var(--marklis-primary), var(--marklis-accent));
}
@media (min-width: 769px) {
.fp-section-header .fp-process-main-title,
.fp-process-main-title { font-size: clamp(2.5rem, 5vw, 4rem); }
}
.fp-section-header .fp-process-sub,
.fp-process-sub {
font-family: var(--marklis-font-sans);
text-align: center;
font-size: 1.05rem;
font-weight: 500;
color: var(--marklis-text-light);
margin: 0;
line-height: 1.7;
letter-spacing: 0.02em;
}
@media (min-width: 769px) {
.fp-section-header .fp-process-sub,
.fp-process-sub { font-size: 1.2rem; }
}
.fp-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 14px 26px;
font-size: 0.95rem;
font-weight: 700;
text-decoration: none;
border-radius: 10px;
transition: all 0.25s ease;
letter-spacing: 0.03em;
font-family: var(--marklis-font-sans);
}
.fp-btn-primary {
background: var(--marklis-primary);
color: #fff;
border: none;
min-width: 200px;
}
.fp-btn-primary:hover {
background: var(--marklis-primary-dark);
color: #fff;
transform: translateY(-2px);
box-shadow: 0 6px 24px rgba(55, 90, 157, 0.3);
}
.fp-btn-outline {
background: transparent;
color: var(--marklis-primary);
border: 2px solid var(--marklis-primary);
min-width: 180px;
}
.fp-btn-outline:hover {
background: var(--marklis-primary);
color: #fff;
transform: translateY(-2px);
}
.fp-section-cta {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 16px;
margin-top: var(--fp-space);
padding-top: 0;
text-align: center;
} body.single .wp-post-image,
body.single .post-thumbnail img,
body.single .featured-image img,
body.single .entry-image img {
width: 100% !important;
height: auto !important;
object-fit: cover !important;
object-position: center center !important;
border-radius: 12px !important;
margin-bottom: 32px !important;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
} @media (max-width: 768px) {
body.single .wp-post-image,
body.single .post-thumbnail img,
body.single .featured-image img,
body.single .entry-image img {
max-height: 300px !important;
margin-bottom: 24px !important;
border-radius: 8px !important;
}
} body.single-case_study .wp-post-image,
body.single-case_study .post-thumbnail img,
body.single-case_study .featured-image img,
body.single-case_study .entry-image img {
max-height: none !important;
object-fit: contain !important;
object-position: center center !important;
aspect-ratio: 16/9 !important;
border-radius: 12px !important;
margin-bottom: 32px !important;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
background-color: #f8f9fa !important;
} body.single .entry-content img,
body.blog .entry-content img,
body.archive .entry-content img,
body.single-case_study .entry-content img {
max-width: 100% !important;
height: auto !important;
border-radius: 8px !important;
margin: 0 !important;
} body.single .entry-content,
body.single-case_study .entry-content {
font-family: var(--marklis-font-sans);
font-size: 16px;
line-height: 1.8;
max-width: 100%;
font-weight: 400;
}
body.single .entry-content p,
body.single-case_study .entry-content p {
margin-bottom: 1.5em;
} body.single .entry-content ul,
body.single .entry-content ol,
body.single-case_study .entry-content ul,
body.single-case_study .entry-content ol {
padding-left: 2em;
margin-bottom: 1.5em;
}
body.single .entry-content li,
body.single-case_study .entry-content li {
margin-bottom: 0.5em;
} h1, h2, h3, h4, h5, h6 {
font-family: var(--marklis-font-sans);
color: var(--marklis-text-dark);
font-weight: 600;
line-height: 1.4;
} .entry-content h2 {
margin-top: 40px;
}
.entry-content h3 {
margin-top: 40px;
} a {
color: var(--marklis-primary);
text-decoration: none;
transition: var(--marklis-transition);
}
a:hover {
color: var(--marklis-primary-dark);
} @keyframes fadeUp {
to {
opacity: 1;
transform: translateY(0);
}
} @keyframes realisticHeartBeat {
0% {
transform: scale(1);
filter: brightness(1);
} 8% {
transform: scale(0.96);
filter: brightness(1.05);
} 15% {
transform: scale(0.88);
filter: brightness(1.15);
} 22% {
transform: scale(0.82);
filter: brightness(1.25);
} 30% {
transform: scale(0.95);
filter: brightness(1.1);
} 45% {
transform: scale(1.08);
filter: brightness(0.95);
} 65% {
transform: scale(1.02);
filter: brightness(0.98);
} 80%, 100% {
transform: scale(1);
filter: brightness(1);
}
} @keyframes excitedHeartBeat {
0% {
transform: scale(1);
filter: brightness(1.2);
} 15% {
transform: scale(0.7);
filter: brightness(1.5);
} 35% {
transform: scale(1.2);
filter: brightness(1.0);
} 50% {
transform: scale(0.75);
filter: brightness(1.4);
} 65% {
transform: scale(1.15);
filter: brightness(1.1);
} 85%, 100% {
transform: scale(1);
filter: brightness(1.2);
}
}
@keyframes morphShape {
0% { 
border-radius: 50%; 
transform: rotate(0deg); 
}
50% { 
border-radius: 40% 60% 55% 45% / 60% 40% 60% 40%; 
transform: rotate(10deg); 
}
100% { 
border-radius: 60% 40% 45% 55% / 40% 60% 40% 60%; 
transform: rotate(-10deg); 
}
} .animate {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.animate.show {
opacity: 1;
transform: translateY(0);
}
.animated-char {
display: inline-block;
opacity: 1;
transform: translateY(0);
background: inherit;
-webkit-background-clip: inherit;
-webkit-text-fill-color: inherit;
background-clip: inherit;
} .btn {
display: inline-block;
padding: 12px 24px;
background-color: var(--marklis-primary);
color: white;
border: none;
border-radius: var(--marklis-border-radius);
font-weight: 600;
text-decoration: none;
transition: var(--marklis-transition);
cursor: pointer;
}
.btn:hover {
background-color: var(--marklis-primary-dark);
color: white;
transform: translateY(-2px);
box-shadow: var(--marklis-shadow-lg);
} code {
background: linear-gradient(transparent 50%, rgba(255, 100, 100, 0.3) 50%);
font-weight: 700;
font-size: clamp(12px, 3vw, 14px);
padding: 0.1em 0.4em;
border-radius: 3px;
font-family: "SFMono-Regular", Consolas, "Courier New", monospace;
color: #b71c1c;
line-height: 1.6;
display: inline;
} .text-center {
text-align: center;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.widget {
margin-bottom: 1.5em;
}
.entry-meta {
display: none;
} .mobile-br {
display: none;
content: "";
} @media (max-width: 768px) {
.mobile-br {
display: block !important;
width: 100% !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
background: none !important;
line-height: 0 !important;
font-size: 0 !important;
}
.mobile-br::before {
content: "" !important;
display: block !important;
height: 0.1em !important;
margin: 0 !important;
}
}
@media (max-width: 480px) {
.mobile-br::before {
height: 0.05em !important;
}
} body.page-faq .entry-content h2.wp-block-heading:first-of-type,
body.page-faq .wp-block-uagb-container h2.wp-block-heading {
font-family: var(--marklis-font-serif);
font-size: clamp(1.75rem, 5vw, 3rem);
font-weight: 700;
color: var(--marklis-primary);
letter-spacing: 0.08em;
text-align: center;
text-transform: uppercase;
position: relative;
padding-bottom: 12px;
margin: 0 auto 12px;
max-width: 1200px;
}
body.page-faq .entry-content h2.wp-block-heading:first-of-type::after,
body.page-faq .wp-block-uagb-container h2.wp-block-heading::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 48px;
height: 3px;
background: linear-gradient(90deg, var(--marklis-primary), var(--marklis-accent));
}
body.page-case .uagb-ifb-title,
body.page-case .uagb-ifb-title-prefix,
body.page-case-studies .uagb-ifb-title,
body.page-case-studies .uagb-ifb-title-prefix {
font-family: var(--marklis-font-serif);
color: var(--marklis-primary);
letter-spacing: 0.08em;
}
body.page-case .uagb-ifb-title,
body.page-case-studies .uagb-ifb-title {
font-size: clamp(1.75rem, 5vw, 3rem);
font-weight: 700;
text-transform: uppercase;
position: relative;
padding-bottom: 12px;
}
body.page-case .uagb-ifb-title::after,
body.page-case-studies .uagb-ifb-title::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 48px;
height: 3px;
background: linear-gradient(90deg, var(--marklis-primary), var(--marklis-accent));
} @media (max-width: 768px) {
.fp-process-sub {
line-height: 1.75;
margin-top: 0.25em;
padding: 0 var(--fp-space);
}
.fp-section-cta {
flex-wrap: wrap;
gap: 12px;
justify-content: center;
padding: 0 var(--fp-space);
}
.fp-section-cta .fp-btn {
min-width: 200px;
}
} .marklis-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}