: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;
}  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: 1.5em 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;
}
}.site-header {
width: 100%;
max-width: 100vw;
background: #fff !important;
padding: 0;
min-height: 0;
position: sticky;
top: 0;
z-index: 9999;
font-family: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif;
line-height: 1.2;
transition: background 0.3s ease, box-shadow 0.3s ease;
display: block;
box-shadow: 0 1px 3px rgba(0,0,0,0.06);
} .site-header .main-header-bar,
.site-header .ast-site-header-wrap,
.site-header [id*="ast-masthead"] {
min-height: 0 !important;
padding: 0 !important;
}
.site-header .main-header-bar .ast-container {
padding-top: 0;
padding-bottom: 0;
}
.site-header.scrolled {
background: #fff !important;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
} body.home .site-header,
body.marklis-fp .site-header {
position: fixed !important;
top: 0;
left: 0;
right: 0;
background: rgba(255,255,255,0.98) !important;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}
body.home .site-header.scrolled,
body.marklis-fp .site-header.scrolled {
background: rgba(255,255,255,0.98) !important;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
} body.home .site-header .site-title a,
body.home .site-header .main-navigation a:not([href*="contact"]):not(.header-cta-btn),
body.marklis-fp .site-header .site-title a,
body.marklis-fp .site-header .main-navigation a:not([href*="contact"]):not(.header-cta-btn) {
color: #1a1a1a !important;
}
body.home .site-header .main-navigation a[href*="contact"],
body.home .site-header .main-navigation a.header-cta-btn,
body.marklis-fp .site-header .main-navigation a[href*="contact"],
body.marklis-fp .site-header .main-navigation a.header-cta-btn {
background: #375A9D !important;
color: #fff !important;
}
body.home .site-header .menu-toggle .ast-mobile-svg,
body.home .site-header [class*="menu-toggle"] svg,
body.marklis-fp .site-header .menu-toggle .ast-mobile-svg,
body.marklis-fp .site-header [class*="menu-toggle"] svg {
fill: #1a1a1a !important;
}
.site-header .ast-container {
max-width: 1200px;
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
align-self: stretch;
min-height: 56px;
padding: 0 24px;
box-sizing: border-box;
}
.site-header .site-branding {
display: flex;
align-items: center;
min-height: 56px;
padding: 0;
margin: 0;
}
.site-header .site-title,
.site-header .site-title a,
.site-header .site-branding .site-title a {
font-family: 'Outfit', 'M PLUS 1p', 'Noto Sans JP', sans-serif !important;
font-weight: 700 !important;
letter-spacing: 0.02em;
font-size: 1rem !important;
line-height: 1 !important;
margin: 0 !important;
padding: 0 !important;
display: inline-flex !important;
align-items: center !important;
}
.site-header .ast-row {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
align-self: stretch;
min-height: 56px;
margin: 0;
padding: 0;
}
.site-header .site-branding .site-logo,
.site-logo {
display: flex;
align-items: center;
margin: 0;
}
.site-logo img {
max-width: 140px;
max-height: 36px;
width: auto;
height: auto;
object-fit: contain;
vertical-align: middle;
display: block;
}
@media (min-width: 769px) {
.site-logo img {
max-width: 160px;
max-height: 40px;
}
} .site-header .site-title a,
.site-header .main-navigation a {
color: #1a1a1a !important;
}
.site-header .main-navigation a:hover {
color: #375A9D !important;
} .site-header .main-navigation a[href*="contact"],
.site-header .main-navigation a.header-cta-btn {
background: #375A9D !important;
color: #fff !important;
padding: 8px 18px !important;
border-radius: 6px !important;
font-weight: 700 !important;
font-size: 0.875rem !important;
line-height: 1 !important;
font-family: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif !important;
display: inline-flex !important;
align-items: center !important;
align-self: center;
}
.site-header .main-navigation a[href*="contact"]:hover,
.site-header .main-navigation a.header-cta-btn:hover {
background: #2a4476 !important;
color: #fff !important;
} @media (max-width: 921px) {
.site-header .menu-toggle,
.site-header .main-header-menu-toggle,
.site-header [class*="menu-toggle"] {
background: transparent !important;
color: #111 !important;
border: none !important;
border-radius: 0 !important;
width: auto !important;
height: auto !important;
padding: 0 !important;
box-shadow: none !important;
}
body.home .site-header:not(.scrolled) .menu-toggle,
body.home .site-header:not(.scrolled) [class*="menu-toggle"],
body.marklis-fp .site-header:not(.scrolled) .menu-toggle,
body.marklis-fp .site-header:not(.scrolled) [class*="menu-toggle"] {
background: transparent !important;
backdrop-filter: none !important;
box-shadow: none !important;
}
.site-header .menu-toggle:hover,
.site-header .main-header-menu-toggle:hover,
.site-header [class*="menu-toggle"]:hover {
background: #fff !important;
color: #111 !important;
} .site-header .menu-toggle .ast-mobile-svg,
.site-header [class*="menu-toggle"] .ast-mobile-svg,
.site-header [class*="menu-toggle"] svg {
fill: #111 !important;
} .site-header .main-navigation ul,
.site-header .ast-mobile-popup-content,
.site-header [class*="mobile-popup"],
.site-header [class*="drawer"] {
background: #fff !important;
}
} @media (max-width: 921px) { .ast-mobile-popup-drawer,
.ast-off-canvas-panel-wrap,
.site-header [class*="ast-mobile-popup-wrap"],
.site-header [class*="mobile-popup-drawer"] {
position: fixed !important;
top: 0 !important;
right: 0 !important;
bottom: 0 !important;
width: 100% !important;
max-width: 100vw !important;
height: 100vh !important;
height: 100dvh !important;
z-index: 100000 !important;
display: flex !important;
flex-direction: row-reverse !important;
pointer-events: none !important;
visibility: hidden !important;
transition: visibility 0.25s ease !important;
}
.ast-mobile-popup-drawer.active,
.ast-mobile-popup-drawer[aria-hidden="false"],
.ast-off-canvas-panel-wrap.active,
.site-header [class*="ast-mobile-popup-wrap"].active,
body.ast-mobile-popup-active .ast-mobile-popup-drawer,
body.ast-mobile-popup-active .ast-off-canvas-panel-wrap {
pointer-events: auto !important;
visibility: visible !important;
} .ast-mobile-popup-overlay,
.ast-mobile-popup-drawer .ast-mobile-popup-overlay,
.ast-off-canvas-panel-wrap .ast-mobile-popup-overlay,
.site-header [class*="mobile-popup-overlay"] {
position: absolute !important;
inset: 0 !important;
background: rgba(0, 0, 0, 0.4) !important;
opacity: 0 !important;
transition: opacity 0.25s ease !important;
}
.ast-mobile-popup-drawer.active .ast-mobile-popup-overlay,
.ast-mobile-popup-drawer[aria-hidden="false"] .ast-mobile-popup-overlay,
.ast-off-canvas-panel-wrap.active .ast-mobile-popup-overlay,
body.ast-mobile-popup-active .ast-mobile-popup-overlay {
opacity: 1 !important;
} .ast-mobile-popup-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-off-canvas-panel-wrap .ast-mobile-popup-inner,
.site-header [class*="mobile-popup-content"] {
position: relative !important;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
background: #fff !important;
box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12) !important;
overflow-y: auto !important;
overflow-x: hidden !important;
-webkit-overflow-scrolling: touch !important;
display: flex !important;
flex-direction: column !important;
transform: translateX(100%) !important;
transition: transform 0.25s cubic-bezier(0.19, 1, 0.22, 1) !important;
pointer-events: auto !important;
}
.ast-mobile-popup-drawer.active .ast-mobile-popup-content,
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
.ast-mobile-popup-drawer[aria-hidden="false"] .ast-mobile-popup-content,
.ast-off-canvas-panel-wrap.active .ast-mobile-popup-content,
.ast-off-canvas-panel-wrap.active .ast-mobile-popup-inner,
body.ast-mobile-popup-active .ast-mobile-popup-content,
body.ast-mobile-popup-active .ast-mobile-popup-inner {
transform: translateX(0) !important;
} .ast-mobile-popup-header,
.ast-mobile-popup-content .ast-mobile-popup-header,
.site-header [class*="mobile-popup-header"] {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
min-height: 56px !important;
padding: 0 20px !important;
flex-shrink: 0 !important;
border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}
.ast-mobile-popup-content .menu-toggle-close,
.ast-mobile-popup-content [class*="menu-toggle-close"],
.ast-mobile-popup-content [class*="toggle-close"] {
width: 48px !important;
height: 48px !important;
padding: 0 !important;
border: none !important;
background: transparent !important;
color: #1a1a1a !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
}
.ast-mobile-popup-content .menu-toggle-close svg,
.ast-mobile-popup-content [class*="toggle-close"] svg {
fill: currentColor !important;
} .ast-mobile-popup-content .main-navigation,
.ast-mobile-popup-inner .main-navigation,
.ast-off-canvas-panel-wrap .main-navigation {
display: block !important;
width: 100% !important;
padding: 12px 20px 24px !important;
flex: 1 1 auto !important;
}
.ast-mobile-popup-content .main-header-menu,
.ast-mobile-popup-inner .main-header-menu,
.ast-mobile-popup-content .main-navigation ul,
.ast-mobile-popup-inner .main-navigation ul {
display: block !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
.ast-mobile-popup-content .main-navigation ul li,
.ast-mobile-popup-inner .main-navigation ul li {
width: 100% !important;
border: none !important;
}
.ast-mobile-popup-content .main-navigation ul li a,
.ast-mobile-popup-inner .main-navigation ul li a {
display: block !important;
width: 100% !important;
padding: 14px 0 !important;
font-size: 1rem !important;
font-weight: 600 !important;
color: #1a1a1a !important;
text-decoration: none !important;
border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
min-height: 48px !important;
line-height: 1.4 !important;
font-family: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif !important;
transition: color 0.2s !important;
}
.ast-mobile-popup-content .main-navigation ul li a:hover,
.ast-mobile-popup-inner .main-navigation ul li a:hover {
color: #375A9D !important;
}
.ast-mobile-popup-content .main-navigation ul li.current-menu-item > a,
.ast-mobile-popup-content .main-navigation ul li.current_page_item > a,
.ast-mobile-popup-inner .main-navigation ul li.current-menu-item > a,
.ast-mobile-popup-inner .main-navigation ul li.current_page_item > a {
color: #375A9D !important;
font-weight: 700 !important;
border-left: 4px solid #375A9D !important;
padding-left: 12px !important;
} .ast-mobile-popup-content .main-navigation ul ul,
.ast-mobile-popup-inner .main-navigation ul ul {
display: none !important;
list-style: none !important;
margin: 0 !important;
padding: 0 0 0 16px !important;
background: #f8faf9 !important;
border-radius: 0 0 12px 12px !important;
}
.ast-mobile-popup-content .main-navigation ul li.marklis-submenu-open > ul,
.ast-mobile-popup-inner .main-navigation ul li.marklis-submenu-open > ul {
display: block !important;
padding: 8px 0 8px 16px !important;
}
.ast-mobile-popup-content .main-navigation ul ul li a,
.ast-mobile-popup-inner .main-navigation ul ul li a {
font-size: 0.9375rem !important;
padding: 10px 0 !important;
border-bottom: none !important;
border-left: none !important;
}
.ast-mobile-popup-content .main-navigation ul li.menu-item-has-children > a,
.ast-mobile-popup-inner .main-navigation ul li.menu-item-has-children > a {
padding-right: 36px !important;
position: relative !important;
}
.ast-mobile-popup-content .main-navigation ul li.menu-item-has-children > a::after,
.ast-mobile-popup-inner .main-navigation ul li.menu-item-has-children > a::after {
content: '' !important;
position: absolute !important;
right: 12px !important;
top: 50% !important;
transform: translateY(-50%) rotate(0deg) !important;
width: 0 !important;
height: 0 !important;
border-left: 5px solid transparent !important;
border-right: 5px solid transparent !important;
border-top: 6px solid #1a1a1a !important;
transition: transform 0.2s !important;
}
.ast-mobile-popup-content .main-navigation ul li.menu-item-has-children.marklis-submenu-open > a::after,
.ast-mobile-popup-inner .main-navigation ul li.menu-item-has-children.marklis-submenu-open > a::after {
transform: translateY(-50%) rotate(180deg) !important;
} .ast-mobile-header-wrap .main-navigation {
padding: 12px 20px 24px !important;
}
.ast-mobile-header-wrap .main-navigation ul li a {
min-height: 48px !important;
padding: 14px 0 !important;
font-size: 1rem !important;
}
} .main-navigation,
.site-header .ast-main-header-nav {
display: flex;
justify-content: flex-end;
align-items: center;
align-self: stretch;
}
.site-header .ast-main-header-nav .main-header-menu {
align-items: center;
}
.main-navigation ul,
.site-header .ast-main-header-nav ul.main-header-menu {
list-style: none;
display: flex;
gap: 4px;
margin: 0;
padding: 0;
align-items: center;
}
.main-navigation ul li,
.site-header .ast-main-header-nav ul.main-header-menu li {
position: relative;
display: flex;
align-items: center;
} .main-navigation ul li a,
.site-header .ast-main-header-nav ul.main-header-menu li a {
padding: 10px 12px;
display: inline-flex;
align-items: center;
min-height: 36px;
box-sizing: border-box;
color: #1a1a1a;
text-decoration: none;
font-weight: 600;
font-size: 0.8125rem;
line-height: 1;
font-family: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif;
transition: all 0.3s ease;
}
@media (min-width: 769px) {
.main-navigation ul li a,
.site-header .ast-main-header-nav ul.main-header-menu li a {
font-size: 0.875rem;
padding: 12px 14px;
min-height: 40px;
}
}
.main-navigation ul li a:hover,
.site-header .ast-main-header-nav ul.main-header-menu li a:hover {
color: #375A9D;
} .main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.site-header .ast-main-header-nav ul.main-header-menu li.current-menu-item > a,
.site-header .ast-main-header-nav ul.main-header-menu li.current_page_item > a {
color: #375A9D;
font-weight: 700;
position: relative;
}
.main-navigation ul li.current-menu-item > a::after,
.main-navigation ul li.current_page_item > a::after,
.site-header .ast-main-header-nav ul.main-header-menu li.current-menu-item > a::after,
.site-header .ast-main-header-nav ul.main-header-menu li.current_page_item > a::after {
content: "";
position: absolute;
bottom: 2px;
left: 10%;
width: 80%;
height: 1.5px;
background: linear-gradient(90deg, #375A9D, #C59C53);
border-radius: 1px;
} .main-navigation ul ul {
position: absolute;
left: 0;
top: 100%;
background-color: #fff;
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
display: none;
min-width: 200px;
border-radius: 8px;
z-index: 1001;
border: 1px solid rgba(0,0,0,0.06);
}
.main-navigation ul li:hover > ul {
display: block;
}
.main-navigation ul ul li {
width: 100%;
}
.main-navigation ul ul li a {
font-size: 0.8125rem;
color: #1c1c1c;
padding: 10px 16px;
font-family: 'M PLUS 1p', 'Noto Sans JP', -apple-system, sans-serif;
}
.main-navigation ul ul li:hover > a {
color: #375A9D;
} .fp-contact.fp-contact-dark {
padding: var(--fp-space-2xl, 80px) var(--fp-space, 24px);
text-align: center;
background: #375A9D;
color: #fff;
border: none;
border-radius: 0;
}
.fp-contact-dark-title {
font-family: var(--fp-font-display, 'Outfit', 'M PLUS 1p', 'Noto Sans JP', sans-serif);
font-size: clamp(1.75rem, 5vw, 3rem);
font-weight: 900;
color: #fff;
margin: 0 0 8px;
letter-spacing: 0.02em;
line-height: 1.3;
}
.fp-contact-dark-accent {
color: #ffd8a0;
font-weight: 900;
}
.fp-contact-dark-lead {
font-size: 1rem;
color: rgba(255, 255, 255, 0.85);
margin: 0 0 var(--fp-space-lg, 48px);
line-height: 1.6;
}
.fp-contact-points {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--fp-space, 24px);
margin-bottom: var(--fp-space-lg, 48px);
}
.fp-contact.fp-contact-dark .fp-contact-point {
padding: 28px 32px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 16px;
text-align: center;
transition: transform 0.3s, background 0.3s, border-color 0.3s;
}
.fp-contact.fp-contact-dark .fp-contact-point:hover {
transform: translateY(-4px);
background: rgba(255, 255, 255, 0.1);
border-color: rgba(255, 255, 255, 0.2);
}
.fp-contact.fp-contact-dark .fp-contact-point strong {
display: block;
margin-bottom: 8px;
font-size: 1.1rem;
font-weight: 700;
color: #fff;
}
.fp-contact.fp-contact-dark .fp-contact-point span {
font-size: 0.95rem;
color: rgba(255, 255, 255, 0.75);
line-height: 1.5;
}
.fp-contact .fp-contact-cta-btn {
font-size: 1.15rem;
padding: 20px 44px;
background: #C59C53;
color: #fff !important;
border: none;
box-shadow: 0 8px 32px rgba(197, 156, 83, 0.45);
transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.fp-contact .fp-contact-cta-btn:hover {
background: #9D7A3E;
color: #fff !important;
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(197, 156, 83, 0.55);
}
.fp-contact .fp-section-cta {
margin-top: 0;
}
@media (min-width: 769px) {
.fp-contact.fp-contact-dark .fp-contact-point strong { font-size: 1.25rem; }
.fp-contact.fp-contact-dark .fp-contact-point span { font-size: 1rem; }
.fp-contact .fp-contact-cta-btn { font-size: 1.25rem; padding: 24px 52px; }
} .custom-footer {
background-color: #1a1a1a;
font-family: var(--marklis-font-sans);
color: #fff;
border-top: none;
border-bottom: none;
}
.footer-site-name::before,
.footer-inner::after,
.footer-column::after,
.footer-links-area::after {
content: none;
display: none;
}
.footer-site-name {
color: #fff !important;
}
.footer-subtext {
color: rgba(255,255,255,0.7) !important;
}
.footer-column h3 {
border: none;
box-shadow: none;
background-image: none;
color: #fff !important;
}
.footer-column ul li a {
color: rgba(255,255,255,0.8) !important;
}
.footer-column ul li a:hover {
color: #fff !important;
}
.footer-social a {
color: var(--marklis-primary) !important;
}  .global-cta-section {
background: var(--marklis-primary);
color: white;
text-align: center;
padding: 80px 24px;
box-sizing: border-box;
} body.home .global-cta-section,
body.page-template-default .global-cta-section {
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
width: 100vw;
max-width: 100vw;
} body.single .global-cta-section,
body.blog .global-cta-section,
body.archive .global-cta-section {
width: 100%;
max-width: 100%;
margin: 0;
position: static;
left: auto;
right: auto;
}
.global-cta-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.global-cta-content {
max-width: 800px;
margin: 0 auto;
padding: 0 20px;
}
.global-cta-title {
font-family: var(--marklis-font-sans);
font-size: 1.75rem;
font-weight: 700;
margin-bottom: 12px;
color: white;
}
.global-cta-subtitle {
font-size: 1.15rem;
font-weight: 600;
color: rgba(255,255,255,0.95);
text-align: center;
margin-bottom: 28px;
}
.global-cta-questions {
margin-bottom: 32px;
}
.global-cta-question {
background: rgba(255, 255, 255, 0.98);
border-radius: 8px;
padding: 20px 24px;
margin-bottom: 16px;
font-size: 1.05rem;
color: var(--ref-text-dark);
line-height: 1.6;
font-weight: 600;
text-align: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
transition: box-shadow 0.2s;
}
.global-cta-question:last-child {
margin-bottom: 0;
}
.global-cta-question:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.global-cta-description {
font-size: 1rem;
line-height: 1.7;
margin-bottom: 32px;
color: rgba(255,255,255,0.95);
font-weight: 400;
}
.global-cta-benefits {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
margin: 0 auto 32px;
max-width: 560px;
}
@media (min-width: 640px) {
.global-cta-benefits {
grid-template-columns: repeat(4, 1fr);
gap: 16px;
max-width: 900px;
}
}
.global-cta-benefit {
background: rgba(255, 255, 255, 0.15);
padding: 20px 16px;
border-radius: 8px;
border: 1px solid rgba(255,255,255,0.25);
color: white;
font-size: 0.9rem;
line-height: 1.5;
text-align: center;
}
.global-cta-buttons {
display: flex;
justify-content: center;
align-items: center;
gap: 20px;
margin-bottom: 24px;
flex-wrap: wrap;
}
.global-cta-button-primary {
display: inline-block;
background: white;
color: #375A9D;
padding: 18px 36px;
text-decoration: none;
border-radius: 8px;
font-weight: 600;
font-size: 1.2rem;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.global-cta-button-primary:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,0.06);
text-decoration: none;
color: #375A9D;
}
.global-cta-button-line {
display: inline-flex;
align-items: center;
background: #00B900;
color: white;
padding: 18px 32px;
text-decoration: none;
border-radius: 8px;
font-weight: 600;
font-size: 1.1rem;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.global-cta-button-line:hover {
background: #009900;
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,0.15);
text-decoration: none;
color: white;
}
.global-cta-button-line svg {
flex-shrink: 0;
}
.global-note {
font-size: 0.9rem;
color: white;
opacity: 0.8;
line-height: 1.6;
}  @media (min-width: 769px) {
.footer-inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
padding: 80px 80px 20px;
box-sizing: border-box;
}
.footer-logo-area {
flex: 1 1 260px;
min-width: 200px;
max-width: 240px;
box-sizing: border-box;
padding-right: 32px;
}
.footer-site-name {
font-family: var(--marklis-font-serif);
font-size: 20px;
color: #fff !important;
margin-bottom: 6px;
}
.footer-subtext {
font-size: 12px;
color: rgba(255,255,255,0.7) !important;
}
.footer-social {
margin-top: 20px;
}
.footer-social a {
margin-right: 12px;
color: var(--marklis-primary) !important;
text-decoration: none;
font-size: 13px;
} .footer-sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
.footer-social a.footer-line-icon-link {
width: 36px;
height: 36px;
border-radius: 999px;
background: rgba(0, 195, 0, 0.16);
border: 1px solid rgba(0, 195, 0, 0.35);
display: inline-flex;
align-items: center;
justify-content: center;
position: relative;
}
.footer-social a.footer-line-icon-link::before {
content: "";
width: 22px;
height: 22px;
border-radius: 6px;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3crect width='24' height='24' rx='6' fill='%2300c300'/%3e%3cpath d='M7.2 7.5h2.1c1.2 0 1.9.7 1.9 1.8 0 1.2-.8 1.9-2 1.9H8.4v1.8H7.2V7.5zm1.2 1.1v1.6h.8c.6 0 .9-.3.9-.8 0-.5-.3-.8-.9-.8h-.8zm3.9-.6h1.2v4.2h-1.2V8zm2.1 0h1.2v3.1h1.7v1.1h-2.9V8z' fill='white'/%3e%3c/svg%3e");
background-size: 22px 22px;
background-repeat: no-repeat;
background-position: center;
display: inline-block;
}
.footer-social a.footer-line-icon-link:hover {
background: rgba(0, 195, 0, 0.22);
border-color: rgba(0, 195, 0, 0.5);
}
.footer-links-area {
flex: 3 1 720px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
gap: 32px;
}
.footer-column {
text-align: left;
flex: 1 1 180px;
min-width: 180px;
}
.footer-column h3 {
font-size: 14px;
font-weight: bold;
margin-bottom: 6px;
color: #fff !important;
}
.footer-column ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-column ul li {
margin-bottom: 3px;
}
.footer-column ul li a {
text-decoration: none;
color: rgba(255,255,255,0.8) !important;
font-size: 13px;
}
.footer-column ul li a:hover {
text-decoration: underline;
color: #fff !important;
}
.footer-bottom {
max-width: 100%;
padding: 40px 20px 80px;
text-align: center;
font-size: 12px;
color: rgba(255,255,255,0.6) !important;
} .footer-line-link {
font-weight: 700;
color: #bbf7d0;
text-decoration: none;
}
.footer-line-link:hover {
color: #dcfce7;
}
.footer-bottom ul.footer-nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
padding: 0;
margin: 0 auto 16px;
list-style: none;
text-align: center;
}
.footer-bottom ul.footer-nav li a {
color: rgba(255,255,255,0.7) !important;
text-decoration: none;
}
.footer-bottom ul.footer-nav li a:hover {
text-decoration: underline;
color: #fff !important;
}
.footer-bottom .copyright {
margin-top: 12px;
color: rgba(255,255,255,0.5) !important;
}
} @media (max-width: 768px) {
.site-header .ast-container {
flex-direction: column;
text-align: center;
padding: 12px;
justify-content: center;
align-items: center;
}
.site-header .ast-row {
flex-direction: column;
width: 100%;
align-items: center;
}
.site-header .site-branding {
margin-bottom: 12px;
justify-content: center;
}
.site-logo img {
max-width: 120px;
margin-bottom: 12px;
}
.main-navigation {
width: 100%;
justify-content: center;
}
.main-navigation ul,
.site-header .ast-main-header-nav ul.main-header-menu {
flex-direction: column;
align-items: center;
gap: 10px;
}
.main-navigation ul li,
.site-header .ast-main-header-nav ul.main-header-menu li {
width: 100%;
}
.main-navigation ul li a,
.site-header .ast-main-header-nav ul.main-header-menu li a {
display: block;
width: 100%;
font-size: 0.95rem;
padding: 10px;
border-bottom: 1px solid var(--marklis-border-light);
text-align: center;
}
.main-navigation ul ul {
position: static;
box-shadow: none;
display: none;
width: 100%;
}
.main-navigation ul li:hover > ul {
display: block;
} .footer-inner {
padding: 16px 16px 12px;
display: flex;
flex-direction: column;
align-items: stretch;
text-align: left;
}
.footer-links-area {
display: block;
border-top: 1px solid var(--marklis-border);
margin-top: 20px;
}
.footer-column {
border-bottom: 1px solid var(--marklis-border-light);
padding: 8px 0;
}
.footer-site-name {
font-size: 16px;
margin-bottom: 4px;
color: #fff !important;
}
.footer-subtext {
font-size: 12px;
line-height: 1.4;
color: rgba(255,255,255,0.7) !important;
}
.footer-social a {
font-size: 11px;
display: inline-block;
margin-top: 2px;
color: var(--marklis-primary) !important;
}
.footer-column h3 {
font-family: var(--marklis-font-serif);
font-size: 14px;
font-weight: normal;
color: #fff !important;
padding: 10px 0;
margin: 0;
position: relative;
cursor: pointer;
}
.footer-column h3::after {
content: "+";
position: absolute;
right: 0;
top: 14px;
font-size: 18px;
color: var(--marklis-text-light);
transition: transform 0.2s ease;
}
.footer-column.open h3::after {
content: "−";
transform: rotate(0deg);
}
.footer-column ul {
max-height: 0;
overflow: hidden;
padding: 0;
margin: 0;
list-style: none;
transition: max-height 0.4s ease;
}
.footer-column.open ul {
max-height: 500px;
padding: 6px 0 12px;
}
.footer-column ul li {
padding: 4px 0;
}
.footer-column ul li a {
font-size: 12px;
color: rgba(255,255,255,0.8) !important;
text-decoration: none;
line-height: 1.2;
}
.footer-column ul li a:hover {
text-decoration: underline;
}
.footer-bottom {
max-width: 960px;
margin: 40px auto 30px;
padding: 0 20px;
font-family: var(--marklis-font-sans);
font-size: 11.5px;
line-height: 1.8;
color: var(--marklis-text-light);
text-align: center;
}
.footer-bottom ul.footer-nav {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 6px 16px;
padding: 0;
margin: 0 auto 16px;
list-style: none;
text-align: left;
max-width: 300px;
}
.footer-bottom ul.footer-nav li a {
color: rgba(255,255,255,0.7) !important;
text-decoration: none;
font-size: 9px;
transition: opacity 0.2s ease;
}
.footer-bottom ul.footer-nav li a:hover {
opacity: 0.7;
text-decoration: underline;
}
.footer-bottom .copyright {
font-size: 9px;
color: rgba(255,255,255,0.5) !important;
margin-top: 9px;
}
} .sticky-cta-bar {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 99998;
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
border-top: 1px solid rgba(0, 0, 0, 0.05);
padding: 12px 20px;
padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 768px) {
.sticky-cta-bar {
display: block;
}
body {
padding-bottom: 80px;
}
}
@media (min-width: 769px) {
body.sticky-cta-bar-visible {
padding-bottom: 0;
}
}
.sticky-cta-link {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
min-height: 48px;
padding: 14px 24px;
font-size: 1rem;
font-weight: 700;
color: #fff !important;
text-decoration: none;
background: #375A9D;
border-radius: 12px;
transition: background 0.2s, transform 0.2s;
}
.sticky-cta-link:hover {
color: #fff !important;
background: #2a4476;
}#marklis-float-menu {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
z-index: 999999;
display: flex;
flex-direction: column;
gap: 12px;
font-family: var(--marklis-font-sans);
} body.single #marklis-float-menu,
body.blog #marklis-float-menu,
body.archive #marklis-float-menu,
body.category #marklis-float-menu,
body.tag #marklis-float-menu,
body.search #marklis-float-menu {
position: fixed;
right: 20px;
top: 50%;
transform: translateY(-50%);
z-index: 999999;
margin: 0;
padding: 0;
}
.float-item {
opacity: 0;
transform: translateX(100px);
animation: slideInFloat 0.6s ease-out forwards;
}
.float-item:nth-child(1) { animation-delay: 0.2s; }
.float-item:nth-child(2) { animation-delay: 0.4s; }
@keyframes slideInFloat {
to {
opacity: 1;
transform: translateX(0);
}
}
.float-item a {
display: flex;
align-items: center;
padding: 12px 16px 12px 12px;
background: var(--marklis-background);
border-radius: 25px;
text-decoration: none;
color: var(--marklis-text);
box-shadow: var(--marklis-shadow-lg);
border: 1px solid var(--marklis-border);
min-width: 60px;
transition: var(--marklis-transition);
white-space: nowrap;
}
.float-icon {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 12px;
color: var(--marklis-background);
flex-shrink: 0;
}
.float-line { background: #00B900; }
.float-contact { background: var(--marklis-primary); }
.float-item span {
font-size: 14px;
font-weight: 600;
opacity: 0;
max-width: 0;
overflow: hidden;
transition: var(--marklis-transition);
margin: 0;
}
.float-item a:hover {
transform: translateX(-5px) scale(1.05);
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}
.float-item a:hover span {
opacity: 1;
max-width: 120px;
margin-right: 8px;
} @media (max-width: 768px) {
#marklis-float-menu {
display: none !important;
}
} .cta-button {
display: inline-block;
background: white;
color: var(--marklis-primary);
padding: 18px 36px;
text-decoration: none !important;
border-radius: var(--marklis-border-radius);
font-weight: 600;
font-size: 1.2rem;
transition: all 0.3s ease;
box-shadow: var(--marklis-shadow);
border: 1px solid var(--marklis-primary);
}
.cta-button:hover {
transform: translateY(-2px);
box-shadow: var(--marklis-shadow-lg);
text-decoration: none !important;
color: var(--marklis-primary);
background: var(--marklis-background-light);
}
.cta-button.gradient-border {
border-image-slice: 1;
border-image-source: var(--marklis-gradient-primary);
} .card {
background: var(--marklis-background);
border-radius: var(--marklis-border-radius-lg);
box-shadow: var(--marklis-shadow);
padding: 24px;
transition: var(--marklis-transition);
border: 1px solid var(--marklis-border);
}
.card:hover {
transform: translateY(-4px);
box-shadow: var(--marklis-shadow-lg);
}
.card h3 {
color: var(--marklis-primary);
font-size: 1.2rem;
margin-bottom: 12px;
}
.card p {
color: var(--marklis-text-light);
line-height: 1.6;
margin: 0;
} .form-input,
.form-textarea,
.form-select {
width: 100%;
padding: 12px 16px;
border: 2px solid var(--marklis-border);
border-radius: var(--marklis-border-radius);
font-family: var(--marklis-font-sans);
font-size: 14px;
color: var(--marklis-text);
background: var(--marklis-background);
transition: var(--marklis-transition);
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
outline: none;
border-color: var(--marklis-primary);
box-shadow: 0 0 0 3px rgba(28, 96, 75, 0.1);
}
.form-input:focus-visible,
.form-textarea:focus-visible,
.form-select:focus-visible {
outline: 2px solid var(--marklis-primary);
outline-offset: 2px;
}
.form-label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: var(--marklis-text-dark);
font-size: 14px;
}
.form-group {
margin-bottom: 20px;
} .section {
padding: 80px 0;
background: var(--marklis-background);
}
.section-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
box-sizing: border-box;
}
.section-title {
font-family: var(--marklis-font-serif);
font-size: 2rem;
color: var(--marklis-primary);
text-align: center;
margin-bottom: 40px;
line-height: 1.4;
}
.section-subtitle {
font-size: 0.9rem;
color: var(--marklis-text-light);
text-align: center;
margin-bottom: 8px;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.section-lead {
font-size: 1rem;
color: var(--marklis-text);
text-align: center;
line-height: 1.8;
margin-bottom: 40px;
max-width: 800px;
margin-left: auto;
margin-right: auto;
} .grid {
display: grid;
gap: 32px;
}
.grid-2 {
grid-template-columns: repeat(2, 1fr);
}
.grid-3 {
grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
grid-template-columns: repeat(4, 1fr);
}
.grid-auto {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
} .text-highlight {
background: linear-gradient(transparent 60%, rgba(28, 96, 75, 0.3) 60%);
padding: 2px 4px;
font-weight: 600;
}
.text-gradient {
background: var(--marklis-gradient-primary);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: transparent;
font-weight: bold;
} .badge {
display: inline-block;
padding: 4px 12px;
background: var(--marklis-primary);
color: var(--marklis-background);
font-size: 12px;
font-weight: 600;
border-radius: var(--marklis-border-radius-full);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.badge-secondary {
background: var(--marklis-secondary);
}
.badge-accent {
background: var(--marklis-accent);
} #reading-progress {
position: fixed;
top: 0;
left: 0;
width: 0%;
height: 3px;
background: var(--marklis-primary);
z-index: 9999;
transition: width 0.1s ease;
} .table-of-contents {
background: var(--marklis-background-light);
border: 1px solid var(--marklis-border);
border-radius: var(--marklis-border-radius);
padding: 24px;
margin: 2em 0;
box-shadow: var(--marklis-shadow-sm);
}
.table-of-contents h3 {
margin: 0 0 16px 0;
color: var(--marklis-primary);
font-size: 1.1rem;
border-bottom: 2px solid var(--marklis-primary);
padding-bottom: 8px;
}
.table-of-contents ul {
list-style: none;
padding: 0;
margin: 0;
}
.table-of-contents li {
margin-bottom: 8px;
}
.table-of-contents li li {
margin-left: 20px;
}
.toc-link {
color: var(--marklis-text);
text-decoration: none;
font-size: 0.9rem;
line-height: 1.5;
transition: var(--marklis-transition);
display: block;
padding: 4px 8px;
border-radius: var(--marklis-border-radius-sm);
}
.toc-link:hover {
background: var(--marklis-background);
color: var(--marklis-primary);
} .marklis-line-popup {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9998;
max-width: 350px;
width: 90%;
background: var(--marklis-background);
border-radius: var(--marklis-border-radius-lg);
box-shadow: var(--marklis-shadow-lg);
border: 1px solid var(--marklis-border);
font-family: var(--marklis-font-sans);
animation: popupSlideIn 0.5s ease-out;
}
.marklis-line-popup--visible {
display: block !important;
}
@keyframes popupSlideIn {
from {
opacity: 0;
transform: translateY(30px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
.popup-content {
padding: 20px;
position: relative;
}
.popup-close {
position: absolute;
top: 10px;
right: 15px;
background: none;
border: none;
font-size: 24px;
color: var(--marklis-text-light);
cursor: pointer;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: var(--marklis-transition);
}
.popup-close:hover {
background: var(--marklis-background-light);
color: var(--marklis-text);
}
.popup-header h3 {
margin: 0 0 15px 0;
font-size: 16px;
font-weight: bold;
color: var(--marklis-primary);
line-height: 1.4;
padding-right: 30px;
}
.popup-body {
font-size: 13px;
line-height: 1.6;
color: var(--marklis-text);
}
.popup-body p {
margin: 0 0 12px 0;
}
.popup-priority {
font-size: 12px;
color: var(--marklis-text-light);
margin-bottom: 16px;
}
.popup-line-link {
text-align: center;
margin: 16px 0;
}
.line-button {
display: inline-block;
background: #00B900;
color: var(--marklis-background);
padding: 10px 24px;
border-radius: 25px;
text-decoration: none;
font-weight: bold;
font-size: 14px;
transition: var(--marklis-transition);
box-shadow: 0 2px 8px rgba(0, 185, 0, 0.3);
}
.line-button:hover {
background: #009900;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 185, 0, 0.4);
color: var(--marklis-background);
text-decoration: none;
}
.popup-instruction {
font-size: 12px;
color: var(--marklis-text-light);
text-align: center;
margin-top: 12px;
margin-bottom: 0;
} .popup-image-wrapper {
display: block;
text-align: center;
}
.popup-image-link {
display: block;
text-decoration: none;
line-height: 0;
}
.popup-banner-image {
max-width: 100%;
height: auto;
display: block;
border-radius: var(--marklis-border-radius);
} @media (max-width: 768px) {
#marklis-float-menu {
right: 15px;
top: auto;
bottom: 80px;
transform: none;
gap: 12px;
}
body.single #marklis-float-menu,
body.blog #marklis-float-menu,
body.archive #marklis-float-menu {
right: 15px;
top: auto;
bottom: 80px;
transform: none;
}
.float-item a {
padding: 10px;
border-radius: 50%;
min-width: 64px;
width: 64px;
height: 64px;
justify-content: center;
}
.float-icon {
width: 44px;
height: 44px;
margin-right: 0;
}
.float-icon svg {
width: 28px;
height: 28px;
}
.float-item span {
display: none;
}
.grid-2,
.grid-3,
.grid-4 {
grid-template-columns: 1fr;
}
.grid-auto {
grid-template-columns: 1fr;
}
.marklis-line-popup {
bottom: 15px;
right: 15px;
max-width: 320px;
}
.popup-content {
padding: 16px;
}
.popup-header h3 {
font-size: 15px;
}
.popup-body {
font-size: 12px;
}
.line-button {
font-size: 13px;
padding: 9px 20px;
}
}
@media print {
#marklis-float-menu,
.marklis-line-popup {
display: none;
}
}@media (max-width: 768px) {
.mobile-br,
span.mobile-br {
display: block !important;
height: 0.03em !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
font-size: 0 !important;
border: none !important;
background: none !important;
width: 100% !important;
}
}
@media (max-width: 480px) {
.mobile-br,
span.mobile-br {
height: 0.01em !important;
}
} @media (max-width: 768px) {
.contact-section .mobile-br,
.service-cards .mobile-br,
.contact-lead .mobile-br {
display: block !important;
height: 0.02em !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
} @media (max-width: 768px) {
.marklis-contact-description .mobile-br,
.line-cta-title .mobile-br {
display: block !important;
height: 0.02em !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
}
}