/* Canonical: kintone release 0bfb71d; verified against published source 2026-10-30.
   Only shell-matching rules, in their original cascade order; no product rules. */
.lak-shell { all: initial; display: block; }
.lak-shell :where(a, button, span, img, div, nav, h2, p, ul, li, small), .lak-shell *::before, .lak-shell *::after { all: revert; }

/* styles.css */
.lak-shell { --lak-shell-ink: #122f53; --lak-shell-muted: #4d6279; --lak-shell-blue: #076ccc; --lak-shell-pale-blue: #eef7ff; --lak-shell-line: #d4e4f1; --lak-shell-yellow: #ffcf24; --lak-shell-pale-yellow: #fff9e6; --lak-shell-header-height: 84px; }
.lak-shell, .lak-shell *, .lak-shell::before, .lak-shell::after, .lak-shell *::before, .lak-shell *::after { box-sizing: border-box; }
.lak-shell { margin: 0px; color: var(--lak-shell-ink); background: rgb(255, 255, 255); font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; font-size: 16px; line-height: 1.8; text-size-adjust: 100%; }
.lak-shell button { font: inherit; }
.lak-shell button,
.lak-shell a { -webkit-tap-highlight-color: transparent; }
.lak-shell button { color: inherit; }
.lak-shell a { color: inherit; text-underline-offset: 5px; }
.lak-shell a:focus-visible,
.lak-shell button:focus-visible { outline: 3px solid var(--lak-shell-blue); outline-offset: 5px; }
.lak-shell img,
.lak-shell svg { display: block; max-width: 100%; }
.lak-shell img { height: auto; }
.lak-shell h2,
.lak-shell p,
.lak-shell ul { margin: 0px; }
.lak-shell h2 { font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.lak-shell h2 { font-size: clamp(26px, 2.65vw, 38px); letter-spacing: 0.015em; }
.lak-shell ul { padding: 0px; list-style: none; }
.lak-shell .lak-shell-container { width: min(1184px, 100% - 80px); margin-inline: auto; }
.lak-shell.lak-shell-site-header { position: sticky; top: 0px; z-index: 20; background: rgba(255, 255, 255, 0.97); border-bottom: 1px solid rgb(233, 240, 246); }
.lak-shell .lak-shell-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--lak-shell-header-height); gap: 28px; }
.lak-shell .lak-shell-brand { flex-shrink: 0; }
.lak-shell .lak-shell-brand img { width: 152px; }
.lak-shell .lak-shell-primary-nav { display: flex; align-items: center; gap: 30px; }
.lak-shell .lak-shell-primary-nav a { text-decoration: none; font-size: 14px; font-weight: 700; padding-block: 12px; }
.lak-shell .lak-shell-primary-nav a:hover { color: var(--lak-shell-blue); }
.lak-shell .lak-shell-menu-toggle { display: none; }
.lak-shell.lak-shell-site-footer { background: var(--lak-shell-ink); color: white; padding-block: 46px 22px; }
@media (max-width: 1100px) {
.lak-shell .lak-shell-container { width: calc(100% - 56px); }
.lak-shell .lak-shell-primary-nav { gap: 22px; }
}
@media (max-width: 900px) {
.lak-shell { --lak-shell-header-height: 72px; }
.lak-shell.lak-shell-site-header:not(.lak-shell-menu-enabled) { position: static; }
.lak-shell .lak-shell-header-inner { flex-wrap: wrap; gap: 0px 24px; }
.lak-shell .lak-shell-brand img { width: 130px; }
.lak-shell .lak-shell-menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; padding: 10px; min-width: 60px; min-height: 58px; cursor: pointer; }
.lak-shell .lak-shell-menu-lines { position: relative; display: block; width: 23px; height: 2px; background: var(--lak-shell-ink); }
.lak-shell .lak-shell-menu-lines::before,
.lak-shell .lak-shell-menu-lines::after { content: ""; position: absolute; left: 0px; width: 23px; height: 2px; background: var(--lak-shell-ink); }
.lak-shell .lak-shell-menu-lines::before { top: -6px; }
.lak-shell .lak-shell-menu-lines::after { top: 6px; }
.lak-shell .lak-shell-menu-label { font-size: 10px; margin-top: 2px; }
.lak-shell .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines { background: transparent; }
.lak-shell .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines::before { top: 0px; transform: rotate(45deg); }
.lak-shell .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines::after { top: 0px; transform: rotate(-45deg); }
.lak-shell .lak-shell-primary-nav { width: 100%; flex-direction: column; align-items: stretch; gap: 0px; padding-block: 10px 20px; }
.lak-shell .lak-shell-primary-nav a { padding: 12px 8px; border-top: 1px solid var(--lak-shell-line); }
.lak-shell.lak-shell-menu-enabled .lak-shell-primary-nav { display: none; }
.lak-shell.lak-shell-menu-enabled .lak-shell-primary-nav.lak-shell-is-open { display: flex; max-height: calc(100dvh - var(--lak-shell-header-height)); overflow-y: auto; }
}
@media (max-width: 600px) {
.lak-shell .lak-shell-container { width: calc(100% - 40px); }
.lak-shell h2 { font-size: clamp(25px, 6.7vw, 30px); line-height: 1.65; letter-spacing: -0.015em; }
.lak-shell.lak-shell-site-footer { padding-block: 32px 22px; }
}

/* header-task12.css */
.lak-shell.lak-shell-site-header .lak-shell-brand img { width: 164px; height: auto; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav { gap: 24px; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav a { font-size: 15px; white-space: nowrap; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav .lak-shell-header-contact { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border: 0px; border-radius: 999px; background: rgb(8, 124, 245); color: rgb(255, 255, 255); line-height: 1.5; }
@media (max-width: 900px) {
.lak-shell.lak-shell-site-header .lak-shell-brand img { width: 144px; }
}
.lak-shell.lak-shell-site-header .lak-shell-header-contact svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav .lak-shell-header-contact:hover { background: rgb(7, 104, 207); color: rgb(255, 255, 255); }
.lak-shell.lak-shell-site-header a:focus-visible,
.lak-shell.lak-shell-site-header button:focus-visible { outline: rgb(7, 108, 204) solid 3px; outline-offset: 4px; }
@media (max-width: 1279px) {
.lak-shell.lak-shell-site-header:not(.lak-shell-menu-enabled) { position: static; }
.lak-shell.lak-shell-site-header .lak-shell-header-inner { flex-wrap: wrap; gap: 0px 24px; }
.lak-shell.lak-shell-site-header .lak-shell-menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: none; padding: 10px; min-width: 60px; min-height: 58px; cursor: pointer; }
.lak-shell.lak-shell-site-header .lak-shell-menu-lines { position: relative; display: block; width: 23px; height: 2px; background: var(--lak-shell-ink); }
.lak-shell.lak-shell-site-header .lak-shell-menu-lines::before,
.lak-shell.lak-shell-site-header .lak-shell-menu-lines::after { content: ""; position: absolute; left: 0px; width: 23px; height: 2px; background: var(--lak-shell-ink); }
.lak-shell.lak-shell-site-header .lak-shell-menu-lines::before { top: -6px; }
.lak-shell.lak-shell-site-header .lak-shell-menu-lines::after { top: 6px; }
.lak-shell.lak-shell-site-header .lak-shell-menu-label { font-size: 10px; margin-top: 2px; }
.lak-shell.lak-shell-site-header .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines { background: transparent; }
.lak-shell.lak-shell-site-header .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines::before { top: 0px; transform: rotate(45deg); }
.lak-shell.lak-shell-site-header .lak-shell-menu-toggle[aria-expanded="true"] .lak-shell-menu-lines::after { top: 0px; transform: rotate(-45deg); }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav { width: 100%; flex-direction: column; align-items: stretch; gap: 0px; padding-block: 10px 20px; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav a { padding: 14px 8px; border-top: 1px solid var(--lak-shell-line); font-size: 16px; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav .lak-shell-header-contact { min-height: 52px; margin-top: 16px; padding: 14px 18px; border: 0px; }
.lak-shell.lak-shell-site-header.lak-shell-menu-enabled .lak-shell-primary-nav { display: none; }
.lak-shell.lak-shell-site-header.lak-shell-menu-enabled .lak-shell-primary-nav.lak-shell-is-open { display: flex; max-height: calc(100dvh - var(--lak-shell-header-height) - 1px); overflow-y: auto; }
}

/* footer-task13.css */
.lak-shell#lak-shell-footer { position: relative; isolation: isolate; overflow: clip; padding: 0px; color: rgb(255, 255, 255); background: linear-gradient(115deg, rgb(7, 29, 60) 0%, rgb(12, 49, 91) 58%, rgb(16, 72, 121) 100%); }
.lak-shell#lak-shell-footer .lak-shell-footer-backdrop { position: absolute; inset: 0px; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.lak-shell#lak-shell-footer::after { content: ""; position: absolute; top: 30px; right: 24px; z-index: -1; width: 78px; height: 54px; background: radial-gradient(circle, rgb(66, 167, 246) 1.5px, transparent 2px) 0px 0px / 18px 18px; opacity: 0.25; pointer-events: none; }
.lak-shell#lak-shell-footer .lak-shell-footer-inner { width: min(1320px, 100% - 80px); margin-inline: auto; padding-block: 64px 28px; }
.lak-shell#lak-shell-footer .lak-shell-footer-columns { display: grid; grid-template-columns: minmax(285px, 1.1fr) minmax(180px, 0.8fr) minmax(272px, 1.1fr) minmax(180px, 0.75fr); align-items: start; gap: 36px; }
.lak-shell#lak-shell-footer .lak-shell-footer-company { min-width: 0px; }
.lak-shell#lak-shell-footer .lak-shell-footer-brand { display: block; width: 210px; max-width: 100%; }
.lak-shell#lak-shell-footer .lak-shell-footer-logo { display: block; width: 100%; height: auto; padding: 0px; border-radius: 0px; background: transparent; }
.lak-shell#lak-shell-footer .lak-shell-footer-company-name { margin-top: 12px; font-size: 16px; line-height: 1.8; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav { min-width: 0px; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav-title { margin: 0px 0px 12px; color: rgb(255, 255, 255); font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: 0px; overflow-wrap: normal; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav-title span { display: inline-block; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav ul { display: grid; gap: 4px; margin: 0px; padding: 0px; list-style: none; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav a,
.lak-shell#lak-shell-footer .lak-shell-footer-link-unavailable { display: flex; align-items: center; min-height: 48px; padding-block: 10px; color: rgb(255, 255, 255); font-size: 16px; line-height: 1.75; text-decoration: none; overflow-wrap: anywhere; }
.lak-shell#lak-shell-footer .lak-shell-footer-link-unavailable { color: rgb(216, 230, 244); cursor: default; }
.lak-shell#lak-shell-footer .lak-shell-footer-bottom { display: flex; align-items: center; justify-content: center; margin-top: 40px; padding-top: 16px; }
.lak-shell#lak-shell-footer .lak-shell-footer-copyright { display: block; color: rgb(229, 238, 247); font-size: 15px; line-height: 1.8; text-align: center; }
.lak-shell#lak-shell-footer a:hover { color: rgb(255, 207, 36); text-decoration: underline; text-underline-offset: 5px; }
.lak-shell#lak-shell-footer a:focus-visible { outline: rgb(255, 207, 36) solid 3px; outline-offset: 5px; border-radius: 2px; }
@media (max-width: 1199px) {
.lak-shell#lak-shell-footer .lak-shell-footer-columns { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 32px 40px; }
}
@media (max-width: 600px) {
.lak-shell#lak-shell-footer .lak-shell-footer-backdrop { left: 50%; width: 1100px; max-width: none; transform: translateX(-50%); opacity: 0.7; }
.lak-shell#lak-shell-footer .lak-shell-footer-inner { width: calc(100% - 40px); padding-block: 44px 28px; }
.lak-shell#lak-shell-footer .lak-shell-footer-columns { grid-template-columns: minmax(0px, 1fr); gap: 24px; }
.lak-shell#lak-shell-footer .lak-shell-footer-brand { width: 184px; }
.lak-shell#lak-shell-footer .lak-shell-footer-company-name { margin-top: 8px; font-size: 15px; }
.lak-shell#lak-shell-footer .lak-shell-footer-page-nav ul { grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 16px; }
.lak-shell#lak-shell-footer .lak-shell-footer-bottom { margin-top: 24px; padding-top: 8px; }
}
@media (max-width: 359px) {
.lak-shell#lak-shell-footer .lak-shell-footer-page-nav ul { grid-template-columns: minmax(0px, 1fr); }
}

/* layout-task14.css */
.lak-shell { --lak-shell-lp-width: 1360px; --lak-shell-lp-gutter: 40px; --lak-shell-lp-heading: 48px; --lak-shell-lp-lead: 22px; --lak-shell-lp-body: 18px; --lak-shell-lp-card-title: 22px; --lak-shell-lp-card-body: 18px; --lak-shell-lp-section-space: 128px; --lak-shell-lp-title-gap: 28px; --lak-shell-lp-content-gap: 64px; --lak-shell-lp-block-gap: 64px; --lak-shell-lp-row-gap: 36px; --lak-shell-lp-action-gap: 64px; --lak-shell-lp-body-leading: 1.8; --lak-shell-header-height: 96px; }
.lak-shell { font-size: var(--lak-shell-lp-body); }
.lak-shell.lak-shell-site-header .lak-shell-header-inner,
.lak-shell#lak-shell-footer .lak-shell-footer-inner { width: min(var(--lak-shell-lp-width), calc(100% - var(--lak-shell-lp-gutter) * 2)); }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav { gap: 24px; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav a { font-size: 16px; }
.lak-shell.lak-shell-site-header .lak-shell-primary-nav .lak-shell-header-contact { min-height: 56px; padding-inline: 24px; }
.lak-shell.lak-shell-site-header .lak-shell-brand img { width: 176px; }
.lak-shell#lak-shell-footer .lak-shell-footer-inner { padding-block: 96px 48px; }
.lak-shell#lak-shell-footer .lak-shell-footer-columns { grid-template-columns: 1.15fr 0.85fr 1.1fr 0.85fr; gap: 40px; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav-title { font-size: 22px; margin-bottom: 20px; }
.lak-shell#lak-shell-footer .lak-shell-footer-company-name { font-size: 17px; margin-top: 24px; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav a,
.lak-shell#lak-shell-footer .lak-shell-footer-link-unavailable { font-size: 17px; min-height: 52px; line-height: 1.8; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav ul { gap: 8px; }
.lak-shell#lak-shell-footer .lak-shell-footer-bottom { margin-top: 64px; }
@media (max-width: 1279px) {
.lak-shell.lak-shell-site-header .lak-shell-primary-nav a { font-size: 18px; }
}
@media (max-width: 1199px) {
.lak-shell#lak-shell-footer .lak-shell-footer-columns { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 48px; }
}
@media (max-width: 900px) {
.lak-shell { --lak-shell-lp-heading: 40px; --lak-shell-lp-section-space: 112px; --lak-shell-header-height: 84px; }
}
@media (max-width: 600px) {
.lak-shell { --lak-shell-lp-gutter: 20px; --lak-shell-lp-heading: clamp(28px, 8.2vw, 32px); --lak-shell-lp-lead: 18px; --lak-shell-lp-body: 17px; --lak-shell-lp-card-title: 20px; --lak-shell-lp-card-body: 16px; --lak-shell-lp-section-space: 88px; --lak-shell-lp-title-gap: 22px; --lak-shell-lp-content-gap: 44px; --lak-shell-lp-block-gap: 40px; --lak-shell-lp-row-gap: 28px; --lak-shell-lp-action-gap: 48px; --lak-shell-header-height: 80px; }
.lak-shell.lak-shell-site-header .lak-shell-brand img { width: 160px; }
.lak-shell#lak-shell-footer .lak-shell-footer-inner { padding-block: 80px 40px; }
.lak-shell#lak-shell-footer .lak-shell-footer-columns { grid-template-columns: 1fr; gap: 40px; }
.lak-shell#lak-shell-footer .lak-shell-footer-company-name { font-size: 16px; margin-top: 20px; }
.lak-shell#lak-shell-footer .lak-shell-footer-nav a,
.lak-shell#lak-shell-footer .lak-shell-footer-link-unavailable { font-size: 16px; }
.lak-shell#lak-shell-footer .lak-shell-footer-bottom { margin-top: 48px; }
}

/* wrapping-task14b.css */
.lak-shell#lak-shell-footer .lak-shell-reading-unit { display: inline; white-space: nowrap; }

/* The only document-level adjustment: keep anchors clear of the canonical
   sticky header. Do not overwrite the protected product typography variables. */
html:has(.lak-shell-site-header) { scroll-padding-top: 120px; }
@media (max-width: 900px) {
  html:has(.lak-shell-site-header) { scroll-padding-top: 108px; }
}
@media (max-width: 600px) {
  html:has(.lak-shell-site-header) { scroll-padding-top: 104px; }
}
