@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=IBM+Plex+Sans+JP:wght@400;500;600;700&display=swap");

body.biz-e {
  --e-blue: #075ee8;
  --e-ink: #171c2b;
  background: #fbfcff;
  color: var(--e-ink);
  font-family: "IBM Plex Sans JP", "Noto Sans JP", sans-serif;
}

body.biz-e .site-header {
  background: rgba(255, 255, 255, .96);
  border-color: #edf1f8;
}

body.biz-e .site-header.scrolled { background: rgba(255, 255, 255, .98); border-color: #dce4f2; }
body.biz-e .header-contact { background: var(--e-blue); }
body.biz-e main#main { margin-top: 81px; padding: 0; }
body.biz-e main#main * { box-sizing: border-box; }
body.biz-e main#main :is(h1, h2, h3, p) { font-family: inherit; }
body.biz-e main#main img { border-radius: 0; }
body.biz-e .e-label { margin: 0; color: currentColor; font: 500 11px/1.4 "DM Mono", monospace; letter-spacing: .09em; }

body.biz-e .e-hero {
  min-height: 730px;
  position: relative;
  padding: 105px 8vw;
  overflow: hidden;
  background: #fbfcff;
}

body.biz-e .e-orb {
  position: absolute;
  border-radius: 60% 40% 55% 45% / 50% 40% 60% 50%;
  background: linear-gradient(135deg, #025cef, #6ab8ff);
  animation: biz-e-drift 9s ease-in-out infinite alternate;
}

body.biz-e .e-orb.one { width: 55vw; height: 38vw; right: -17vw; top: -15vw; transform: rotate(26deg); }
body.biz-e .e-orb.two { width: 18vw; height: 30vw; left: -9vw; bottom: -11vw; transform: rotate(35deg); animation-delay: -4s; }
body.biz-e .e-orb.three { width: 12vw; height: 18vw; right: 16vw; bottom: 5vw; opacity: .94; animation-delay: -2s; }
body.biz-e .e-ring { position: absolute; width: 34vw; height: 18vw; left: 50%; bottom: 8%; border: 1px solid #0564ed; border-radius: 50%; transform: rotate(-35deg); }
body.biz-e .e-hero-photo { position: absolute; z-index: 1; right: 7vw; bottom: 6vw; display: block; width: min(35vw, 500px); height: auto; box-shadow: 18px 18px 0 rgba(7, 94, 232, .12); }
body.biz-e .e-copy { position: relative; z-index: 2; width: min(100%, 760px); }
body.biz-e .e-copy .e-label { color: var(--e-blue); }
body.biz-e .e-copy .e-label span { display: block; margin-top: 9px; color: var(--e-ink); font-family: "IBM Plex Sans JP", sans-serif; letter-spacing: 0; }
body.biz-e .e-copy h1 { max-width: 760px; margin: 28px 0; font-size: clamp(50px, 6.5vw, 94px); font-weight: 700; line-height: 1.16; letter-spacing: -.06em; }
body.biz-e .e-copy h1 span, body.biz-e .e-copy h1 strong { display: block; }
body.biz-e .e-copy h1 strong { color: var(--e-blue); font-weight: inherit; }
body.biz-e .e-target { max-width: 490px; margin: 0; font-size: 13px; line-height: 2; }
body.biz-e .e-target b { display: inline-block; margin-bottom: 4px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 11px; letter-spacing: .1em; }
body.biz-e .e-button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 48px; margin-top: 30px; padding: 13px 21px; border: 1px solid var(--e-ink); border-radius: 999px; background: var(--e-ink); color: #fff; font-size: 13px; line-height: 1; transition: transform .25s, background .25s, color .25s; }
body.biz-e .e-button:hover { transform: translateY(-3px); background: #fff; color: var(--e-ink); }

body.biz-e .e-statement { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; overflow: hidden; padding: 110px 8vw 125px; background: #fbfcff; }
body.biz-e .e-statement::before { position: absolute; top: -75px; right: -1vw; color: #eef3ff; content: "01"; font: 280px/.8 "DM Mono", monospace; }
body.biz-e .e-statement-logo { position: relative; z-index: 1; align-self: end; display: block; width: 100%; height: auto; }
body.biz-e .e-statement-copy { position: relative; z-index: 1; }
body.biz-e .e-name { margin: 0 0 22px; color: var(--e-blue); font: 500 11px/1.4 "DM Mono", monospace; letter-spacing: .09em; }
body.biz-e .e-name span { margin-left: 12px; color: var(--e-ink); font-family: "IBM Plex Sans JP", sans-serif; letter-spacing: 0; }
body.biz-e .e-statement h2 { margin: 0; font-size: clamp(38px, 4vw, 64px); font-weight: 700; line-height: 1.35; letter-spacing: -.035em; }
body.biz-e .e-statement h2 strong { display: block; color: var(--e-blue); font-weight: inherit; }
body.biz-e .e-statement-copy > p:not(.e-name) { margin: 32px 0 0; font-size: 15px; line-height: 2.35; }
body.biz-e .e-statement-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 30px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--e-blue); font-size: 13px; }

body.biz-e .e-work { position: relative; overflow: hidden; padding: 110px 8vw; background: #f2f6ff; }
body.biz-e .e-work::after { position: absolute; top: -5vw; right: -8vw; width: 50vw; height: 32vw; border: 1px solid var(--e-blue); border-radius: 50%; content: ""; transform: rotate(30deg); }
body.biz-e .e-work > .e-label, body.biz-e .e-work h2, body.biz-e .e-grid { position: relative; z-index: 1; }
body.biz-e .e-work > .e-label { color: var(--e-blue); }
body.biz-e .e-work h2 { margin: 15px 0 55px; font-size: 48px; font-weight: 700; line-height: 1.25; }
body.biz-e .e-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
body.biz-e .e-tile { display: flex; min-height: 225px; flex-direction: column; padding: 28px; border-top: 4px solid var(--e-blue); background: #fff; transition: transform .25s, box-shadow .25s; }
body.biz-e .e-tile:hover { box-shadow: 0 14px 30px rgba(7, 94, 232, .12); transform: translateY(-4px); }
body.biz-e .e-tile b { color: var(--e-blue); font: 13px "DM Mono", monospace; }
body.biz-e .e-tile h3 { margin: 22px 0 0; font-size: 21px; font-weight: 700; line-height: 1.6; }
body.biz-e .e-tile p { margin: 16px 0 0; font-size: 14px; line-height: 2; }
body.biz-e .e-tile .mark { margin-top: auto; color: #cfe0ff; font: 72px/1 "DM Mono", monospace; text-align: right; }

body.biz-e .e-contact-band { position: relative; display: grid; grid-template-columns: minmax(280px, .8fr) minmax(400px, 1.2fr); gap: 7vw; overflow: hidden; padding: 72px 8vw 82px; background: var(--e-blue); color: #fff; }
body.biz-e .e-contact-band::before { position: absolute; top: -5vw; right: -7vw; width: 38vw; height: 17vw; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; content: ""; transform: rotate(-25deg); }
body.biz-e .e-contact-band > * { position: relative; z-index: 1; }
body.biz-e .e-contact-title { align-self: start; }
body.biz-e .e-contact-title h2 { margin: 14px 0 0; font-size: clamp(34px, 4vw, 58px); font-weight: 700; line-height: 1.28; letter-spacing: -.035em; }
body.biz-e .e-contact-title .e-button { border-color: #fff; background: transparent; color: #fff; }
body.biz-e .e-contact-title .e-button:hover { background: #fff; color: var(--e-blue); }
body.biz-e .e-contact-band .contact-form { width: 100%; max-width: none; margin: 0; padding: 30px; background: rgba(255, 255, 255, .13); }
body.biz-e .e-contact-band .field { margin: 0 0 18px; }
body.biz-e .e-contact-band .field label { display: block; margin: 0 0 7px; color: #fff; font-size: 13px; line-height: 1.5; }
body.biz-e .e-contact-band .field :is(input, select, textarea) { display: block; width: 100%; min-width: 0; height: 47px; padding: 10px 12px; border: 1px solid #fff; border-radius: 0; outline: 0; background: #fff; color: var(--e-ink); font: inherit; font-size: 14px; line-height: 1.5; }
body.biz-e .e-contact-band .field textarea { height: 105px; resize: vertical; }
body.biz-e .e-contact-band .field :is(input, select, textarea):focus { box-shadow: 0 0 0 3px rgba(255, 255, 255, .45); }
body.biz-e .e-contact-band .privacy { margin: 24px 0 0; color: #fff; font-size: 12px; line-height: 1.7; }
body.biz-e .e-contact-band .shop-button { min-height: 48px; margin-top: 18px; border: 1px solid #fff; border-radius: 999px; background: #fff; color: var(--e-blue); font: 500 13px/1.2 "IBM Plex Sans JP", sans-serif; }
body.biz-e .e-contact-band .demo-status { min-height: 1.5em; margin: 12px 0 0; color: #fff; font-size: 12px; }

@keyframes biz-e-drift { to { transform: translate(4vw, 2vw) rotate(35deg); } }

@media (max-width: 700px) {
  body.biz-e main#main { margin-top: 68px; }
  body.biz-e .e-hero { min-height: 620px; padding: 72px 24px 290px; }
  body.biz-e .e-copy h1 { font-size: 50px; }
  body.biz-e .e-orb.one { width: 75vw; height: 54vw; }
  body.biz-e .e-orb.three { width: 23vw; height: 32vw; }
  body.biz-e .e-ring { width: 65vw; height: 35vw; }
  body.biz-e .e-hero-photo { right: 12vw; bottom: 32px; width: 76vw; }
  body.biz-e .e-statement { display: block; padding: 80px 24px; }
  body.biz-e .e-statement-logo { margin: 0 0 34px; }
  body.biz-e .e-statement h2 { font-size: 36px; }
  body.biz-e .e-statement-copy > p:not(.e-name) { margin-top: 35px; font-size: 13px; }
  body.biz-e .e-work { padding: 80px 24px; }
  body.biz-e .e-work h2 { margin-bottom: 36px; font-size: 38px; }
  body.biz-e .e-grid { grid-template-columns: 1fr; }
  body.biz-e .e-tile { min-height: 145px; }
  body.biz-e .e-contact-band { display: block; padding: 70px 24px; }
  body.biz-e .e-contact-band .contact-form { margin-top: 38px; padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  body.biz-e .e-orb { animation: none; }
  body.biz-e .e-button, body.biz-e .e-tile { transition: none; }
}
/* manual fix 10/21: keep each heading line whole (no lone 「で、」) */
body.biz-e .e-copy h1{max-width:none;font-size:clamp(44px,5vw,78px)}
body.biz-e .e-copy h1 span,body.biz-e .e-copy h1 strong{white-space:nowrap}
@media (max-width:720px){body.biz-e .e-copy h1{font-size:clamp(30px,8.6vw,40px)}}
/* 10/21 perfect pass: no meaningless ghost numeral; hero photo larger */
body.biz-e .e-statement::before{content:none}
@media(min-width:721px){body.biz-e .e-hero-photo{width:min(44vw,640px);right:5vw}}

/* ROUND12 shared reception palette. */
body.biz-e{--inquiry-bg:#075ee8;--inquiry-ink:#fff}
/* hero logo sits on the background, not a floating card (10/22) */
body.biz-e .e-hero-photo.e-hero-logo{box-shadow:none;background:none;border-radius:0;top:50%;bottom:auto;transform:translateY(-38%);right:4vw;width:min(46vw,660px);filter:drop-shadow(0 10px 28px rgba(2,60,160,.12))}
body.biz-e .e-hero:has(.e-hero-logo) .e-ring{display:none}
@media(max-width:720px){body.biz-e .e-hero-photo.e-hero-logo{top:auto;bottom:40px;transform:none;right:auto;left:50%;margin-left:-44vw;width:88vw}}
body.biz-e .e-hero:has(.e-hero-logo) .e-orb.three{display:none}
body.biz-e .e-hero-photo.e-hero-logo{filter:none}
/* statement photo anchored: full-bleed left half, full section height (10/22) */
@media(min-width:721px){
 body.biz-e .e-statement{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0;align-items:stretch}
 body.biz-e .e-statement-logo{align-self:stretch;width:100%;height:100%;min-height:560px;object-fit:cover!important;object-position:62% 60%}
 body.biz-e .e-statement-copy{align-self:center;padding:110px 8vw 120px 6vw}
}
@media(max-width:720px){
 body.biz-e .e-statement{padding:0 0 72px}
 body.biz-e .e-statement-logo{width:100%;aspect-ratio:4/3;object-fit:cover!important;margin:0 0 40px}
 body.biz-e .e-statement-copy{padding:0 24px}
}
body.biz-e .e-statement h2 .nw{display:inline-block;white-space:nowrap}
body.biz-e .e-statement h2{font-size:clamp(30px,3.1vw,46px);line-height:1.45}
@media(max-width:720px){body.biz-e .e-statement h2{font-size:28px}}
