/* palette: deep teal + terracotta + warm cream (自有配色) */
:root{
  --ink:#1a1d1f; --muted:#5f615c; --line:#e4e0d7; --bg:#ffffff;
  --soft:#f6f3ec; --accent:#0e5c57; --accent-soft:#e2efee;
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.85;-webkit-font-smoothing:antialiased;
  font-size:15px;
}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
.container{max-width:1080px;margin:0 auto;padding:0 28px;}

header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px;}
.logo{font-size:15px;font-weight:500;letter-spacing:.06em;}
.logo i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle;}
.nav-links{display:flex;gap:22px;flex-wrap:wrap;}
.nav-links a{color:var(--muted);font-size:14px;}
.nav-links a:hover{color:var(--ink);}
.langs{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px;}
.langs a{font-size:12px;color:var(--muted);padding:4px 12px;border-radius:999px;}
.langs a.on{background:var(--ink);color:#fff;}

.hero{padding:88px 0 72px;border-bottom:1px solid var(--line);}
.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);margin-bottom:20px;}
h1{font-size:38px;line-height:1.4;font-weight:500;max-width:820px;letter-spacing:-.01em;}
.lead{font-size:17px;color:var(--muted);margin-top:22px;max-width:720px;}
.buttons{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap;}
.btn{display:inline-block;font-size:15px;padding:14px 28px;border-radius:8px;border:1px solid transparent;}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#000;}
.btn-light{background:#fff;color:var(--ink);border-color:var(--line);}
.btn-light:hover{border-color:var(--ink);}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;
  border-top:1px solid var(--line);padding-top:32px;}
.stat b{display:block;font-size:28px;font-weight:500;line-height:1.2;}
.stat span{display:block;font-size:13px;color:var(--muted);margin-top:6px;}

section{padding:80px 0;border-bottom:1px solid var(--line);}
h2{font-size:27px;font-weight:500;letter-spacing:-.01em;}
.sub{color:var(--muted);font-size:15px;margin-top:12px;margin-bottom:44px;max-width:700px;}

.grid{display:grid;gap:22px;}
.g4{grid-template-columns:repeat(4,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;}
.card .n{font-size:12px;color:var(--accent);letter-spacing:.1em;}
.card h3{font-size:17px;font-weight:500;margin:8px 0 10px;}
.card p{font-size:14px;color:var(--muted);}

table{width:100%;border-collapse:collapse;font-size:14px;}
th,td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
th{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.04em;}
td b{font-weight:500;}
.note{font-size:13px;color:var(--muted);margin-top:18px;}

.hero-wa{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);}
.hero-wa svg{flex:none;}
.hero-wa a{color:var(--ink);font-weight:500;}
.hero-wa a:hover{color:var(--accent);}

/* ================= section backgrounds + serif headings ================= */
section.alt{background:var(--soft);}
section.alt .card, section.alt details, section.alt .testi{background:#fff;}
h2{font-family:Georgia,"Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC",serif;font-size:30px;font-weight:600;}
h2 em{font-style:normal;color:var(--brand);}
.center-h{text-align:center;}
.center-h .sub{margin-left:auto;margin-right:auto;}
.center-h .eyebrow{margin-bottom:16px;}
.g3{grid-template-columns:repeat(3,1fr);}

/* ================= testimonials ================= */
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.testi .stars{color:var(--brand);font-size:14px;letter-spacing:4px;}
.testi .q{font-size:15px;color:var(--ink);margin-top:14px;}
.testi .q::before{content:"“";color:var(--brand);font-family:Georgia,serif;font-size:34px;line-height:0;vertical-align:-8px;margin-right:2px;}
.testi .q::after{content:"”";color:var(--brand);font-family:Georgia,serif;font-size:34px;line-height:0;vertical-align:-24px;margin-left:4px;}
.testi .who2{margin-top:20px;font-size:14px;font-weight:500;}
.testi .role{font-size:12px;color:var(--muted);margin-top:3px;}
.lang-tier{margin-bottom:30px;}
.lt-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;
  margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.lt-head b{font-size:15px;font-weight:500;}
.lt-head .tag{font-size:11px;letter-spacing:.06em;color:var(--accent);
  border:1px solid var(--accent-soft);background:var(--accent-soft);
  border-radius:999px;padding:2px 10px;}
.lt-head span{font-size:13px;color:var(--muted);}
.langgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.lang{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;}
.lang b{display:block;font-size:14px;font-weight:500;line-height:1.5;}
.lang span{display:block;font-size:12px;color:var(--muted);line-height:1.5;}
.lang.hi{background:var(--soft);border-color:#d8d5cc;}

/* ---- credentials ---- */
.cred{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.cred span{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--muted);background:#fff;}

.areas{display:flex;flex-wrap:wrap;gap:8px;}
.areas span{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--muted);}

details{border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px;background:#fff;}
details summary{cursor:pointer;font-size:15px;font-weight:500;list-style:none;}
details summary::-webkit-details-marker{display:none;}
details summary::before{content:"+ ";color:var(--accent);font-weight:500;}
details[open] summary::before{content:"− ";}
details p{font-size:14px;color:var(--muted);margin-top:12px;}

.profile{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start;
  border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:var(--soft);}
.profile .ph{border:1px dashed var(--line);border-radius:8px;background:#fff;
  min-height:220px;display:flex;align-items:center;justify-content:center;
  font-size:12px;color:var(--muted);text-align:center;padding:12px;}
.profile p{font-size:14px;color:var(--muted);}
.profile .who{font-size:16px;color:var(--ink);font-weight:500;margin-bottom:12px;}

.news .card .date{font-size:12px;color:var(--muted);}
.more{font-size:14px;}

.contact-box{border:1px solid var(--line);border-radius:var(--radius);padding:44px;background:var(--soft);text-align:center;}
.contact-box h2{margin-bottom:12px;}
.contact-box>p{color:var(--muted);font-size:15px;}
.ci{margin:26px 0 8px;font-size:15px;line-height:2.1;}
.ci b{font-weight:500;}
.buttons.center{justify-content:center;}

footer{padding:48px 0;font-size:13px;color:var(--muted);}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

.hero-img{margin-top:44px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
.hero-img img{width:100%;height:auto;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery figure{margin:0;}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.gallery figcaption{font-size:12px;color:var(--muted);margin-top:8px;}
.profile .ph{overflow:hidden;border-radius:8px;position:relative;}
.profile .ph img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}

@media(max-width:900px){
  .g4{grid-template-columns:repeat(2,1fr);}
  .g3{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .profile{grid-template-columns:1fr;}
  h1{font-size:28px;} h2{font-size:22px;}
  section{padding:56px 0;} .hero{padding:56px 0 48px;}
  .nav-links{display:none;}
  .footer-grid{grid-template-columns:1fr;}
  .langgrid{grid-template-columns:repeat(2,1fr);}
  .lt-head{gap:6px;}
  .about-grid{grid-template-columns:1fr;gap:28px;}
  .strip{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:30px;}
  .display{font-size:26px;}
}

/* ================= redesign: deep teal hero + terracotta accent ================= */
:root{--brand:#b4552d;--deep:#16323a;--deep-line:#27454e;--deep-text:#b6c3c7;}

header{background:var(--deep);border-bottom:1px solid var(--deep-line);}
header .logo{color:#fff;}
header .logo i{background:var(--brand);}
header .nav-links a{color:var(--deep-text);}
header .nav-links a:hover{color:#fff;}
header .langs{border-color:#2a3c55;}
header .langs a{color:var(--deep-text);}
header .langs a.on{background:var(--brand);color:#101826;}

.hero{background:var(--deep);color:#fff;border-bottom:none;padding:96px 0 84px;}
.hero h1{font-family:Georgia,"Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  color:#fff;font-size:44px;font-weight:600;}
.hero h1 em{font-style:normal;color:var(--brand);}
.hero .eyebrow{color:var(--brand);}
.hero .lead{color:var(--deep-text);}
.hero .hero-img{border-color:var(--deep-line);}
.hero .hero-wa{color:var(--deep-text);}
.hero .hero-wa a{color:#fff;}
.hero .hero-wa a:hover{color:var(--brand);}

.btn-brand{background:var(--brand);color:#fff;}
.btn-brand:hover{background:#96441f;}
.btn-ghost{background:transparent;color:#fff;border-color:#3b4d68;}
.btn-ghost:hover{border-color:#fff;}

/* ================= about-us block ================= */
.display{font-family:Georgia,"Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  font-size:36px;line-height:1.3;font-weight:600;letter-spacing:0;}
.display em{font-style:normal;color:var(--brand);}
.eyebrow.brand{color:var(--brand);margin-bottom:16px;}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;margin-top:8px;}
.about-left p{color:var(--muted);font-size:15px;margin-top:16px;}
.about-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.mini{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--soft);}
.mini .ic{font-size:18px;color:var(--brand);}
.mini b{display:block;font-size:14px;font-weight:500;margin:8px 0 4px;}
.mini p{font-size:13px;color:var(--muted);}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px;
  padding-top:36px;border-top:1px solid var(--line);text-align:center;}
.strip b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:42px;
  color:var(--brand);font-weight:600;line-height:1.1;}
.strip span{display:block;font-size:13px;color:var(--muted);margin-top:6px;}
