
/*
 * SUMI v1.3 | Warm Editorial + Soft Flow
 * Intent: calm and approachable without generic photos, illustrations, extra logos,
 * gratuitous cards, fake UI or changes to established service/price/copy.
 * Interaction containers retain clear boundaries; explanatory sections use rhythm,
 * warmth, connectors and editorial hierarchy rather than boxed-in panels.
 */
.sumi-root {
  --sumi-soft-ink: #1C3342;
  --sumi-soft-navy: #244B6B;
  --sumi-soft-teal: #5E8F8C;
  --sumi-soft-paper: #FBF9F5;
  --sumi-soft-cream: #F6F0E7;
  --sumi-soft-muted: #506976;
}
/* Consistent gothic typography, no decorative mark in the brand. */
.sumi-root,
.sumi-root :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,a,button,input,select,textarea,label,th,td,summary) {
  font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;
}
.sumi-root .sumi-brand::before,.sumi-root .sumi-brand::after {content:none!important;display:none!important;}
/* Restrained warmth in HERO, while keeping the approved right-side vertical brand rule. */
.sumi-root .sumi-hero {background:#FAFCFC;position:relative;overflow:hidden;}
.sumi-root .sumi-hero__atmosphere {
  background-color:#F7FAF9;
  background-image:
     radial-gradient(ellipse at 88% 84%,rgba(199,215,203,.47) 0,rgba(214,231,229,.24) 32%,transparent 68%),
     radial-gradient(ellipse at 15% 11%,rgba(248,239,225,.83),transparent 61%);
}
.sumi-root .sumi-hero__atmosphere::after {
  background:linear-gradient(106deg,rgba(255,254,252,.93) 0%,rgba(255,253,249,.84) 39%,rgba(250,254,252,.36) 77%,rgba(255,255,255,0) 100%);
}
.sumi-root .sumi-hero__aside {border-left-color:#95AFAC;}
.sumi-root .sumi-hero__facts {border-top-color:#D5E0D9;}
/* A section is a chapter, not another box. Noticeable warmth and non-identical composition. */
.sumi-root .sumi-v09-home-price {
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse 67% 90% at 105% 0%,#E8EFEB 0%,transparent 70%),#FBFAF7;
}
.sumi-root .sumi-v09-home-price::before {
  content:'';position:absolute;z-index:-1;pointer-events:none;
  width:46vw;height:46vw;max-width:640px;max-height:640px;
  right:-20vw;bottom:-37vw;border-radius:50%;
  background:radial-gradient(circle,rgba(206,224,217,.35),rgba(243,247,239,0) 69%);
}
.sumi-root .sumi-v09-home-price__head {
  align-items:start;gap:clamp(35px,8vw,124px);
}
.sumi-root .sumi-v09-home-price__key {transform:translateY(20px);}
.sumi-root .sumi-v10-home-services {
  background:#FFFFFF;border:0;position:relative;
}
.sumi-root .sumi-v10-home-services__heading {
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:15px 8%;align-items:center;margin-bottom:46px;
}
.sumi-root .sumi-v10-home-services__heading>div {
  grid-column:1;grid-row:1 / span 2;border-left:0;padding-left:0;
}
.sumi-root .sumi-v10-home-services__heading>p {grid-column:2;grid-row:1;max-width:390px;}
.sumi-root .sumi-v10-home-services__heading .sumi-text-link {grid-column:2;grid-row:2;justify-self:start;}
.sumi-root .sumi-v10-home-services__heading h2 {font-size:clamp(30px,3vw,43px);letter-spacing:-.045em;}
.sumi-root .sumi-v07-home-flow {
  background:#F5F7F3;border-top:0;
}
.sumi-root .sumi-v08-home-operations {
  background:#FFFFFF;border-top:0;
}
.sumi-root .sumi-v08-home-operations__layout {grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(50px,9vw,125px);}
.sumi-root .sumi-v08-home-operations__duties {border-top:0;padding:10px 0 10px 28px;border-left:2px solid #A2C1B8;}
.sumi-root .sumi-v08-home-operations__duties>div {grid-template-columns:86px minmax(0,1fr);border:0;padding:18px 0;}
.sumi-root .sumi-v08-home-operations__duties>div+div {border-top:1px solid rgba(94,143,140,.24);}
.sumi-root .sumi-v08-home-operations__duties>small {margin-top:18px;}
.sumi-root .sumi-office--warm {
  overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse 46% 80% at 0% 100%,rgba(218,201,172,.2),transparent 74%),#FAF7F1;
}
.sumi-root .sumi-office--warm::after {
  content:'';position:absolute;z-index:-1;pointer-events:none;
  width:480px;height:480px;border-radius:50%;right:-270px;top:-300px;
  background:rgba(230,217,193,.15);
}
.sumi-root .sumi-office__layout {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(64px,11vw,160px);}
.sumi-root .sumi-office__intro {padding-left:0;}
.sumi-root .sumi-office__intro::before {display:none;}
.sumi-root .sumi-office__intro .sumi-eyebrow {color:#688581!important;}
.sumi-root .sumi-office__intro h2 {font-size:clamp(27px,3vw,42px);}
.sumi-root .sumi-office__representative {
  border-top:0;border-bottom:1px solid #DCCEB8;
  padding:20px 0 24px;margin:15px 0 17px;
}
.sumi-root .sumi-office__representative-identity strong {font-size:20px;}
/* Softer ending: light open paper; a strong action against airy copy. */
.sumi-root .sumi-final-cta--warm,.sumi-root .sumi-detail-contact-band {
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(ellipse 50% 160% at 103% 110%,rgba(225,208,180,.46),transparent 77%),#F7F0E5;
  border:0;
}
.sumi-root .sumi-final-cta--warm::before,.sumi-root .sumi-detail-contact-band::before {
  content:'';position:absolute;z-index:-1;pointer-events:none;
  height:460px;width:460px;top:-320px;right:-180px;border-radius:50%;
  border:1px solid rgba(210,190,158,.35);
}
.sumi-root .sumi-final-cta--warm {padding:93px 0 98px;}
.sumi-root .sumi-final-cta__inner {gap:clamp(48px,9vw,145px);}
.sumi-root .sumi-final-cta--warm .sumi-btn--light,
.sumi-root .sumi-detail-contact-band .sumi-btn--light {
  border-radius:999px;padding-inline:clamp(26px,3vw,42px);
  box-shadow:0 7px 22px rgba(36,75,107,.12);
}
.sumi-root .sumi-final-cta__reply {border-left:0!important;padding-left:0!important;}
/* PLANS. Dots and light washes instead of an array of square choice boxes. */
.sumi-root .sumi-v10-selector__choices {
  border:0;border-radius:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  background:transparent;overflow:visible;position:relative;
}
.sumi-root .sumi-v10-selector__choice,
.sumi-root .sumi-v10-selector__choice:first-child {
  background:transparent;border:0;min-height:135px;
  padding:23px 23px 24px;text-align:left;border-radius:25px 9px 25px 9px;
  transition:background-color .18s ease,transform .18s ease;
}
.sumi-root .sumi-v10-selector__choice.is-selected {
  background:rgba(215,234,228,.74);border:0;box-shadow:none;
  transform:translateY(-3px);
}
.sumi-root .sumi-v10-selector__choice:hover:not(.is-selected) {background:rgba(255,255,255,.80);}
.sumi-root .sumi-v10-selector__choice:focus-visible {outline:3px solid #5E8F8C;outline-offset:3px;}
.sumi-root .sumi-v10-selector__choice-fee {font-size:20px;}
.sumi-root .sumi-v10-selector__num {color:#557E79;}
.sumi-root .sumi-v10-selector__radio {top:23px;right:22px;}
.sumi-root .sumi-v10-selector__choice.is-selected .sumi-v10-selector__radio {
  border:3px solid #E9F2ED;background:#316D69;box-shadow:0 0 0 1px #316D69;
}
.sumi-root .sumi-v10-selector__result {
  margin-top:19px;padding:32px clamp(22px,3.4vw,47px);
  border:0;border-radius:8px 37px 8px 37px;
  background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(38,68,73,.04);
}
.sumi-root .sumi-v10-selector__result-price {border-left:0;padding-left:10px;}
.sumi-root .sumi-v10-selector__result-more {border-left:1px solid #DEE8E2;}
.sumi-root .sumi-v10-selector__discount {color:#356F65!important;}
/* FLOW: real fork/rejoin, no rectangular boxes for narrative stages. */
.sumi-root .sumi-v13-tax-flow {
  --sumi-flow-line:#7DAEA6;
  display:grid;grid-template-columns:minmax(0,.95fr) 22px minmax(0,1.35fr) 22px minmax(0,.98fr) 22px minmax(0,1fr);
  align-items:center;gap:8px;position:relative;
  padding:35px 0 31px;margin:0;min-width:0;
  border:0;background:transparent;min-height:320px;
}
.sumi-root .sumi-v13-tax-flow__curves {
  position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;
}
.sumi-root .sumi-v13-tax-flow__curves path {
  fill:none;stroke:var(--sumi-flow-line);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
}
.sumi-root .sumi-v13-tax-flow__curves path:nth-child(2) {stroke:#A8BEC8;}
.sumi-root .sumi-v13-tax-flow__curves .sumi-v13-tax-flow__tail {stroke:#9BB8B6;}
.sumi-root .sumi-v13-tax-flow__curves circle {fill:#5E8F8C;stroke:#FFFFFF;stroke-width:1.7;}
.sumi-root .sumi-v10-tax-flow__node,
.sumi-root .sumi-v10-tax-flow__branches {position:relative;z-index:1;}
.sumi-root .sumi-v10-tax-flow__arrow {font-size:0!important;visibility:hidden;}
.sumi-root .sumi-v10-tax-flow__start,
.sumi-root .sumi-v10-tax-flow__check {
  background:#FFFFFF;border:0;border-radius:20px;
  padding:20px 11px;min-height:116px;box-shadow:none;
}
.sumi-root .sumi-v10-tax-flow__branches {gap:19px;}
.sumi-root .sumi-v10-tax-flow__branches::before,
.sumi-root .sumi-v10-tax-flow__branches::after {display:none;}
.sumi-root .sumi-v10-tax-flow__branch {
  background:rgba(255,255,255,.93);border:0!important;
  border-radius:28px 7px 28px 7px;
  padding:19px 20px;min-height:101px;
}
.sumi-root .sumi-v10-tax-flow__branch--self {background:#F7F9F6;}
.sumi-root .sumi-v10-tax-flow__branch--office {background:#E6F1EE;}
.sumi-root .sumi-v10-tax-flow__check {border-top:0;}
.sumi-root .sumi-v10-tax-flow__end {
  background:#244B6B;border:0;border-radius:32px 9px 32px 9px;
  padding:25px 17px;min-height:127px;
}
.sumi-root .sumi-v13-tax-flow strong {font-size:14px;}
.sumi-root .sumi-v13-tax-flow small {font-size:11px;}
.sumi-root .sumi-v10-service-map {background:#FDFCFA;padding-block:clamp(82px,8vw,126px);}
.sumi-root .sumi-v10-service-map__heading {grid-template-columns:minmax(0,1.1fr) minmax(0,.65fr);margin-bottom:22px;gap:10%;}
.sumi-root .sumi-v10-service-map__footer {border:0;padding-top:25px;}
/* TIMELINE: a readable rail and two subtly differentiated duties, not a data table of rectangles. */
.sumi-root .sumi-v08-operations {
  background:#F6F8F5;padding-block:clamp(86px,8vw,124px);
}
.sumi-root .sumi-v08-operations__intro {
  grid-template-columns:minmax(0,1.3fr) minmax(0,.6fr);gap:10%;margin-bottom:45px;
}
.sumi-root .sumi-v08-operations__board {border:0;border-top:0;background:transparent;}
.sumi-root .sumi-v08-operations__legend {border-bottom:0;gap:20px;margin:0 0 14px;}
.sumi-root .sumi-v08-operations__legend>span {
  border:0;background:transparent!important;padding:10px 20px;font-size:12px;
}
.sumi-root .sumi-v08-operations__legend>span:nth-child(3) {color:#2C7164;}
.sumi-root .sumi-v08-operations__steps>li {
  border-bottom:1px solid rgba(134,161,155,.23);padding:11px 0;gap:20px;
}
.sumi-root .sumi-v08-operations__time {background:transparent;border:0;padding:20px 10px 20px 35px;min-height:114px;}
.sumi-root .sumi-v08-operations__time::before {border-color:#AFC4BB;}
.sumi-root .sumi-v08-operations__client,
.sumi-root .sumi-v08-operations__office {
  border:0;padding:25px clamp(15px,2.4vw,30px);
  border-radius:22px 7px 22px 7px;
}
.sumi-root .sumi-v08-operations__client {background:rgba(255,255,255,.72);}
.sumi-root .sumi-v08-operations__office {background:rgba(212,234,223,.45);}
.sumi-root .sumi-v08-operations__steps>li:last-child {border-bottom:0;}
/* ABOUT: editorial rather than three matching square summary boxes. */
.sumi-root #about-philosophy {background:#FCFBF8;padding-top:clamp(90px,8vw,124px);padding-bottom:clamp(90px,8vw,124px);}
.sumi-root #about-principles {background:#F7F9F6;padding-block:clamp(85px,7vw,112px);}
.sumi-root #about-principles .sumi-detail-principles--three {gap:clamp(20px,4vw,57px);}
.sumi-root #about-principles .sumi-detail-principles--three article {
  background:transparent;border:0;box-shadow:none;padding:25px 0 20px;
  border-top:0;position:relative;
}
.sumi-root #about-principles .sumi-detail-principles--three article::before {
  content:'';display:block;width:17px;height:17px;border:2px solid #96BDB2;
  background:#F7F9F6;border-radius:50%;margin-bottom:24px;
}
.sumi-root #about-principles .sumi-detail-principles--three article:nth-child(2) {transform:translateY(27px);}
.sumi-root #about-principles .sumi-detail-principles--three article:nth-child(3) {transform:translateY(55px);}
.sumi-root #about-professional {background:#FDF9F2!important;padding-block:clamp(86px,8vw,122px);}
.sumi-root #about-professional .sumi-detail-about__profile {border-top:0;}
.sumi-root #about-practice {background:#F6F8F6;}
/* Contact should feel like an invitation, not a compliance data-entry panel. Form retains controls. */
.sumi-root .sumi-detail--contact #contact-form {
  background:radial-gradient(ellipse at 92% 10%,rgba(230,219,199,.22),transparent 52%),#FBFAF7;
}
.sumi-root .sumi-detail--contact .sumi-detail-contact__form {
  background:#FFFFFF;border-color:transparent;border-radius:25px 9px 25px 9px;
  box-shadow:0 12px 45px rgba(35,65,81,.05);
}
.sumi-root .sumi-detail--contact .sumi-detail-contact__aside {
  border:0!important;padding:28px 0 0!important;background:transparent;
}
.sumi-root #contact-process {background:#F4F8F5;}
.sumi-root #contact-process .sumi-detail-principles--three article {
  border:0;background:transparent;box-shadow:none;padding-top:25px;
}
.sumi-root #contact-process .sumi-detail-principles--three article>span {
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;background:#E2EEE9;height:38px;width:38px;color:#315F58;
}
/* Supporting content not in rectangular uniform gutters. */
.sumi-root .sumi-detail--guide #guide-steps {background:#FFFFFF;padding-block:clamp(85px,8vw,124px);}
.sumi-root .sumi-detail--guide #guide-operations {background:#F6F8F5;}
.sumi-root .sumi-detail--guide #guide-bookkeeping {background:#FCFBF8;}
.sumi-root .sumi-v08-bookkeeping__grid {border-top:0;gap:clamp(26px,6vw,78px);}
.sumi-root .sumi-v08-bookkeeping__grid>article+article {border-left:0;}
.sumi-root .sumi-v08-bookkeeping__grid>article:nth-child(2) {
  background:rgba(223,238,231,.48);border-radius:28px 8px 28px 8px;
  padding:28px;
}
.sumi-root .sumi-detail--services #service-detail {background:#F6F8F5;}
.sumi-root .sumi-detail--services #service-options {background:#FCFBF8;}
.sumi-root .sumi-detail--services #service-responsibility {background:#EDF4EF;}
/* Never modify the actual logo, font files, business claims or system logic. */
@media (min-width:768px) {
  .sumi-root .sumi-v09-home-price {padding-top:112px;padding-bottom:118px;}
  .sumi-root .sumi-v10-home-services {padding-top:112px;padding-bottom:124px;}
  .sumi-root .sumi-v08-home-operations {padding-top:116px;padding-bottom:119px;}
  .sumi-root .sumi-office--warm {padding-top:122px;padding-bottom:132px;}
}
@media (max-width:1090px) and (min-width:768px) {
  .sumi-root .sumi-v13-tax-flow {gap:4px;grid-template-columns:minmax(0,.9fr) 16px minmax(0,1.2fr) 16px minmax(0,.95fr) 16px minmax(0,1.1fr);}
  .sumi-root .sumi-v10-tax-flow__branch {padding:15px 13px;}
  .sumi-root .sumi-v10-tax-flow__end {padding:15px 12px;}
  .sumi-root .sumi-v13-tax-flow strong {font-size:12px;}
  .sumi-root .sumi-v13-tax-flow small {font-size:10px;}
  .sumi-root .sumi-v08-operations__steps>li {gap:10px;}
}
@media (max-width:767px) {
  .sumi-root .sumi-hero__atmosphere {
    background-image:radial-gradient(ellipse at 90% 100%,rgba(208,228,216,.38),transparent 67%),
      radial-gradient(ellipse at 0% 0%,rgba(249,239,225,.88),transparent 60%);
  }
  .sumi-root .sumi-hero__atmosphere::after {background:rgba(255,255,255,.26);}
  .sumi-root .sumi-v09-home-price {padding-top:79px;padding-bottom:87px;}
  .sumi-root .sumi-v10-home-services {padding-top:83px;padding-bottom:90px;}
  .sumi-root .sumi-v10-home-services__heading {grid-template-columns:1fr;gap:11px;margin-bottom:18px;}
  .sumi-root .sumi-v10-home-services__heading>div,
  .sumi-root .sumi-v10-home-services__heading>p,
  .sumi-root .sumi-v10-home-services__heading .sumi-text-link {grid-column:1;grid-row:auto;}
  .sumi-root .sumi-v10-home-services__heading .sumi-text-link {margin-top:7px;}
  .sumi-root .sumi-v10-selector__choices {grid-template-columns:1fr;gap:5px;}
  .sumi-root .sumi-v10-selector__choice,
  .sumi-root .sumi-v10-selector__choice:first-child {
    padding:15px 18px;border:0;min-height:88px;border-radius:19px 8px 19px 8px;
  }
  .sumi-root .sumi-v10-selector__choice.is-selected {
    background:#DDECE6;box-shadow:none;padding-left:18px;transform:none;border:0;
  }
  .sumi-root .sumi-v10-selector__result {
    margin-top:15px;padding:24px 20px;border:0;border-radius:9px 28px 9px 28px;
  }
  .sumi-root .sumi-v10-selector__result-price {padding-left:0;}
  .sumi-root .sumi-v10-selector__result-more {border-left:0;padding-left:0;}
  /* Continuity on narrow screens is vertical; avoid compressing a branching SVG. */
  .sumi-root .sumi-v13-tax-flow {display:flex;flex-direction:column;gap:9px;align-items:stretch;padding:10px 0 12px;min-height:0;}
  .sumi-root .sumi-v13-tax-flow__curves {display:none;}
  .sumi-root .sumi-v10-tax-flow__arrow {
    display:block;visibility:visible;font-size:20px!important;line-height:1!important;
    height:16px;text-align:center;color:#78A69C;transform:rotate(90deg);
  }
  .sumi-root .sumi-v10-tax-flow__start,.sumi-root .sumi-v10-tax-flow__check {
    min-height:0;text-align:center;background:transparent;padding:10px 15px;
  }
  .sumi-root .sumi-v10-tax-flow__branches {gap:7px;}
  .sumi-root .sumi-v10-tax-flow__branch {min-height:0;padding:16px 19px;}
  .sumi-root .sumi-v10-tax-flow__end {min-height:0;text-align:center;padding:21px 15px;}
  .sumi-root .sumi-v08-home-operations__layout {grid-template-columns:1fr;gap:24px;}
  .sumi-root .sumi-v08-home-operations__duties {padding-left:16px;}
  .sumi-root .sumi-office--warm {padding:88px 0 92px;}
  .sumi-root .sumi-office__layout {grid-template-columns:1fr;gap:27px;}
  .sumi-root .sumi-final-cta--warm {padding:75px 0 85px;}
  .sumi-root .sumi-v08-operations {padding:82px 0 91px;}
  .sumi-root .sumi-v08-operations__intro {grid-template-columns:1fr;gap:12px;margin-bottom:28px;}
  .sumi-root .sumi-v08-operations__legend {display:none;}
  .sumi-root .sumi-v08-operations__steps>li {
    gap:6px;padding:19px 0 20px;display:flex;flex-direction:column;
  }
  .sumi-root .sumi-v08-operations__time {padding:2px 0 10px 30px;min-height:0;display:grid;grid-template-columns:29px minmax(0,1fr) auto;}
  .sumi-root .sumi-v08-operations__client,.sumi-root .sumi-v08-operations__office {
    min-height:0;padding:16px;border-radius:16px 7px 16px 7px;
    display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;
  }
  .sumi-root .sumi-v08-operations__client {background:#FFFFFF;}
  .sumi-root .sumi-v08-operations__office {background:#E5F0E9;}
  .sumi-root #about-principles .sumi-detail-principles--three article:nth-child(2),
  .sumi-root #about-principles .sumi-detail-principles--three article:nth-child(3) {transform:none;}
  .sumi-root #about-principles .sumi-detail-principles--three article {padding:15px 0;}
  .sumi-root #about-principles .sumi-detail-principles--three article::before {margin-bottom:13px;}
  .sumi-root .sumi-v08-bookkeeping__grid>article:nth-child(2) {padding:22px 19px;}
  .sumi-root .sumi-detail--contact .sumi-detail-contact__form {border-radius:17px 8px 17px 8px;}
  .sumi-root .sumi-detail--contact .sumi-detail-contact__aside {padding:18px 0 0!important;}
  .sumi-root .sumi-v10-service-map {padding-block:82px;}
}
@media (prefers-reduced-motion:reduce) {
  .sumi-root .sumi-v10-selector__choice {transition:none;}
}
/* Final de-boxing pass: preserve the two responsibilities without a green table-shaped wall. */
@media(min-width:768px) {
  .sumi-root .sumi-v08-operations__legend,
  .sumi-root .sumi-v08-operations__steps>li {grid-template-columns:165px repeat(2,minmax(0,1fr));gap:30px;}
  .sumi-root .sumi-v08-operations__legend>span {padding:7px 17px 14px;}
  .sumi-root .sumi-v08-operations__time {padding-left:34px;}
  .sumi-root .sumi-v08-operations__client,
  .sumi-root .sumi-v08-operations__office {
    background:transparent;border:0;border-radius:0;padding:22px 18px;
  }
  .sumi-root .sumi-v08-operations__office {position:relative;padding-left:28px;}
  .sumi-root .sumi-v08-operations__office::before {
    content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);
    width:4px;height:35px;border-radius:99px;background:#9DC4B8;
  }
}
@media(max-width:767px) {
  .sumi-root .sumi-v08-operations__client {
    background:transparent;border:0;padding:12px 15px;
  }
  .sumi-root .sumi-v08-operations__office {
    background:#E9F1EC;border:0;border-radius:14px 5px 14px 5px;
    padding:15px;
  }
}
