@layer theme, base, components, utilities;
@layer base {
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}

}
:root{--ink:#071d3b;--deep:#062a55;--blue:#0878e8;--sky:#58c8f4;--mist:#eaf8ff;--line:#b9dff2;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f7fcff;font-family:Arial,"Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:linear-gradient(145deg,var(--blue),var(--sky));border-radius:50% 50% 50% 14%;transform:rotate(-7deg);box-shadow:0 8px 24px #0088dd33}.brand small{display:block;font-size:9px;letter-spacing:.18em;margin-top:2px;font-weight:600}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.nav-cta{color:#fff;background:var(--ink);padding:15px 21px;border-radius:99px}.nav-cta span{margin-left:11px}.hero{min-height:760px;height:100vh;max-height:980px;padding:130px 6vw 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 35%,#a9e7ff 0,#dff6ff 24%,transparent 48%),linear-gradient(135deg,#fff 0%,#effaff 58%,#d8f3ff 100%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#52bfe812 1px,transparent 1px),linear-gradient(90deg,#52bfe812 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,#000 30%,transparent)}.hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #6bcdf155;left:-260px;bottom:-180px;box-shadow:0 0 0 70px #a8e5f322,0 0 0 140px #a8e5f316}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;color:#1666a7;display:flex;align-items:center;gap:12px}.eyebrow span{width:38px;height:2px;background:var(--sky)}.eyebrow.light{color:#90dfff}.eyebrow.light span{background:#90dfff}h1{margin:24px 0;font-size:clamp(48px,5.8vw,88px);line-height:1.13;letter-spacing:-.055em;font-weight:900}h1 em{color:var(--blue);font-style:normal;position:relative}h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;border-radius:50%;background:linear-gradient(90deg,var(--sky),transparent);opacity:.55}.hero-lead{font-size:16px;line-height:2;font-weight:500;color:#385673}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.button{padding:18px 25px;border-radius:99px;font-size:14px;font-weight:800}.button.primary{background:linear-gradient(120deg,#0878e8,#04a7e6);color:#fff;box-shadow:0 12px 35px #0878e833}.button b{margin-left:18px}.text-link{font-size:14px;font-weight:800;border-bottom:1px solid #9ccde4;padding-bottom:7px}.text-link span{margin-left:15px;color:var(--blue)}.hero-art{position:relative;height:560px}.rise-word{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);font-size:clamp(100px,14vw,210px);font-weight:900;letter-spacing:-.09em;color:#fff;text-shadow:0 30px 60px #1296c82e;opacity:.95}.orbit{position:absolute;border:1px solid #27a7df44;border-radius:50%;inset:8% 5%;transform:rotate(-17deg)}.orbit-two{inset:22% 16%;transform:rotate(25deg);border-style:dashed}.signal-card{position:absolute;width:190px;padding:20px;background:#ffffffcc;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:4px 22px 22px 22px;box-shadow:0 18px 50px #1d77a222;color:#31627f;font-size:10px;letter-spacing:.14em}.signal-card span{color:var(--blue);margin-right:10px}.signal-card b{display:block;color:var(--ink);font-size:16px;letter-spacing:0;margin-top:9px}.card-a{top:8%;right:8%}.card-b{top:47%;left:1%}.card-c{bottom:6%;right:13%}.scroll{position:absolute;bottom:28px;left:6vw;font-size:9px;letter-spacing:.24em;font-weight:800;transform:rotate(-90deg);transform-origin:left}.scroll span{display:inline-block;width:50px;height:1px;background:var(--ink);margin:0 0 3px 10px}.manifesto{position:relative;display:grid;grid-template-columns:1.05fr .75fr;gap:10vw;padding:150px 10vw;color:#fff;background:linear-gradient(135deg,#04274e,#063c72 75%,#087fc2)}.vertical-label{position:absolute;left:3vw;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#63bce2}.manifesto h2,.section-heading h2,.values h2,.message h2,.company h2,.contact h2{font-size:clamp(40px,5vw,72px);line-height:1.2;letter-spacing:-.045em;margin:24px 0;font-weight:900}.manifesto h2 em{font-style:normal;color:#6ad2ff}.manifesto-copy{align-self:end;color:#cfe7f7;font-size:15px;line-height:2}.manifesto-copy p+p{margin-top:24px}.manifesto-copy a{display:inline-block;margin-top:28px;color:#fff;font-weight:800;border-bottom:1px solid #5cbce5;padding-bottom:7px}.manifesto-copy a span{margin-left:20px}.services{padding:140px 6vw;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:72px}.section-heading>p{color:#5c7286;line-height:2;margin:0 3vw 28px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:470px;padding:28px 30px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.3s ease;background:#fff}.service-card:hover{background:#f0faff;transform:translateY(-4px);box-shadow:0 22px 60px #1479a814}.service-top{display:flex;justify-content:space-between;color:#2679ab;font-size:10px;letter-spacing:.14em;font-weight:800}.service-top b{font-size:16px}.service-icon{height:132px;margin:30px 0;position:relative;display:grid;place-items:center}.service-icon:before{content:"";width:106px;height:106px;border-radius:50%;background:linear-gradient(145deg,#d4f3ff,#edfaff);box-shadow:inset -12px -12px 25px #62c5e82c}.service-icon i{position:absolute;background:linear-gradient(145deg,var(--blue),var(--sky));border-radius:20px}.service-icon i:nth-child(1){width:58px;height:10px;transform:rotate(-35deg)}.service-icon i:nth-child(2){width:10px;height:58px;transform:rotate(-35deg)}.service-icon i:nth-child(3){width:16px;height:16px;border-radius:50%;transform:translate(36px,-35px)}.icon-02 i:nth-child(1){width:68px;height:50px;border-radius:6px}.icon-02 i:nth-child(2){width:36px;height:6px;transform:translateY(33px)}.icon-03 i:nth-child(1),.icon-04 i:nth-child(1){width:12px;height:56px;transform:translate(-28px,12px)}.icon-03 i:nth-child(2),.icon-04 i:nth-child(2){width:12px;height:82px;transform:translate(0,-1px)}.icon-03 i:nth-child(3),.icon-04 i:nth-child(3){width:12px;height:104px;border-radius:20px;transform:translate(28px,-12px)}.icon-05 i:nth-child(1),.icon-06 i:nth-child(1){width:70px;height:70px;border-radius:22px;transform:none}.icon-05 i:nth-child(2),.icon-06 i:nth-child(2){width:24px;height:24px;border-radius:50%;background:#fff;transform:none}.icon-07 i:nth-child(1){width:80px;height:18px;transform:rotate(-45deg)}.icon-07 i:nth-child(2){width:34px;height:34px;background:transparent;border:8px solid var(--blue);transform:translate(30px,-30px)}.service-tag{font-size:11px;color:var(--blue);font-weight:800}.service-card h3{font-size:22px;margin:10px 0 16px;letter-spacing:-.02em}.service-card>p:last-child{font-size:13px;line-height:1.9;color:#587087}.service-card:last-child{grid-column:2}.values{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:130px 8vw;color:#fff;background:linear-gradient(145deg,#005ca7,#058ed0)}.value{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:30px 0;border-top:1px solid #86d5f777}.value:last-child{border-bottom:1px solid #86d5f777}.value>span{font-size:11px;color:#8cddff;font-weight:800}.value h3{margin:0 0 10px;font-size:22px}.value p{margin:0;color:#d5effa;line-height:1.8;font-size:13px}.message{padding:140px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:#f4fbff}.portrait{min-height:650px;position:relative;overflow:hidden;background:linear-gradient(160deg,#dff6ff,#74cef0);border-radius:120px 8px 120px 8px;display:grid;place-items:center}.portrait-monogram{font-size:clamp(120px,17vw,230px);font-weight:900;letter-spacing:-.15em;color:#fff8;transform:translateX(-.07em)}.portrait-rings{position:absolute;width:420px;height:420px;border:1px solid #fff8;border-radius:50%;box-shadow:0 0 0 55px #fff2,0 0 0 110px #fff1}.portrait p{position:absolute;left:34px;bottom:26px;font-size:11px;letter-spacing:.16em;font-weight:800}.portrait p span{font-size:9px;color:#17618c}.message-copy>p:not(.eyebrow){font-size:15px;line-height:2;color:#4b657d}.message blockquote{margin:35px 0;padding:22px 0 22px 25px;border-left:3px solid var(--sky);font-size:18px;line-height:1.8;font-weight:800}.signature{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:14px;margin-top:35px}.signature span{font-size:11px;grid-row:1}.signature strong{font-family:serif;font-size:28px;grid-row:1/3;grid-column:2}.signature small{font-size:8px;letter-spacing:.16em;grid-column:1}.company{padding:130px 10vw;background:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.company-heading{position:relative}.company-seal{width:120px;height:120px;border:1px solid var(--line);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--blue);font-weight:900;margin-top:55px;box-shadow:0 0 0 8px #e8f8fe}.company-seal small{font-size:8px;letter-spacing:.12em}.company dl{margin:0;border-top:1px solid var(--line)}.company dl>div{display:grid;grid-template-columns:130px 1fr;padding:26px 4px;border-bottom:1px solid var(--line);font-size:14px}.company dt{font-weight:800;color:#357297}.company dd{margin:0;line-height:1.9}.company dd a{color:var(--blue);font-weight:700}.trust{padding:28px 10vw;display:grid;grid-template-columns:100px 1fr 2fr;align-items:center;gap:30px;color:#164465;background:#e6f7ff;border-block:1px solid #bce5f8}.trust>span{font-size:10px;letter-spacing:.2em;font-weight:800}.trust p{font-weight:900}.trust small{line-height:1.7}.contact{min-height:650px;padding:130px 10vw;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#04294f,#0069ac 65%,#00a6dc)}.contact h2{font-size:clamp(50px,7vw,96px);position:relative}.contact>p:not(.eyebrow){color:#c8ebf8;line-height:2}.contact>a{display:inline-flex;justify-content:space-between;width:min(420px,100%);margin-top:32px;padding:22px 26px;border:1px solid #83ddff;border-radius:99px;font-weight:800;background:#ffffff0c}.contact-orbit{position:absolute;width:700px;height:700px;border:1px solid #80dcff33;border-radius:50%;right:-100px;top:-80px;box-shadow:0 0 0 90px #51c9f214,0 0 0 180px #51c9f20c}footer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:45px;padding:70px 6vw 35px;background:#031d39;color:#fff}.footer-brand{font-size:20px}footer>div{display:flex;gap:25px;font-size:10px;letter-spacing:.15em}footer>p{grid-column:1/-1;margin:25px 0 0;padding-top:20px;border-top:1px solid #ffffff20;font-size:9px;letter-spacing:.15em;color:#8eb4cf}
@media(max-width:900px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-art{position:absolute;width:48%;right:2%;opacity:.65}.manifesto,.values,.message,.company{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:last-child{grid-column:auto}.portrait{min-height:520px}.company-seal{display:none}.trust{grid-template-columns:80px 1fr}.trust small{grid-column:2}}
@media(max-width:620px){.site-header{height:72px;padding:0 20px}.brand small,nav a:not(.nav-cta){display:none}.nav-cta{padding:12px 16px}.hero{height:auto;min-height:820px;padding:115px 24px 55px;align-content:start}.hero-copy{margin-top:20px}h1{font-size:47px}.hero-lead br{display:none}.hero-actions{gap:18px;flex-wrap:wrap}.hero-art{position:relative;width:100%;height:330px;right:auto;margin-top:20px;opacity:1}.signal-card{width:158px;padding:14px}.signal-card b{font-size:13px}.card-a{right:0}.card-b{left:0}.card-c{right:3%}.scroll,.vertical-label{display:none}.manifesto,.services,.values,.message,.company,.contact{padding:85px 24px}.manifesto{gap:35px}.manifesto h2,.section-heading h2,.values h2,.message h2,.company h2{font-size:39px}.section-heading{display:block;margin-bottom:45px}.section-heading>p{margin:20px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:410px}.service-card:last-child{grid-column:auto}.values{gap:30px}.portrait{min-height:440px}.message{gap:55px}.company{gap:30px}.company dl>div{grid-template-columns:95px 1fr}.trust{padding:28px 24px;grid-template-columns:1fr;gap:4px}.trust small{grid-column:auto}.contact{min-height:620px}.contact h2{font-size:50px}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}footer>p{grid-column:auto}}
.manifesto-title>span,.manifesto-title>em{display:block;white-space:nowrap}.manifesto h2.manifesto-title{font-size:clamp(36px,5vw,72px)}
@media(max-width:620px){.manifesto h2.manifesto-title{font-size:clamp(25px,7vw,35px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

/* Multi-page experience */
.subpage{min-height:100vh;background:#fff}.sub-header{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #d6edf7;position:relative;z-index:5}.sub-hero{min-height:470px;padding:115px 8vw 80px;display:flex;flex-direction:column;justify-content:end;background:radial-gradient(circle at 82% 30%,#aee8ff 0,transparent 32%),linear-gradient(135deg,#fafdff,#ddf5ff);position:relative;overflow:hidden}.sub-hero:after{content:"RISE";position:absolute;right:4vw;bottom:-.2em;font-size:clamp(120px,20vw,300px);font-weight:900;letter-spacing:-.1em;color:#fff8}.sub-hero h1{font-size:clamp(58px,8vw,112px);margin:18px 0;position:relative;z-index:1}.sub-hero>p:last-child{color:#4b6b82;position:relative;z-index:1}.service-index{padding:100px 7vw 140px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c4e3f1}.service-index>a{min-height:340px;padding:42px;background:#fff;display:flex;flex-direction:column;transition:.25s}.service-index>a:hover{background:#eefaff}.service-index span{font-size:10px;letter-spacing:.15em;color:var(--blue);font-weight:800}.service-index h2{font-size:30px;margin:55px 0 16px}.service-index p{color:#587087;line-height:1.9;font-size:13px;max-width:500px}.service-index b{font-size:12px;color:var(--blue);margin-top:auto}.detail-hero{min-height:630px;padding:125px 8vw 85px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;background:radial-gradient(circle at 78% 50%,#a9e9ff,transparent 34%),linear-gradient(140deg,#fff,#e5f8ff);overflow:hidden}.detail-hero h1{font-size:clamp(58px,7vw,105px);max-width:900px}.detail-hero>div>p:last-child{font-size:18px;color:#47677d}.detail-symbol{height:360px;position:relative;display:grid;place-items:center}.detail-symbol:before{content:"";width:280px;height:280px;border-radius:50%;background:#fff9;box-shadow:0 25px 80px #1989bc22,0 0 0 55px #fff4}.detail-symbol i{position:absolute;background:linear-gradient(145deg,var(--blue),var(--sky));border-radius:30px}.detail-symbol i:nth-child(1){width:125px;height:20px;transform:rotate(-35deg)}.detail-symbol i:nth-child(2){width:20px;height:125px;transform:rotate(-35deg)}.detail-symbol i:nth-child(3){width:34px;height:34px;border-radius:50%;transform:translate(72px,-72px)}.detail-body{padding:120px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.detail-body h2,.detail-points h2{font-size:clamp(38px,5vw,66px);letter-spacing:-.04em}.detail-body>p{align-self:end;color:#516b80;line-height:2.2}.detail-points{padding:110px 8vw;background:#effaff}.detail-points>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bde0ef;margin-top:45px}.detail-points article{background:#fff;padding:32px;min-height:200px}.detail-points article span{color:var(--blue);font-size:11px}.detail-points article h3{font-size:20px;margin-top:65px}.detail-cta{padding:90px 10vw;color:#fff;background:linear-gradient(135deg,#06305b,#0579b8);display:flex;align-items:center;justify-content:space-between}.detail-cta p{font-size:25px;font-weight:900}.detail-cta a{border:1px solid #7dd9ff;border-radius:99px;padding:20px 30px;font-weight:800}.next-service{padding:65px 8vw;display:grid;grid-template-columns:150px 1fr 40px;align-items:center;border-bottom:1px solid #cae5f0}.next-service span{font-size:9px;letter-spacing:.16em;color:#4281a2}.next-service strong{font-size:28px}.next-service b{font-size:24px;color:var(--blue)}.editorial{padding:120px 10vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:10vw}.editorial aside{min-height:500px;border-radius:90px 8px 90px 8px;background:linear-gradient(145deg,#d9f5ff,#73d1f2);display:flex;flex-direction:column;justify-content:center;align-items:center}.editorial-mark{font-size:140px;font-weight:900;letter-spacing:-.14em;color:#fff9;transform:translateX(-.08em)}.editorial aside p{align-self:flex-start;margin:50px 35px 0;font-size:11px}.editorial aside strong{font-size:24px}.editorial article h2{font-size:clamp(38px,5vw,62px);line-height:1.4;letter-spacing:-.04em}.editorial article p{line-height:2.2;color:#506b80}.editorial blockquote{margin:40px 0;padding:28px;border-left:3px solid var(--sky);background:#f0faff;font-weight:800;line-height:2}.company-page{padding:120px 10vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}.company-page h2{font-size:55px;color:var(--blue)}.company-page>div p{line-height:2;color:#567085}.company-page dl{margin:0;border-top:1px solid var(--line)}.company-page dl>div{display:grid;grid-template-columns:120px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.company-page dt{font-weight:800;color:#38789d}.company-page dd{margin:0;line-height:1.8}.contact-page{min-height:600px;padding:120px 10vw;background:linear-gradient(140deg,#062b54,#0085c9);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.contact-page>p{font-size:20px;line-height:2}.contact-page>a:first-of-type{width:min(700px,100%);padding:28px 0;margin:35px 0;border-block:1px solid #70d4fa;font-size:clamp(20px,4vw,42px);font-weight:900;display:flex;justify-content:space-between}.contact-page small{color:#c7eaf8}.contact-page>a:last-child{margin-top:65px;border-bottom:1px solid #72d6fa;padding-bottom:8px}
@media(max-width:760px){.sub-header{height:72px;padding:0 20px}.sub-header nav a:not(.nav-cta){display:none}.sub-hero{min-height:390px;padding:100px 24px 60px}.sub-hero h1{font-size:55px}.service-index{grid-template-columns:1fr;padding:65px 24px 90px;background:#fff;gap:1px}.service-index>a{min-height:300px;border-bottom:1px solid var(--line);padding:32px 12px}.detail-hero{min-height:620px;padding:110px 24px 60px;grid-template-columns:1fr}.detail-hero h1{font-size:52px}.detail-symbol{height:240px}.detail-symbol:before{width:180px;height:180px}.detail-body,.editorial,.company-page{grid-template-columns:1fr;padding:80px 24px}.detail-points{padding:80px 24px}.detail-points>div{grid-template-columns:1fr}.detail-points article{min-height:150px}.detail-points article h3{margin-top:35px}.detail-cta{padding:65px 24px;display:block}.detail-cta a{display:inline-block;margin-top:20px}.next-service{padding:40px 24px;grid-template-columns:1fr 30px}.next-service span{grid-column:1/-1;margin-bottom:10px}.next-service strong{font-size:20px}.editorial aside{min-height:390px}.company-page{gap:35px}.company-page dl>div{grid-template-columns:90px 1fr}.contact-page{padding:80px 24px;min-height:520px}}

.portrait{display:block}.portrait img{object-fit:cover;object-position:50% 24%}.portrait:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(to top,#052a4f99,transparent 35%);pointer-events:none}.portrait p{z-index:1;color:#fff}.portrait p span{color:#bfeaff}.editorial-photo{position:relative!important;overflow:hidden!important}.editorial-photo img{object-fit:cover;object-position:50% 22%}.editorial-photo:after{content:"";position:absolute;z-index:0;inset:55% 0 0;background:linear-gradient(transparent,#052a4fb3)}.editorial-photo p{position:absolute!important;z-index:1;left:35px;bottom:32px;margin:0!important;color:#fff}.editorial-photo strong{font-size:24px}

/* Seven-image visual system */
.hero{isolation:isolate;background:linear-gradient(90deg,#fff 0%,#f2fbff 40%,#dff5ff 100%)}.hero:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 34%,#ffffffde 43%,transparent 67%);pointer-events:none}.hero-copy{z-index:3}.hero-mosaic{position:absolute;z-index:-1;inset:0 0 0 38%;display:grid;grid-template-columns:1.15fr .9fr 1fr;grid-template-rows:1.1fr .85fr 1fr;gap:5px;transform:skewX(-4deg) scale(1.07);transform-origin:center;filter:saturate(.9) contrast(.98)}.hero-mosaic:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e7f8ff80,transparent 28%),linear-gradient(0deg,#006cb31a,#fff0 45%);pointer-events:none}.mosaic-tile{position:relative;overflow:hidden;min-width:0;box-shadow:inset 0 0 0 1px #fff8}.mosaic-tile img{object-fit:cover;transform:skewX(4deg) scale(1.12);filter:brightness(1.04)}.tile-1{grid-row:1/3}.tile-2{grid-column:2/4}.tile-3{grid-row:2/4}.tile-4{grid-row:2}.tile-5{grid-row:3}.tile-6{grid-column:3;grid-row:2}.tile-7{grid-column:3;grid-row:3}.services-visual{padding:140px 0 0;background:#f8fcff}.visual-heading{padding:0 7vw;margin-bottom:80px}.service-showcase{border-top:1px solid #b9dff2}.service-feature{position:relative;min-height:620px;display:grid;grid-template-columns:1.2fr .8fr;overflow:hidden;background:#fff;border-bottom:1px solid #b9dff2}.service-feature:nth-child(even){grid-template-columns:.8fr 1.2fr}.service-feature:nth-child(even) .feature-image{grid-column:2;grid-row:1}.service-feature:nth-child(even) .feature-copy{grid-column:1;grid-row:1}.feature-image{position:relative;min-height:620px;overflow:hidden}.feature-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 60%,#006aa322)}.feature-image img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.service-feature:hover .feature-image img{transform:scale(1.035)}.feature-copy{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center;position:relative;background:radial-gradient(circle at 100% 0,#bfeeff66,transparent 36%),#fff}.feature-copy>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--blue)}.feature-copy>p{margin:70px 0 10px;font-size:12px;color:var(--blue);font-weight:800}.feature-copy h3{margin:0 0 24px;font-size:clamp(34px,4vw,58px);letter-spacing:-.04em;line-height:1.25}.feature-copy small{max-width:520px;font-size:14px;line-height:2;color:#557086}.feature-copy b{margin-top:50px;width:max-content;padding-bottom:8px;border-bottom:1px solid #8ccfe9;font-size:12px}.feature-copy b i{font-style:normal;margin-left:22px;color:var(--blue)}.service-feature>em{position:absolute;z-index:2;right:3vw;bottom:-.12em;font-style:normal;font-size:clamp(100px,15vw,220px);font-weight:900;color:#dff5ff80;letter-spacing:-.08em;pointer-events:none}.service-feature:nth-child(even)>em{right:auto;left:3vw}.service-feature:last-child .feature-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(135deg,#0578bf22,transparent 45%)}
@media(max-width:900px){.hero-mosaic{inset:0 0 0 26%;opacity:.74}.hero:after{background:linear-gradient(90deg,#fffffff7 0%,#ffffffdc 45%,#ffffff42 100%)}.service-feature,.service-feature:nth-child(even){grid-template-columns:1fr 1fr}.feature-copy{padding:55px 5vw}.feature-copy>p{margin-top:35px}}
@media(max-width:620px){.hero{min-height:860px}.hero:after{background:linear-gradient(180deg,#fffffff8 0%,#ffffffdc 45%,#ffffff26 72%,#e5f8ff 100%)}.hero-mosaic{inset:46% -10% 0 -10%;height:480px;opacity:1;transform:skewX(-4deg) scale(1.05);grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}.tile-1{grid-row:1}.tile-2{grid-column:2/4;grid-row:1}.tile-3{grid-column:4;grid-row:1}.tile-4{grid-column:1;grid-row:2}.tile-5{grid-column:2;grid-row:2}.tile-6{grid-column:3;grid-row:2}.tile-7{grid-column:4;grid-row:2}.services-visual{padding-top:85px}.visual-heading{padding:0 24px;margin-bottom:50px}.service-feature,.service-feature:nth-child(even){display:flex;min-height:0;flex-direction:column}.service-feature:nth-child(even) .feature-image,.service-feature:nth-child(even) .feature-copy{grid-column:auto;grid-row:auto}.feature-image{min-height:300px}.feature-copy{padding:42px 24px 55px}.feature-copy>p{margin-top:36px}.feature-copy h3{font-size:35px}.feature-copy b{margin-top:30px}.service-feature>em{font-size:105px;bottom:-.1em}}

@media(min-width:621px){.feature-copy h3{font-size:clamp(25px,3vw,48px);white-space:nowrap;word-break:keep-all;text-wrap:nowrap}.trust{grid-template-columns:85px 190px minmax(0,1fr);gap:20px;padding-inline:4vw}.trust small{font-size:clamp(8px,.8vw,11px);white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}
.footer-legal{position:relative;display:flex;align-items:center;min-height:20px}.policy-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:28px;white-space:nowrap}.policy-links a{transition:color .2s}.policy-links a:hover{color:#fff}@media(max-width:620px){.footer-legal{align-items:flex-start;gap:13px;flex-direction:column}.policy-links{position:static;transform:none;gap:18px}}
.detail-hero-photo{grid-template-columns:1fr 1fr;gap:6vw;padding-right:5vw}.detail-hero-photo figure{position:relative;height:460px;margin:0;overflow:hidden;border-radius:90px 8px 90px 8px;box-shadow:0 30px 70px #0b669329}.detail-hero-photo figure img{object-fit:cover}.detail-features,.detail-flow{padding:110px 8vw;background:#fff}.detail-features>h2,.detail-flow>h2,.detail-proof>h2{font-size:clamp(38px,4vw,62px);margin:20px 0 55px}.detail-features>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.detail-features article{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-features article>span{color:var(--blue);font-size:11px;font-weight:800}.detail-features h3{font-size:21px;margin:28px 0 14px}.detail-features article p{color:#587087;font-size:13px;line-height:1.9}.detail-proof{padding:100px 10vw;color:#fff;background:linear-gradient(135deg,#06325f,#087fc2)}.detail-proof>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff35}.detail-proof>div p{margin:0;padding:32px;background:#075a92;font-size:17px;line-height:1.7;font-weight:800}.detail-proof small,.detail-flow small{display:block;margin-top:24px;line-height:1.8;opacity:.75}.detail-flow{background:#eef9ff}.detail-flow ol{padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--line)}.detail-flow li{position:relative;padding:26px 24px;border-bottom:1px solid var(--line)}.detail-flow li+li{border-left:1px solid var(--line)}.detail-flow li span{display:block;color:var(--blue);font-size:11px;margin-bottom:18px}.detail-flow li strong{font-size:15px;line-height:1.6}@media(max-width:800px){.detail-hero-photo{grid-template-columns:1fr;padding-right:24px}.detail-hero-photo figure{height:340px}.detail-features>div,.detail-proof>div{grid-template-columns:1fr}.detail-flow ol{grid-template-columns:1fr 1fr}.detail-features,.detail-flow{padding:80px 24px}}@media(max-width:520px){.detail-flow ol{grid-template-columns:1fr}.detail-flow li+li{border-left:0}}
.feature-link{position:relative;z-index:5;display:inline-flex;align-items:center;margin-top:50px;width:max-content;padding:13px 20px;border:1px solid #8ccfe9;border-radius:99px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;cursor:pointer;transition:.2s}.feature-link:hover{color:#fff;background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.feature-link i{font-style:normal;margin-left:22px;color:var(--blue)}.feature-link:hover i{color:#fff}@media(max-width:620px){.feature-link{margin-top:30px}}
/* Meaning-aware Japanese line wrapping */
:where(p,small,dd,dt,blockquote,li,h1,h2,h3,h4,a,strong){line-break:strict;word-break:auto-phrase;overflow-wrap:break-word;text-wrap:pretty}:where(h1,h2,h3,h4){text-wrap:balance}.brand,.eyebrow,.button,.feature-link,.nav-cta{word-break:keep-all;text-wrap:nowrap}
.sales-needs{padding:105px 9vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:#eef9ff}.sales-needs h2,.sales-assurance h2,.sales-gallery h2,.sales-pricing h2,.sales-independence h2,.sales-faq h2{font-size:clamp(38px,4.5vw,68px);line-height:1.3;margin:22px 0 45px}.sales-needs ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.sales-needs li{display:grid;grid-template-columns:55px 1fr;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.sales-needs li span{font-size:11px;color:var(--blue);font-weight:800}.sales-needs li p{margin:0;font-size:17px;font-weight:800;line-height:1.7}.sales-assurance{padding:105px 8vw;color:#fff;background:linear-gradient(135deg,#052b55,#087dbc)}.sales-assurance>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff32}.sales-assurance article{padding:35px;background:#075687}.sales-assurance article b{color:#8cdfff;font-size:11px}.sales-assurance article h3{margin:45px 0 16px;font-size:21px}.sales-assurance article p{margin:0;color:#d7effa;font-size:13px;line-height:1.9}.sales-gallery{padding:110px 7vw;background:#fff}.sales-gallery-heading{max-width:800px;margin-bottom:60px}.sales-gallery-heading>p:last-child{color:#587087;line-height:2}.sales-photo-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:300px 300px;gap:12px}.sales-photo-grid figure{position:relative;margin:0;overflow:hidden;border-radius:4px 42px 4px 42px}.sales-photo-grid figure:first-child{grid-row:1/3}.sales-photo-grid figure:last-child{grid-column:2}.sales-photo-grid figure img{object-fit:cover}.sales-pricing{padding:105px 8vw;background:#f5fbff}.sales-pricing>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sales-pricing article{padding:34px;background:#fff;border:1px solid var(--line)}.sales-pricing article>span{font-size:11px;color:var(--blue);font-weight:800}.sales-pricing h3{font-size:22px;margin:42px 0 22px}.sales-pricing article p{color:#587087;line-height:2;font-size:13px}.sales-pricing>small{display:block;margin-top:20px;color:#6a7f90;line-height:1.8}.sales-independence{padding:105px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;color:#fff;background:linear-gradient(135deg,#0868a8,#04a2d3)}.sales-independence>p{align-self:end;line-height:2.2;color:#e1f6ff}.sales-faq{padding:110px 10vw;background:#fff}.sales-faq>div{border-top:1px solid var(--line)}.sales-faq details{border-bottom:1px solid var(--line)}.sales-faq summary{display:flex;gap:22px;padding:26px 8px;cursor:pointer;font-size:16px;font-weight:800;line-height:1.7}.sales-faq summary span{color:var(--blue);font-size:11px;padding-top:5px}.sales-faq details p{margin:0;padding:0 8px 28px 55px;color:#587087;line-height:2}@media(max-width:760px){.sales-needs,.sales-independence{grid-template-columns:1fr;padding:80px 24px}.sales-assurance,.sales-gallery,.sales-pricing,.sales-faq{padding:80px 24px}.sales-assurance>div,.sales-pricing>div{grid-template-columns:1fr}.sales-photo-grid{grid-template-columns:1fr;grid-template-rows:280px 220px 220px 250px}.sales-photo-grid figure:first-child{grid-row:auto}.sales-photo-grid figure:last-child{grid-column:auto}.sales-independence{gap:20px}}

.web-detail-hero{background:radial-gradient(circle at 78% 42%,#9de7ff 0,transparent 34%),linear-gradient(135deg,#fff 0%,#e7f8ff 56%,#c9efff 100%)}.web-speed-badge{display:inline-flex;align-items:baseline;gap:10px;margin:30px 0 0;padding:13px 22px;color:#fff;background:linear-gradient(115deg,#076fe2,#00aada);border-radius:4px 30px 30px 30px;box-shadow:0 15px 35px #077bcb30}.web-speed-badge strong{font-size:clamp(28px,4vw,54px);line-height:1}.web-speed-badge span{font-size:14px;font-weight:800}.web-detail-hero h1{margin-top:18px}.web-offer{padding:110px 9vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;color:#fff;background:linear-gradient(135deg,#052a54,#087bc0 72%,#04a4d7)}.web-offer h2{font-size:clamp(40px,5vw,72px);line-height:1.25;margin:24px 0}.web-offer>div>p:last-child{color:#d8f2fd;line-height:2}.web-offer aside{border-top:1px solid #8cdcff66}.web-offer article{display:grid;grid-template-columns:45px 1fr;gap:8px 18px;padding:25px 4px;border-bottom:1px solid #8cdcff66}.web-offer article span{grid-row:1/3;color:#8edfff;font-size:11px;font-weight:800}.web-offer article strong{font-size:19px}.web-offer article small{color:#d8f2fd;line-height:1.8}@media(max-width:760px){.web-speed-badge{margin-top:24px}.web-detail-hero h1{font-size:44px}.web-offer{grid-template-columns:1fr;padding:80px 24px;gap:35px}}
.web-director{padding:110px 9vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;color:#fff;background:linear-gradient(135deg,#062b54,#087dbc)}.web-director figure{position:relative;height:520px;margin:0;overflow:hidden;border-radius:80px 8px 80px 8px;box-shadow:0 25px 60px #04294c55}.web-director figure img{object-fit:cover}.web-director h2{font-size:clamp(38px,5vw,68px);line-height:1.25;margin:22px 0}.web-director h2 span{display:block}.web-director>div>p:not(.eyebrow){color:#d5effa;line-height:2.1}.web-director dl{display:flex;gap:28px;margin:38px 0 0;padding-top:22px;border-top:1px solid #8cdcff66}.web-director dt{color:#96e1ff}.web-director dd{margin:0;font-weight:800}
@media(max-width:760px){.web-director{grid-template-columns:1fr;padding:80px 24px;gap:38px}.web-director figure{height:360px;border-radius:54px 8px 54px 8px}.web-director h2{font-size:clamp(34px,9.5vw,46px)}.web-director dl{gap:18px}}
.web-features{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(105deg,#031a36f5 0%,#063d70e8 52%,#007fb9c9 100%),url('/wp-content/plugins/rise-company-site/site/services/web.webp') center 38%/cover no-repeat}.web-features:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 82% 22%,#4bd5ff55,transparent 32%),linear-gradient(90deg,transparent 48%,#062c5038 48%)}.web-features>*{position:relative;z-index:1}.web-features .eyebrow{color:#8de3ff}.web-features h2{font-size:clamp(48px,6vw,86px);max-width:780px}.web-features>div{gap:16px;border:0;background:transparent}.web-features article{min-height:290px;padding:38px;background:#031d39c7;border:1px solid #8bdfff55;backdrop-filter:blur(14px);box-shadow:0 22px 55px #00172e66}.web-features article:nth-child(2){transform:translateY(24px)}.web-features article>span{color:#7edfff}.web-features h3{margin-top:72px;color:#fff;font-size:25px}.web-features article p{color:#d7eff9;font-size:14px}.web-production-flow{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 90% 0,#12bfe955,transparent 30%),linear-gradient(135deg,#031b38,#075f9a)}.web-production-flow .eyebrow{color:#91e4ff}.web-production-flow>h2{font-size:clamp(46px,5.5vw,78px);max-width:900px}.web-production-flow ol{grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #8bdfff55;background:#8bdfff55}.web-production-flow li{min-height:245px;padding:30px;background:#064573d9;display:flex;flex-direction:column}.web-production-flow li+li{border-left:0}.web-production-flow li span{color:#8ee4ff;font-size:10px;letter-spacing:.12em}.web-production-flow li strong{margin-top:28px;color:#fff;font-size:20px}.web-production-flow li p{margin:18px 0 0;color:#cce9f5;line-height:1.8;font-size:13px}.web-production-flow small{color:#b8ddeb;opacity:1;max-width:1000px}

.instagram-provocation{padding:120px 9vw;color:#fff;background:radial-gradient(circle at 88% 15%,#00bce855,transparent 30%),linear-gradient(135deg,#041f42,#075e9e 62%,#049fd0)}.instagram-provocation h2{max-width:1000px;margin:26px 0 35px;font-size:clamp(42px,6vw,86px);line-height:1.25;letter-spacing:-.05em}.instagram-provocation h2 em{font-style:normal;color:#8ee8ff;border-bottom:5px solid #28c9ee}.instagram-provocation>p:last-child{max-width:720px;color:#d7f2fd;font-size:16px;line-height:2}.instagram-ai-stack{padding:110px 8vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:#f2fbff}.instagram-ai-stack h2,.instagram-funnel h2{font-size:clamp(40px,5vw,70px);line-height:1.3;margin:24px 0}.instagram-ai-stack>div>p:last-child{color:#587087;line-height:2}.instagram-stack-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.instagram-stack-grid article{min-height:145px;padding:25px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.instagram-stack-grid span{font-size:10px;color:var(--blue);font-weight:800}.instagram-stack-grid strong{margin-top:25px;font-size:20px}.instagram-stack-grid small{margin-top:auto;padding-top:13px;color:#628097}.instagram-funnel{padding:110px 8vw;color:#fff;background:linear-gradient(135deg,#07315c,#087fc1)}.instagram-funnel ol{list-style:none;margin:50px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff35}.instagram-funnel li{position:relative;min-height:210px;padding:28px;background:#07598f;display:flex;flex-direction:column}.instagram-funnel li:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-14px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--blue);background:#fff}.instagram-funnel li span{color:#8de1ff;font-size:10px}.instagram-funnel li strong{margin-top:45px;font-size:18px}.instagram-funnel li small{margin-top:auto;color:#d6effa}@media(max-width:760px){.instagram-provocation,.instagram-ai-stack,.instagram-funnel{padding:80px 24px}.instagram-provocation h2 br{display:none}.instagram-ai-stack{grid-template-columns:1fr}.instagram-stack-grid{grid-template-columns:1fr}.instagram-funnel ol{grid-template-columns:1fr}.instagram-funnel li{min-height:150px}.instagram-funnel li:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-14px;transform:translateX(50%)}}

.instagram-provocation h2>span,.instagram-ai-stack h2>span,.instagram-funnel h2>span{display:block}.instagram-detail-hero h1{font-size:clamp(42px,5vw,76px)}@media(min-width:761px){.instagram-provocation h2>span,.instagram-ai-stack h2>span,.instagram-funnel h2>span,.instagram-detail-hero h1{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.instagram-provocation h2{font-size:clamp(34px,10vw,50px)}.instagram-provocation h2>span,.instagram-ai-stack h2>span,.instagram-funnel h2>span{display:inline}.instagram-provocation h2>span:not(:last-child):after,.instagram-ai-stack h2>span:not(:last-child):after,.instagram-funnel h2>span:not(:last-child):after{content:" ";white-space:pre}.instagram-detail-hero h1{font-size:42px;word-break:keep-all;overflow-wrap:normal}}

/* Instagram / SNS: AI automatic posting, results-ready slots, and pricing. */
.instagram-auto-post{padding:120px 8vw;color:#fff;background:radial-gradient(circle at 86% 10%,#19b9f34d,transparent 34%),linear-gradient(140deg,#031b39,#053f72 60%,#087fb8);overflow:hidden}
.instagram-auto-post-heading{max-width:980px}.instagram-auto-post-heading h2,.instagram-results-ready h2,.instagram-pricing h2{font-size:clamp(42px,5.8vw,78px);line-height:1.2;letter-spacing:-.055em;margin:24px 0 30px}.instagram-auto-post-heading h2 span,.instagram-results-ready h2 span,.instagram-pricing h2 span{display:block}.instagram-auto-post-heading>p:last-child{max-width:780px;color:#d6f1fc;font-size:17px;line-height:2}
.instagram-auto-post-steps{list-style:none;margin:60px 0 80px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #8edfff66;border-left:1px solid #8edfff66}.instagram-auto-post-steps li{min-height:230px;padding:30px;border-right:1px solid #8edfff66;border-bottom:1px solid #8edfff66;background:#ffffff0b}.instagram-auto-post-steps span{font-size:11px;letter-spacing:.15em;color:#7ee2ff}.instagram-auto-post-steps strong{display:block;margin:48px 0 16px;font-size:22px}.instagram-auto-post-steps p{margin:0;color:#cceaf7;line-height:1.9;font-size:14px}
.instagram-auto-post-gallery{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:start}.instagram-auto-post-gallery article{background:#fff;color:#061f3e;overflow:hidden;border-radius:6px}.instagram-auto-post-gallery figure{margin:0;background:#f5fbff;overflow:hidden}.instagram-auto-post-gallery figure img{display:block;width:100%;height:auto;object-fit:contain}.instagram-auto-post-gallery article>div{padding:30px}.instagram-auto-post-gallery article span{font-size:10px;letter-spacing:.13em;color:#0876ce;font-weight:850}.instagram-auto-post-gallery h3{font-size:clamp(22px,2.2vw,34px);line-height:1.4;margin:18px 0 10px}.instagram-auto-post-gallery p{margin:0;color:#526c81;line-height:1.9}.instagram-auto-post>small{display:block;margin-top:18px;color:#b9e3f3;line-height:1.8}
.instagram-results-ready{padding:120px 8vw;background:#f1faff}.instagram-results-ready>div:first-child{max-width:850px}.instagram-results-ready>div:first-child>p:last-child{color:#557087;line-height:2}.instagram-results-ready-grid{margin-top:55px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#a9d7eb}.instagram-results-ready-grid article{padding:32px;background:#fff}.instagram-results-ready-grid article>span{font-size:10px;font-weight:850;letter-spacing:.13em;color:#0876ce}.instagram-results-ready-grid article>div{height:230px;margin:28px 0;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #90cce4;background:linear-gradient(135deg,#f8fdff,#e0f5ff);color:#6991a8}.instagram-results-ready-grid article>div b{font-size:40px;letter-spacing:.08em;color:#c4e5f2}.instagram-results-ready-grid article>div em{font-style:normal;font-size:12px;font-weight:850;letter-spacing:.15em}.instagram-results-ready-grid h3{font-size:24px;margin:0 0 12px}.instagram-results-ready-grid p{margin:0;color:#617a8c;line-height:1.8}
.instagram-pricing{position:relative;overflow:hidden;padding:120px 8vw;color:#06264a;background:radial-gradient(circle at 88% 4%,#7fe8ff 0,transparent 25%),radial-gradient(circle at 5% 95%,#a9c9ff 0,transparent 28%),linear-gradient(135deg,#f9feff,#dff6ff 48%,#eef4ff)}.instagram-pricing:before{content:"RESULT";position:absolute;right:-.04em;top:-.18em;color:#fff9;font-size:clamp(110px,19vw,280px);font-weight:950;letter-spacing:-.08em;line-height:1;pointer-events:none}.instagram-pricing-heading{position:relative;z-index:1;max-width:920px}.instagram-pricing-heading>p:last-child{max-width:700px;color:#466b82;font-size:16px;line-height:1.9}.instagram-pricing-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.instagram-pricing-grid article{min-height:520px;padding:30px;border:1px solid #9bdcf0;border-radius:24px;background:#ffffffe8;box-shadow:0 24px 55px #0879b51d;display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease}.instagram-pricing-grid article.featured{color:#fff;border-color:#1678ed;background:linear-gradient(145deg,#0878e7,#08b5df);box-shadow:0 28px 65px #0878e74a;transform:translateY(-14px)}.instagram-pricing-grid .plan-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.instagram-pricing-grid .plan-top>span{font-size:10px;letter-spacing:.14em;color:#0577cf;font-weight:850}.instagram-pricing-grid .plan-top>em{padding:7px 11px;border-radius:999px;background:#dff7ff;color:#075a93;font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}.instagram-pricing-grid article.featured .plan-top>span{color:#c8f7ff}.instagram-pricing-grid article.featured .plan-top>em{background:#fff;color:#0878c8}.instagram-pricing-grid h3{margin:36px 0 10px;font-size:22px}.instagram-pricing-grid .price{display:flex;align-items:baseline;gap:5px;margin:18px 0 24px;padding-bottom:23px;border-bottom:1px solid #a9dff0}.instagram-pricing-grid .price small{font-size:12px;font-weight:850}.instagram-pricing-grid .price strong{color:#0878e7;font-size:clamp(42px,4vw,62px);line-height:1;letter-spacing:-.05em}.instagram-pricing-grid .price em{font-size:14px;font-style:normal;font-weight:850}.instagram-pricing-grid article.featured .price strong{color:#fff}.instagram-pricing-grid article.featured .price{border-color:#ffffff61}.instagram-pricing-grid .plan-work{min-height:54px;margin:0;color:#385e78;font-size:14px;font-weight:800;line-height:1.75}.instagram-pricing-grid article.featured .plan-work{color:#e8fbff}.instagram-pricing-grid .plan-result{margin-top:auto;padding:22px;border-radius:17px;background:#ecf9ff}.instagram-pricing-grid article.featured .plan-result{background:#ffffffed;color:#073667}.instagram-pricing-grid .plan-result>small{display:block;color:#458099;font-size:10px;font-weight:900;letter-spacing:.16em}.instagram-pricing-grid .plan-result>p{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:15px 0 0}.instagram-pricing-grid .plan-result>p span{font-size:12px;font-weight:800;white-space:nowrap}.instagram-pricing-grid .plan-result>p b{color:#16a8d3;font-size:19px}.instagram-pricing-grid .plan-result>p strong{color:#086fe1;font-size:clamp(20px,2vw,30px);line-height:1.15;white-space:nowrap}.instagram-pricing-grid .plan-result>em{display:inline-block;margin-top:12px;padding:7px 10px;border-radius:999px;background:#0d7ee8;color:#fff;font-size:11px;font-style:normal;font-weight:900}.instagram-pricing>small{position:relative;z-index:1;display:block;margin-top:30px;color:#496e83;line-height:1.8}@media (hover:hover) and (pointer:fine){.instagram-pricing-grid article:hover{transform:translateY(-10px) scale(1.025);box-shadow:0 32px 70px #0879b53b}.instagram-pricing-grid article.featured:hover{transform:translateY(-20px) scale(1.035);box-shadow:0 35px 80px #0878e766}}
@media(max-width:820px){.instagram-auto-post,.instagram-results-ready,.instagram-pricing{padding:88px 5vw}.instagram-auto-post-steps{grid-template-columns:1fr}.instagram-auto-post-steps li{min-height:0}.instagram-auto-post-steps strong{margin-top:28px}.instagram-auto-post-gallery{grid-template-columns:1fr}.instagram-pricing-grid{grid-template-columns:1fr}.instagram-pricing-grid article{min-height:410px}.instagram-pricing-grid article.featured{transform:none}.instagram-pricing-grid .plan-result>p{justify-content:flex-start;gap:14px}}
@media(max-width:560px){.instagram-auto-post,.instagram-results-ready,.instagram-pricing{padding:78px 20px}.instagram-auto-post-heading h2,.instagram-results-ready h2,.instagram-pricing h2{font-size:clamp(34px,10vw,43px)}.instagram-auto-post-heading>p:last-child{font-size:15px}.instagram-auto-post-gallery article>div{padding:24px 20px}.instagram-results-ready-grid{grid-template-columns:1fr}.instagram-results-ready-grid article{padding:24px 20px}.instagram-results-ready-grid article>div{height:190px}.instagram-pricing-grid article{padding:28px 20px}.instagram-pricing-grid .price strong{font-size:48px}}

.instagram-results{padding:120px 8vw;background:#f5fbff;color:#06264a}.instagram-results-heading{max-width:900px}.instagram-results-heading h2{font-size:clamp(42px,5.8vw,78px);line-height:1.2;letter-spacing:-.055em;margin:24px 0 30px}.instagram-results-heading h2 span{display:block}.instagram-results-heading>p:last-child{max-width:760px;color:#557087;line-height:2}.instagram-results-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:58px;background:#a9d7eb}.instagram-results-metrics article{padding:32px;background:linear-gradient(145deg,#fff,#e8f8ff)}.instagram-results-metrics strong{display:block;color:#0878e7;font-size:clamp(46px,5vw,72px);line-height:1;letter-spacing:-.06em}.instagram-results-metrics strong span{font-size:.55em}.instagram-results-metrics h3{margin:24px 0 10px;font-size:19px}.instagram-results-metrics p{margin:0;color:#557087;line-height:1.8;font-size:14px}.instagram-results-group{margin-top:86px}.instagram-results-group-heading>span{font-size:10px;letter-spacing:.15em;color:#0876ce;font-weight:850}.instagram-results-group-heading h3{font-size:clamp(28px,3.5vw,48px);line-height:1.3;margin:18px 0 12px;letter-spacing:-.04em}.instagram-results-group-heading p{max-width:700px;margin:0;color:#557087;line-height:1.9}.instagram-results-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.instagram-results-gallery figure{margin:0;padding:12px;background:#fff;border:1px solid #cae6f1;border-radius:10px;box-shadow:0 18px 45px #0879b514}.instagram-results-gallery img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:5px}.instagram-results>small{display:block;margin-top:28px;color:#6a8798;line-height:1.8}@media(max-width:820px){.instagram-results{padding:88px 5vw}.instagram-results-metrics{grid-template-columns:1fr}.instagram-results-gallery{grid-template-columns:1fr 1fr}.instagram-results-gallery img{max-height:520px}}@media(max-width:560px){.instagram-results{padding:78px 20px}.instagram-results-heading h2{font-size:clamp(34px,10vw,43px)}.instagram-results-gallery{grid-template-columns:1fr}.instagram-results-group{margin-top:65px}}

.advertising-challenges{padding:110px 9vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#eef9ff}.advertising-challenges h2,.advertising-scope h2,.advertising-media h2,.advertising-principles h2{font-size:clamp(40px,5vw,72px);line-height:1.28;margin:24px 0}.advertising-challenges h2 span,.advertising-scope h2 span,.advertising-principles h2 span{display:block}.advertising-challenges ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.advertising-challenges li{display:grid;grid-template-columns:50px 1fr;gap:20px;align-items:center;padding:25px 4px;border-bottom:1px solid var(--line)}.advertising-challenges li span{font-size:10px;color:var(--blue);font-weight:800}.advertising-challenges li strong{font-size:17px;line-height:1.7}.advertising-scope{padding:110px 8vw;color:#fff;background:linear-gradient(135deg,#042a53,#0879b9 72%,#04a2d3)}.advertising-scope>div:first-child{max-width:850px;margin-bottom:60px}.advertising-scope>div:first-child>p:last-child{max-width:650px;color:#d8f2fd;line-height:2}.advertising-scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff35}.advertising-scope-grid article{min-height:260px;padding:30px;background:#07598e}.advertising-scope-grid b,.advertising-principles article>span{color:#8fe2ff;font-size:10px}.advertising-scope-grid h3{margin:55px 0 16px;font-size:21px}.advertising-scope-grid p{color:#d8f1fb;font-size:13px;line-height:1.9}.advertising-media{padding:105px 8vw;background:#fff}.advertising-media>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:45px 0 25px}.advertising-media>div span{padding:25px 28px;border:1px solid var(--line);font-size:18px;font-weight:800;background:linear-gradient(135deg,#fff,#eefaff)}.advertising-media>p:last-child{color:#5b7387}.advertising-principles{padding:110px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;color:#fff;background:#052847}.advertising-principles>div:last-child{border-top:1px solid #ffffff32}.advertising-principles article{padding:26px 4px;border-bottom:1px solid #ffffff32}.advertising-principles article h3{margin:15px 0 10px;font-size:21px}.advertising-principles article p{margin:0;color:#cfeaf6;line-height:1.9}.advertising-faq{background:#f6fbff}@media(min-width:761px){.advertising-challenges h2 span,.advertising-scope h2 span,.advertising-principles h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.advertising-challenges,.advertising-principles{grid-template-columns:1fr;padding:80px 24px;gap:35px}.advertising-scope,.advertising-media{padding:80px 24px}.advertising-scope-grid{grid-template-columns:1fr}.advertising-scope-grid article{min-height:190px}.advertising-media>div{grid-template-columns:1fr 1fr}.advertising-media>div span{padding:20px 16px;font-size:15px}.advertising-challenges h2 span,.advertising-scope h2 span,.advertising-principles h2 span{display:inline}.advertising-challenges h2 span:not(:last-child):after,.advertising-scope h2 span:not(:last-child):after,.advertising-principles h2 span:not(:last-child):after{content:" ";white-space:pre}}

.advertising-lp-gallery{padding:115px 6vw;background:#f7fbfd}.advertising-lp-heading{max-width:860px;margin:0 2vw 65px}.advertising-lp-heading h2{font-size:clamp(42px,5.5vw,76px);line-height:1.25;margin:24px 0}.advertising-lp-heading h2 span{display:block}.advertising-lp-heading>p:last-child{max-width:650px;color:#587087;line-height:2}.advertising-lp-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:45px 18px;align-items:start}.advertising-lp-grid article:nth-child(2),.advertising-lp-grid article:nth-child(3){margin-top:75px}.advertising-lp-grid figure{position:relative;width:100%;aspect-ratio:1.84;margin:0;overflow:hidden;background:#dceef6;box-shadow:0 22px 55px #0b4d7020}.advertising-lp-grid figure img{object-fit:cover}.advertising-lp-grid article>div{padding:22px 6px 0}.advertising-lp-grid span{font-size:10px;letter-spacing:.15em;color:var(--blue);font-weight:800}.advertising-lp-grid h3{margin:10px 0 8px;font-size:24px}.advertising-lp-grid p{margin:0;max-width:580px;color:#5c7488;font-size:13px;line-height:1.9}@media(min-width:761px){.advertising-lp-heading h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.advertising-lp-gallery{padding:80px 24px}.advertising-lp-heading{margin:0 0 45px}.advertising-lp-heading h2 span{display:inline}.advertising-lp-heading h2 span:first-child:after{content:" ";white-space:pre}.advertising-lp-grid{grid-template-columns:1fr;gap:45px}.advertising-lp-grid article:nth-child(2),.advertising-lp-grid article:nth-child(3){margin-top:0}.advertising-lp-grid h3{font-size:21px}}

.advertising-director{min-height:650px;display:grid;grid-template-columns:1fr 1fr;color:#fff;background:linear-gradient(135deg,#041e3c,#076da9)}.advertising-director figure{position:relative;min-height:650px;margin:0;overflow:hidden;background:#d5eef8}.advertising-director figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#052847)}.advertising-director figure img{object-fit:cover;object-position:50% 24%}.advertising-director>div{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.advertising-director h2,.advertising-results h2{font-size:clamp(42px,5vw,72px);line-height:1.25;margin:25px 0}.advertising-director h2 span,.advertising-results h2 span{display:block}.advertising-director>div>p:not(.eyebrow){color:#d4effa;line-height:2}.advertising-director dl{margin:35px 0 0;padding-top:25px;border-top:1px solid #ffffff35}.advertising-director dt{font-size:11px;color:#8ee2ff}.advertising-director dd{margin:8px 0 0;font-size:22px;font-weight:800}.advertising-results{padding:115px 7vw;color:#fff;background:linear-gradient(135deg,#06305a,#087fc0)}.advertising-results-heading{max-width:920px;margin-bottom:60px}.advertising-results-heading>p:last-child{max-width:700px;color:#d5effa;line-height:2}.advertising-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 18px}.advertising-results-grid article:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}.advertising-results-grid figure{position:relative;width:100%;aspect-ratio:1.49;margin:0;overflow:hidden;background:#d4eaf4;box-shadow:0 25px 65px #001b3540}.advertising-results-grid figure img{object-fit:cover}.advertising-results-grid article>div{padding:22px 5px 0}.advertising-results-grid span{font-size:10px;letter-spacing:.15em;color:#8fe3ff;font-weight:800}.advertising-results-grid h3{font-size:24px;margin:10px 0 8px}.advertising-results-grid strong{font-size:14px}.advertising-results-grid p{color:#d4edf8;font-size:13px;line-height:1.9}@media(min-width:761px){.advertising-director h2 span,.advertising-results h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.advertising-director{grid-template-columns:1fr;min-height:0}.advertising-director figure{min-height:500px}.advertising-director figure:after{background:linear-gradient(0deg,#052847,transparent 30%)}.advertising-director>div{padding:65px 24px}.advertising-results{padding:80px 24px}.advertising-results-grid{grid-template-columns:1fr}.advertising-results-grid article:last-child{grid-column:auto;width:auto}.advertising-director h2 span,.advertising-results h2 span{display:inline}.advertising-director h2 span:first-child:after,.advertising-results h2 span:first-child:after{content:" ";white-space:pre}}

.advertising-contact-cta{padding:95px 9vw;display:flex;align-items:center;justify-content:space-between;gap:50px;color:#fff;background:radial-gradient(circle at 85% 20%,#16c6ed55,transparent 28%),linear-gradient(135deg,#041e3e,#087bc0)}.advertising-contact-cta>div>span{display:inline-block;padding:9px 16px;border-radius:99px;color:#063460;background:#9beaff;font-size:12px;font-weight:900}.advertising-contact-cta .eyebrow{margin-top:25px}.advertising-contact-cta .eyebrow i{display:block;width:38px;height:2px;background:#90dfff}.advertising-contact-cta h2{font-size:clamp(42px,5vw,72px);margin:18px 0}.advertising-contact-cta>div>p:last-child{max-width:650px;color:#d3eff9;line-height:2}.advertising-contact-cta>a{flex:0 0 auto;min-width:250px;padding:24px 30px;display:flex;justify-content:space-between;border:1px solid #8de2ff;border-radius:99px;font-weight:900;background:#ffffff0b}.advertising-contact-cta>a b{color:#8de2ff}.detail-hero-photo figure img[src*="advertising-office-woman"]{object-position:center}@media(max-width:760px){.advertising-contact-cta{padding:70px 24px;display:block}.advertising-contact-cta>a{margin-top:30px;min-width:0;width:100%}}

.advertising-about{position:relative;isolation:isolate;overflow:hidden;padding:125px 8vw;color:#fff;background:radial-gradient(circle at 15% 10%,#0c9fdd55,transparent 28%),linear-gradient(135deg,#031c38,#063e71)}.advertising-about:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#8ddfff12 1px,transparent 1px),linear-gradient(90deg,#8ddfff12 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 78%)}.advertising-about:after{content:"AD";position:absolute;z-index:-1;right:-.05em;bottom:-.25em;font-size:clamp(190px,28vw,430px);font-weight:900;letter-spacing:-.12em;color:#ffffff08}.advertising-about h2{font-size:clamp(44px,5.3vw,78px);line-height:1.28;margin-bottom:34px}.advertising-about>p{align-self:center;padding:38px;border:1px solid #8bdfff35;background:#ffffff0b;backdrop-filter:blur(12px);color:#d8f1fb;box-shadow:0 25px 70px #00162d40}.advertising-about-tags{display:flex;gap:8px;flex-wrap:wrap}.advertising-about-tags span{padding:8px 12px;border:1px solid #86ddff66;border-radius:99px;color:#9be7ff;font-size:9px;letter-spacing:.14em;font-weight:800}.advertising-about aside{position:absolute;left:8vw;right:8vw;bottom:30px;display:flex;justify-content:flex-end;gap:1px}.advertising-about aside>div{width:125px;padding:12px 14px;background:#0876adbb;border:1px solid #ffffff18}.advertising-about aside strong{display:block;color:#8fe7ff;font-size:9px}.advertising-about aside span{font-size:11px;font-weight:800}.advertising-scope{position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(90deg,#03274ee8 0%,#064c7ecc 46%,#047ab08c 100%),url('/wp-content/plugins/rise-company-site/site/advertising-online-team.webp');background-size:cover;background-position:center}.advertising-scope:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#04294fe8 0%,transparent 45%)}.advertising-scope>div:first-child{position:relative;z-index:1;text-shadow:0 2px 20px #001c38}.advertising-scope-grid{position:relative;z-index:1;background:#ffffff1f;backdrop-filter:blur(14px)}.advertising-scope-grid article{background:#053d68b8;border:1px solid #ffffff18}.advertising-scope-grid article:hover{background:#075886dc}@media(max-width:760px){.advertising-about{padding:80px 24px 140px}.advertising-about>p{padding:24px}.advertising-about aside{left:24px;right:24px;bottom:25px;justify-content:stretch}.advertising-about aside>div{width:auto;flex:1;padding:10px}.advertising-about aside span{font-size:9px}.advertising-scope{background-position:62% center}}

.advertising-partner{min-height:700px;display:grid;grid-template-columns:.82fr 1.18fr;background:#fff}.advertising-partner figure{position:relative;min-height:700px;margin:0;overflow:hidden;background:#dceff8}.advertising-partner figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 78%,#fff)}.advertising-partner figure img{object-fit:cover;object-position:58% center}.advertising-partner>div{padding:85px 5vw;display:flex;flex-direction:column;justify-content:center}.advertising-partner h2{margin:24px 0;font-size:clamp(42px,5.1vw,72px);line-height:1.18;letter-spacing:-.045em}.advertising-partner h2 span{display:block}.advertising-partner h2 em{font-style:normal;color:var(--blue)}.advertising-partner>div>p:not(.eyebrow){max-width:720px;color:#587087;line-height:2}.advertising-partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:38px}.advertising-partner-grid article{min-height:160px;padding:22px 18px;border-bottom:6px solid #38bff0;color:#fff;background:#07508e;display:flex;flex-direction:column}.advertising-partner-grid b{color:#8fe5ff;font-size:9px}.advertising-partner-grid strong{margin-top:35px;font-size:16px}.advertising-partner-grid small{margin-top:auto;color:#cceafb;font-size:10px}@media(min-width:761px){.advertising-partner h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.advertising-partner{grid-template-columns:1fr;min-height:0}.advertising-partner figure{min-height:470px}.advertising-partner figure:after{background:linear-gradient(0deg,#fff,transparent 22%)}.advertising-partner>div{padding:60px 24px 80px}.advertising-partner h2 span{display:inline}.advertising-partner h2 span:not(:last-child):after{content:" ";white-space:pre}.advertising-partner-grid{grid-template-columns:1fr 1fr}.advertising-partner-grid article{min-height:145px}}

.ai-dev-hero{color:#fff;background:#031b36}.ai-dev-hero>div{position:relative;z-index:2}.ai-dev-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031b36 0%,#031b36e8 42%,transparent 72%);pointer-events:none}.ai-dev-hero figure{box-shadow:none;border-radius:0;height:520px}.ai-dev-hero figure img{object-fit:cover}.ai-dev-impact{position:relative;overflow:hidden;padding:120px 8vw;color:#fff;background:radial-gradient(circle at 85% 10%,#08bde844,transparent 30%),linear-gradient(135deg,#031b37,#075d9a)}.ai-dev-impact:after{content:"AI";position:absolute;right:-.04em;bottom:-.28em;font-size:clamp(220px,35vw,520px);font-weight:900;letter-spacing:-.15em;color:#ffffff08}.ai-dev-impact>div:first-child{position:relative;z-index:1;max-width:820px}.ai-dev-impact h2,.ai-dev-capabilities h2,.ai-dev-showcase h2,.ai-dev-contact h2{font-size:clamp(42px,5.5vw,78px);line-height:1.25;margin:24px 0}.ai-dev-impact h2 span,.ai-dev-capabilities h2 span,.ai-dev-showcase h2 span,.ai-dev-contact h2 span{display:block}.ai-dev-impact>div:first-child>p:last-child{max-width:650px;color:#d6eff9;line-height:2}.ai-dev-impact-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:65px;background:#ffffff30}.ai-dev-impact-grid article{min-height:230px;padding:32px;background:#064d7dbb;backdrop-filter:blur(12px);display:flex;flex-direction:column}.ai-dev-impact-grid strong{font-size:clamp(70px,8vw,120px);line-height:1;letter-spacing:-.07em}.ai-dev-impact-grid em{font-size:.3em;font-style:normal;color:#8de6ff}.ai-dev-impact-grid span{margin-top:auto;color:#d8f2fb;font-weight:800}.ai-dev-impact>small{position:relative;z-index:1;display:block;margin-top:20px;color:#acd8e9}.ai-dev-capabilities{padding:115px 8vw;background:#f1f9fd}.ai-dev-capabilities>div:first-child{max-width:850px;margin-bottom:60px}.ai-dev-capabilities>div:first-child>p:last-child{max-width:680px;color:#587087;line-height:2}.ai-dev-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#b8deee;border:1px solid #b8deee}.ai-dev-tool-grid article{min-height:190px;padding:25px;background:#fff;display:flex;flex-direction:column;transition:.25s}.ai-dev-tool-grid article:hover{z-index:1;transform:translateY(-5px);box-shadow:0 20px 45px #075e8c20}.ai-dev-tool-grid span{color:var(--blue);font-size:10px;font-weight:800}.ai-dev-tool-grid strong{margin-top:48px;font-size:18px;line-height:1.5}.ai-dev-tool-grid small{margin-top:auto;color:#87a0b0;font-size:8px;letter-spacing:.14em}.ai-dev-showcase{padding:115px 6vw;color:#fff;background:#041e3c}.ai-dev-showcase-heading{max-width:850px;margin:0 2vw 65px}.ai-dev-showcase-heading>p:last-child{max-width:650px;color:#ceeafa;line-height:2}.ai-dev-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 18px}.ai-dev-product-grid article:nth-child(even){margin-top:75px}.ai-dev-product-grid figure{position:relative;width:100%;aspect-ratio:1.75;margin:0;overflow:hidden;background:#d8eaf2;border:1px solid #76d9ff44;box-shadow:0 25px 70px #00132780}.ai-dev-product-grid figure img{object-fit:cover}.ai-dev-product-grid article>div{padding:22px 5px 0}.ai-dev-product-grid span{font-size:10px;letter-spacing:.14em;color:#82dfff;font-weight:800}.ai-dev-product-grid h3{font-size:24px;margin:10px 0}.ai-dev-product-grid p{margin:0;color:#cce7f4;line-height:1.9;font-size:13px}.ai-dev-contact{padding:100px 9vw;display:flex;align-items:center;justify-content:space-between;gap:55px;color:#fff;background:radial-gradient(circle at 80% 10%,#1bc8ed55,transparent 26%),linear-gradient(135deg,#062b55,#0782c0)}.ai-dev-contact>div>span{display:inline-block;padding:9px 16px;border-radius:99px;color:#05345f;background:#9cecff;font-size:12px;font-weight:900}.ai-dev-contact .eyebrow{margin-top:24px}.ai-dev-contact .eyebrow i{width:38px;height:2px;background:#90dfff}.ai-dev-contact>div>p:last-child{max-width:680px;color:#d4effa;line-height:2}.ai-dev-contact>a{flex:0 0 auto;min-width:290px;padding:24px 28px;display:flex;justify-content:space-between;border:1px solid #91e5ff;border-radius:99px;font-weight:900}.ai-dev-contact>a b{color:#8ee4ff}@media(min-width:761px){.ai-dev-impact h2 span,.ai-dev-capabilities h2 span,.ai-dev-showcase h2 span,.ai-dev-contact h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:900px){.ai-dev-tool-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.ai-dev-hero:after{background:linear-gradient(180deg,#031b36f5 0%,#031b3699 55%,transparent 100%)}.ai-dev-hero figure{height:350px}.ai-dev-impact,.ai-dev-capabilities,.ai-dev-showcase,.ai-dev-contact{padding:80px 24px}.ai-dev-impact h2 span,.ai-dev-capabilities h2 span,.ai-dev-showcase h2 span,.ai-dev-contact h2 span{display:inline}.ai-dev-impact h2 span:not(:last-child):after,.ai-dev-capabilities h2 span:not(:last-child):after,.ai-dev-showcase h2 span:not(:last-child):after,.ai-dev-contact h2 span:not(:last-child):after{content:" ";white-space:pre}.ai-dev-impact-grid{grid-template-columns:1fr}.ai-dev-impact-grid article{min-height:170px}.ai-dev-tool-grid{grid-template-columns:1fr 1fr}.ai-dev-tool-grid article{min-height:170px}.ai-dev-product-grid{grid-template-columns:1fr}.ai-dev-product-grid article:nth-child(even){margin-top:0}.ai-dev-contact{display:block}.ai-dev-contact>a{margin-top:35px;min-width:0;width:100%}}@media(max-width:480px){.ai-dev-tool-grid{grid-template-columns:1fr}}

/* Readability and service index */
.site-header nav{padding:8px 9px 8px 22px;border:1px solid #ffffffee;border-radius:999px;background:#fffffff0;backdrop-filter:blur(18px);box-shadow:0 12px 32px #031d3922}.site-header nav>a:not(.nav-cta){text-shadow:0 1px 0 #fff}.site-header .nav-blog,.site-header .nav-blog span{color:var(--ink)}.site-header .nav-cta{box-shadow:0 8px 22px #031d3930}
.service-index-visual{padding-top:140px}.service-index-visual .visual-heading h1{margin:24px 0;font-size:clamp(40px,5vw,72px);line-height:1.2;letter-spacing:-.045em}.service-index-visual .feature-copy h2{margin:0 0 24px;font-size:clamp(25px,3vw,48px);line-height:1.25;letter-spacing:-.04em;white-space:nowrap;word-break:keep-all;text-wrap:nowrap}

/* Training menu visual guide */
.training-module-grid article{min-height:330px;padding:178px 24px 25px;background:#fff}.training-module-grid article:before{content:"";position:absolute;inset:0 0 auto;height:150px;background-image:linear-gradient(180deg,transparent 62%,#031d3966),url('/wp-content/plugins/rise-company-site/site/training-module-sprite.webp');background-size:auto,300% 300%;background-repeat:no-repeat;filter:saturate(.88);transition:transform .35s ease}.training-module-grid article:hover:before{transform:scale(1.025)}.training-module-grid article:after{display:none}.training-module-grid article:nth-child(1):before{background-position:center,0% 0%}.training-module-grid article:nth-child(2):before{background-position:center,50% 0%}.training-module-grid article:nth-child(3):before{background-position:center,100% 0%}.training-module-grid article:nth-child(4):before{background-position:center,0% 50%}.training-module-grid article:nth-child(5):before{background-position:center,50% 50%}.training-module-grid article:nth-child(6):before{background-position:center,100% 50%}.training-module-grid article:nth-child(7):before{background-position:center,0% 100%}.training-module-grid article:nth-child(8):before{background-position:center,50% 100%}.training-module-grid article:nth-child(9):before{background-position:center,100% 100%}.training-module-grid span{position:relative;z-index:1;display:inline-grid;place-items:center;width:30px;height:30px;margin-top:-45px;color:#fff;background:#0878e8;border-radius:50%;box-shadow:0 8px 18px #03284640}.training-module-grid h3{margin:34px 0 12px}
@media(max-width:900px) and (min-width:761px){.site-header nav{gap:18px;padding-left:18px}.service-index-visual .feature-copy h2{font-size:28px}.training-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.site-header nav{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.service-index-visual{padding-top:100px}.service-index-visual .visual-heading h1{font-size:42px}.service-index-visual .feature-copy h2{font-size:35px;white-space:normal;text-wrap:wrap}.training-module-grid article{min-height:340px;padding-top:190px}.training-module-grid article:before{height:165px}}

/* Home opening animation */
.hero-intro-light{position:absolute;z-index:9;inset:0;overflow:hidden;pointer-events:none;background:#02152a;animation:heroIntroCurtain 1.75s cubic-bezier(.65,0,.25,1) forwards}.hero-intro-light:before{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;border-radius:50%;background:#fff;box-shadow:0 0 35px 18px #8de8ff,0 0 100px 42px #16bfea88;transform:translate(-50%,-50%) scale(.03);animation:heroIntroLight 1.55s cubic-bezier(.5,0,.18,1) forwards}.hero-mosaic{animation:heroBackgroundReveal .85s 1.05s both}.hero-copy{animation:heroCopyReveal .8s 1.55s both}.site-header{animation:heroCopyReveal .65s 1.72s both}
@keyframes heroIntroLight{0%{transform:translate(-50%,-50%) scale(.03);filter:brightness(1)}28%{transform:translate(-50%,-50%) scale(.12);filter:brightness(1.8)}72%{transform:translate(-50%,-50%) scale(32);filter:brightness(1.15)}100%{transform:translate(-50%,-50%) scale(42);filter:brightness(1)}}
@keyframes heroIntroCurtain{0%,72%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes heroBackgroundReveal{0%{opacity:0;clip-path:circle(0 at 50% 50%)}100%{opacity:1;clip-path:circle(150% at 50% 50%)}}
@keyframes heroCopyReveal{0%{opacity:0;transform:translateY(22px);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero-intro-light{display:none}.hero-mosaic,.hero-copy,.site-header{animation:none}}

/* Scroll reveals keep text motion while images remain immediately visible. */
@media(prefers-reduced-motion:no-preference){
  .scroll-motion-ready .scroll-motion-title{
    opacity:0;
    translate:-22px 24px;
    transition:opacity .5s ease,translate .65s cubic-bezier(.16,1,.3,1);
  }
  .scroll-motion-ready .scroll-motion-title.is-visible{
    opacity:1;
    translate:0 0;
  }
  .scroll-motion-ready .scroll-motion-accent{
    opacity:0;
    translate:-20px 0;
    transition:opacity .4s ease .2s,translate .65s cubic-bezier(.16,1,.3,1) .2s;
  }
  .scroll-motion-ready .scroll-motion-accent.is-visible{
    opacity:1;
    translate:0 0;
  }
}

@media(max-width:620px) and (prefers-reduced-motion:no-preference){
  .scroll-motion-ready .scroll-motion-title{translate:0 18px}
  .scroll-motion-ready .scroll-motion-title.is-visible{translate:0 0}
}

/* AIツール開発：代表とクライアントのオンライン打ち合わせを背景に */
.ai-dev-impact{background:linear-gradient(90deg,#031b37f5 0%,#063d69e8 42%,#075d9acc 72%,#075d9a7a 100%),url('/wp-content/plugins/rise-company-site/site/ai-tools/fukui-client-meeting.webp') center/cover no-repeat}
@media(max-width:760px){.ai-dev-impact{background:linear-gradient(180deg,#031b37f2 0%,#063d69e8 54%,#075d9ac7 100%),url('/wp-content/plugins/rise-company-site/site/ai-tools/fukui-client-meeting.webp') center/cover no-repeat}}

/* デスクトップでは見出しを意味のまとまり（2行）で固定 */
@media(min-width:761px){.hero-title>span,.hero-title>em{display:block;white-space:nowrap}}

/* Web / LP works */
.web-works{padding:115px 6vw;background:#f5fbfe}.web-works-heading{max-width:900px;margin:0 2vw 65px}.web-works-heading h2,.web-hp-heading h2{font-size:clamp(42px,5.5vw,78px);line-height:1.23;margin:24px 0}.web-works-heading h2 span,.web-hp-heading h2 span{display:block}.web-works-heading>p:last-child,.web-hp-heading>p:last-child{max-width:680px;color:#587287;line-height:2}.web-works-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 18px}.web-works-grid article:nth-child(even){margin-top:70px}.web-works-grid figure,.web-hp-grid figure{position:relative;width:100%;aspect-ratio:1.84;margin:0;overflow:hidden;background:#d9edf6;box-shadow:0 24px 60px #06476d20}.web-works-grid figure img,.web-hp-grid figure img{object-fit:cover;transition:transform .5s ease}.web-works-grid article:hover figure img,.web-hp-grid article:hover figure img{transform:scale(1.025)}.web-works-grid article>div,.web-hp-grid article>div{padding:22px 5px 0}.web-works-grid span,.web-hp-grid span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em}.web-works-grid h3,.web-hp-grid h3{margin:10px 0 0;font-size:24px}.web-hp-heading{max-width:1000px;margin:145px 2vw 65px;padding-top:100px;border-top:1px solid #b8ddeb}.web-hp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.web-hp-grid figure{aspect-ratio:1.62}.web-hp-grid p{color:#587287;line-height:1.8;font-size:13px}
@media(min-width:761px){.web-works-heading h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}
@media(max-width:760px){.web-features h2{font-size:45px}.web-features>div{grid-template-columns:1fr}.web-features article,.web-features article:nth-child(2){min-height:235px;transform:none}.web-features h3{margin-top:45px}.web-production-flow ol{grid-template-columns:1fr}.web-production-flow li{min-height:210px}.web-works{padding:80px 24px}.web-works-heading,.web-hp-heading{margin:0 0 45px}.web-hp-heading{margin-top:90px;padding-top:70px}.web-works-heading h2 span,.web-hp-heading h2 span{display:inline}.web-works-heading h2 span:first-child:after,.web-hp-heading h2 span:first-child:after{content:" ";white-space:pre}.web-works-grid,.web-hp-grid{grid-template-columns:1fr;gap:44px}.web-works-grid article:nth-child(even){margin-top:0}.web-works-grid h3,.web-hp-grid h3{font-size:21px}}
.company-hero{background:radial-gradient(circle at 78% 35%,#82dcff 0,transparent 28%),linear-gradient(135deg,#fafdff,#cfefff 60%,#e6f8ff)}.company-message{padding:120px 10vw;display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:center;background:#fff}.company-message-copy h2,.company-section-heading h2{font-size:clamp(38px,5vw,68px);line-height:1.25;letter-spacing:-.05em;margin:24px 0 32px}.company-message-copy h2 em,.company-history h2 em{font-style:normal;color:var(--blue)}.company-message-copy>p:not(.eyebrow){color:#567085;line-height:2;margin:0 0 20px}.company-message-copy dl{display:flex;gap:20px;align-items:baseline;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.company-message-copy dt{font-size:12px;color:#4b7f9a}.company-message-copy dd{margin:0;font-size:22px;font-weight:850}.company-message-photo{position:relative;min-height:520px;margin:0;border-radius:8px;overflow:hidden;background:#eaf8ff}.company-message-photo img{object-fit:cover;object-position:center 38%}.company-history{padding:120px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;color:#fff;background:linear-gradient(135deg,#04284e,#075c91 68%,#08a5d3)}.company-history h2{font-size:clamp(40px,5vw,68px);line-height:1.25;letter-spacing:-.05em;margin:24px 0}.company-history>div:last-child{align-self:end}.company-history>div:last-child p{color:#d5effa;line-height:2;margin:0 0 24px}.company-strengths{padding:120px 10vw;background:#f3fbff}.company-section-heading>p:last-child{max-width:640px;color:#567085;line-height:2}.company-strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:58px;background:#b8dceb}.company-strength-grid article{min-height:260px;padding:28px;background:#fff}.company-strength-grid article>span{color:var(--blue);font-size:11px;letter-spacing:.16em;font-weight:850}.company-strength-grid h3{margin:56px 0 14px;font-size:20px}.company-strength-grid p{margin:0;color:#597488;line-height:1.9;font-size:14px}.company-business{padding:110px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;color:#fff;background:linear-gradient(135deg,#06305d,#078fc9)}.company-business h2{font-size:clamp(40px,5vw,68px);line-height:1.25;letter-spacing:-.05em;margin:24px 0}.company-business-list{border-top:1px solid #8bdafa66}.company-business-list p{margin:0;padding:20px 0;border-bottom:1px solid #8bdafa66;font-size:18px;font-weight:750}.company-information{padding:120px 10vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw;background:#fff}.company-information dl{margin:0;border-top:1px solid var(--line)}.company-information dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.company-information dt{font-weight:850;color:#38789d}.company-information dd{margin:0;line-height:1.8}.company-information a{color:var(--blue);font-weight:750}@media(max-width:760px){.company-message,.company-history,.company-strengths,.company-business,.company-information{padding:80px 24px;grid-template-columns:1fr;gap:48px}.company-message-photo{min-height:400px}.company-strength-grid{grid-template-columns:1fr 1fr;margin-top:35px}.company-strength-grid article{min-height:230px;padding:22px}.company-strength-grid h3{margin-top:38px;font-size:18px}.company-business-list p{font-size:16px}.company-information dl>div{grid-template-columns:90px 1fr;gap:14px}}
/* Web制作ページ：明るく、内容がひと目で伝わるセクション */
.web-offer{position:relative;isolation:isolate;overflow:hidden;color:#08274c;background:linear-gradient(135deg,#f4fcff 0%,#dff5ff 52%,#ffffff 100%)}
.web-offer:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,#7de1ff66 0%,#bcefff22 48%,transparent 70%)}
.web-offer:after{content:"";position:absolute;z-index:-1;width:280px;height:280px;left:-120px;bottom:-150px;border-radius:50%;border:1px solid #47bce833;box-shadow:0 0 0 28px #47bce814,0 0 0 56px #47bce80b}
.web-offer .eyebrow{color:#0875c9}
.web-offer h2{color:#062a54;font-weight:800;letter-spacing:.02em}
.web-offer>div>p:last-child{color:#365e7d}
.web-offer aside{border-top:0;display:grid;gap:14px}
.web-offer article{grid-template-columns:52px 1fr;gap:7px 16px;padding:24px 26px;border:1px solid #8bd8f055;border-radius:18px;background:#ffffffd9;box-shadow:0 12px 28px #1c75a014;transition:transform .25s ease,box-shadow .25s ease}
.web-offer article:hover{transform:translateY(-4px);box-shadow:0 18px 34px #1c75a02b}
.web-offer article span{color:#087fda;font-size:14px;letter-spacing:.08em}
.web-offer article strong{color:#08274c;font-size:19px}
.web-offer article small{color:#4d6f88;line-height:1.8}
.web-production-flow{color:#08274c;background:linear-gradient(135deg,#eefaff 0%,#d8f3ff 58%,#ffffff 100%)}
.web-production-flow .eyebrow{color:#0875c9}
.web-production-flow>h2{color:#062a54;font-weight:800}
.web-production-flow ol{border-color:#7fcfe855;background:#7fcfe855}
.web-production-flow li{background:#ffffffde;border-color:#b0ddeb;box-shadow:0 10px 24px #1c75a012}
.web-production-flow li span{color:#087fda}
.web-production-flow li strong{color:#08274c}
.web-production-flow li p{color:#476b84}
.web-production-flow small{color:#476b84}

/* AIツール開発ヒーロー動画 */
.ai-dev-hero{isolation:isolate;background:#031b36;overflow:hidden}
.ai-dev-hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.7;filter:saturate(.9) contrast(1.05)}
.ai-dev-hero figure img{display:none}
.ai-dev-hero:after{z-index:1;background:linear-gradient(90deg,#031b36f5 0%,#031b36d9 38%,#031b3680 64%,#031b3638 100%)}
.ai-dev-hero>div{z-index:2}
@media(max-width:760px){.ai-dev-hero-video{opacity:.45;object-position:center}.ai-dev-hero:after{background:linear-gradient(180deg,#031b36f7 0%,#031b36cc 54%,#031b3666 100%)}}

/* Instagram運用：差別化と代表のストーリーを強調 */
.instagram-about{position:relative;overflow:hidden;background:linear-gradient(135deg,#f5fcff 0%,#dff5ff 58%,#ffffff 100%)}
.instagram-about:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 53%,#64d5ff1f 53% 54%,transparent 54% 100%),radial-gradient(circle at 85% 25%,#75ddff55 0,transparent 28%)}
.instagram-about>div,.instagram-about>p,.instagram-about>aside{position:relative;z-index:1}
.instagram-about h2{font-weight:850;letter-spacing:-.045em}
.instagram-about h2 em{display:block;font-style:normal;color:#0789df}
.instagram-about-visual{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px!important;padding:0!important;border:0!important;background:transparent!important}
.instagram-about-visual div{display:flex;flex-direction:column;gap:5px;min-width:130px;padding:15px 18px;border:1px solid #6bcff088;border-radius:14px;background:#ffffffcf;box-shadow:0 12px 25px #1c75a018}
.instagram-about-visual strong{font-size:25px;color:#087fda;line-height:1}
.instagram-about-visual span{font-size:12px;color:#365e7d;font-weight:750}
.instagram-provocation{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 85% 18%,#20bce955 0,transparent 32%),linear-gradient(135deg,#062a54 0%,#075b91 58%,#0ba4d2 100%)}
.instagram-provocation:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.3;background-image:linear-gradient(#a3e9ff22 1px,transparent 1px),linear-gradient(90deg,#a3e9ff22 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.instagram-provocation h2{max-width:960px}
.instagram-provocation h2 em{color:#8deaff;text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:12px}
.instagram-provocation>p:last-child{max-width:760px;font-size:18px;line-height:2;color:#e2f7ff}
.instagram-ai-stack{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4fcff,#dff5ff 55%,#fff)}
.instagram-ai-stack:after{content:"AI";position:absolute;right:4vw;bottom:-.2em;font-size:clamp(180px,28vw,460px);font-weight:950;line-height:.7;color:#1ca9df0d;pointer-events:none}
.instagram-ai-stack>div{position:relative;z-index:1}
.instagram-ai-stack h2{font-weight:850;letter-spacing:-.04em}
.instagram-stack-grid article{position:relative;overflow:hidden;background:#ffffffeb;border:1px solid #8bd8f077;border-radius:16px;box-shadow:0 16px 30px #1c75a014;transition:transform .25s ease,box-shadow .25s ease}
.instagram-stack-grid article:after{content:"";position:absolute;right:-16px;bottom:-22px;width:72px;height:72px;border:1px solid #56c8f044;border-radius:50%}
.instagram-stack-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 38px #1c75a02b}
.instagram-stack-grid article strong{font-size:21px;color:#08274c}
.instagram-stack-grid article small{color:#4d6f88;line-height:1.7}
.instagram-auto-post{position:relative;overflow:hidden}
.instagram-auto-post:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 14%,#22bde755 0,transparent 30%),linear-gradient(135deg,#062a54,#075b91 62%,#0a91c2)}
.instagram-auto-post-heading,.instagram-auto-post-steps,.instagram-founder-story,.instagram-auto-post-gallery,.instagram-auto-post>small{position:relative;z-index:1}
.instagram-auto-post-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.instagram-auto-post-proof span{padding:10px 16px;border:1px solid #8deaff66;border-radius:999px;background:#ffffff12;color:#dcf8ff;font-size:13px;font-weight:750}
.instagram-auto-post-proof strong{margin-right:4px;color:#8deaff;font-size:23px;line-height:1}
.instagram-founder-story{display:grid;grid-template-columns:minmax(220px,.42fr) 1fr;gap:28px;align-items:stretch;margin:0 0 58px;padding:18px;border:1px solid #71cbe955;border-radius:24px;background:linear-gradient(120deg,#062b54cc,#0b78b888);box-shadow:0 20px 55px #00152933}
.instagram-founder-story figure{position:relative;min-height:260px;margin:0;overflow:hidden;border-radius:16px;background:#d9f4ff}
.instagram-founder-story figure img{object-fit:cover;object-position:center 32%}
.instagram-founder-story>div{display:flex;flex-direction:column;justify-content:center;padding:18px 18px 18px 4px}
.instagram-founder-story>div>span{font-size:10px;letter-spacing:.16em;color:#9cecff;font-weight:900}
.instagram-founder-story h3{margin:20px 0 12px;font-size:clamp(25px,3vw,42px);line-height:1.3;color:#fff}
.instagram-founder-story p{margin:0;color:#d8f2fc;line-height:2}
.instagram-founder-story strong{display:inline-block;margin-top:20px;color:#8de5ff;font-size:18px}
@media(max-width:760px){.instagram-about h2{font-size:clamp(34px,10vw,52px);line-height:1.25}.instagram-about-visual div{min-width:calc(50% - 5px);padding:13px 14px}.instagram-about-visual strong{font-size:21px}.instagram-provocation>p:last-child{font-size:16px}.instagram-founder-story{grid-template-columns:1fr;gap:14px;margin-bottom:38px;padding:12px}.instagram-founder-story figure{min-height:330px}.instagram-founder-story>div{padding:14px 10px 18px}.instagram-auto-post-proof span{font-size:12px;padding:9px 13px}}

/* contact form */
.contact-page-intro{margin-bottom:34px}.contact-page-intro p{font-size:20px;line-height:2;margin:0 0 10px}.contact-form{width:min(900px,100%);padding:34px;border-radius:18px;background:#ffffff12;border:1px solid #8fe3ff66;box-shadow:0 24px 60px #001b3530}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;color:#dff6ff;font-size:13px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #9cddf366;border-radius:8px;background:#ffffffed;color:var(--ink);padding:14px 15px;font:inherit;font-weight:500;outline:none}.contact-form textarea{resize:vertical;min-height:150px}.contact-form>label{margin-top:22px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#9cecff;box-shadow:0 0 0 3px #9cecff30}.contact-form button{width:100%;margin-top:24px;padding:18px 24px;border:0;border-radius:99px;background:linear-gradient(90deg,#7ce4ff,#39b9f1);color:#032849;font-size:17px;font-weight:900;cursor:pointer;transition:.2s}.contact-form button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #001b3538}.contact-form button:disabled{opacity:.7;cursor:wait}.contact-form button span{float:right}.contact-form-status{margin:15px 0 0;font-weight:800}.contact-form-status.success{color:#b8ffd9}.contact-form-status.error{color:#ffd0d0}.contact-form>small{display:block;margin-top:16px;color:#c7eaf8}

.ai-training-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#031d3c,#087ebd)}.ai-training-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031d3cf2 0%,#075f94bf 46%,transparent 76%);pointer-events:none}.ai-training-hero>div{position:relative;z-index:2}.ai-training-hero figure{height:540px;border-radius:0;box-shadow:none}.ai-training-hero figure img{object-fit:cover}.training-hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}.training-hero-tags span{padding:8px 13px;border:1px solid #9ce9ff88;border-radius:99px;color:#b8efff;background:#ffffff0d;font-size:10px;font-weight:800}
.training-about{padding:120px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px 8vw;background:#f5fbfe}.training-about h2{margin:22px 0;font-size:clamp(42px,5vw,72px);line-height:1.25}.training-about h2 span{display:block;margin-bottom:18px;color:var(--blue);font-size:.28em;letter-spacing:.06em}.training-about-copy>p{margin:0 0 30px;color:#4f6b80;font-size:17px;line-height:2.1}.training-about-copy ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.training-about-copy li{position:relative;padding:18px 10px 18px 34px;border-bottom:1px solid var(--line);line-height:1.7;font-weight:700}.training-about-copy li:before{content:"✓";position:absolute;left:4px;color:var(--blue)}.training-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;background:#b8dfee}.training-stats article{min-height:160px;padding:30px;background:#fff;display:flex;flex-direction:column}.training-stats strong{font-size:clamp(27px,3vw,40px);color:#073967}.training-stats span{margin-top:auto;color:#648096;font-size:12px}
.training-philosophy{padding:120px 8vw;color:#fff;background:radial-gradient(circle at 85% 5%,#17c3eb42,transparent 28%),linear-gradient(135deg,#031b39,#075e9a)}.training-philosophy>h2,.training-modules h2,.training-practice h2,.training-for h2,.training-contact h2{font-size:clamp(42px,5.5vw,78px);line-height:1.22;margin:24px 0}.training-philosophy>h2 span,.training-modules h2 span,.training-for h2 span,.training-contact h2 span{display:block}.training-philosophy>p:not(.eyebrow){max-width:680px;color:#d2edf8;line-height:2}.training-philosophy>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:#ffffff2b}.training-philosophy article{min-height:280px;padding:32px;background:#064a79c9}.training-philosophy b{color:#8ce4ff;font-size:10px}.training-philosophy h3{margin:65px 0 18px;font-size:22px}.training-philosophy article p{color:#cce9f5;font-size:13px;line-height:1.9}
.training-modules{padding:120px 8vw;background:#fff}.training-modules>div:first-child{max-width:900px;margin-bottom:60px}.training-modules>div:first-child>p:last-child{max-width:680px;color:#587287;line-height:2}.training-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.training-module-grid article{position:relative;min-height:210px;padding:28px;overflow:hidden;border:1px solid #c8e5f0;background:linear-gradient(145deg,#fff,#eef9fd);transition:.25s}.training-module-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 50px #08618d1a}.training-module-grid article:after{content:"";position:absolute;right:-35px;bottom:-35px;width:110px;height:110px;border:1px solid #5fcdf044;border-radius:50%}.training-module-grid span{color:var(--blue);font-size:10px;font-weight:900}.training-module-grid h3{margin:50px 0 12px;font-size:21px}.training-module-grid p{margin:0;color:#648094;font-size:12px}
.training-practice{padding:120px 8vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;color:#fff;background:#052846}.training-practice>div>p:last-child{max-width:520px;color:#cde8f4;line-height:2}.training-practice ol{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff30}.training-practice li{padding:28px 8px;border-bottom:1px solid #ffffff30}.training-practice li span{display:block;color:#8de4ff;font-size:9px;letter-spacing:.12em}.training-practice li strong{display:block;margin:13px 0 8px;font-size:21px}.training-practice li p{margin:0;color:#cbe7f2;font-size:13px;line-height:1.8}.training-for{padding:115px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:#eef9fd}.training-for>div:last-child{border-top:1px solid var(--line)}.training-for article{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:24px 4px;border-bottom:1px solid var(--line);align-items:center}.training-for article span{color:var(--blue);font-size:10px;font-weight:900}.training-for article p{margin:0;font-size:17px;font-weight:800;line-height:1.7}.training-faq{background:#fff}
.training-contact{padding:100px 9vw;display:flex;align-items:center;justify-content:space-between;gap:55px;color:#fff;background:radial-gradient(circle at 82% 10%,#1bc8ed55,transparent 27%),linear-gradient(135deg,#05274e,#0785c2)}.training-contact>div>span{display:inline-block;padding:9px 16px;border-radius:99px;color:#05345f;background:#9cecff;font-size:12px;font-weight:900}.training-contact .eyebrow{margin-top:24px}.training-contact .eyebrow i{width:38px;height:2px;background:#90dfff}.training-contact>div>p:last-child{max-width:680px;color:#d5eff9;line-height:2}.training-contact>a{flex:0 0 auto;min-width:280px;padding:24px 28px;display:flex;justify-content:space-between;border:1px solid #92e5ff;border-radius:99px;font-weight:900}.training-contact>a b{color:#8ee4ff}
@media(min-width:761px){.training-philosophy>h2 span,.training-modules h2 span,.training-for h2 span,.training-contact h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:760px){.ai-training-hero:after{background:linear-gradient(180deg,#031d3cf5,#075e9490 55%,transparent)}.ai-training-hero figure{height:360px}.training-about,.training-philosophy,.training-modules,.training-practice,.training-for,.training-contact{padding:80px 24px}.training-about,.training-practice,.training-for{grid-template-columns:1fr;gap:40px}.training-stats,.training-philosophy>div,.training-module-grid{grid-template-columns:1fr}.training-stats article{min-height:130px}.training-philosophy article{min-height:220px}.training-philosophy h3{margin-top:40px}.training-philosophy>h2 span,.training-modules h2 span,.training-for h2 span,.training-contact h2 span{display:inline}.training-philosophy>h2 span:not(:last-child):after,.training-modules h2 span:not(:last-child):after,.training-for h2 span:not(:last-child):after,.training-contact h2 span:not(:last-child):after{content:" ";white-space:pre}.training-contact{display:block}.training-contact>a{margin-top:35px;min-width:0;width:100%}}

/* Visual training cards */
.training-module-grid article{min-height:330px;padding:178px 24px 25px;background:#fff}.training-module-grid span{position:relative;z-index:1;display:inline-grid;place-items:center;width:30px;height:30px;margin-top:-45px;color:#fff;background:#0878e8;border-radius:50%;box-shadow:0 8px 18px #03284640;line-height:1}.training-module-grid h3{position:relative;z-index:1;margin:34px 0 12px}.training-module-grid p{position:relative;z-index:1}
@media(max-width:900px) and (min-width:761px){.training-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.training-module-grid article{min-height:340px;padding:190px 24px 25px}.training-module-grid article:before{height:165px}.training-for{grid-template-columns:minmax(0,1fr);overflow:hidden}.training-for>*,.training-for>div>*{min-width:0;max-width:100%}.training-for h2,.training-for h2 span{white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:wrap}.training-for article{grid-template-columns:42px minmax(0,1fr)}.training-for article p{min-width:0;word-break:normal;overflow-wrap:anywhere}}

.training-gallery{padding:120px 6vw;color:#fff;background:linear-gradient(135deg,#031b38,#086b9f)}
.training-gallery-heading{max-width:900px;margin:0 2vw 65px}
.training-gallery-heading h2{font-size:clamp(42px,5.5vw,78px);line-height:1.22;margin:24px 0}
.training-gallery-heading h2 span{display:block}
.training-gallery-heading>p:last-child{max-width:690px;color:#d2edf7;line-height:2}
.training-city{display:grid;gap:90px}
.training-city>article>div:first-child{margin:0 2vw 24px}
.training-city>article>div:first-child>span{font-size:10px;letter-spacing:.16em;color:#8de5ff;font-weight:900}
.training-city h3{font-size:28px;margin:10px 0}
.training-city>article>div:first-child>p{color:#cbe9f4;font-size:13px}
.training-city-images{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.training-city article:nth-child(even) .training-city-images{grid-template-columns:.85fr 1.15fr}
.training-city-images figure{position:relative;aspect-ratio:1.72;margin:0;overflow:hidden;background:#cce7f1;box-shadow:0 25px 70px #00132666}
.training-city-images figure:nth-child(2){margin-top:55px}
.training-city-images img{object-fit:cover}
@media(min-width:761px){.training-gallery-heading h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}
@media(max-width:760px){.training-gallery{padding:80px 24px}.training-city{gap:65px}.training-city-images,.training-city article:nth-child(even) .training-city-images{grid-template-columns:1fr}.training-city-images figure:nth-child(2){margin-top:0}.training-gallery-heading h2 span{display:inline}.training-gallery-heading h2 span:first-child:after{content:" ";white-space:pre}}
@media(max-width:620px){.trust p{white-space:nowrap;font-size:clamp(13px,3.8vw,17px)}}
.nav-blog{display:inline-flex;align-items:center;gap:7px;color:#0878e8;font-size:11px;letter-spacing:.08em;border-bottom:1px solid #76c9ec;padding-bottom:4px}.nav-blog span{font-size:10px}

/* Keep service numbers clear of headings and body copy. */
.service-feature>em,
.service-feature:nth-child(even)>em{
  top:24px;
  bottom:auto;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  color:#076fbd;
  background:#fffffff0;
  border:1px solid #a9dbef;
  border-radius:50%;
  box-shadow:0 10px 28px #03284626;
  font-size:16px;
  line-height:1;
  letter-spacing:.08em;
}
.service-feature>em{right:24px;left:auto}
.service-feature:nth-child(even)>em{right:auto;left:24px}

/* Give each training photo enough room to read as a real scene. */
.training-module-grid article{
  min-height:420px;
  padding:274px 26px 30px;
}
.training-module-grid article:before{
  height:238px;
  background-image:linear-gradient(180deg,transparent 72%,#031d3978),url('/wp-content/plugins/rise-company-site/site/training-module-sprite.webp');
  background-size:auto,300% auto;
  filter:saturate(.96) contrast(1.03);
}
.training-module-grid article:nth-child(1):before{background-position:center,0% 0%}
.training-module-grid article:nth-child(2):before{background-position:center,50% 0%}
.training-module-grid article:nth-child(3):before{background-position:center,100% 0%}
.training-module-grid article:nth-child(4):before{background-position:center,0% 50%}
.training-module-grid article:nth-child(5):before{background-position:center,50% 50%}
.training-module-grid article:nth-child(6):before{background-position:center,100% 50%}
.training-module-grid article:nth-child(7):before{background-position:center,0% 100%}
.training-module-grid article:nth-child(8):before{background-position:center,50% 100%}
.training-module-grid article:nth-child(9):before{background-position:center,100% 100%}
.training-module-grid span{
  position:absolute;
  top:214px;
  left:26px;
  width:44px;
  height:44px;
  margin:0;
  border:4px solid #fff;
  font-size:11px;
}
.training-module-grid h3{margin:8px 0 13px;font-size:22px}
.training-module-grid p{font-size:13px;line-height:1.7}

@media(max-width:760px){
  .service-feature>em,
  .service-feature:nth-child(even)>em{
    top:18px;
    right:18px;
    left:auto;
    width:50px;
    height:50px;
    font-size:14px;
  }
  .training-module-grid article{min-height:398px;padding:254px 22px 28px}
  .training-module-grid article:before{height:220px}
  .training-module-grid span{top:197px;left:22px;width:42px;height:42px}
  .training-module-grid h3{font-size:21px}
}

/* Safari-only Japanese typography. Chrome and other browsers keep the existing design. */
body.safari-browser{
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",sans-serif;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.safari-browser :where(h1,h2,h3,h4,p,li,dd,blockquote,small,strong,a){
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
}
.safari-browser :is(h1,h2,h3,h4,blockquote){
  text-wrap:balance;
}
.safari-browser :is(p,li,dd,small){
  text-wrap:pretty;
}
.safari-browser .feature-copy h3,
.safari-browser .service-index-visual .feature-copy h2,
.safari-browser .trust p,
.safari-browser .trust small{
  word-break:keep-all;
  overflow-wrap:normal;
}
.safari-browser .feature-copy h3,
.safari-browser .service-index-visual .feature-copy h2{
  letter-spacing:-.03em;
}
@media(max-width:760px){
  .safari-browser .feature-copy h3,
  .safari-browser .service-index-visual .feature-copy h2{
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
  }
}

.independence-hero{position:relative;overflow:hidden;color:#fff;background:#031c38}.independence-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031c38f5 0%,#064875c8 48%,transparent 78%);pointer-events:none}.independence-hero>div{position:relative;z-index:2}.independence-hero figure{height:540px;border-radius:0;box-shadow:none}.independence-hero figure img{object-fit:cover}.independence-invite{display:inline-flex;gap:12px;align-items:center;margin:22px 0 4px;padding:9px 15px;border:1px solid #83dcff77;border-radius:99px;background:#ffffff0d}.independence-invite strong{color:#91e4ff;font-size:12px}.independence-invite span{font-size:10px}
.independence-problem{padding:120px 8vw;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;color:#fff;background:radial-gradient(circle at 10% 0,#0a9edc38,transparent 28%),linear-gradient(135deg,#031a35,#063e70)}.independence-problem h2,.independence-vision h2,.independence-roadmap h2,.independence-mentor h2,.independence-numbers h2,.independence-stories h2,.independence-contact h2{font-size:clamp(42px,5.4vw,76px);line-height:1.24;margin:24px 0}.independence-problem h2 span,.independence-vision h2 span,.independence-roadmap h2 span,.independence-mentor h2 span,.independence-stories h2 span,.independence-contact h2 span{display:block}.independence-problem h2 strong{display:block;margin-top:28px;font-size:.65em}.independence-problem h2 em{font-style:normal;color:#8de6ff}.independence-problem>div>p:last-child{max-width:640px;color:#d0eaf5;line-height:2}.independence-problem ul{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff30}.independence-problem li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:19px 5px;border-bottom:1px solid #ffffff30;align-items:center}.independence-problem li span{color:#83e0ff;font-size:9px}.independence-problem li strong{font-size:15px;line-height:1.6}
.independence-vision{padding:125px 9vw;position:relative;overflow:hidden;background:#f4fbfe}.independence-vision:after{content:"ENVIRONMENT";position:absolute;right:-.03em;bottom:-.15em;color:#0877ad08;font-size:clamp(90px,15vw,230px);font-weight:900;letter-spacing:-.06em}.independence-vision>p:not(.eyebrow){position:relative;z-index:1;max-width:760px;color:#527087;line-height:2}.independence-vision>div{position:relative;z-index:1;display:flex;align-items:center;gap:20px;margin-top:55px}.independence-vision>div strong{padding:22px 30px;color:#fff;background:linear-gradient(135deg,#075a98,#0c9ed4);font-size:18px}.independence-vision>div span{color:var(--blue);font-size:24px;font-weight:900}
.independence-roadmap{padding:120px 8vw;color:#fff;background:#052746}.independence-roadmap>div{max-width:850px;margin-bottom:55px}.independence-roadmap>div>p:last-child{max-width:620px;color:#d0e9f4;line-height:2}.independence-roadmap ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#ffffff2c}.independence-roadmap li{min-height:270px;padding:28px 23px;background:#064675}.independence-roadmap li span{color:#8de4ff;font-size:9px;letter-spacing:.12em}.independence-roadmap li h3{margin:60px 0 15px;font-size:19px}.independence-roadmap li p{color:#cde7f2;font-size:12px;line-height:1.8}
.independence-mentor{min-height:700px;display:grid;grid-template-columns:.85fr 1.15fr;color:#fff;background:linear-gradient(135deg,#031c39,#0770a9)}.independence-mentor figure{position:relative;min-height:700px;margin:0;overflow:hidden;background:#d8edf7}.independence-mentor figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 74%,#064d7b)}.independence-mentor figure img{object-fit:cover;object-position:center 22%}.independence-mentor>div{padding:90px 6vw;display:flex;flex-direction:column;justify-content:center}.independence-mentor>div>p:not(.eyebrow){color:#d3edf8;line-height:2}.independence-mentor dl{margin:35px 0 0;padding-top:24px;border-top:1px solid #ffffff35}.independence-mentor dt{font-size:10px;color:#8de5ff}.independence-mentor dd{margin:8px 0 0;font-size:22px;font-weight:900}
.independence-numbers{padding:105px 8vw;color:#fff;background:#031d39}.independence-numbers>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:45px;background:#ffffff30}.independence-numbers article{min-height:220px;padding:30px;background:#064774;display:flex;flex-direction:column}.independence-numbers article strong{font-size:clamp(58px,7vw,100px);line-height:1}.independence-numbers article em{font-size:.25em;font-style:normal;color:#8de4ff}.independence-numbers article span{margin-top:auto;color:#d2edf7;font-weight:800}
.independence-stories{padding:120px 6vw;background:#f2f9fc}.independence-stories>div:first-child{max-width:900px;margin:0 2vw 65px}.independence-stories>div:first-child>p:last-child{max-width:650px;color:#587287;line-height:2}.independence-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.independence-story-grid article{background:#fff;box-shadow:0 22px 55px #06476d15}.independence-story-grid figure{position:relative;aspect-ratio:.82;margin:0;overflow:hidden;background:#d9ebf3}.independence-story-grid figure img{object-fit:cover}.independence-story-grid article:nth-child(2) figure,.independence-story-grid article:nth-child(3) figure{aspect-ratio:1}.independence-story-grid article>div{padding:28px}.independence-story-grid span{font-size:9px;letter-spacing:.15em;color:var(--blue);font-weight:900}.independence-story-grid h3{font-size:27px;margin:10px 0}.independence-story-grid strong{display:block;line-height:1.6}.independence-story-grid small{display:block;margin-top:8px;color:#678398}.independence-story-grid p{color:#587287;font-size:13px;line-height:1.9}.independence-contact{padding:100px 9vw;display:flex;align-items:center;justify-content:space-between;gap:55px;color:#fff;background:radial-gradient(circle at 82% 10%,#1bc8ed55,transparent 27%),linear-gradient(135deg,#05274e,#0785c2)}.independence-contact>div>span{display:inline-block;padding:9px 16px;border-radius:99px;color:#05345f;background:#9cecff;font-size:12px;font-weight:900}.independence-contact .eyebrow{margin-top:24px}.independence-contact .eyebrow i{width:38px;height:2px;background:#90dfff}.independence-contact>div>p:last-child{max-width:680px;color:#d5eff9;line-height:2}.independence-contact>a{flex:0 0 auto;min-width:310px;padding:24px 28px;display:flex;justify-content:space-between;border:1px solid #92e5ff;border-radius:99px;font-weight:900}.independence-contact>a b{color:#8ee4ff}
@media(min-width:761px){.independence-problem h2 span,.independence-vision h2 span,.independence-roadmap h2 span,.independence-mentor h2 span,.independence-stories h2 span,.independence-contact h2 span{white-space:nowrap;word-break:keep-all;text-wrap:nowrap}}@media(max-width:900px){.independence-roadmap ol{grid-template-columns:1fr 1fr}.independence-roadmap li:last-child{grid-column:1/-1}}@media(max-width:760px){.independence-hero:after{background:linear-gradient(180deg,#031c38f7,#06487599 55%,transparent)}.independence-hero figure{height:360px}.independence-problem,.independence-roadmap,.independence-stories,.independence-contact{padding:80px 24px}.independence-vision,.independence-numbers{padding:80px 24px}.independence-problem{grid-template-columns:1fr;gap:45px}.independence-vision>div{gap:8px;flex-wrap:wrap}.independence-vision>div strong{padding:16px;font-size:14px}.independence-roadmap ol{grid-template-columns:1fr}.independence-roadmap li,.independence-roadmap li:last-child{grid-column:auto;min-height:200px}.independence-roadmap li h3{margin-top:35px}.independence-mentor{grid-template-columns:1fr;min-height:0}.independence-mentor figure{min-height:510px}.independence-mentor figure:after{background:linear-gradient(0deg,#064d7b,transparent 25%)}.independence-mentor>div{padding:65px 24px}.independence-numbers>div:last-child,.independence-story-grid{grid-template-columns:1fr}.independence-numbers article{min-height:170px}.independence-story-grid figure,.independence-story-grid article:nth-child(2) figure,.independence-story-grid article:nth-child(3) figure{aspect-ratio:1.1}.independence-problem h2 span,.independence-vision h2 span,.independence-roadmap h2 span,.independence-mentor h2 span,.independence-stories h2 span,.independence-contact h2 span{display:inline}.independence-problem h2 span:after,.independence-vision h2 span:not(:last-child):after,.independence-roadmap h2 span:not(:last-child):after,.independence-mentor h2 span:not(:last-child):after,.independence-stories h2 span:not(:last-child):after,.independence-contact h2 span:not(:last-child):after{content:" ";white-space:pre}.independence-contact{display:block}.independence-contact>a{margin-top:35px;min-width:0;width:100%}}

/* Independence page refinements */
.independence-hero>div>p:last-child{display:inline-block;width:max-content;max-width:100%;margin-top:18px;padding:11px 16px;color:#fff;background:#031d39dc;border-left:3px solid #8ce7ff;border-radius:0 10px 10px 0;font-size:16px;font-weight:800;line-height:1.6;box-shadow:0 12px 34px #00162d52;text-shadow:0 1px 8px #001b35}
.independence-about{position:relative;grid-template-columns:.82fr 1.18fr;grid-template-rows:auto auto;gap:28px 7vw;background:radial-gradient(circle at 78% 32%,#9ceaff2b,transparent 28%),linear-gradient(135deg,#fff,#eef9fe)}
.independence-about>div:first-child{grid-column:1;grid-row:1}.independence-about>p{grid-column:1;grid-row:2;align-self:start!important}
.independence-about-map{grid-column:2;grid-row:1/3;align-self:center;padding:34px 34px 28px;color:#fff;background:radial-gradient(circle at 100% 0,#16bfea66,transparent 35%),linear-gradient(135deg,#041e3d,#076da8);border-radius:34px 8px 34px 8px;box-shadow:0 28px 80px #064d7630;overflow:hidden}
.independence-about-map>span,.independence-about-map>em{display:block;color:#91e7ff;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.22em}.independence-about-map>em{text-align:right}
.independence-about-map ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;margin:0;padding:28px 0}
.independence-about-map li{position:relative;min-height:150px;padding:22px 18px;background:#ffffff0e;border:1px solid #9ce8ff3a;border-radius:4px 18px 18px 18px}
.independence-about-map li:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-13px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;color:#06365d;background:#91e7ff;border-radius:50%;font-size:13px;font-weight:900}
.independence-about-map b{display:block;color:#8fe6ff;font-size:10px}.independence-about-map strong{display:block;margin:22px 0 8px;font-size:18px}.independence-about-map small{color:#ccebf7;font-size:11px;line-height:1.6}
.independence-problem{grid-template-columns:1fr 1fr;gap:6vw}.independence-problem ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0}.independence-problem li{display:block;min-height:148px;padding:22px;border:1px solid #ffffff28;border-radius:16px 4px 16px 4px;background:#ffffff0a}.independence-problem li span{display:block;margin-bottom:30px;font-size:10px;font-weight:900}.independence-problem li strong{font-size:17px}
.independence-roadmap{position:relative;isolation:isolate;overflow:hidden;background:#031d39}.independence-roadmap:before{content:"";position:absolute;z-index:-2;inset:0;background:url('/wp-content/plugins/rise-company-site/site/services/independence.webp') center 42%/cover no-repeat;filter:saturate(.75)}.independence-roadmap:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#021a35fa 0%,#043d68ee 52%,#056c9ddb 100%),linear-gradient(0deg,#031d39dd,transparent 60%)}
.independence-roadmap>div>p:last-child{font-size:16px}.independence-roadmap ol{gap:10px;background:transparent}.independence-roadmap li{min-height:290px;padding:30px 24px;background:#063e68d8;border:1px solid #9ce7ff38;border-radius:4px 22px 22px 22px;backdrop-filter:blur(10px);box-shadow:0 18px 45px #00172e42}.independence-roadmap li span{font-size:11px;font-weight:900}.independence-roadmap li h3{margin:52px 0 18px;font-size:clamp(17px,1.35vw,22px);word-break:keep-all;overflow-wrap:normal}.independence-roadmap li p{font-size:14px;line-height:1.9}
.independence-story-grid figure,.independence-story-grid article:nth-child(2) figure,.independence-story-grid article:nth-child(3) figure{aspect-ratio:1}.independence-story-grid article:first-child figure img{object-position:center 20%}
.independence-contact{justify-content:flex-start}.independence-contact>div{width:min(940px,100%)}.independence-contact>div>p:last-child{max-width:820px;margin-top:34px;padding:20px 24px;color:#eefaff;background:#ffffff12;border:1px solid #9beaff60;border-left:4px solid #9beaff;border-radius:4px 18px 18px 4px;font-size:15px;line-height:1.8;box-shadow:0 18px 45px #001b3540}.independence-contact>div>p:last-child strong{display:block;margin-bottom:5px;color:#fff;font-size:18px}
@media(max-width:1000px){.independence-about-map ol{grid-template-columns:1fr}.independence-about-map li{min-height:0}.independence-about-map li:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-19px;transform:translateX(-50%)}}
@media(max-width:760px){.independence-hero>div>p:last-child{font-size:13px}.independence-about{grid-template-columns:1fr;grid-template-rows:auto;padding-block:80px}.independence-about>div:first-child,.independence-about>p,.independence-about-map{grid-column:1;grid-row:auto}.independence-about-map{padding:26px 20px}.independence-problem{grid-template-columns:minmax(0,1fr)}.independence-problem>*,.independence-mentor>*,.independence-mentor>div>*{min-width:0;max-width:100%}.independence-problem ul{grid-template-columns:1fr}.independence-problem li{min-height:118px}.independence-roadmap li,.independence-roadmap li:last-child{min-height:220px}.independence-mentor{grid-template-columns:minmax(0,1fr);width:100%;overflow:hidden}.independence-mentor figure,.independence-mentor>div{width:100%}.independence-mentor h2,.independence-mentor h2 span{white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:wrap}.independence-contact>div>p:last-child{padding:18px;font-size:13px}}

/* Shared responsive sizing and Japanese line composition. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

:where(h1, h2, h3, h4, p, li, dd, blockquote, small, strong, summary) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
}

@supports (word-break: auto-phrase) {
  :where(h1, h2, h3, h4, p, li, dd, blockquote, small, strong, summary) {
    word-break: auto-phrase;
  }
}

:where(h1, h2, h3, h4, blockquote) {
  text-wrap: balance;
}
:where(p, li, dd, small, summary) {
  text-wrap: pretty;
}
.semantic-lines > span {
  display: block;
  white-space: nowrap;
}
.hero-title > span {
  display: inline;
}
.service-name-part {
  display: inline-block;
  white-space: nowrap;
}
.contact-page a,
.company dd,
.company-page dd {
  overflow-wrap: anywhere;
}

/* Tablet: retain the desktop composition while protecting readable widths. */
@media (max-width: 1180px) and (min-width: 761px) {
  .site-header,
  .sub-header {
    padding-inline: 3.5vw;
  }
  .site-header nav,
  .sub-header nav {
    gap: 16px;
  }
  .hero {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
    padding-inline: 5vw;
  }
  .hero-copy {
    max-width: 560px;
  }
  .hero-title {
    font-size: clamp(42px, 4.7vw, 54px);
  }
  .hero-title > span,
  .hero-title > em {
    display: block;
    white-space: nowrap;
  }
  .hero-title > br {
    display: none;
  }
  .hero-lead {
    font-size: 15px;
  }
  .manifesto {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.78fr);
    gap: 5vw;
    padding: 120px 8vw;
  }
  .manifesto h2.manifesto-title {
    font-size: clamp(36px, 3.6vw, 44px);
  }
  .manifesto-copy {
    font-size: 14px;
  }
  .service-feature,
  .service-feature:nth-child(even) {
    grid-template-columns: 1.05fr 0.95fr;
  }
  .feature-copy {
    padding: 52px 4vw;
  }
  .feature-copy h3,
  .service-index-visual .feature-copy h2 {
    font-size: clamp(27px, 2.7vw, 34px);
  }
  .detail-hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.88fr);
    gap: 4vw;
    padding-inline: 6vw;
  }
  .detail-hero h1 {
    font-size: clamp(48px, 5.4vw, 64px);
  }
  .detail-body {
    gap: 5vw;
    padding-inline: 8vw;
  }
  .detail-body h2,
  .detail-points h2 {
    font-size: clamp(36px, 4.2vw, 50px);
  }
  .detail-flow ol,
  .web-production-flow ol {
    grid-template-columns: repeat(3, 1fr);
  }
  .advertising-scope-grid,
  .advertising-partner-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .advertising-scope-grid article {
    min-height: 220px;
  }
  .ai-dev-tool-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .training-module-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .independence-roadmap ol {
    grid-template-columns: repeat(3, 1fr);
  }
  .independence-roadmap li:last-child {
    grid-column: auto;
  }
  .ai-dev-contact,
  .training-contact,
  .advertising-contact-cta {
    gap: 28px;
  }
  .ai-dev-contact > a,
  .training-contact > a,
  .advertising-contact-cta > a {
    min-width: 230px;
    max-width: 290px;
  }
}

/* Compact tablets: keep the desktop mood while switching narrow compositions to one column. */
@media (max-width: 820px) and (min-width: 761px) {
  [data-jp-flow-processed="true"] {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
  .hero-title {
    font-size: 38px;
  }
  .manifesto {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }
  .manifesto > * {
    min-width: 0;
    max-width: 100%;
  }
  .trust {
    grid-template-columns: 90px minmax(0, 1fr);
  }
  .trust small {
    grid-column: 2;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .instagram-ai-stack,
  .independence-problem {
    grid-template-columns: minmax(0, 1fr);
  }
  .instagram-ai-stack > *,
  .independence-problem > * {
    min-width: 0;
    max-width: 100%;
  }
  .instagram-funnel ol {
    grid-template-columns: 1fr;
  }
  .instagram-funnel li {
    min-width: 0;
  }
  .instagram-funnel li:not(:last-child):after {
    content: "↓";
    right: 50%;
    top: auto;
    bottom: -14px;
    transform: translateX(50%);
  }
  .ai-dev-contact,
  .training-contact,
  .advertising-contact-cta {
    display: block;
  }
  .ai-dev-contact > a,
  .training-contact > a,
  .advertising-contact-cta > a {
    width: 100%;
    max-width: 100%;
    margin-top: 34px;
  }
  .independence-problem ul {
    grid-template-columns: 1fr 1fr;
  }
}

/* Phone: keep the same visual hierarchy with compact, proportional sizing. */
@media (max-width: 760px) {
  :where(h1, h2, h3, h4, p, li, dd, blockquote, small) {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }
  :where(h1, h2, h3, h4) {
    white-space: normal !important;
  }
  [data-jp-flow-processed="true"] {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }
  [data-jp-flow-processed="true"] wbr {
    display: inline;
  }
  .service-name {
    display: inline;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .service-name-part {
    white-space: nowrap;
  }
  .feature-copy h3,
  .service-index-visual .feature-copy h2,
  .detail-hero h1 {
    max-width: 100%;
    overflow: visible;
  }
  .instagram-provocation h2 > span,
  .instagram-ai-stack h2 > span,
  .instagram-funnel h2 > span,
  .advertising-challenges h2 > span,
  .advertising-scope h2 > span,
  .advertising-principles h2 > span {
    display: block !important;
    white-space: normal !important;
  }
  .instagram-provocation h2 > span:after,
  .instagram-ai-stack h2 > span:after,
  .instagram-funnel h2 > span:after,
  .advertising-challenges h2 > span:after,
  .advertising-scope h2 > span:after,
  .advertising-principles h2 > span:after {
    content: none !important;
  }
  .detail-hero,
  .detail-body,
  .advertising-about,
  .advertising-challenges,
  .advertising-principles,
  .instagram-ai-stack,
  .independence-problem,
  .independence-about {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .advertising-partner,
  .independence-mentor {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .detail-hero > *,
  .detail-body > *,
  .advertising-about > *,
  .advertising-challenges > *,
  .advertising-principles > *,
  .advertising-partner > *,
  .instagram-ai-stack > *,
  .independence-problem > *,
  .independence-about > *,
  .independence-mentor > * {
    min-width: 0;
    max-width: 100%;
  }
  .site-header,
  .sub-header {
    padding-inline: 20px;
  }
  .brand {
    font-size: 14px;
  }
  .brand-mark {
    width: 35px;
    height: 35px;
  }
  .nav-cta {
    font-size: 12px;
    padding: 12px 15px;
  }
  .hero {
    min-height: 820px;
    padding: 104px 20px 52px;
  }
  .hero-copy {
    margin-top: 10px;
  }
  .hero-title {
    font-size: clamp(33px, 9.2vw, 38px);
    line-height: 1.16;
    letter-spacing: -0.05em;
  }
  .hero-title > span,
  .hero-title > em {
    display: block;
    white-space: nowrap;
  }
  .hero-title > br {
    display: none;
  }
  .hero-lead {
    font-size: 14px;
    line-height: 1.9;
  }
  .hero-lead br {
    display: block;
  }
  .hero-actions {
    gap: 16px;
    margin-top: 30px;
  }
  .button {
    padding: 15px 20px;
    font-size: 13px;
  }
  .text-link {
    font-size: 13px;
  }
  .manifesto,
  .services,
  .values,
  .message,
  .company,
  .contact {
    padding: 76px 20px;
  }
  .manifesto {
    gap: 32px;
  }
  .manifesto h2.manifesto-title {
    font-size: clamp(25px, 7.1vw, 31px);
    line-height: 1.35;
  }
  .manifesto-copy {
    font-size: 14px;
    line-height: 2;
  }
  .semantic-lines > span {
    white-space: normal;
  }
  .manifesto-copy .semantic-lines > span {
    white-space: nowrap;
  }
  .section-heading h2,
  .values h2,
  .message h2,
  .company h2 {
    font-size: clamp(32px, 9vw, 40px);
  }
  .message blockquote {
    font-size: 16px;
    padding-left: 18px;
  }
  .contact h2 {
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.28;
  }
  .company dl > div,
  .company-page dl > div {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
  }
  .company dd,
  .company-page dd {
    min-width: 0;
  }
  .trust {
    padding: 26px 20px;
  }
  .trust p {
    white-space: normal;
    font-size: 16px;
  }
  .trust small {
    white-space: normal;
    font-size: 12px;
  }
  footer {
    padding: 58px 20px 30px;
  }
  footer > div {
    gap: 18px;
  }
  .policy-links {
    white-space: normal;
    flex-wrap: wrap;
  }
  .sub-hero {
    padding: 94px 20px 54px;
  }
  .sub-hero h1 {
    font-size: clamp(42px, 12vw, 54px);
  }
  .service-index-visual {
    padding-top: 88px;
  }
  .service-index-visual .visual-heading h1 {
    font-size: clamp(36px, 10vw, 42px);
  }
  .visual-heading {
    padding-inline: 20px;
  }
  .feature-image {
    min-height: 270px;
  }
  .feature-copy {
    padding: 40px 20px 52px;
  }
  .feature-copy h3,
  .service-index-visual .feature-copy h2 {
    font-size: clamp(27px, 8.2vw, 34px);
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  .feature-copy small {
    font-size: 14px;
    line-height: 1.9;
  }
  .detail-hero {
    padding: 102px 20px 54px;
  }
  .detail-hero h1,
  .web-detail-hero h1,
  .instagram-detail-hero h1 {
    font-size: clamp(39px, 11.5vw, 50px);
    line-height: 1.2;
  }
  .sales-detail-hero h1,
  .web-detail-hero h1 {
    font-size: clamp(34px, 9.4vw, 43px);
    line-height: 1.3;
    letter-spacing: -0.04em;
  }
  .detail-hero > div > p:last-child {
    font-size: 15px;
    line-height: 1.8;
  }
  .detail-hero-photo {
    padding-right: 20px;
  }
  .detail-hero-photo figure {
    height: 310px;
    border-radius: 60px 8px 60px 8px;
  }
  .detail-body,
  .editorial,
  .company-page,
  .detail-features,
  .detail-flow,
  .detail-points {
    padding: 72px 20px;
  }
  .detail-body {
    gap: 30px;
  }
  .detail-body h2,
  .detail-points h2,
  .detail-features > h2,
  .detail-flow > h2,
  .detail-proof > h2 {
    font-size: clamp(32px, 9.2vw, 42px);
    line-height: 1.3;
  }
  .detail-body > p {
    line-height: 2;
  }
  .detail-cta,
  .next-service {
    padding-inline: 20px;
  }
  .next-service {
    grid-template-columns: minmax(0, 1fr) 28px;
  }
  .next-service strong {
    min-width: 0;
    font-size: 19px;
  }
  .sales-needs,
  .sales-independence,
  .sales-assurance,
  .sales-gallery,
  .sales-pricing,
  .sales-faq,
  .web-offer,
  .web-works,
  .instagram-provocation,
  .instagram-ai-stack,
  .instagram-funnel,
  .advertising-challenges,
  .advertising-principles,
  .advertising-scope,
  .advertising-media,
  .advertising-lp-gallery,
  .advertising-results,
  .advertising-about,
  .ai-dev-impact,
  .ai-dev-capabilities,
  .ai-dev-showcase,
  .ai-dev-contact,
  .training-about,
  .training-philosophy,
  .training-modules,
  .training-practice,
  .training-for,
  .training-contact,
  .training-gallery,
  .independence-problem,
  .independence-roadmap,
  .independence-stories,
  .independence-contact,
  .independence-vision,
  .independence-numbers {
    padding-left: 20px;
    padding-right: 20px;
  }
  .instagram-provocation h2,
  .instagram-ai-stack h2,
  .instagram-funnel h2,
  .advertising-challenges h2,
  .advertising-scope h2,
  .advertising-media h2,
  .advertising-principles h2,
  .advertising-director h2,
  .advertising-results h2,
  .advertising-lp-heading h2,
  .advertising-partner h2,
  .ai-dev-impact h2,
  .ai-dev-capabilities h2,
  .ai-dev-showcase h2,
  .ai-dev-contact h2,
  .training-about h2,
  .training-philosophy > h2,
  .training-modules h2,
  .training-for h2,
  .training-contact h2,
  .training-gallery-heading h2,
  .independence-problem h2,
  .independence-vision h2,
  .independence-roadmap h2,
  .independence-mentor h2,
  .independence-numbers h2,
  .independence-stories h2,
  .independence-contact h2 {
    font-size: clamp(31px, 8.8vw, 40px);
    line-height: 1.3;
  }
  .ai-dev-impact h2 span,
  .ai-dev-capabilities h2 span,
  .ai-dev-showcase h2 span,
  .ai-dev-contact h2 span,
  .training-philosophy > h2 span,
  .training-modules h2 span,
  .training-for h2 span,
  .training-contact h2 span,
  .training-gallery-heading h2 span,
  .independence-problem h2 span,
  .independence-vision h2 span,
  .independence-roadmap h2 span,
  .independence-mentor h2 span,
  .independence-stories h2 span,
  .independence-contact h2 span,
  .web-works-heading h2 span,
  .web-hp-heading h2 span,
  .advertising-director h2 span,
  .advertising-results h2 span,
  .advertising-lp-heading h2 span,
  .advertising-partner h2 span {
    display: block;
    white-space: normal;
  }
  .ai-dev-impact h2 span:after,
  .ai-dev-capabilities h2 span:after,
  .ai-dev-showcase h2 span:after,
  .ai-dev-contact h2 span:after,
  .training-philosophy > h2 span:after,
  .training-modules h2 span:after,
  .training-for h2 span:after,
  .training-contact h2 span:after,
  .training-gallery-heading h2 span:after,
  .independence-problem h2 span:after,
  .independence-vision h2 span:after,
  .independence-roadmap h2 span:after,
  .independence-mentor h2 span:after,
  .independence-stories h2 span:after,
  .independence-contact h2 span:after,
  .web-works-heading h2 span:after,
  .web-hp-heading h2 span:after,
  .advertising-director h2 span:after,
  .advertising-results h2 span:after,
  .advertising-lp-heading h2 span:after,
  .advertising-partner h2 span:after {
    content: none !important;
  }
  .advertising-partner-grid {
    grid-template-columns: 1fr 1fr;
  }
  .advertising-contact-cta > a,
  .ai-dev-contact > a,
  .training-contact > a {
    max-width: 100%;
  }
  .ai-dev-tool-grid {
    grid-template-columns: 1fr 1fr;
  }
  .training-module-grid {
    grid-template-columns: 1fr;
  }
  .training-module-grid article {
    min-height: 380px;
    padding: 244px 20px 26px;
  }
  .training-module-grid article:before {
    height: 212px;
  }
  .training-module-grid span {
    top: 189px;
    left: 20px;
  }
  .independence-roadmap ol {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 390px) {
  .site-header,
  .sub-header {
    padding-inline: 16px;
  }
  .nav-cta span {
    margin-left: 7px;
  }
  .hero {
    padding-inline: 18px;
  }
  .hero-title {
    font-size: 32px;
  }
  .manifesto,
  .services,
  .values,
  .message,
  .company,
  .contact {
    padding-left: 18px;
    padding-right: 18px;
  }
  .manifesto h2.manifesto-title {
    font-size: 24px;
  }
  .manifesto-copy {
    font-size: 13px;
  }
  .contact h2 {
    font-size: 37px;
  }
  .ai-dev-tool-grid,
  .advertising-partner-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .ai-dev-tool-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 360px) {
  .detail-hero h1,
  .web-detail-hero h1,
  .instagram-detail-hero h1 {
    font-size: 37px;
  }
}

/* Safari uses its native Japanese font metrics without changing layout intent. */
.safari-browser
  :where(h1, h2, h3, h4, p, li, dd, blockquote, small, strong, summary) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
}
.safari-browser :where(h1, h2, h3, h4, blockquote) {
  text-wrap: balance;
}
.safari-browser :where(p, li, dd, small, summary) {
  text-wrap: pretty;
}
.safari-browser .semantic-lines > span,
.safari-browser .hero-title > span,
.safari-browser .hero-title > em,
.safari-browser .manifesto-title > span,
.safari-browser .manifesto-title > em {
  word-break: keep-all;
  overflow-wrap: normal;
}

@media (max-width: 760px) {
  .safari-browser :where(h1, h2, h3, h4, p, li, dd, blockquote, small) {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
  }
  .safari-browser [data-jp-flow-processed="true"] {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
  .safari-browser .service-name {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}
@media (max-width: 760px) {
  .contact-form {
    padding: 22px 18px;
  }
  .contact-form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .contact-page-intro p {
    font-size: 16px;
  }
  .contact-form button {
    font-size: 15px;
    padding: 16px 18px;
  }
}

/* Final Japanese composition pass: natural phrase wrapping across browsers. */
:where(h1, h2, h3, h4, p, blockquote) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
  max-width: 100%;
}
:where(h1, h2, h3, h4) {
  text-wrap: balance;
}
:where(p, blockquote) {
  text-wrap: pretty;
}
.service-name-part {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}
/* Span wrappers are visual grouping only; they must not force overflow. */
:where(h1, h2, h3, h4) :is(span, em) {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

@media (max-width: 1180px) {
  :where(h1, h2, h3, h4, p, blockquote) br {
    display: none;
  }
  /* Keep service headings readable between tablet and laptop widths. */
  .feature-copy h3,
  .service-index-visual .feature-copy h2 {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: balance;
  }
  .semantic-lines > span {
    display: inline;
    white-space: normal;
  }
  .hero-title > span,
  .hero-title > em {
    display: inline;
    white-space: normal;
  }
  .hero-title > br {
    display: none;
  }
}
@media (max-width: 1180px) and (min-width: 761px) {
  /* Match the desktop Chrome/Safari composition: two intentional headline lines. */
  .hero-title > span,
  .hero-title > em {
    display: block;
    white-space: nowrap;
  }
}
@media (max-width: 760px) {
  :where(h1, h2, h3, h4, p, blockquote) {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  :where(h1, h2, h3, h4, p, blockquote) br {
    display: none !important;
  }
  .semantic-lines > span {
    display: inline !important;
    white-space: normal !important;
  }
  .hero-title > span,
  .hero-title > em {
    display: block !important;
    white-space: normal !important;
  }
  .service-name,
  .service-name-part {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .feature-copy h3,
  .service-index-visual .feature-copy h2 {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: balance;
  }
}

/* The large service index numbers are a visual marker, never a text layer. */
.service-feature > em,
.service-feature:nth-child(even) > em {
  z-index: 1;
  width: 64px;
  height: 64px;
  top: 24px;
  bottom: auto;
  display: grid;
  place-items: center;
  color: #076fbd;
  background: #fff;
  border: 1px solid #a9dbef;
  border-radius: 50%;
  box-shadow: 0 10px 28px #03284626;
  font-size: 19px;
  line-height: 1;
  letter-spacing: 0.08em;
}
.service-feature .feature-copy {
  z-index: 2;
}
@media (max-width: 760px) {
  .service-feature > em,
  .service-feature:nth-child(even) > em {
    width: 54px;
    height: 54px;
    top: 18px;
    right: 18px;
    left: auto;
    font-size: 16px;
  }
}

/* Keep the homepage hero phrases together on desktop and tablet. */
@media (min-width: 761px) {
  .hero-title > span,
  .hero-title > em {
    display: block !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

/* AI development hero: show the still image as a foreground panel over the video. */
.ai-dev-hero {
  position: relative;
}
.detail-body.ai-dev-about {
  position: relative;
  isolation: isolate;
  background: #fff !important;
  color: #071e3d;
}
.detail-body.ai-dev-about::before,
.detail-body.ai-dev-about::after {
  content: none !important;
}
.ai-dev-hero figure {
  position: relative;
  z-index: 2;
  background: #031b36aa;
}
.ai-dev-hero figure img {
  display: block !important;
  opacity: 0.9;
  mix-blend-mode: screen;
}

/* Impact section uses a standalone visual panel, not a background image. */
.ai-dev-impact {
  background:
    radial-gradient(circle at 85% 10%, #08bde844, transparent 30%),
    linear-gradient(135deg, #031b37, #075d9a) !important;
}
.ai-dev-impact:before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 8vw;
  top: 80px;
  width: min(40vw, 560px);
  height: 320px;
  background: url("/wp-content/plugins/rise-company-site/site/ai-tools/fukui-client-meeting.webp") center/cover no-repeat;
  border: 1px solid #8de6ff66;
  box-shadow: 0 25px 70px #00132770;
}
@media (max-width: 760px) {
  .ai-dev-hero figure img {
    opacity: 0.5;
  }
  .ai-dev-impact:before {
    position: relative;
    display: block;
    right: auto;
    top: auto;
    width: 100%;
    height: 220px;
    margin: 0 0 35px;
    background: url("/wp-content/plugins/rise-company-site/site/ai-tools/fukui-client-meeting.webp") center/cover no-repeat;
  }
}

/* Mobile-only line break marker; desktop copy stays unchanged. */
.mobile-heading-break { display: none !important; }
body main .sales-promise-title > span { display: inline !important; }

/* Final cross-browser Japanese typography pass.
   Keep punctuation and particles with the preceding phrase while allowing
   natural wrapping at meaningful Japanese boundaries. */
:where(h1, h2, h3, h4, h5) {
  white-space: normal !important;
  line-break: strict !important;
  -webkit-line-break: strict !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: balance;
  max-width: 100%;
}
:where(p, li, dd, blockquote, small) {
  white-space: normal !important;
  line-break: strict !important;
  -webkit-line-break: strict !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-wrap: pretty;
  max-width: 100%;
}
:where(h1, h2, h3, h4, h5) > span,
:where(h1, h2, h3, h4, h5) > em {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
/* Intentional phrase spans in the desktop hero remain on their own lines. */
@media (min-width: 761px) {
  .hero-title > span,
  .hero-title > em {
    display: block !important;
    white-space: nowrap !important;
  }
}
/* --------------------------------------------------------------------------
   Semantic Japanese line breaking

   Large Japanese headings must not depend on browser line-breaking engines.
   Each direct span/em/strong is an authored phrase and therefore one line.
   This final layer intentionally wins over the legacy responsive overrides.
   -------------------------------------------------------------------------- */

.hero-title.semantic-heading > span,
.hero-title.semantic-heading > em,
.manifesto-title.semantic-heading > span,
.manifesto-title.semantic-heading > em,
.subpage h2 > span,
.subpage h2 > strong > span,
.instagram-auto-post h2 > span,
.instagram-proof-section h2 > span,
.instagram-pricing h2 > span {
  display: block !important;
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.hero-title.semantic-heading,
.manifesto-title.semantic-heading,
.subpage h1,
.subpage h2,
.instagram-auto-post h2,
.instagram-proof-section h2,
.instagram-pricing h2 {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
  text-wrap: wrap;
}

.semantic-lines > span {
  display: block !important;
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* The root hero is always the same two complete Japanese phrases. */
.hero-title.semantic-heading {
  font-size: clamp(3.25rem, 5.35vw, 7.25rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.055em !important;
}

@media (min-width: 761px) and (max-width: 1240px) {
  .hero-copy {
    width: min(61vw, 720px) !important;
  }

  .hero-title.semantic-heading {
    font-size: clamp(3rem, 5.15vw, 4rem) !important;
  }

  .instagram-provocation h2,
  .instagram-ai-stack h2,
  .ai-dev-impact h2,
  .ai-dev-capabilities h2,
  .instagram-auto-post h2 {
    font-size: clamp(3rem, 5vw, 4.1rem) !important;
  }
}

@media (max-width: 760px) {
  .hero-copy {
    width: 100% !important;
  }

  .hero-title.semantic-heading {
    font-size: clamp(2.05rem, 9.2vw, 2.85rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.045em !important;
  }

  .manifesto-title.semantic-heading,
  .subpage h1,
  .subpage h2,
  .instagram-auto-post h2,
  .instagram-proof-section h2,
  .instagram-pricing h2 {
    font-size: clamp(1.8rem, 8.1vw, 2.45rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.035em !important;
  }

  .instagram-provocation h2 {
    font-size: clamp(1.65rem, 7.1vw, 2.15rem) !important;
  }

  .semantic-lines > span {
    width: auto;
    white-space: normal !important;
  }

  .manifesto-copy,
  .detail-body > p,
  .subpage section > p,
  .subpage section div > p {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-break: strict !important;
  }
}

/* Web service title: exactly two authored lines, including in Chrome. */
.web-detail-hero h1.web-hero-title {
  font-size: clamp(1.8rem, 4.5vw, 5rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.04em !important;
}
.web-detail-hero h1.web-hero-title > span {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
@media (max-width: 800px) {
  .web-detail-hero h1.web-hero-title {
    font-size: clamp(1.8rem, 8.5vw, 4.5rem) !important;
  }
}

/* Keep the Instagram introduction on its two authored lines. */
.instagram-about h2.instagram-about-title {
  font-size: clamp(1.4rem, 2.8vw, 3.3rem) !important;
  line-height: 1.4 !important;
  letter-spacing: -0.04em !important;
}
.instagram-about h2.instagram-about-title > span,
.instagram-about h2.instagram-about-title > em {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
@media (max-width: 800px) {
  .instagram-about h2.instagram-about-title {
    font-size: clamp(1.1rem, 6.2vw, 3rem) !important;
  }
}

.instagram-provocation h2.instagram-question-title > span {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.instagram-provocation h2.instagram-question-title em {
  display: inline !important;
  white-space: nowrap !important;
}
.instagram-provocation h2.instagram-question-title {
  font-size: clamp(1.1rem, 4.7vw, 4.1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: -0.04em !important;
}

/* Training headline must not inherit the small introductory-label size. */
.training-about h2.semantic-heading {
  font-size: clamp(1.8rem, 3.65vw, 3.6rem) !important;
  line-height: 1.35 !important;
  letter-spacing: -0.04em !important;
}
.training-about h2.semantic-heading > span {
  font-size: clamp(1.1rem, 1.6vw, 1.5rem);
  margin-bottom: 24px;
}
.training-about h2.semantic-heading > strong {
  display: block;
  font-size: inherit;
  font-weight: 800;
}
.training-about h2.semantic-heading > strong > span {
  display: block;
  font-size: 1em;
  color: #073967;
  letter-spacing: inherit;
  margin: 0;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .training-about h2.semantic-heading {
    font-size: clamp(1.7rem, 7.8vw, 2.8rem) !important;
  }
}

/* Values title: preserve both complete phrases in Safari and Chrome. */
.values h2.values-heading {
  font-size: clamp(1.6rem, 3.4vw, 3.6rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.045em !important;
}
.values h2.values-heading > span {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
@media (max-width: 760px) {
  .values h2.values-heading {
    font-size: clamp(1.5rem, 8.2vw, 3rem) !important;
  }
}

/* Final fit rules: authored phrases stay intact and shrink before clipping. */
.independence-hero-title > span,
.company-strengths h2 > span,
.independence-about h2 > span,
.web-hp-heading h2 > span,
.web-production-flow h2 > span,
.ai-dev-contact h2 > span,
.independence-mentor h2 > span {
  display: block !important;
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.message-heading > span {
  display: block !important;
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.independence-hero-title {
  font-size: clamp(2.5rem, 4vw, 4.25rem) !important;
  line-height: 1.12 !important;
}

@media (min-width: 761px) and (max-width: 900px) {
  .instagram-provocation h2 {
    font-size: clamp(2.35rem, 5.6vw, 3.15rem) !important;
  }

  .independence-hero-title {
    font-size: clamp(2.25rem, 4.6vw, 2.8rem) !important;
  }
}

@media (max-width: 760px) {
  .company-strengths h2,
  .independence-about h2,
  .web-hp-heading h2,
  .web-production-flow h2,
  .ai-dev-contact h2,
  .independence-mentor h2 {
    font-size: clamp(1.65rem, 7.2vw, 2.25rem) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.04em !important;
  }

  .editorial article .message-heading {
    font-size: clamp(1.7rem, 7.35vw, 2.25rem) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.04em !important;
  }

  .instagram-provocation h2 {
    font-size: clamp(1.45rem, 6.15vw, 1.9rem) !important;
    line-height: 1.28 !important;
  }

  .independence-hero-title {
    font-size: clamp(1.75rem, 7.5vw, 2.25rem) !important;
    line-height: 1.18 !important;
  }
}

/* Phone-only safety layer. Never hide overflow to disguise clipped content. */
@media (max-width: 760px) {
  body main :is(section, article, figure, aside, div) {
    min-width: 0;
  }
  body main :is(img, video, iframe) {
    max-width: 100%;
  }
  body main :is(h1, h2, h3, h4, p, li, dd, blockquote) {
    max-width: 100%;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-break: strict !important;
    white-space: normal !important;
  }
  body main :is(h1, h2) {
    font-size: clamp(1.125rem, 5.7vw, 2rem) !important;
    line-height: 1.4 !important;
    letter-spacing: -0.035em !important;
  }
  /* Preserve authored line boundaries, but allow an unusually long line to
     wrap rather than disappear outside a narrow phone viewport. */
  body main :is(h1, h2) :is(span, em, strong),
  body main .semantic-lines > span {
    max-width: 100%;
    width: auto;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  body main .service-name-part {
    display: inline-block;
    white-space: nowrap !important;
  }
  body main .sales-promise-title {
    font-size: clamp(1.5rem, 7.5vw, 2.5rem) !important;
  }
  body main .sales-promise-title > span {
    display: block !important;
  }
  body main .sales-promise-title > br { display: none; }
  body main .mobile-heading-break { display: block !important; }
  body main .training-about h2 > strong {
    font-size: clamp(1.5rem, 7vw, 2.5rem);
  }

  /* Targeted phone fits for authored phrases that remain too wide at 320px. */
  body main .hero-title.semantic-heading {
    font-size: clamp(1.7rem, 8.8vw, 2.35rem) !important;
  }
  body main .hero-title.semantic-heading > span,
  body main .hero-title.semantic-heading > em,
  body main .manifesto-title.semantic-heading > span,
  body main .manifesto-title.semantic-heading > em {
    width: max-content;
    max-width: 100%;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
  body main .manifesto-title.semantic-heading {
    font-size: clamp(1.55rem, 7.8vw, 2.1rem) !important;
  }
  body main .training-modules h2 {
    font-size: clamp(1.5rem, 8.2vw, 2.25rem) !important;
  }
  body main .training-modules h2 > span {
    display: block !important;
    width: max-content;
    max-width: 100%;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}

/* Very narrow phones need one final scale step. This is intentionally the
   last layer so it wins over every page-specific heading rule above. */
@media (max-width: 340px) {
  body main section h1,
  body main section h2,
  body main section[class] h1,
  body main section[class] h2,
  body main article h2,
  body main h2[class] {
    font-size: 5.2vw !important;
    line-height: 1.45 !important;
  }
  body main .hero-title.semantic-heading { font-size: 8.2vw !important; }
  body main .manifesto-title.semantic-heading { font-size: 7.2vw !important; }
  body main .sales-promise-title { font-size: 7vw !important; }
}

/* Restore authored heading breaks on phones. Legacy rules hid every <br>,
   collapsing complete Japanese phrases into a single unbreakable line. */
@media (max-width: 760px) {
  body main h1 br,
  body main h2 br,
  body main h3 br,
  body main h4 br {
    display: initial !important;
  }
  body main section h2 .phone-authored-line {
    display: block !important;
    width: auto !important;
    max-width: 100%;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  body main .sales-promise-title > br { display: none !important; }
  body main .sales-assurance h2,
  body main .sales-needs h2,
  body main .sales-gallery-heading h2,
  body main .web-offer h2,
  body main .company-business h2,
  body main .detail-body h2 {
    width: auto !important;
    max-width: 100% !important;
    font-size: clamp(1.15rem, 5.7vw, 1.6rem) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: wrap !important;
    line-height: 1.5 !important;
  }
}
@media (min-width: 761px) {
  body main .detail-body h2 .phone-authored-line {
    display: block !important;
    width: 100%;
    white-space: nowrap !important;
  }
}

/* Keep long Japanese headings inside the first detail column in every browser. */
@media (min-width: 761px) {
  body main .detail-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  body main .detail-body > * {
    min-width: 0;
  }
  body main .detail-body > div:first-child {
    container-type: inline-size;
  }
  body main .detail-body h2 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(30px, 4vw, 58px) !important;
    font-size: min(4vw, 12cqi, 58px) !important;
    line-height: 1.3;
    overflow-wrap: anywhere !important;
  }
}
.safari-browser .detail-body > p {
  width: 100%;
  max-width: none;
}

/* OUR STORY: keep the two requested phrases intact within their column. */
body main .company-history > div:first-child {
  min-width: 0;
  container-type: inline-size;
}
body main .company-history h2.company-story-title {
  width: 100% !important;
  max-width: 100% !important;
  font-size: min(3rem, 8cqi) !important;
  line-height: 1.5 !important;
}
body main .company-history h2.company-story-title > span {
  display: block !important;
  width: auto !important;
  white-space: nowrap !important;
  word-break: normal !important;
}
body main .company-history h2.company-story-title em {
  display: inline !important;
  white-space: inherit !important;
}

.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
