/*
  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 { --black: #0b0b0a; --white: #f2f0e8; --paper: #fbfaf6; --blue: #2dbecd; --orange: #e88900; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--black); font-family: "Helvetica Neue", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", sans-serif; font-feature-settings: "palt" 1; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.corp-v2 { min-height: 100vh; background: var(--white); color: var(--black); }
.corp-v2 a:focus-visible, .corp-v2 summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.corp-v2 #about, .corp-v2 #brands { scroll-margin-top: 24px; }
.corp-v2-header { position: absolute; inset: 0 0 auto; z-index: 10; height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(22px, 4vw, 64px); border-bottom: 1px solid rgba(255,255,255,.2); color: var(--white); }
.corp-v2-wordmark { display: flex; align-items: baseline; gap: 14px; font-size: 18px; font-weight: 800; letter-spacing: .04em; }
.corp-v2-wordmark span { color: #9b9b95; font-family: Arial, sans-serif; font-size: 8px; letter-spacing: .18em; }
.corp-v2-header nav { display: flex; align-items: center; gap: clamp(18px, 3vw, 42px); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.corp-v2-header nav a { transition: opacity .2s ease, background .2s ease; }
.corp-v2-header nav a:hover { opacity: .7; }
.corp-v2-header nav a:last-child { display: inline-flex; align-items: center; gap: 8px; padding: 11px 15px; background: var(--white); color: var(--black); }
.corp-v2-hero { position: relative; min-height: 850px; padding: 125px clamp(22px, 4vw, 64px) 46px; overflow: hidden; background: var(--black); color: var(--white); }
.corp-v2-index { margin: 0; color: #b9b9b3; font-size: 9px; font-weight: 700; letter-spacing: .22em; }
.corp-v2-hero h1 { margin: 48px 0 0; font-family: Arial Black, Arial, sans-serif; font-size: clamp(82px, 15.5vw, 232px); font-weight: 900; line-height: .74; letter-spacing: -.075em; }
.corp-v2-hero h1 span { display: block; }
.corp-v2-hero h1 span:last-child { margin-left: 11vw; color: transparent; -webkit-text-stroke: 2px var(--white); }
.corp-v2-message { position: absolute; right: clamp(110px, 15vw, 230px); bottom: 50px; z-index: 2; }
.corp-v2-message p { margin: 0 0 28px; font-size: clamp(20px, 2.2vw, 32px); font-weight: 700; line-height: 1.55; letter-spacing: -.02em; }
.corp-v2-message a { display: inline-flex; gap: 40px; padding-bottom: 10px; border-bottom: 1px solid; font-size: 9px; letter-spacing: .2em; }
.corp-v2-accent { position: absolute; right: 0; top: 84px; bottom: 0; width: 72px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px 0; background: var(--blue); color: var(--black); overflow: hidden; }
.corp-v2-accent span { writing-mode: vertical-rl; margin: auto; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.corp-v2-label { margin: 0; font-size: 9px; font-weight: 800; letter-spacing: .22em; }
.corp-v2-statement { display: grid; grid-template-columns: .28fr 1.2fr .72fr; gap: 50px; padding: clamp(100px, 13vw, 190px) clamp(24px, 6vw, 92px); background: var(--paper); }
.corp-v2-statement h2 { margin: 0; font-size: clamp(52px, 7vw, 104px); font-weight: 800; line-height: 1.2; letter-spacing: -.065em; }
.corp-v2-statement > div { align-self: end; padding-bottom: 10px; }
.corp-v2-statement > div p { margin: 18px 0 0; font-size: 13px; font-weight: 500; line-height: 2; }
.corp-v2-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 44px; }
.corp-v2-section-head h2 { margin: 0; font-family: Arial Black, Arial, sans-serif; font-size: clamp(54px, 9vw, 130px); font-weight: 900; line-height: .8; letter-spacing: -.06em; }
.corp-v2-brands { padding: clamp(90px, 10vw, 150px) clamp(18px, 3vw, 48px); background: var(--white); }
.corp-brand { position: relative; min-height: min(76vw, 780px); margin-top: 18px; overflow: hidden; color: white; }
.corp-brand::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.34), transparent 45%, rgba(0,0,0,.62)); }
.corp-brand-image { position: absolute; inset: 0; }
.corp-brand-image img { object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.corp-brand:hover .corp-brand-image img { transform: scale(1.025); }
.corp-brand-suzu .corp-brand-image img { object-position: center 46%; }
.corp-brand-solara .corp-brand-image img { object-position: center 32%; }
.corp-brand-top, .corp-brand-bottom { position: absolute; left: 0; right: 0; z-index: 2; display: flex; justify-content: space-between; align-items: start; padding: 32px clamp(24px, 4vw, 58px); }
.corp-brand-top { top: 0; }
.corp-brand-top span { font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.corp-brand-top strong { max-width: 100%; white-space: nowrap; font-family: Arial Black, Arial, sans-serif; font-size: clamp(36px, 7vw, 104px); line-height: .78; letter-spacing: -.07em; }
.corp-brand-bottom { bottom: 0; align-items: end; }
.corp-brand-bottom p { max-width: 560px; margin: 0; font-size: clamp(17px, 2.1vw, 29px); font-weight: 700; line-height: 1.55; letter-spacing: -.035em; }
.corp-brand-bottom a { display: inline-flex; align-items: center; gap: 28px; padding: 15px 18px; background: var(--white); color: var(--black); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.corp-brand-bottom a { transition: color .2s ease, background .2s ease; }
.corp-brand-bottom a:hover { background: var(--blue); color: var(--black); }
.corp-brand-suzu .corp-brand-top strong { color: var(--orange); }
.corp-brand-solara .corp-brand-top strong { color: var(--blue); }
.corp-v2-approach { display: grid; grid-template-columns: .82fr 1.18fr; background: var(--black); color: var(--white); }
.corp-v2-approach-title { padding: clamp(80px, 9vw, 130px) clamp(24px, 6vw, 92px); background: var(--blue); color: var(--black); }
.corp-v2-approach-title h2 { margin: 60px 0 0; font-size: clamp(52px, 6vw, 88px); font-weight: 900; line-height: 1.15; letter-spacing: -.075em; }
.corp-v2-approach ol { margin: 0; padding: 0; list-style: none; }
.corp-v2-approach li { display: grid; grid-template-columns: 60px .5fr 1fr; align-items: center; gap: 24px; min-height: 33.333%; padding: 30px clamp(24px, 5vw, 70px); border-bottom: 1px solid rgba(255,255,255,.2); }
.corp-v2-approach li:last-child { border: 0; }
.corp-v2-approach li span { color: #8b8b86; font-size: 9px; }
.corp-v2-approach li h3 { margin: 0; font-size: clamp(20px, 2.2vw, 30px); font-weight: 800; letter-spacing: -.035em; }
.corp-v2-approach li p { margin: 0; color: #b9b9b3; font-size: 12px; line-height: 1.9; }
.corp-v2-faq { display: grid; grid-template-columns: .55fr 1fr; gap: 70px; padding: clamp(90px, 11vw, 150px) clamp(24px, 6vw, 92px); background: #d8d7d1; }
.corp-v2-faq h2 { margin: 24px 0 0; font-size: clamp(40px, 5vw, 68px); font-weight: 800; line-height: 1.2; letter-spacing: -.06em; }
.corp-v2-faq details { border-top: 1px solid #999994; }
.corp-v2-faq details:last-child { border-bottom: 1px solid #999994; }
.corp-v2-faq summary { padding: 25px 40px 25px 0; cursor: pointer; font-size: 13px; }
.corp-v2-faq details p { margin: 0; padding: 0 40px 25px 0; color: #575752; font-size: 12px; line-height: 1.9; }
.corp-v2-footer { padding: clamp(80px, 11vw, 150px) clamp(24px, 6vw, 92px) 40px; background: var(--black); color: var(--white); }
.corp-v2-footer > p { margin: 0; font-size: clamp(28px, 4vw, 58px); font-weight: 800; line-height: 1.35; letter-spacing: -.05em; }
.corp-v2-footer > a { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 70px 0 100px; padding: 24px 0; border-top: 2px solid var(--white); border-bottom: 2px solid var(--white); white-space: nowrap; font-family: Arial Black, Arial, sans-serif; font-size: clamp(32px, 8.8vw, 132px); font-weight: 900; letter-spacing: -.075em; }
.corp-v2-footer > a { transition: color .2s ease; }
.corp-v2-footer > a:hover { color: var(--blue); }
.corp-v2-footer > div { display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .12em; color: #92928c; }

@media (max-width: 800px) {
  .corp-v2-header nav a:not(:last-child) { display: none; }
  .corp-v2-hero { min-height: 730px; padding-top: 150px; }
  .corp-v2-hero h1 { margin-top: 90px; font-size: clamp(70px, 21vw, 118px); line-height: .8; }
  .corp-v2-hero h1 span:last-child { margin-left: 0; }
  .corp-v2-message { left: 24px; right: 88px; bottom: 48px; }
  .corp-v2-accent { width: 52px; }
  .corp-v2-statement { grid-template-columns: 1fr; gap: 40px; }
  .corp-v2-statement h2 { font-size: clamp(38px, 11vw, 58px); }
  .corp-v2-section-head { align-items: start; flex-direction: column; gap: 36px; }
  .corp-brand { min-height: 680px; }
  .corp-brand-top, .corp-brand-bottom { flex-direction: column; gap: 24px; }
  .corp-brand-top strong { margin-top: 20px; font-size: clamp(27px, 8.5vw, 62px); }
  .corp-brand-bottom { align-items: flex-start; }
  .corp-v2-approach { grid-template-columns: 1fr; }
  .corp-v2-approach li { grid-template-columns: 38px 1fr; min-height: 180px; }
  .corp-v2-approach li p { grid-column: 2; }
  .corp-v2-faq { grid-template-columns: 1fr; }
  .corp-v2-footer > a { font-size: clamp(30px, 9.7vw, 68px); }
}

@media (prefers-reduced-motion: no-preference) {
  .corp-v2-hero h1 { animation: corp-rise .9s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes corp-rise { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }
}



/* Original corporate typography and palette, scoped away from the Suzu site. */
.corp-v2, .contact-page {
  --black: #1c1c1c;
  --white: #fafaf8;
  --paper: #fff;
  --gold: #c9a84c;
  --corporate-serif: 'Noto Serif JP', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
  --corporate-latin: 'Cormorant Garamond', Georgia, serif;
  font-family: var(--corporate-serif);
  font-feature-settings: normal;
}
.corp-v2 .corp-v2-wordmark { font-weight: 500; letter-spacing: .15em; }
.corp-v2 .corp-v2-wordmark span, .corp-v2 .corp-v2-header nav,
.corp-v2 .corp-v2-index, .corp-v2 .corp-v2-label,
.corp-v2 .corp-v2-accent, .corp-v2 .corp-v2-footer > a,
.corp-v2 .corp-v2-section-head h2 { font-family: var(--corporate-latin); }
.corp-v2 .corp-v2-wordmark span { color: var(--gold); font-size: 12px; }
.corp-v2 .corp-v2-header nav { font-size: 14px; font-weight: 500; }
.corp-v2 .corp-v2-index { color: var(--gold); font-size: 20px; letter-spacing: .14em; }
.corp-v2 .corp-v2-hero { min-height: 860px; padding-right: calc(clamp(22px, 4vw, 64px) + 72px); background: #111; }
.corp-v2 .corp-v2-hero h1 { font-family: 'Arial Black', Arial, sans-serif; font-size: clamp(72px, 12.5vw, 180px); font-weight: 800; line-height: .85; letter-spacing: -.055em; }
.corp-v2 .corp-v2-hero h1 span:last-child { color: var(--gold); -webkit-text-stroke: 0; }
.corp-v2 .corp-v2-message { position: relative; inset: auto; max-width: 540px; margin: 64px 0 0 auto; }
.corp-v2 .corp-v2-message > p { font-size: clamp(34px, 4.4vw, 64px); font-weight: 400; letter-spacing: .06em; line-height: 1.6; }
.corp-v2 .corp-v2-message .corp-v2-hero-description { max-width: 420px; font-size: 1rem; line-height: 2; }
.corp-v2 .corp-v2-message > a { font-size: 14px; }
.corp-v2 .corp-v2-accent { background: var(--gold); }
.corp-v2 .corp-v2-accent span { font-size: 14px; font-weight: 500; }
.corp-v2 .corp-v2-label { font-size: 14px; font-weight: 500; color: var(--gold); }
.corp-v2 .corp-v2-statement { grid-template-columns: .25fr 1fr 1.15fr; gap: 40px; }
.corp-v2 .corp-v2-statement h2 { font-size: clamp(28px, 3.4vw, 52px); font-weight: 400; line-height: 1.7; letter-spacing: .04em; }
.corp-v2 .corp-v2-statement > div p { font-size: 1rem; font-weight: 400; line-height: 2.2; }
.corp-v2 .corp-v2-section-head h2 { font-size: clamp(48px, 7vw, 96px); font-weight: 400; letter-spacing: .03em; line-height: 1; }
.corp-v2 .corp-brand::after { background: linear-gradient(to bottom, rgba(0,0,0,.34), transparent 35%, rgba(0,0,0,.78)); }
.corp-v2 .corp-brand-top { gap: 24px; }
.corp-v2 .corp-brand-logo { position: relative; flex-shrink: 0; max-width: 100%; }
.corp-v2 .corp-brand-logo-suzu { width: clamp(240px, 32vw, 440px); aspect-ratio: 678 / 124; overflow: hidden; }
/* Display the supplied logo without its transparent outer margins. */
.corp-v2 .corp-brand-logo-suzu img { position: absolute; width: 124.1888%; max-width: none; height: auto; left: -16.5192%; top: -220.9677%; }
.corp-v2 .corp-brand-logo-solara { width: clamp(180px, 22vw, 280px); aspect-ratio: 755 / 433; overflow: hidden; }
.corp-v2 .corp-brand-logo-solara img { position: absolute; width: 207.0199%; max-width: none; height: auto; left: -54.1722%; top: -116.1663%; }
.corp-v2 .corp-brand-top span { font-size: 14px; font-weight: 400; letter-spacing: .08em; }
.corp-v2 .corp-brand-top strong { font-family: var(--corporate-latin); font-size: clamp(30px, 5.5vw, 82px); font-weight: 600; line-height: 1.1; letter-spacing: .02em; }
.corp-v2 .corp-brand-suzu .corp-brand-top strong { color: #db8611; }
.corp-v2 .corp-brand-bottom { gap: 36px; }
.corp-v2 .corp-brand-description { max-width: 620px; }
.corp-v2 .corp-brand-description p { font-size: 1rem; font-weight: 400; line-height: 2; letter-spacing: .03em; }
.corp-v2 .corp-brand-description p + p { margin-top: 12px; }
.corp-v2 .corp-brand-bottom a { flex-shrink: 0; font-size: 14px; font-weight: 500; letter-spacing: .04em; }
.corp-v2 .corp-brand-suzu .corp-brand-bottom a:hover { background: #db8611; }
.corp-v2 .corp-brand-solara .corp-brand-bottom a:hover { background: var(--blue); }
.corp-v2 .corp-v2-approach { background: #111; }
.corp-v2 .corp-v2-approach-title { background: var(--white); border-block: 1px solid rgba(201,168,76,.3); }
.corp-v2 .corp-v2-approach-title h2 { font-size: clamp(36px, 4vw, 60px); font-weight: 400; line-height: 1.8; letter-spacing: .04em; }
.corp-v2 .corp-v2-vision-body { padding-block: 28px; }
.corp-v2 .corp-v2-approach li { grid-template-columns: 38px 1fr; min-height: 130px; border-color: rgba(201,168,76,.3); }
.corp-v2 .corp-v2-approach li span { color: var(--gold); font-family: var(--corporate-latin); font-size: 20px; }
.corp-v2 .corp-v2-approach li h3 { font-size: clamp(20px, 2vw, 28px); font-weight: 400; line-height: 1.8; letter-spacing: .04em; }
.corp-v2 .corp-v2-vision-description { margin: 24px 0 0; padding: 0 clamp(24px, 5vw, 70px); font-size: 1rem; line-height: 2.2; }
.corp-v2 .corp-v2-philosophy { max-width: 480px; margin-top: 44px; font-size: 1rem; line-height: 2.2; }
.corp-v2 .corp-v2-philosophy p { margin: 0 0 20px; }
.corp-v2 .corp-v2-philosophy .corp-v2-philosophy-lead { font-weight: 600; }
.corp-v2 .corp-v2-vision-body { align-self: center; padding-block: 48px; }
.corp-v2 .corp-v2-representative { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 7vw, 100px); padding: clamp(64px, 7vw, 100px) clamp(24px, 6vw, 92px); background: var(--white); border-bottom: 1px solid rgba(201,168,76,.3); }
.corp-v2 .corp-v2-representative .corp-v2-label { color: #796329; }
.corp-v2 .corp-v2-representative h2 { margin: 24px 0 0; font-size: clamp(28px, 3.2vw, 44px); font-weight: 400; line-height: 1.8; letter-spacing: .04em; }
.corp-v2 .corp-v2-representative-copy { max-width: 660px; font-size: 1rem; line-height: 2.2; overflow-wrap: anywhere; }
.corp-v2 .corp-v2-representative-copy p { margin: 0 0 24px; }
.corp-v2 .corp-v2-message-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding: 12px 0; border-bottom: 1px solid var(--gold); font-size: 14px; }
.corp-v2 .corp-v2-faq { background: var(--paper); }
.corp-v2 .corp-v2-faq h2 { font-size: clamp(28px, 3.5vw, 48px); font-weight: 400; letter-spacing: .04em; }
.corp-v2 .corp-v2-faq details { border-color: rgba(201,168,76,.55); }
.corp-v2 .corp-v2-faq summary, .corp-v2 .corp-v2-faq details p { font-size: 1rem; line-height: 2; }
.corp-v2 .corp-v2-footer { background: #0a0a0a; }
.corp-v2 .corp-v2-footer > p { font-size: clamp(1rem, 1.2vw, 1.125rem); font-weight: 400; line-height: 2; letter-spacing: .04em; }
.corp-v2 .corp-v2-footer > a { color: var(--gold); border-color: rgba(201,168,76,.5); border-width: 1px; margin: 40px 0 64px; padding: 20px 0; min-height: 48px; font-size: clamp(1.5rem, 2.5vw, 2.25rem); font-weight: 400; letter-spacing: .08em; }
.corp-v2 .corp-v2-footer > a:hover { color: var(--white); }
.corp-v2 a:focus-visible, .corp-v2 summary:focus-visible { outline-color: var(--gold); }

.contact-page { background: var(--white); color: var(--black); }
.contact-page .contact-header, .contact-page .contact-footer { background: #0a0a0a; color: var(--white); }
.contact-page .contact-header a, .contact-page .contact-footer a { font-weight: 500; }
.contact-page .contact-header span { font-family: var(--corporate-latin); font-size: 12px; color: var(--gold); }
.contact-page .contact-hero { background: var(--white); color: var(--black); border-bottom: 1px solid rgba(201,168,76,.4); }
.contact-page .contact-hero > p, .contact-page .contact-layout aside > p:first-child { color: #796329; font-family: var(--corporate-latin); font-size: 14px; }
.contact-page .contact-hero h1 { font-family: var(--corporate-serif); font-size: clamp(32px, 5vw, 76px); font-weight: 400; line-height: 1.5; letter-spacing: .04em; }
.contact-page .contact-hero div p, .contact-page .contact-layout aside dd { font-size: 1rem; line-height: 2; }
.contact-page .contact-layout { background: var(--paper); }
.contact-page .contact-layout aside h2 { font-size: clamp(26px, 3vw, 42px); font-weight: 400; line-height: 1.8; letter-spacing: .04em; }
.contact-page .contact-layout aside dt { color: #796329; font-size: 14px; font-weight: 500; }
.contact-page .contact-form { background: var(--white); border: 1px solid var(--gold); }
.contact-page .form-row label, .contact-page .privacy-check, .contact-page .contact-direct { font-size: 14px; }
.contact-page .form-row em { color: #796329; font-size: 12px; }
.contact-page .form-row input, .contact-page .form-row select, .contact-page .form-row textarea { font-size: 1rem; }
.contact-page .form-row input:focus, .contact-page .form-row select:focus, .contact-page .form-row textarea:focus { border-color: var(--gold); box-shadow: 0 1px 0 var(--gold); }
.contact-page .privacy-check input { accent-color: #796329; }
.contact-page .contact-form button { font-size: 14px; font-weight: 500; background: #111; color: var(--white); }
.contact-page .form-note, .contact-page .form-status { font-size: 12px; }
.contact-page .form-status { color: #796329; }

@media (min-width: 801px) {
  .corp-v2 .corp-v2-message .corp-v2-hero-description,
  .corp-v2 .corp-v2-statement > div p,
  .corp-v2 .corp-brand-description p,
  .corp-v2 .corp-v2-vision-description,
  .corp-v2 .corp-v2-philosophy,
  .corp-v2 .corp-v2-representative-copy,
  .contact-page .contact-hero div p,
  .contact-page .contact-layout aside dd { font-size: 1.0625rem; }
}

@media (max-width: 800px) {
  .corp-v2 .corp-v2-wordmark { font-size: 16px; gap: 8px; }
  .corp-v2 .corp-v2-wordmark span { font-size: 10px; }
  .corp-v2 .corp-v2-header nav { font-size: 12px; }
  .corp-v2 .corp-v2-header nav a:last-child { padding: 11px 10px; }
  .corp-v2 .corp-v2-hero { min-height: 0; padding-right: 76px; padding-bottom: 56px; }
  .corp-v2 .corp-v2-hero h1 { margin-top: 64px; font-size: clamp(56px, 17vw, 110px); }
  .corp-v2 .corp-v2-message { inset: auto; margin-top: 56px; }
  .corp-v2 .corp-v2-message > p { font-size: clamp(28px, 6.7vw, 46px); }
  .corp-v2 .corp-v2-message .corp-v2-hero-description { font-size: 1rem; }
  .corp-v2 .corp-v2-statement { grid-template-columns: 1fr; }
  .corp-v2 .corp-v2-statement h2 { font-size: clamp(26px, 7vw, 38px); }
  .corp-v2 .corp-brand-top strong { font-size: clamp(24px, 7.2vw, 52px); }
  /* Let copy grow independently of the photograph, including enlarged text. */
  .corp-v2 .corp-brand { display: grid; grid-template-rows: auto minmax(5rem, 1fr) auto; min-height: 740px; }
  .corp-v2 .corp-brand::after { display: none; }
  .corp-v2 .corp-brand-image img { filter: brightness(.46); }
  .corp-v2 .corp-brand-top, .corp-v2 .corp-brand-bottom { position: relative; inset: auto; min-width: 0; padding: 28px 24px; }
  .corp-v2 .corp-brand-top { grid-row: 1; gap: 20px; background: transparent; }
  .corp-v2 .corp-brand-logo-suzu { width: min(100%, 320px); }
  .corp-v2 .corp-brand-logo-solara { width: min(100%, 240px); }
  .corp-v2 .corp-brand-top strong { margin-top: 0; }
  .corp-v2 .corp-brand-bottom { grid-row: 3; gap: 24px; background: transparent; }
  .corp-v2 .corp-brand-description p { color: #fff; font-weight: 500; line-height: 2; }
  .corp-v2 .corp-brand-bottom a { justify-content: space-between; width: 100%; min-height: 48px; gap: 12px; }
  .corp-v2 .corp-brand-bottom a svg { flex-shrink: 0; }
  .corp-v2 .corp-v2-approach-title { padding-block: 70px; }
  .corp-v2 .corp-v2-representative { grid-template-columns: 1fr; gap: 36px; }
  .corp-v2 .corp-v2-footer > a { font-size: 1.5rem; }
}


.wp-suzu-font{font-family:"Shippori Mincho B1",serif;}
body.asami-renewal-page { margin: 0; }
.contact-layout > .wpcf7 { min-width: 0; }
.contact-page .wpcf7 .contact-form p { margin: 0; }
.contact-page .wpcf7-form-control-wrap { display: block; min-width: 0; }
.contact-page .form-row > p { display: grid; gap: 10px; min-width: 0; }
.contact-page .form-row > p > br { display: none; }
.contact-page .wpcf7 .asami-submit { width: 100%; min-height: 56px; padding: 16px 24px; border: 0; border-radius: 0; background: #1c1c1c; color: #fff; font: inherit; font-size: 14px; letter-spacing: .12em; cursor: pointer; }
.contact-page .wpcf7 .asami-submit:disabled { opacity: .5; cursor: not-allowed; }
.contact-page .wpcf7 .asami-submit:focus-visible { outline: 2px solid #aa8951; outline-offset: 4px; }
.contact-page .wpcf7-list-item { margin: 0; }
.contact-page .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 10px; line-height: 1.8; }
.contact-page .wpcf7-list-item input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: #aa8951; }
.contact-page .wpcf7 .wpcf7-not-valid-tip { font-size: 13px; line-height: 1.8; margin-top: 6px; color: #a02c28; }
.contact-page .wpcf7 form .wpcf7-response-output { margin: 0; padding: 16px; font-size: 14px; line-height: 1.9; border-width: 1px; }
.contact-page .wpcf7 form.sent .wpcf7-response-output { border-color: #54745a; color: #294c30; }
.contact-page .wpcf7 form.invalid .wpcf7-response-output, .contact-page .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #9a7540; color: #654a26; }
.contact-page .wpcf7 .asami-antispam { font-size: 11px; line-height: 1.8; }
.contact-page .wpcf7 .form-note a { text-decoration: underline; text-underline-offset: 3px; }
.contact-page .wpcf7 .wpcf7-spinner { display: block; margin: 8px auto -16px; }
body.asami-renewal-page #asami-renewal-root { isolation: isolate; position: relative; }
body.asami-renewal-page .asami-renewal-legal { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; padding: 24px clamp(24px,6vw,92px); background: #0a0a0a; color: #fafaf8; font-size: .875rem; }
.asami-renewal-legal a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
body.admin-bar.asami-renewal-page .suzu-v5-header { top: 32px; }
@media(max-width:782px){ body.admin-bar.asami-renewal-page .suzu-v5-header { top:46px; } }
@media(max-width:600px){ body.admin-bar.asami-renewal-page .suzu-v5-header { top:0; } }
