.elementor-8805 .elementor-element.elementor-element-7dd273dc{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-8805 .elementor-element.elementor-element-142dce5b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-8805 .elementor-element.elementor-element-36f675c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:clamp(48px, 8vw, 88px);--padding-bottom:clamp(32px, 5vw, 48px);--padding-left:clamp(16px, 4vw, 24px);--padding-right:clamp(16px, 4vw, 24px);}.elementor-8805 .elementor-element.elementor-element-81e74ef{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-e8e25d9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;}.elementor-8805 .elementor-element.elementor-element-1818e81{font-family:"Inter", Sans-serif;font-size:12px;font-weight:600;line-height:1.75em;letter-spacing:0.16em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-5d9dc9f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-8805 .elementor-element.elementor-element-5d9dc9f .elementor-heading-title{font-size:clamp(24px, 3.6vw, 32px);line-height:1.4em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-9531985{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;padding:0px 0px 0px 0px;font-size:clamp(20px, 3vw, 26px);font-weight:700;line-height:1.6em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-0ed9047{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:15px;line-height:1.85em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-923a736{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:clamp(32px, 5vw, 48px);--padding-bottom:clamp(48px, 8vw, 88px);--padding-left:clamp(16px, 4vw, 24px);--padding-right:clamp(16px, 4vw, 24px);}.elementor-8805 .elementor-element.elementor-element-099950d{font-family:"Inter", Sans-serif;font-size:12px;font-weight:600;line-height:1.75em;letter-spacing:0.16em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-1600a35{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 32px) 0px;}.elementor-8805 .elementor-element.elementor-element-1600a35 .elementor-heading-title{font-size:clamp(24px, 3.6vw, 32px);line-height:1.4em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-94e3bf9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-0cb1e29{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-6f03675{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-6b0d549{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-11e20b8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-3d9c172{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-1738f7d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;}.elementor-8805 .elementor-element.elementor-element-1738f7d .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:clamp(18px, 2.4vw, 21px);line-height:1.5em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-0fd630f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-d3ac94a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e8eaec;--border-color:#e8eaec;--border-radius:16px 16px 16px 16px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-8805 .elementor-element.elementor-element-d3ac94a:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-d3ac94a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-8d116ec{font-family:"Inter", Sans-serif;font-size:15px;font-weight:700;line-height:1.75em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-6cad4a2{font-family:"Noto Sans JP", Sans-serif;font-size:13px;font-weight:700;line-height:1.75em;color:#F9A41E;}.elementor-8805 .elementor-element.elementor-element-0f21ddb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.8em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-3926305{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e8eaec;--border-color:#e8eaec;--border-radius:16px 16px 16px 16px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-8805 .elementor-element.elementor-element-3926305:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-3926305 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-90c192c{font-family:"Inter", Sans-serif;font-size:15px;font-weight:700;line-height:1.75em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-1fb17c2{font-family:"Noto Sans JP", Sans-serif;font-size:13px;font-weight:700;line-height:1.75em;color:#F9A41E;}.elementor-8805 .elementor-element.elementor-element-f28c105{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.8em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-f29d0da{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#e8eaec;--border-color:#e8eaec;--border-radius:16px 16px 16px 16px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-8805 .elementor-element.elementor-element-f29d0da:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-f29d0da > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-a170b33{font-family:"Inter", Sans-serif;font-size:15px;font-weight:700;line-height:1.75em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-a09f76b{font-family:"Noto Sans JP", Sans-serif;font-size:13px;font-weight:700;line-height:1.75em;color:#F9A41E;}.elementor-8805 .elementor-element.elementor-element-953f48f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.8em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-93bd04c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-95e60af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:16px;line-height:2em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-1a61dbe{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:16px 16px 16px 16px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-8805 .elementor-element.elementor-element-1a61dbe:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-1a61dbe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#f0f5f8;}.elementor-8805 .elementor-element.elementor-element-3898d19{font-family:"Inter", Sans-serif;font-size:12px;font-weight:600;line-height:1.75em;letter-spacing:0.16em;color:#01516A;}.elementor-8805 .elementor-element.elementor-element-0becd7b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;}.elementor-8805 .elementor-element.elementor-element-0becd7b .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:clamp(18px, 2.4vw, 21px);line-height:1.5em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-ae97ba9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:22px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-2217bea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:4px 16px;--row-gap:4px;--column-gap:16px;--flex-wrap:wrap;--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-8e81973{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:700;line-height:1.7em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-dbc496c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.7em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-24ede6a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:4px 16px;--row-gap:4px;--column-gap:16px;--flex-wrap:wrap;--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-4a23d59{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:700;line-height:1.7em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-6b4cb24{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.7em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-9227665{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:4px 16px;--row-gap:4px;--column-gap:16px;--flex-wrap:wrap;--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-8a6a63e{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:700;line-height:1.7em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-1e27a1c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.7em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-d0eda82{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:4px 16px;--row-gap:4px;--column-gap:16px;--flex-wrap:wrap;--padding-top:12px;--padding-bottom:12px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-4ef8aa3{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:700;line-height:1.7em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-8f6d055{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:1.7em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-c6f8771{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-c6f8771:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-c6f8771 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#f0f5f8;}.elementor-8805 .elementor-element.elementor-element-6d76b07{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:64px;--padding-bottom:64px;--padding-left:clamp(16px, 4vw, 24px);--padding-right:clamp(16px, 4vw, 24px);}.elementor-8805 .elementor-element.elementor-element-a38fd54{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 24px) 0px;}.elementor-8805 .elementor-element.elementor-element-a38fd54 .elementor-heading-title{font-size:clamp(20px, 3vw, 22px);line-height:1.75em;color:#0D1B22;}.elementor-8805 .elementor-element.elementor-element-881ed16{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8805 .elementor-element.elementor-element-8c38fb2{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:14px 14px 14px 14px;--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-8805 .elementor-element.elementor-element-8c38fb2:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-8c38fb2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-301850c{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:700;line-height:1.75em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-5f55720{font-family:"Noto Sans JP", Sans-serif;font-size:13px;line-height:1.75em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-0f4205b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:14px 14px 14px 14px;--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-8805 .elementor-element.elementor-element-0f4205b:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-0f4205b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-b64ce42{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:700;line-height:1.75em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-1012f03{font-family:"Noto Sans JP", Sans-serif;font-size:13px;line-height:1.75em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-ae2eb15{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:14px 14px 14px 14px;--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-8805 .elementor-element.elementor-element-ae2eb15:not(.elementor-motion-effects-element-type-background), .elementor-8805 .elementor-element.elementor-element-ae2eb15 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-8805 .elementor-element.elementor-element-9e7769b{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:700;line-height:1.75em;color:#013A4D;}.elementor-8805 .elementor-element.elementor-element-34b9b5d{font-family:"Noto Sans JP", Sans-serif;font-size:13px;line-height:1.75em;color:#5a6c75;}.elementor-8805 .elementor-element.elementor-element-9a3ce8b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for section, class: .elementor-element-7dd273dc *//* ============================================================
     DESIGN SYSTEM TOKENS â€” locked from Design System file
     ============================================================ */
  :root{
    --teal:#01516A;
    --teal-light:#88B2D1;
    --teal-dark:#013A4D;
    --teal-bg:#f0f5f8;
    --accent:#F9A41E;
    --ink:#0D1B22;
    --ink-soft:#5a6c75;
    --ink-mute:#8FA5AE;
    --line:#e8eaec;
    --cb-font-primary:'Noto Serif JP','Hiragino Mincho ProN',serif;
    --cb-font-secondary:'Inter','Noto Sans JP',sans-serif;
    --cb-font-text:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
    --cb-font-accent:'Inter','Noto Sans JP',sans-serif;
    --cb-font-mono:'JetBrains Mono',monospace;
  }
  .ph,.ph *{box-sizing:border-box;-webkit-font-smoothing:antialiased}

  /* ============================================================
     PAGE-HEAD â€” exact match to Design System V1/V2
     ============================================================ */
  .ph{
    position:relative !important;
    background:#ffffff !important;
    padding:clamp(56px,6vw,90px) clamp(20px,5vw,80px) clamp(64px,7vw,100px) !important;
    overflow:hidden !important;
    min-height:clamp(460px,52vw,600px) !important;
    color:var(--ink) !important;
    font-family:var(--cb-font-text) !important;
  }
  .ph-inner{
    max-width:1480px !important;
    margin:0 auto !important;
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:clamp(24px,4vw,56px) !important;
    align-items:center !important;
  }
  .ph-text{position:relative !important;z-index:3;min-width:0}

  /* Breadcrumb */
  .ph-breads{
    display:flex !important;align-items:center !important;
    gap:10px;flex-wrap:wrap;
    font-family:var(--cb-font-text) !important;
    font-size:13px;color:var(--ink-soft) !important;
    letter-spacing:.04em;line-height:1;
    margin:0 0 clamp(20px,2.5vw,32px) !important;
  }
  .ph-breads a{color:inherit !important;text-decoration:none !important;transition:color .2s;display:inline-flex;align-items:center}
  .ph-breads a:hover{color:var(--teal) !important}
  .ph-breads .ph-home-icon{
    width:16px;height:16px;fill:none;stroke:currentColor;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block;
  }
  .ph-breads .sep{color:var(--teal-light) !important;font-weight:300;user-select:none}
  .ph-breads .current{color:var(--teal) !important;font-weight:600;display:inline-flex;align-items:center;gap:7px}
  .ph-breads .current::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}

  /* Title â€” TEAL gradient (DS spec) */
  .ph-title{
    font-family:var(--cb-font-secondary) !important;
    font-weight:800 !important;
    font-size:clamp(56px,9vw,140px) !important;
    line-height:.95 !important;
    letter-spacing:-0.04em !important;
    margin:0 0 clamp(10px,1.2vw,16px) !important;
    background:linear-gradient(180deg,#01516A 0%,#013A4D 100%) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    word-break:keep-all;
  }

  /* JP en-label â€” ORANGE (below title in DS) */
  .ph-en-label{
    display:inline-flex !important;align-items:center !important;
    gap:10px !important;
    font-family:var(--cb-font-text) !important;
    font-size:clamp(13px,1vw,14px) !important;
    font-weight:600 !important;
    letter-spacing:.2em !important;
    color:var(--accent) !important;
    margin:0 0 clamp(22px,2.6vw,32px) !important;
  }
  .ph-en-label::before{content:"";width:32px;height:1px;background:var(--accent)}

  /* Copy */
  .ph-copy{
    font-family:var(--cb-font-text) !important;
    font-weight:500 !important;
    font-size:clamp(14px,1.2vw,18px) !important;
    line-height:1.85 !important;
    letter-spacing:.05em !important;
    color:var(--ink) !important;
    max-width:520px !important;
    margin:0 0 clamp(24px,3vw,36px) !important;
    word-break:keep-all;line-break:strict;
  }

  /* CTAs */
  .ph-cta-row{display:flex !important;gap:12px !important;flex-wrap:wrap;align-items:center}
  .ph-cta{
    display:inline-flex !important;align-items:center !important;gap:12px !important;
    padding:14px 28px !important;border-radius:999px !important;
    font-family:var(--cb-font-secondary) !important;
    font-weight:700 !important;font-size:14px !important;letter-spacing:.05em !important;
    text-decoration:none !important;transition:all .25s cubic-bezier(.4,0,.2,1) !important;
    cursor:pointer !important;border:1.5px solid transparent !important;
    white-space:nowrap;position:relative;overflow:hidden;
  }
  .ph-cta .arr{display:inline-block;width:14px;height:1.5px;background:currentColor;position:relative;transition:width .25s ease}
  .ph-cta .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg)}
  .ph-cta:hover .arr{width:20px}
  .ph-cta-gradient{
    background:linear-gradient(180deg,#01516A 0%,#013A4D 100%) !important;
    color:#fff !important;
    box-shadow:0 10px 30px rgba(1,58,77,.28) !important;
  }
  .ph-cta-gradient:hover{
    background:linear-gradient(180deg,#016a8a 0%,#014e68 100%) !important;
    transform:translateY(-2px);
    box-shadow:0 14px 36px rgba(1,58,77,.4) !important;
  }
  .ph-cta-ghost{
    background:transparent !important;
    color:var(--teal-dark) !important;
    border-color:var(--teal-dark) !important;
  }
  .ph-cta-ghost:hover{background:var(--teal-dark) !important;color:#fff !important}

  /* Rectangles */
  .ph-rects{
    position:absolute !important;
    right:0;top:0;bottom:0;
    width:55%;
    pointer-events:none;
    z-index:2;
  }
  .ph-rect{
    position:absolute !important;
    border-radius:12px !important;
    overflow:hidden !important;
    will-change:transform;
    box-shadow:0 20px 40px -16px rgba(13,27,34,.22) !important;
  }
  .ph-rect-img{
    position:absolute !important;
    inset:0 !important;
    background-image:var(--ph-photo) !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }
  @keyframes phFloatA{0%,100%{transform:translateX(0)}50%{transform:translateX(-22px)}}
  @keyframes phFloatB{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}
  @keyframes phFloatC{0%,100%{transform:translateX(0)}50%{transform:translateX(-14px)}}
  .ph-rect-1{right:25%;top:8%;width:65%;height:22%;animation:phFloatA 9s ease-in-out infinite}
  .ph-rect-1 .ph-rect-img{background-position:0% 20%;background-size:155% auto}
  .ph-rect-2{right:5%;top:38%;width:80%;height:28%;animation:phFloatB 11s ease-in-out infinite}
  .ph-rect-2 .ph-rect-img{background-position:50% 50%;background-size:130% auto}
  .ph-rect-3{right:18%;top:72%;width:55%;height:20%;animation:phFloatC 8s ease-in-out infinite}
  .ph-rect-3 .ph-rect-img{background-position:100% 80%;background-size:170% auto}
  @media (prefers-reduced-motion:reduce){.ph-rect{animation:none !important}}

  /* â‰¤1200px : hide image (rectangles) â€” covers tablet portrait AND landscape
     + allow JP paragraph to wrap freely (was truncated by overflow:hidden) */
  @media (max-width:1200px){
    .ph{
      padding:48px clamp(20px,5vw,40px) 56px !important;
      min-height:0 !important;
      overflow:visible !important;
    }
    .ph-inner{grid-template-columns:1fr !important;gap:0 !important}
    .ph-text{z-index:4;max-width:100%}
    .ph-title{
      font-size:clamp(56px,9vw,96px) !important;
      word-break:break-word !important;
      overflow-wrap:anywhere !important;
      max-width:100% !important;
    }
    .ph-rects{display:none !important}
    .ph-copy{
      max-width:100% !important;
      word-break:normal !important;
      line-break:auto !important;
      overflow-wrap:anywhere !important;
      hyphens:auto !important;
    }
  }
  @media (max-width:768px){
    .ph{padding:40px 22px 48px !important;overflow:visible !important}
    .ph-breads{font-size:12px;gap:8px;margin-bottom:18px}
    .ph-en-label{font-size:12px !important;letter-spacing:.18em !important;margin-bottom:14px !important}
    .ph-en-label::before{width:24px}
    .ph-title{
      font-size:clamp(40px,10vw,64px) !important;
      margin-bottom:18px !important;
      word-break:break-word !important;
      overflow-wrap:anywhere !important;
    }
    .ph-copy{
      font-size:14px !important;
      margin-bottom:24px !important;
      max-width:100% !important;
      word-break:normal !important;
      overflow-wrap:anywhere !important;
      line-break:auto !important;
    }
  }
  @media (max-width:480px){
    .ph{padding:32px 18px 40px !important}
    .ph-breads{font-size:11px;gap:6px}
    .ph-en-label{font-size:11px !important}
    .ph-title{font-size:44px !important;line-height:.95 !important}
    .ph-copy{
      font-size:13px !important;line-height:1.8 !important;
      word-break:normal !important;overflow-wrap:anywhere !important;
    }
    .ph-cta-row{width:100%}
    .ph-cta{padding:12px 20px !important;font-size:13px !important;flex:1;justify-content:center;min-width:0}
  }
  @media (max-width:360px){
    .ph-title{font-size:36px !important}
    .ph-cta{font-size:12px !important;padding:11px 16px !important;gap:8px !important}
    .ph-cta .arr{width:12px}
  }

  /* ============================================================
     BULLETPROOF image-hide guard â€” max specificity, tablet + mobile
     ============================================================ */
  @media (max-width:1200px){
    section.ph .ph-rects,
    section.ph .ph-rect,
    .ph .ph-rects,
    .ph .ph-rect{
      display:none !important;
      visibility:hidden !important;
      width:0 !important;
      height:0 !important;
      opacity:0 !important;
      pointer-events:none !important;
    }
  }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1818e81 */.elementor-8805 .elementor-element.elementor-element-1818e81 { margin-bottom: 8px; }
.elementor-8805 .elementor-element.elementor-element-1818e81 p, .elementor-8805 .elementor-element.elementor-element-1818e81 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1818e81 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5d9dc9f */.elementor-8805 .elementor-element.elementor-element-5d9dc9f .elementor-heading-title { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-5d9dc9f .elementor-heading-title { font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif; }
.elementor-8805 .elementor-element.elementor-element-5d9dc9f { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-9531985 */.elementor-8805 .elementor-element.elementor-element-9531985 p, .elementor-8805 .elementor-element.elementor-element-9531985 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-9531985, .elementor-8805 .elementor-element.elementor-element-9531985 p, .elementor-8805 .elementor-element.elementor-element-9531985 div { font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif; }
.elementor-8805 .elementor-element.elementor-element-9531985 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0ed9047 */.elementor-8805 .elementor-element.elementor-element-0ed9047 p, .elementor-8805 .elementor-element.elementor-element-0ed9047 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-0ed9047 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e8e25d9 */.elementor-8805 .elementor-element.elementor-element-e8e25d9 { width: auto; flex: 1 1 100%; min-width: 0; max-width: 820px; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-36f675c */.elementor-8805 .elementor-element.elementor-element-36f675c { max-width: calc(1120px + clamp(16px, 4vw, 24px) + clamp(16px, 4vw, 24px)); margin: 0 auto; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-099950d */.elementor-8805 .elementor-element.elementor-element-099950d { margin-bottom: 8px; }
.elementor-8805 .elementor-element.elementor-element-099950d p, .elementor-8805 .elementor-element.elementor-element-099950d div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-099950d { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1600a35 */.elementor-8805 .elementor-element.elementor-element-1600a35 .elementor-heading-title { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1600a35 .elementor-heading-title { font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif; }
.elementor-8805 .elementor-element.elementor-element-1600a35 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6f03675 */.elementor-8805 .elementor-element.elementor-element-6f03675 p, .elementor-8805 .elementor-element.elementor-element-6f03675 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-6f03675 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6b0d549 */.elementor-8805 .elementor-element.elementor-element-6b0d549 p, .elementor-8805 .elementor-element.elementor-element-6b0d549 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-6b0d549 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-11e20b8 */.elementor-8805 .elementor-element.elementor-element-11e20b8 p, .elementor-8805 .elementor-element.elementor-element-11e20b8 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-11e20b8 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3d9c172 */.elementor-8805 .elementor-element.elementor-element-3d9c172 p, .elementor-8805 .elementor-element.elementor-element-3d9c172 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-3d9c172 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1738f7d */.elementor-8805 .elementor-element.elementor-element-1738f7d .elementor-heading-title { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1738f7d { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8d116ec */.elementor-8805 .elementor-element.elementor-element-8d116ec { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-8d116ec p, .elementor-8805 .elementor-element.elementor-element-8d116ec div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-8d116ec { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6cad4a2 */.elementor-8805 .elementor-element.elementor-element-6cad4a2 { margin-bottom: 10px; }
.elementor-8805 .elementor-element.elementor-element-6cad4a2 p, .elementor-8805 .elementor-element.elementor-element-6cad4a2 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-6cad4a2 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0f21ddb */.elementor-8805 .elementor-element.elementor-element-0f21ddb p, .elementor-8805 .elementor-element.elementor-element-0f21ddb div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-0f21ddb { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-90c192c */.elementor-8805 .elementor-element.elementor-element-90c192c { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-90c192c p, .elementor-8805 .elementor-element.elementor-element-90c192c div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-90c192c { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1fb17c2 */.elementor-8805 .elementor-element.elementor-element-1fb17c2 { margin-bottom: 10px; }
.elementor-8805 .elementor-element.elementor-element-1fb17c2 p, .elementor-8805 .elementor-element.elementor-element-1fb17c2 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1fb17c2 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-f28c105 */.elementor-8805 .elementor-element.elementor-element-f28c105 p, .elementor-8805 .elementor-element.elementor-element-f28c105 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-f28c105 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a170b33 */.elementor-8805 .elementor-element.elementor-element-a170b33 { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-a170b33 p, .elementor-8805 .elementor-element.elementor-element-a170b33 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-a170b33 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a09f76b */.elementor-8805 .elementor-element.elementor-element-a09f76b { margin-bottom: 10px; }
.elementor-8805 .elementor-element.elementor-element-a09f76b p, .elementor-8805 .elementor-element.elementor-element-a09f76b div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-a09f76b { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-953f48f */.elementor-8805 .elementor-element.elementor-element-953f48f p, .elementor-8805 .elementor-element.elementor-element-953f48f div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-953f48f { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0fd630f */.elementor-8805 .elementor-element.elementor-element-0fd630f { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); margin-bottom: 36px; display: grid; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-93bd04c */.elementor-8805 .elementor-element.elementor-element-93bd04c p, .elementor-8805 .elementor-element.elementor-element-93bd04c div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-93bd04c { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-95e60af */.elementor-8805 .elementor-element.elementor-element-95e60af p, .elementor-8805 .elementor-element.elementor-element-95e60af div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-95e60af { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-658cda1 */.elementor-8805 .elementor-element.elementor-element-658cda1 { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0cb1e29 */.elementor-8805 .elementor-element.elementor-element-0cb1e29 { width: auto; flex: 999 1 560px; min-width: 0; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f9ebdac */.elementor-8805 .elementor-element.elementor-element-f9ebdac { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }
.elementor-8805 .elementor-element.elementor-element-f9ebdac { width: 100%; max-width: 340px; }
.elementor-8805 .elementor-element.elementor-element-f9ebdac img { max-width: none; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3898d19 */.elementor-8805 .elementor-element.elementor-element-3898d19 { margin-bottom: 8px; }
.elementor-8805 .elementor-element.elementor-element-3898d19 p, .elementor-8805 .elementor-element.elementor-element-3898d19 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-3898d19 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-0becd7b */.elementor-8805 .elementor-element.elementor-element-0becd7b .elementor-heading-title { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-0becd7b { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8e81973 */.elementor-8805 .elementor-element.elementor-element-8e81973 { flex: 0 0 72px; }
.elementor-8805 .elementor-element.elementor-element-8e81973 p, .elementor-8805 .elementor-element.elementor-element-8e81973 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-8e81973 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-dbc496c */.elementor-8805 .elementor-element.elementor-element-dbc496c { flex: 1 1 160px; min-width: 0; }
.elementor-8805 .elementor-element.elementor-element-dbc496c p, .elementor-8805 .elementor-element.elementor-element-dbc496c div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-dbc496c { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2217bea */.elementor-8805 .elementor-element.elementor-element-2217bea { border-top: 1px solid #dbe5ea; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4a23d59 */.elementor-8805 .elementor-element.elementor-element-4a23d59 { flex: 0 0 72px; }
.elementor-8805 .elementor-element.elementor-element-4a23d59 p, .elementor-8805 .elementor-element.elementor-element-4a23d59 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-4a23d59 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-6b4cb24 */.elementor-8805 .elementor-element.elementor-element-6b4cb24 { flex: 1 1 160px; min-width: 0; }
.elementor-8805 .elementor-element.elementor-element-6b4cb24 p, .elementor-8805 .elementor-element.elementor-element-6b4cb24 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-6b4cb24 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-24ede6a */.elementor-8805 .elementor-element.elementor-element-24ede6a { border-top: 1px solid #dbe5ea; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8a6a63e */.elementor-8805 .elementor-element.elementor-element-8a6a63e { flex: 0 0 72px; }
.elementor-8805 .elementor-element.elementor-element-8a6a63e p, .elementor-8805 .elementor-element.elementor-element-8a6a63e div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-8a6a63e { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1e27a1c */.elementor-8805 .elementor-element.elementor-element-1e27a1c { flex: 1 1 160px; min-width: 0; }
.elementor-8805 .elementor-element.elementor-element-1e27a1c p, .elementor-8805 .elementor-element.elementor-element-1e27a1c div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1e27a1c { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9227665 */.elementor-8805 .elementor-element.elementor-element-9227665 { border-top: 1px solid #dbe5ea; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-4ef8aa3 */.elementor-8805 .elementor-element.elementor-element-4ef8aa3 { flex: 0 0 72px; }
.elementor-8805 .elementor-element.elementor-element-4ef8aa3 p, .elementor-8805 .elementor-element.elementor-element-4ef8aa3 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-4ef8aa3 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8f6d055 */.elementor-8805 .elementor-element.elementor-element-8f6d055 { flex: 1 1 160px; min-width: 0; }
.elementor-8805 .elementor-element.elementor-element-8f6d055 p, .elementor-8805 .elementor-element.elementor-element-8f6d055 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-8f6d055 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d0eda82 */.elementor-8805 .elementor-element.elementor-element-d0eda82 { border-top: 1px solid #dbe5ea; border-bottom: 1px solid #dbe5ea; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2e44158 */.elementor-8805 .elementor-element.elementor-element-2e44158 { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }
.elementor-8805 .elementor-element.elementor-element-2e44158 { width: 44px; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1a61dbe */.elementor-8805 .elementor-element.elementor-element-1a61dbe { width: auto; flex: 1 1 300px; min-width: 0; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-923a736 */.elementor-8805 .elementor-element.elementor-element-923a736 { max-width: calc(1120px + clamp(16px, 4vw, 24px) + clamp(16px, 4vw, 24px)); margin: 0 auto; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a38fd54 */.elementor-8805 .elementor-element.elementor-element-a38fd54 .elementor-heading-title { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-a38fd54 .elementor-heading-title { font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif; }
.elementor-8805 .elementor-element.elementor-element-a38fd54 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-301850c */.elementor-8805 .elementor-element.elementor-element-301850c { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-301850c p, .elementor-8805 .elementor-element.elementor-element-301850c div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-301850c { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-5f55720 */.elementor-8805 .elementor-element.elementor-element-5f55720 p, .elementor-8805 .elementor-element.elementor-element-5f55720 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-5f55720 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-18f135d */.elementor-8805 .elementor-element.elementor-element-18f135d { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }
.elementor-8805 .elementor-element.elementor-element-18f135d { width: 36px; flex: 0 0 auto; }
.elementor-8805 .elementor-element.elementor-element-18f135d { position: absolute; top: 50%; right: 20px; margin-top: -18px; width: auto; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8c38fb2 */.elementor-8805 .elementor-element.elementor-element-8c38fb2 { text-decoration: none; position: relative; padding-right: 68px; }
.elementor-8805 .elementor-element.elementor-element-8c38fb2:hover { color: inherit; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-b64ce42 */.elementor-8805 .elementor-element.elementor-element-b64ce42 { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-b64ce42 p, .elementor-8805 .elementor-element.elementor-element-b64ce42 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-b64ce42 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1012f03 */.elementor-8805 .elementor-element.elementor-element-1012f03 p, .elementor-8805 .elementor-element.elementor-element-1012f03 div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-1012f03 { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-907a70c */.elementor-8805 .elementor-element.elementor-element-907a70c { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }
.elementor-8805 .elementor-element.elementor-element-907a70c { width: 36px; flex: 0 0 auto; }
.elementor-8805 .elementor-element.elementor-element-907a70c { position: absolute; top: 50%; right: 20px; margin-top: -18px; width: auto; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0f4205b */.elementor-8805 .elementor-element.elementor-element-0f4205b { text-decoration: none; position: relative; padding-right: 68px; }
.elementor-8805 .elementor-element.elementor-element-0f4205b:hover { color: inherit; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-9e7769b */.elementor-8805 .elementor-element.elementor-element-9e7769b { margin-bottom: 4px; }
.elementor-8805 .elementor-element.elementor-element-9e7769b p, .elementor-8805 .elementor-element.elementor-element-9e7769b div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-9e7769b { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-34b9b5d */.elementor-8805 .elementor-element.elementor-element-34b9b5d p, .elementor-8805 .elementor-element.elementor-element-34b9b5d div { margin: 0; }
.elementor-8805 .elementor-element.elementor-element-34b9b5d { font-feature-settings: 'palt' 1; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7f15052 */.elementor-8805 .elementor-element.elementor-element-7f15052 { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; color: #0D1B22; line-height: 1.75; }
.elementor-8805 .elementor-element.elementor-element-7f15052 { width: 36px; flex: 0 0 auto; }
.elementor-8805 .elementor-element.elementor-element-7f15052 { position: absolute; top: 50%; right: 20px; margin-top: -18px; width: auto; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ae2eb15 */.elementor-8805 .elementor-element.elementor-element-ae2eb15 { text-decoration: none; position: relative; padding-right: 68px; }
.elementor-8805 .elementor-element.elementor-element-ae2eb15:hover { color: inherit; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-881ed16 */.elementor-8805 .elementor-element.elementor-element-881ed16 { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); display: grid; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6d76b07 */.elementor-8805 .elementor-element.elementor-element-6d76b07 { max-width: calc(1120px + clamp(16px, 4vw, 24px) + clamp(16px, 4vw, 24px)); margin: 0 auto; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c6f8771 */.elementor-8805 .elementor-element.elementor-element-c6f8771 { border-top: 1px solid #dbe5ea; }/* End custom CSS */
/* Start custom CSS *//* Styles de la page (repris de la maquette) */
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
details[open] .faq-plus{transform:rotate(45deg)}

@media (max-width: 640px){.cb-hero-row{gap:0 !important}.cb-hero-txt{display:contents}.cb-hero-txt>*{flex:1 1 100%}.cb-hero-vis{order:1;flex:1 1 100% !important;margin:4px 0 26px !important}.cb-hero-cta{order:2}.cb-hero-txt>a.cb-hero-cta{flex:0 0 auto}}

/* cb:start */
.cb-btn{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),background .25s cubic-bezier(.22,1,.36,1)}
.cb-btn-primary:hover,.cb-btn-primary:focus-visible{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(249,164,30,.7) !important;color:#ffffff !important}
.cb-btn-teal:hover,.cb-btn-teal:focus-visible{transform:translateY(-2px);background:linear-gradient(180deg,#01516A 0%,#013A4D 100%) !important;box-shadow:0 12px 24px -8px rgba(1,58,77,.5);color:#ffffff !important}
.cb-pill{transition:background .2s cubic-bezier(.22,1,.36,1),color .2s cubic-bezier(.22,1,.36,1)}
.cb-pill:hover,.cb-pill:focus-visible{background:#01516A !important;color:#ffffff !important}
.cb-pill-kova:hover,.cb-pill-kova:focus-visible{background:#233361 !important;color:#ffffff !important}
.cb-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}
.cb-card:hover,.cb-card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 40px rgba(1,58,77,.14),0 0 0 1px #01516A}
.cb-card-kova:hover,.cb-card-kova:focus-visible{box-shadow:0 20px 40px rgba(35,51,97,.16),0 0 0 1px #233361}
.cb-arrow{transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1)}
.cb-card:hover .cb-arrow,.cb-card:focus-visible .cb-arrow{background:#013A4D !important;color:#ffffff !important;border-color:transparent !important;transform:rotate(-45deg)}
.cb-card-kova:hover .cb-arrow,.cb-card-kova:focus-visible .cb-arrow{background:#233361 !important}
.cb-card:hover .cb-more,.cb-card:focus-visible .cb-more{text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion: reduce){.cb-btn,.cb-card,.cb-arrow,[data-cb-fill]{transition:none !important}.cb-btn:hover,.cb-card:hover{transform:none !important}}
/* cb:end */
.kv-bc a:hover{text-decoration:underline !important;text-underline-offset:3px}
.hb-li{transition:background .2s,transform .2s}
.hb-li:hover,.hb-li:focus-visible{background:#013A4D !important;transform:translateY(-2px)}
/* Hero mobile/tablette : bandeau photo entre le texte et les boutons (comme les pages 業界), image allégée */
@media (max-width:1200px){.elementor section.ph .ph-inner{display:flex !important;flex-direction:column !important;align-items:stretch !important}.elementor section.ph .ph-text{display:contents !important}.elementor section.ph .ph-text>*{order:1}.elementor section.ph .ph-inner .ph-text .ph-cta-row{order:3}.elementor section.ph .ph-inner .ph-rects{order:2;display:block !important;visibility:visible !important;opacity:1 !important;position:relative !important;inset:auto !important;width:100% !important;height:clamp(120px,30vw,220px) !important;margin:0 0 clamp(24px,4vw,32px) !important;pointer-events:none}.elementor section.ph .ph-inner .ph-rects .ph-rect{display:none !important}.elementor section.ph .ph-inner .ph-rects .ph-rect-2{display:block !important;visibility:visible !important;opacity:1 !important;position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;animation:none !important}.elementor section.ph .ph-inner .ph-rect-2 .ph-rect-img{background-image:var(--ph-photo-sp,var(--ph-photo)) !important;background-size:cover !important;background-position:50% 50% !important}}
/* Hero mobile : boutons empilés pleine largeur (libellés longs) */
@media (max-width:480px){.elementor section.ph .ph-cta-row{flex-direction:column !important;align-items:stretch !important}.elementor section.ph .ph-cta{flex:none !important;width:100% !important;justify-content:center !important;white-space:normal !important}}/* End custom CSS */