/* 株式会社昌和 — 共通スタイル */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f7f5f0}
a{color:inherit;text-decoration:none}

/* nav underline */
.navlink{position:relative;padding-bottom:4px}
.navlink::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#1b1a17;transition:width .35s ease}
.navlink:hover::after{width:100%}
.navlink.active::after{width:100%}
.foot .navlink::after{background:#d6d2c9}

/* outline button */
.btnline{transition:background .3s ease,color .3s ease}
.btnline:hover{background:#1b1a17;color:#f7f5f0}

/* index: service rows */
.svc:hover .svcArrow{transform:translateX(6px)}
.svcArrow{transition:transform .35s ease}

/* language switcher */
.langbtn{cursor:pointer;transition:background .25s ease,color .25s ease;padding:7px 11px;color:#6a655c;background:transparent;border:none;font:inherit;letter-spacing:inherit;line-height:inherit}
.langbtn+.langbtn{border-left:1px solid #cbc6bb}
.langbtn.on{background:#1b1a17;color:#f7f5f0}

/* company: tabs */
.ctab{position:relative;cursor:pointer;padding:20px 4px;transition:color .3s ease;color:#b3aea3;background:none;border:none;font:inherit;letter-spacing:inherit;text-align:left}
.ctab::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:#1b1a17;transition:width .35s ease}
.ctab:hover::after{width:100%}
.ctab.on{color:#1b1a17}

/* fig photos */
.figimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) sepia(.06) saturate(.8) contrast(.96)}
.figmap{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) contrast(.95)}

/* contact: form fields */
.fld{width:100%;font-family:'Noto Sans JP','Noto Sans TC',sans-serif;font-size:15px;color:#1b1a17;background:#fff;border:1px solid #d8d3c8;padding:15px 16px;outline:none;transition:border-color .25s ease}
.fld:focus{border-color:#1b1a17}
.fld::placeholder{color:#b3aea3}
textarea.fld{resize:vertical;min-height:150px;line-height:1.8}
.submit{transition:background .3s ease,color .3s ease;cursor:pointer}
.submit:hover{background:#403e38}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .gx{padding-left:32px!important;padding-right:32px!important}
  h1{font-size:38px!important}
  .bigquote{font-size:26px!important}
  .nav-inner{padding-top:16px!important;padding-bottom:16px!important}
  .nav-links{gap:24px!important}
  .hero-grid{grid-template-columns:1fr!important}
  .hero-fig{min-height:300px!important}
  .stance-grid{grid-template-columns:1fr!important;row-gap:28px}
  .facts-grid{grid-template-columns:1fr 1fr!important}
  .split{grid-template-columns:1fr!important;gap:36px!important}
  .split .fig{order:-1;min-height:280px!important}
  .flow-grid,.proc-grid{grid-template-columns:1fr 1fr!important}
  .values-grid,.why-grid{grid-template-columns:1fr!important}
  .access-grid{grid-template-columns:1fr!important}
  .contact-grid{grid-template-columns:1fr!important;gap:56px!important}
  .cta-row{flex-direction:column;align-items:flex-start!important;gap:30px}
  .foot-inner{flex-direction:column;align-items:flex-start!important;gap:30px}
  .foot-right{text-align:left!important}
}
@media (max-width:640px){
  .gx{padding-left:20px!important;padding-right:20px!important}
  h1{font-size:29px!important}
  .bigquote{font-size:21px!important}
  .nav-inner{flex-wrap:wrap;gap:14px!important}
  .nav-right{flex-wrap:wrap;gap:14px!important}
  .nav-links{gap:18px!important;font-size:12.5px!important}
  .facts-grid,.flow-grid,.proc-grid{grid-template-columns:1fr!important}
  .form-2col{grid-template-columns:1fr!important}
  .svc{grid-template-columns:44px 1fr 24px!important;gap:14px!important}
  .otable{grid-template-columns:1fr!important}
  .otable>div:nth-child(even){border-top:none!important;padding-top:0!important}
  .req-table{grid-template-columns:1fr!important}
  .req-table>div:nth-child(even){border-top:none!important;padding-top:0!important}
  .tabs{gap:24px!important;font-size:16px!important}
}
