:root{
  --blue:#00A8B5;--blue-dark:#008899;--green:#61B45A;--green-dark:#3f9639;
  --ink:#263438;--dark:#243036;--muted:#66767b;--soft:#F2F4F5;--ice:#edf8fa;
  --line:#dce7e9;--white:#fff;--shadow:0 18px 45px rgba(30,68,75,.09);
  --max:1440px;--radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,Arial,sans-serif;line-height:1.72;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:inherit}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.skip-link{position:fixed;top:-70px;left:20px;z-index:9999;padding:10px 14px;color:#fff;background:var(--dark)}.skip-link:focus{top:12px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.965);border-bottom:1px solid rgba(36,48,54,.08);box-shadow:0 4px 18px rgba(32,63,70,.035);backdrop-filter:blur(14px)}
.header-inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:38px}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:440px;max-height:82px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:34px;white-space:nowrap}.site-nav>a:not(.header-contact){display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;font-size:15px;font-weight:800;transition:.2s}.site-nav>a:not(.header-contact) small{font:600 10px/1.2 Arial,sans-serif;letter-spacing:.04em;color:#788388}.site-nav>a:hover{color:var(--blue-dark)}
.header-contact{display:flex;align-items:center;gap:12px;padding:13px 18px;color:#fff!important;background:linear-gradient(135deg,var(--blue),#008da0);border-radius:7px;text-decoration:none;box-shadow:0 10px 24px rgba(0,168,181,.2)}
.header-contact svg{width:28px;fill:none;stroke:currentColor;stroke-width:2}.header-contact span{font-size:14px;font-weight:800;line-height:1.35}.header-contact small{display:block;font-size:10px;font-weight:600;opacity:.9}
.menu-button{display:none}

/* Hero */
.hero{position:relative;min-height:500px;overflow:hidden;background:linear-gradient(105deg,#f8fdfe 0%,#e9f7fa 43%,#dff1f5 100%);border-bottom:1px solid #dbecef}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 13% 35%,rgba(0,168,181,.10),transparent 28%),radial-gradient(circle at 78% 15%,rgba(97,180,90,.08),transparent 25%)}
.hero-grid{position:absolute;inset:0;opacity:.38;background-image:linear-gradient(rgba(0,168,181,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,168,181,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 62%)}
.hero-grid:after{content:"";position:absolute;left:-90px;top:70px;width:520px;height:520px;border:1px solid rgba(0,168,181,.17);border-radius:50%;box-shadow:0 0 0 65px rgba(0,168,181,.035),0 0 0 130px rgba(0,168,181,.02)}
.hero-skyline{position:absolute;right:0;bottom:0;width:56%;height:85%;opacity:.26;filter:blur(.1px)}
.hero-skyline:after{content:"";position:absolute;inset:auto 0 0 0;height:28%;background:linear-gradient(to top,rgba(0,116,137,.23),transparent)}
.hero-skyline i{position:absolute;left:var(--x);bottom:0;width:var(--w);height:var(--h);background:linear-gradient(to top,rgba(0,126,147,.52),rgba(0,168,181,.10));border-radius:3px 3px 0 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.hero-inner{position:relative;z-index:2;min-height:500px;display:flex;align-items:center;padding-block:64px}.hero-copy{max-width:760px}
.hero-kicker{margin:0 0 14px;color:#5c7379;font:700 11px/1.3 Arial,sans-serif;letter-spacing:.15em}
.hero h1{margin:0;line-height:1.28;letter-spacing:-.035em}.hero h1 span,.hero h1 strong{display:block;font-size:clamp(42px,4.6vw,66px);font-weight:900}.hero h1 span{color:#008da0}.hero h1 strong{margin-top:4px;color:#449c3f}
.hero-sub{margin:20px 0 0;color:#1e272a;font-size:clamp(19px,1.65vw,25px);font-weight:800;letter-spacing:.005em}
.hero-lead{margin:24px 0 0;color:#3e5055;font-size:16px;line-height:1.9}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:800;transition:.2s}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));box-shadow:0 10px 22px rgba(0,168,181,.18)}.btn-ghost{color:var(--blue-dark);border:1px solid rgba(0,168,181,.42);background:rgba(255,255,255,.78)}.btn:hover{transform:translateY(-2px)}

/* Overview */
.quick-overview{position:relative;background:#fff;padding:32px 0 38px}.overview-grid{display:grid;grid-template-columns:1fr .93fr 1.08fr;gap:0}.overview-column{min-width:0;padding:0 30px}.overview-column:first-child{padding-left:0}.overview-column:last-child{padding-right:0}.overview-column+.overview-column{border-left:1px solid var(--line)}
.overview-title{display:flex;align-items:center;gap:15px;margin-bottom:18px}.overview-title>div{flex:0 0 auto}.overview-title b{display:block;color:#008da0;font:900 22px/1 Arial,sans-serif;letter-spacing:.01em}.overview-title span{display:block;margin-top:6px;color:#35454a;font-size:11px;font-weight:700}.overview-title i{height:2px;flex:1;background:linear-gradient(90deg,var(--blue),transparent)}.green-title b{color:#459d3e}.green-title i{background:linear-gradient(90deg,var(--green),transparent)}
.mini-card{display:flex;align-items:center;gap:17px;min-height:82px;margin-bottom:10px;padding:13px 16px;border:1px solid #d9e3e5;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfcfc);box-shadow:0 5px 14px rgba(40,66,72,.035)}
.icon-box{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px}.icon-box svg{width:43px;height:43px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.icon-box.blue svg{stroke:#079aac}.icon-box.green svg{stroke:#4aa443}
.mini-card h2{margin:0;color:#202b2f;font-size:17px;line-height:1.35}.mini-card p{margin:3px 0 0;color:#68777b;font-size:12px}
.overview-cta{display:flex;align-items:center;justify-content:center;gap:14px;min-height:82px;padding:13px 18px;color:#fff;background:linear-gradient(135deg,var(--blue),#008b9b);border-radius:10px;text-decoration:none;box-shadow:0 10px 25px rgba(0,168,181,.18)}.overview-cta svg{width:42px;fill:none;stroke:currentColor;stroke-width:2}.overview-cta span{font-size:14px;line-height:1.4}.overview-cta b{font-size:17px}
.profile-card{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center}.profile-card img{display:block;width:210px;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:10px;box-shadow:var(--shadow)}.profile-card p{margin:0 0 11px;color:#3e4b4f;font-size:13.5px;line-height:1.9}.profile-card p:last-child{margin-bottom:0}

/* Detail */
.detail-section{padding:88px 0 94px;background:linear-gradient(180deg,#fbfdfd,#fff)}.section-head{max-width:850px;margin-bottom:36px}.section-head>p{margin:0 0 7px;color:var(--blue-dark);font:900 12px Arial,sans-serif;letter-spacing:.14em}.section-head h2{margin:0;color:#27363a;font-size:clamp(28px,2.7vw,41px);line-height:1.4;letter-spacing:-.025em}.section-head span{display:block;margin-top:13px;color:#6c7a7f;font-size:14px}
.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-cards article{position:relative;padding:28px 28px 26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 35px rgba(27,69,76,.055);overflow:hidden}.detail-cards article:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue),var(--green))}.detail-cards article>span{color:#0993a1;font:900 12px Arial,sans-serif;letter-spacing:.12em}.detail-cards h3{margin:12px 0 10px;font-size:20px}.detail-cards p{margin:0;color:#65757a;font-size:13px}.detail-cards ul{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none}.detail-cards li{padding:6px 9px;border-radius:999px;background:#f0f7f8;color:#466066;font-size:11px;font-weight:700}

/* Process */
.process-section{padding:72px 0;background:#f2f6f7;border-block:1px solid #e1eaec}.section-head.compact{margin-bottom:28px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none}.process-grid li{display:flex;gap:15px;padding:20px 18px;border:1px solid #dce5e7;border-radius:10px;background:#fff}.process-grid li>span{color:#0797a7;font:900 12px Arial,sans-serif}.process-grid b{font-size:15px}.process-grid p{margin:4px 0 0;color:#6a797d;font-size:11.5px;line-height:1.65}

/* Info strip */
.company-strip{padding:22px 0;background:linear-gradient(90deg,#edf9fb,#f8fbfb);border-bottom:1px solid #d8e8eb}
.info-grid{display:grid;grid-template-columns:1.05fr 1.1fr 1fr 1.15fr}.info-item{display:flex;align-items:center;gap:14px;padding:8px 26px}.info-item:first-child{padding-left:0}.info-item+.info-item{border-left:1px solid #cbdde0}.round-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px}.round-icon svg{width:38px;height:38px;fill:none;stroke:#0797a7;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.info-item b{color:#078c9b;font-size:12px}.info-item p{margin:4px 0 0;color:#26363a;font-size:12.5px;white-space:nowrap}.info-item a{text-decoration:none}

/* Contact/Footer */
.contact-section{padding:68px 0;color:#fff;background:linear-gradient(120deg,#006f7c,#168b82 62%,#3c8c48)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.contact-kicker{margin:0 0 8px;color:#b8efed;font:900 11px Arial,sans-serif;letter-spacing:.15em}.contact-inner h2{margin:0;font-size:clamp(26px,2.8vw,39px);line-height:1.4}.contact-inner p:not(.contact-kicker){max-width:750px;margin:12px 0 0;color:#e4f3f2;font-size:13px}
.contact-btn{display:flex;align-items:center;gap:14px;min-width:295px;padding:15px 19px;color:#06717b;background:#fff;border-radius:10px;text-decoration:none;box-shadow:0 18px 38px rgba(0,0,0,.12)}.contact-btn svg{width:39px;fill:none;stroke:var(--blue-dark);stroke-width:2}.contact-btn span{display:block}.contact-btn b{font-size:16px}.contact-btn small{display:block;margin-top:2px;color:#66787c;font-size:11px}
.site-footer{color:#c8d2d4;background:#263137}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}.footer-top img{width:330px;max-height:62px;object-fit:contain;object-position:left;background:#fff;border-radius:4px;padding:5px}.footer-top p{margin:0;font-size:11px}.footer-bottom{padding:14px;border-top:1px solid rgba(255,255,255,.08);text-align:center;color:#9aa9ac;font-size:10px}

/* Pricing */
.page-hero{padding:72px 0;background:linear-gradient(105deg,#f3fbfc,#e7f6f8);border-bottom:1px solid #dcebed}.page-hero .eyebrow{margin:0 0 8px;color:#078e9d;font:900 11px Arial,sans-serif;letter-spacing:.14em}.page-hero h1{margin:0;color:#26363a;font-size:clamp(34px,4vw,52px)}.page-hero p:last-child{max-width:760px;margin:14px 0 0;color:#607176;font-size:14px}.pricing-section{padding:78px 0}.price-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.price-list.price-list-3{grid-template-columns:repeat(3,1fr)}.price-list article{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(30,68,75,.05)}.price-list h3{margin:0;padding:18px 22px;color:#fff;background:linear-gradient(90deg,#008d9d,#419642);font-size:16px}.price-list dl{margin:0}.price-list dl>div{display:flex;justify-content:space-between;gap:18px;padding:16px 22px;border-top:1px solid #edf1f2}.price-list dt{color:#637277;font-size:13px}.price-list dd{margin:0;color:#078b9a;font-size:13px;font-weight:800;text-align:right}.note-box{margin-top:24px;padding:18px 22px;border-left:4px solid var(--blue);border-radius:0 8px 8px 0;background:#f0f7f8;color:#607075;font-size:12px}.note-box p{margin:0}

/* Tablet */
@media(max-width:1180px){
  .shell{width:min(calc(100% - 42px),var(--max))}
  .header-inner{min-height:98px}.brand img{width:340px}.site-nav{gap:18px}.site-nav>a:not(.header-contact){font-size:13px}.header-contact{padding:11px 13px}.header-contact span{font-size:12px}
  .overview-grid{grid-template-columns:1fr 1fr}.profile-summary{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line);margin-top:28px;padding:28px 0 0}.profile-card{grid-template-columns:170px 1fr}.profile-card img{width:170px}
  .info-grid{grid-template-columns:1fr 1fr}.info-item:nth-child(3){border-left:0}.info-item:nth-child(n+3){border-top:1px solid #cbdde0}
}

/* Mobile */
@media(max-width:820px){
  .shell{width:min(calc(100% - 30px),var(--max))}
  .site-header{position:sticky}.header-inner{min-height:80px;gap:12px}.brand img{width:min(66vw,310px);max-height:58px}
  .menu-button{display:flex;align-items:center;justify-content:center;flex-direction:column;width:50px;height:50px;padding:7px;border:1px solid #d9e5e7;border-radius:8px;background:#fff}.menu-button span{display:block;width:22px;height:2px;margin:2px;background:#168f9d}.menu-button b{margin-top:3px;color:#68777b;font:700 8px Arial,sans-serif}
  .site-nav{position:absolute;left:0;right:0;top:100%;display:none;grid-template-columns:1fr 1fr;gap:0;padding:8px 15px 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(25,58,64,.12)}.site-nav.open{display:grid}.site-nav>a:not(.header-contact){align-items:flex-start;padding:13px 10px;border-bottom:1px solid #eef2f3;font-size:13px}.site-nav>a:not(.header-contact) small{font-size:8px}.header-contact{grid-column:1/-1;margin-top:8px;justify-content:center}
  .hero{min-height:0}.hero-skyline{width:75%;opacity:.18}.hero-inner{min-height:0;padding:54px 0 58px}.hero-copy{max-width:100%}.hero-kicker{font-size:9px}.hero h1 span,.hero h1 strong{font-size:clamp(30px,8.5vw,43px);line-height:1.35}.hero-sub{font-size:17px}.hero-lead{font-size:13.5px}.desktop-only{display:none}.hero-actions{margin-top:24px}.btn{min-height:44px;padding:9px 16px;font-size:12px}
  .quick-overview{padding:28px 0}.overview-grid{grid-template-columns:1fr}.overview-column,.overview-column:first-child,.overview-column:last-child{padding:0}.overview-column+.overview-column{border-left:0;border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.profile-summary{margin-top:26px;padding-top:26px}.overview-title b{font-size:20px}.overview-title span{font-size:10px}.mini-card{min-height:74px;padding:11px 13px}.icon-box{width:44px;height:44px;flex-basis:44px}.icon-box svg{width:37px;height:37px}.mini-card h2{font-size:15px}.mini-card p{font-size:11px}.overview-cta{min-height:72px}.overview-cta b{font-size:15px}
  .profile-card{grid-template-columns:115px 1fr;gap:16px;align-items:start}.profile-card img{width:115px;border-radius:8px}.profile-card p{font-size:11.5px;line-height:1.72;margin-bottom:7px}
  .detail-section{padding:64px 0}.section-head{margin-bottom:26px}.section-head h2{font-size:26px}.section-head span{font-size:12px}.detail-cards{grid-template-columns:1fr;gap:12px}.detail-cards article{padding:22px}.detail-cards h3{font-size:17px}
  .process-section{padding:54px 0}.process-grid{grid-template-columns:1fr 1fr}.process-grid li{padding:16px 14px}
  .info-grid{grid-template-columns:1fr}.info-item,.info-item:first-child{padding:14px 0}.info-item+.info-item,.info-item:nth-child(3){border-left:0;border-top:1px solid #cbdde0}.info-item p{white-space:normal;font-size:12px}
  .contact-section{padding:52px 0}.contact-inner{align-items:flex-start;flex-direction:column;gap:24px}.contact-inner h2{font-size:25px}.contact-btn{width:100%;min-width:0}
  .footer-top{align-items:flex-start;flex-direction:column}.footer-top img{width:290px}
  .price-list,.price-list.price-list-3{grid-template-columns:1fr}.pricing-section{padding:58px 0}
}
@media(max-width:480px){
  .shell{width:min(calc(100% - 24px),var(--max))}
  .brand img{width:min(69vw,270px)}.header-inner{min-height:74px}
  .hero-inner{padding:44px 0 48px}.hero h1 span,.hero h1 strong{font-size:29px}.hero-sub{font-size:15px}.hero-lead{font-size:12.5px}
  .hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}
  .overview-title b{font-size:19px}.profile-card{grid-template-columns:100px 1fr;gap:13px}.profile-card img{width:100px}.profile-card p{font-size:10.8px}
  .process-grid{grid-template-columns:1fr}
  .info-item{gap:10px}.round-icon{width:38px;height:38px;flex-basis:38px}.round-icon svg{width:32px;height:32px}
  .footer-top img{width:260px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* ===== 2026-08-14 Aoshima hero + QR final adjustment ===== */
.hero{
  background:linear-gradient(105deg,#f8fdfe 0%,#e9f7fa 46%,#e3f2f4 100%);
}
.hero-inner{
  width:min(calc(100% - 64px),var(--max));
}
.hero-copy{
  position:relative;
  z-index:3;
  width:52%;
  max-width:760px;
  padding-right:38px;
}
.hero-photo{
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  width:50%;
  height:100%;
  overflow:hidden;
  background:#dcecef;
}
.hero-photo:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(232,248,250,.98) 0%,rgba(232,248,250,.62) 9%,rgba(232,248,250,.08) 24%,rgba(0,0,0,.03) 100%),
    linear-gradient(0deg,rgba(16,62,67,.11),transparent 35%);
}
.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  filter:saturate(.93) contrast(.98);
}
.hero-photo-caption{
  position:absolute;
  z-index:3;
  right:22px;
  bottom:16px;
  padding:5px 10px;
  border-radius:999px;
  color:rgba(255,255,255,.94);
  background:rgba(26,52,56,.48);
  backdrop-filter:blur(6px);
  font:600 9px/1.3 Arial,sans-serif;
  letter-spacing:.08em;
}
.hero-grid{
  z-index:2;
  width:54%;
}
.contact-actions{
  display:flex;
  align-items:stretch;
  gap:14px;
  flex:0 0 auto;
}
.qr-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:225px;
  padding:10px 14px;
  color:#263438;
  background:#fff;
  border-radius:10px;
  text-decoration:none;
  box-shadow:0 18px 38px rgba(0,0,0,.12);
  transition:.2s;
}
.qr-card:hover{
  transform:translateY(-2px);
}
.qr-card img{
  display:block;
  width:74px;
  height:74px;
  object-fit:contain;
  padding:3px;
  background:#fff;
  border:1px solid #d6e6e8;
}
.qr-card span{
  display:block;
  line-height:1.35;
}
.qr-card b{
  display:block;
  color:#078c9b;
  font:900 13px/1.2 Arial,sans-serif;
  letter-spacing:.05em;
}
.qr-card small{
  display:block;
  margin-top:6px;
  color:#66787c;
  font-size:10.5px;
}

@media(max-width:1180px){
  .hero-copy{width:56%;padding-right:26px}
  .hero-photo{width:47%}
  .contact-inner{gap:28px}
  .contact-actions{flex-direction:column}
  .qr-card,.contact-btn{min-width:285px}
}
@media(max-width:820px){
  .hero{
    display:flex;
    flex-direction:column;
  }
  .hero-inner{
    order:1;
    width:min(calc(100% - 30px),var(--max));
    padding:42px 0 38px;
  }
  .hero-copy{
    width:100%;
    padding-right:0;
  }
  .hero-photo{
    position:relative;
    order:2;
    width:100%;
    height:clamp(205px,48vw,330px);
  }
  .hero-photo:before{
    background:linear-gradient(180deg,rgba(232,248,250,.25),transparent 24%,rgba(8,48,54,.10));
  }
  .hero-photo img{
    object-position:center 57%;
  }
  .hero-photo-caption{
    right:13px;
    bottom:10px;
    font-size:8px;
  }
  .hero-grid{width:100%}
  .contact-actions{
    width:100%;
    flex-direction:row;
  }
  .contact-btn{
    flex:1 1 auto;
    min-width:0;
  }
  .qr-card{
    flex:0 0 180px;
    min-width:0;
  }
  .qr-card img{
    width:62px;height:62px;
  }
}
@media(max-width:560px){
  .contact-actions{
    flex-direction:column;
  }
  .qr-card,.contact-btn{
    width:100%;
    min-width:0;
  }
  .qr-card{
    justify-content:center;
  }
  .qr-card img{
    width:80px;height:80px;
  }
}


/* ===== Limited Professional Profile link ===== */
.private-profile-link{
  display:flex;align-items:center;gap:10px;margin-top:15px;padding:11px 13px;
  color:#087e8c;border:1px solid #cfe5e8;border-radius:8px;
  background:linear-gradient(135deg,#f7fcfd,#eef8f9);text-decoration:none;transition:.2s;
}
.private-profile-link:hover{border-color:#9bd2d8;background:#fff;transform:translateY(-1px)}
.private-profile-link .lock-mark{font-size:17px}
.private-profile-link span:nth-child(2){display:flex;flex-direction:column;line-height:1.25}
.private-profile-link b{font-size:12px}
.private-profile-link small{margin-top:3px;color:#718186;font:700 8px Arial,sans-serif;letter-spacing:.06em}
.private-profile-link .arrow-mark{margin-left:auto;font-size:16px}
@media(max-width:820px){
  .private-profile-link{padding:9px 10px;margin-top:11px}
  .private-profile-link b{font-size:11px}
  .private-profile-link small{font-size:7px}
}
