/* Company Page Styles */
.companyWrap{padding: 28px 0}

/* Typography tweaks: Company page titles were too bold compared to the desired look. */
.page-template-page-company-php .pageTitle,
.page-template-page-company .pageTitle{font-weight: 700; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-synthesis: none}

.page-template-page-company-php .bizTitle,
.page-template-page-company .bizTitle{font-weight: 700; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-synthesis: none}

/* Company content section headers: the "bizTitle" (icon + title) should be black. */
body.page-template-page-company-php .yccCompanyContent h3.bizTitle,
body.page-template-page-company .yccCompanyContent h3.bizTitle,
body.page-template-page-company-php .yccCompanyContent h3.bizTitle *,
body.page-template-page-company .yccCompanyContent h3.bizTitle *{
  color:#000 !important;
}

/* Elementor section headers (icon + title like "会社方針"): make the title text black only. */
body.page-template-page-company-php .yccCompanyContent .elementor-icon-box-title,
body.page-template-page-company .yccCompanyContent .elementor-icon-box-title,
body.page-template-page-company-php .yccCompanyContent .elementor-icon-box-title a,
body.page-template-page-company .yccCompanyContent .elementor-icon-box-title a{
  color:#000 !important;
}

body.page-template-page-company-php .yccCompanyContent .elementor-widget-icon-box .elementor-icon-box-title,
body.page-template-page-company .yccCompanyContent .elementor-widget-icon-box .elementor-icon-box-title,
body.page-template-page-company-php .yccCompanyContent .elementor-widget-icon-box .elementor-icon-box-title *,
body.page-template-page-company .yccCompanyContent .elementor-widget-icon-box .elementor-icon-box-title *{
  color:#000 !important;
}

/* Company quick-nav pills: slightly lighter than Services. */
.page-template-page-company-php .qbtn,
.page-template-page-company .qbtn{
  font-weight: 800;
  font-size: 14.5px;
  letter-spacing: .02em;
  font-synthesis: none;
}

/* Typography guardrail: keep Company page font consistent with Services pages,
   even when Elementor kits or other global CSS set different fonts/weights. */
body.page-template-page-company-php,
body.page-template-page-company{
  font-family: var(--ycc-font, system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif) !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

body.page-template-page-company-php .yccCompanyContent,
body.page-template-page-company .yccCompanyContent{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.75;
  font-synthesis: none;
}

/* Home-like typography isolation: prevent global kits from inflating text in Company content. */
.page-template-page-company-php .yccCompanyContent :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,button,input,textarea,select,label,a,span,strong,em),
.page-template-page-company .yccCompanyContent :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,button,input,textarea,select,label,a,span,strong,em){
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Arial, sans-serif !important;
}
.page-template-page-company-php .yccCompanyContent :is(p,li,dt,dd,blockquote,figcaption,label),
.page-template-page-company .yccCompanyContent :is(p,li,dt,dd,blockquote,figcaption,label){
  font-weight:400 !important;
  font-size:inherit;
  line-height:1.75;
}

/* Section shortcut buttons in the hero (same structure as Services page). */
.page-template-page-company-php .qbtn-company,
.page-template-page-company .qbtn-company{
  background: rgba(91,164,206,.14);
  border-color: rgba(91,164,206,.28);
  color: #234B6A;
}
.page-template-page-company-php .qbtn-company:hover,
.page-template-page-company .qbtn-company:hover{
  background: linear-gradient(135deg, rgba(91,164,206,.26), rgba(47,111,163,.14));
  border-color: rgba(91,164,206,.38);
}

/* Color variants (make each button distinct). */
.page-template-page-company-php .qbtn-policy,
.page-template-page-company .qbtn-policy{
  background: rgba(47,111,163,.12);
  border-color: rgba(47,111,163,.24);
  color: #234B6A;
}
.page-template-page-company-php .qbtn-policy:hover,
.page-template-page-company .qbtn-policy:hover{
  background: linear-gradient(135deg, rgba(47,111,163,.22), rgba(142,202,217,.18));
  border-color: rgba(47,111,163,.34);
}

.page-template-page-company-php .qbtn-message,
.page-template-page-company .qbtn-message{
  background: rgba(217,130,43,.14);
  border-color: rgba(217,130,43,.26);
  color: #7a3f06;
}
.page-template-page-company-php .qbtn-message:hover,
.page-template-page-company .qbtn-message:hover{
  background: linear-gradient(135deg, rgba(217,130,43,.24), rgba(240,163,90,.18));
  border-color: rgba(217,130,43,.36);
}

.page-template-page-company-php .qbtn-profile,
.page-template-page-company .qbtn-profile{
  background: rgba(40,167,139,.14);
  border-color: rgba(40,167,139,.24);
  color: #165e4f;
}
.page-template-page-company-php .qbtn-profile:hover,
.page-template-page-company .qbtn-profile:hover{
  background: linear-gradient(135deg, rgba(40,167,139,.22), rgba(47,111,163,.12));
  border-color: rgba(40,167,139,.34);
}

.page-template-page-company-php .qbtn-info,
.page-template-page-company .qbtn-info{
  background: rgba(125,106,197,.14);
  border-color: rgba(125,106,197,.26);
  color: #3d2f6b;
}
.page-template-page-company-php .qbtn-info:hover,
.page-template-page-company .qbtn-info:hover{
  background: linear-gradient(135deg, rgba(125,106,197,.24), rgba(217,130,43,.10));
  border-color: rgba(125,106,197,.36);
}

.page-template-page-company-php .qbtn-equipment,
.page-template-page-company .qbtn-equipment{
  background: rgba(91,164,206,.16);
  border-color: rgba(91,164,206,.30);
  color: #1d4b5a;
}
.page-template-page-company-php .qbtn-equipment:hover,
.page-template-page-company .qbtn-equipment:hover{
  background: linear-gradient(135deg, rgba(91,164,206,.26), rgba(142,202,217,.20));
  border-color: rgba(91,164,206,.40);
}

.page-template-page-company-php .qbtn-welfare,
.page-template-page-company .qbtn-welfare{
  background: rgba(174,107,209,.14);
  border-color: rgba(174,107,209,.26);
  color: #4a2c6a;
}
.page-template-page-company-php .qbtn-welfare:hover,
.page-template-page-company .qbtn-welfare:hover{
  background: linear-gradient(135deg, rgba(174,107,209,.22), rgba(91,164,206,.12));
  border-color: rgba(174,107,209,.36);
}

.page-template-page-company .bizGrid{gap:16px}

.page-template-page-company .companyBox{background: rgba(255,255,255,.78)}

.page-template-page-company .companyTable{
  width:100%;
  border-collapse: collapse;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}

.page-template-page-company .companyTable tr{border-bottom: 1px solid rgba(15,27,45,.10)}
.page-template-page-company .companyTable tr:last-child{border-bottom: none}
.page-template-page-company .companyTable td{padding: 12px 10px; vertical-align: top}
.page-template-page-company .companyTable td.label{width: 240px}

.page-template-page-company .messageContent{box-shadow:none}
.page-template-page-company .equipBox{box-shadow:none}
.companySection{padding: 28px 0}
.companySection:first-of-type{padding-top: 20px}

.sectionHeader{text-align:left; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 3px solid #5BA4CE}
.sectionTitle{margin:0; font-size: 28px; font-weight: 950; line-height:1.25; color:#18305a; letter-spacing:.02em; padding:5px 15px; background: linear-gradient(90deg, rgba(91,164,206,.15), transparent); border-left: 4px solid #5BA4CE}

.companyPolicy{background: linear-gradient(135deg, rgba(91,164,206,.08), rgba(255,255,255,.5)); border: 1px solid rgba(91,164,206,.2); border-radius: 18px; padding: 20px 24px; box-shadow: 0 10px 30px rgba(0,0,0,.06)}
.companyPolicy p{margin:0 0 12px; font-size: inherit; line-height: 1.9; color: #234B6A; font-weight: 400; text-align: justify}
.companyPolicy p:last-child{margin-bottom:0}

.messageSec{background: linear-gradient(180deg, rgba(91,164,206,.03), transparent)}
.messageWrap{display:grid; grid-template-columns: 400px 1fr; gap: 24px; align-items: start}
.messageImg{border-radius: 20px; overflow:hidden; box-shadow: 0 15px 40px rgba(0,0,0,.15); border: 1px solid rgba(91,164,206,.2)}
.messageImg img{width:100%; height:auto; display:block}
.messageContent{background: #fff; border: 1px solid rgba(15,27,45,.1); border-radius: 18px; padding: 20px 24px; box-shadow: 0 10px 30px rgba(0,0,0,.06)}
.messageContent p{margin:0 0 12px; font-size: inherit; line-height: 1.9; color: rgba(15,27,45,.85); font-weight: 400; text-align: justify}
.messageContent p:last-child{margin-bottom:0}

.companyTable{width:100%; border-collapse: collapse; background: #fff; border-radius: 18px; overflow:hidden; box-shadow: 0 10px 30px rgba(0,0,0,.06); border: 1px solid rgba(15,27,45,.1)}
.companyTable tr{border-bottom: 1px solid rgba(15,27,45,.08)}
.companyTable tr:last-child{border-bottom: none}
.companyTable td{padding: 14px 18px; vertical-align: top; font-size: 16px; line-height: 1.75; color: rgba(15,27,45,.85); font-weight: 400}
.companyTable td.label{width: 240px; background: linear-gradient(90deg, rgba(91,164,206,.08), rgba(91,164,206,.02)); color:#234B6A; font-weight: 800; border-right: 1px solid rgba(91,164,206,.15)}
.companyTable td p{margin:0 0 5px}
.companyTable td p:last-child{margin-bottom:0}

.mapEmbed{margin-top: 14px; border-radius: 14px; overflow:hidden; box-shadow: 0 10px 25px rgba(0,0,0,.1); border: 1px solid rgba(15,27,45,.1); height: 280px}
.mapEmbed iframe{width:100%; height:100%; border:0; display:block}

.orgChart{text-align:center; background: #fff; border: 1px solid rgba(15,27,45,.1); border-radius: 18px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.06)}
.orgChart img{max-width:100%; height:auto; display:inline-block}

.equipmentList{display:grid; gap: 14px}
.equipBox{background: #fff; border: 1px solid rgba(15,27,45,.1); border-radius: 18px; padding: 18px 20px; box-shadow: 0 10px 30px rgba(0,0,0,.06)}
.equipBox h3{margin:0 0 10px; font-size: 18px; color:#234B6A; font-weight: 950; letter-spacing:.02em}
.equipBox ul{margin:0; padding:0; list-style:none}
.equipBox ul li{padding: 8px 0 8px 20px; position:relative; font-size: 16px; color: rgba(15,27,45,.85); font-weight: 400; line-height: 1.75}
.equipBox ul li:before{content:"•"; position:absolute; left:0; color:#5BA4CE; font-weight:900; font-size:18px}

@media (max-width: 980px){
  .messageWrap{grid-template-columns: 1fr; gap: 18px}
  .messageImg{max-width: 400px; margin: 0 auto}
  .companyTable td.label{width: 180px}
  .companyTable td{padding: 12px 16px}
}

@media (max-width: 640px){
  .companySection{padding: 20px 0}
  .sectionTitle{font-size: 24px; padding: 5px 12px}
  .companyPolicy{padding: 16px 16px}
  .companyPolicy p{line-height: 1.75}
  .messageContent{padding: 16px 16px}
  .messageContent p{line-height: 1.75}
  .companyTable{display: block}
  .companyTable tr{display: block; border-bottom: 2px solid rgba(15,27,45,.1); padding: 10px 0}
  .companyTable td{display: block; width:100% !important; border:none !important; padding: 6px 12px}
  .companyTable td.label{background: transparent; font-size: 13px; padding-bottom: 5px}
  .mapEmbed{height: 230px}
}
