
:root{
--ws-blue:#0054b8;
--ws-blue-dark:#062b63;
--ws-blue-light:#f3f8ff;
--ws-border:#dce7f5;
--ws-text:#17233c;
--ws-green:#06b34b;
--ws-shadow:0 10px 30px rgba(0,62,140,.06);
}

.entry-title{display:none!important;}
.inside-article{padding-top:0!important;}

.ws-company-page{
background:#fff;
font-family:"Noto Sans JP",sans-serif;
color:var(--ws-text);
line-height:1.8;
}

.ws-container{
width:min(1120px,calc(100% - 40px));
margin:auto;
}

/* hero */
.ws-company-hero{
padding:70px 0;
background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
text-align:center;
}

.ws-company-hero h1{
font-size:56px;
line-height:1.3;
font-weight:900;
color:var(--ws-blue-dark);
margin:0 0 14px;
}

.ws-company-hero p{
font-size:20px;
margin:0;
}

/* title */
.ws-section-title{
font-size:38px;
font-weight:900;
color:var(--ws-blue);
margin:0 0 22px;
position:relative;
padding-bottom:12px;
}

.ws-section-title:after{
content:"";
position:absolute;
left:0;
bottom:0;
width:120px;
height:3px;
background:var(--ws-blue);
}

/* grid */
.ws-company-main{
padding:70px 0 40px;
}

.ws-company-grid{
display:grid;
grid-template-columns:1.2fr .95fr;
gap:36px;
align-items:start;
margin-bottom:50px;
}

/* table */
.ws-company-table{
width:100%;
border-collapse:collapse;
border:1px solid var(--ws-border);
background:#fff;
box-shadow:var(--ws-shadow);
}

.ws-company-table th,
.ws-company-table td{
padding:18px 22px;
border-bottom:1px solid var(--ws-border);
font-size:16px;
}

.ws-company-table th{
width:180px;
background:#f8fbff;
font-weight:800;
text-align:left;
border-right:1px solid var(--ws-border);
}

.ws-company-table tr:last-child th,
.ws-company-table tr:last-child td{
border-bottom:none;
}

/* image */
.ws-image-placeholder{
height:620px;
background:linear-gradient(135deg,#eef5ff,#dcecff);
border:1px solid var(--ws-border);
border-radius:6px;
display:flex;
align-items:center;
justify-content:center;
font-weight:900;
font-size:24px;
color:var(--ws-blue);
}

/* bottom */
.ws-company-bottom{
display:grid;
grid-template-columns:1fr 1fr;
gap:36px;
align-items:start;
}

.ws-license-list{
list-style:none;
padding:0;
margin:0;
}

.ws-license-list li{
position:relative;
padding-left:34px;
margin-bottom:18px;
font-size:18px;
font-weight:500;
}

.ws-license-list li:before{
content:"✓";
position:absolute;
left:0;
top:0;
width:22px;
height:22px;
border-radius:50%;
background:#fff;
border:2px solid var(--ws-blue);
color:var(--ws-blue);
font-size:13px;
display:flex;
align-items:center;
justify-content:center;
font-weight:900;
}

.ws-message-card{
border:1px solid var(--ws-border);
background:#fff;
padding:34px;
border-radius:8px;
box-shadow:var(--ws-shadow);
min-height:420px;
}

.ws-message-card p{
font-size:18px;
margin:0 0 22px;
}

.ws-sign{
margin-top:40px;
text-align:right;
font-size:24px;
font-weight:700;
color:var(--ws-blue-dark);
}

/* cta */
.ws-company-cta{
padding:40px 0 80px;
}

.ws-cta-box{
background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);
border:1px solid var(--ws-border);
border-radius:10px;
padding:50px;
text-align:center;
}

.ws-cta-box h2{
font-size:42px;
line-height:1.4;
color:var(--ws-blue);
margin:0 0 10px;
font-weight:900;
}

.ws-cta-box p{
font-size:18px;
margin:0 0 30px;
}

.ws-cta-buttons{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
max-width:780px;
margin:auto;
}

.ws-tel-btn,
.ws-line-btn{
min-height:120px;
border-radius:8px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
color:#fff;
font-weight:900;
text-decoration:none;
}

.ws-tel-btn{
background:linear-gradient(180deg,#0b5be1,#0044c3);
}

.ws-line-btn{
background:linear-gradient(180deg,#0cc24f,#06a642);
}

.ws-tel-btn strong{
display:block;
font-size:42px;
line-height:1.2;
}

.ws-tel-btn small,
.ws-line-btn small{
display:block;
font-size:14px;
margin-top:4px;
}

.ws-line-btn{
font-size:32px;
}

/* responsive */
@media(max-width:1024px){

.ws-company-grid,
.ws-company-bottom,
.ws-cta-buttons{
grid-template-columns:1fr;
}

.ws-image-placeholder{
height:420px;
}

}

@media(max-width:640px){

.ws-company-hero{
padding:50px 0;
}

.ws-company-hero h1{
font-size:38px;
}

.ws-section-title{
font-size:30px;
}

.ws-company-table,
.ws-company-table tbody,
.ws-company-table tr,
.ws-company-table th,
.ws-company-table td{
display:block;
width:100%;
}

.ws-company-table th{
border-right:none;
padding-bottom:10px;
}

.ws-company-table td{
padding-top:10px;
}

.ws-message-card{
padding:24px;
min-height:auto;
}

.ws-cta-box{
padding:34px 20px;
}

.ws-cta-box h2{
font-size:30px;
}

.ws-tel-btn strong{
font-size:34px;
}

}

/* v88: 管理画面本文を会社情報ページに反映するための固定ページ本文スタイル */
.ws-company-page--editor-content .ws-company-main{
  padding:48px 0 72px;
}
.ws-company-entry-content{
  max-width:900px;
  margin:0 auto;
  color:#1f2937;
  font-size:17px;
  line-height:1.9;
}
.ws-company-entry-content h1{
  margin:0 0 24px;
  padding:30px 28px;
  border-radius:22px;
  background:linear-gradient(135deg,#eaf4ff 0%,#f7fbff 100%);
  color:#0a4da3;
  font-size:36px;
  line-height:1.35;
  font-weight:800;
  text-align:center;
}
.ws-company-entry-content h2{
  margin:44px 0 18px;
  padding:0 0 12px;
  border-bottom:3px solid #dbeafe;
  color:#0a4da3;
  font-size:28px;
  line-height:1.4;
  font-weight:800;
}
.ws-company-entry-content h3{
  margin:28px 0 12px;
  color:#111827;
  font-size:21px;
  font-weight:800;
}
.ws-company-entry-content p{
  margin:0 0 18px;
}
.ws-company-entry-content table{
  width:100%;
  margin:18px 0 32px;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #dbe7f8;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(10,77,163,.08);
}
.ws-company-entry-content th,
.ws-company-entry-content td{
  padding:16px 18px;
  border-bottom:1px solid #e5eefb;
  text-align:left;
  vertical-align:top;
  font-size:16px;
  line-height:1.75;
}
.ws-company-entry-content th{
  width:180px;
  background:#f3f8ff;
  color:#0a4da3;
  font-weight:800;
}
.ws-company-entry-content tr:last-child th,
.ws-company-entry-content tr:last-child td{
  border-bottom:0;
}
.ws-company-entry-content ul{
  margin:14px 0 28px;
  padding:20px 24px 20px 46px;
  border:1px solid #dbe7f8;
  border-radius:18px;
  background:#f8fbff;
}
.ws-company-entry-content li{
  margin:6px 0;
}
.ws-company-entry-content a{
  color:#0a4da3;
  font-weight:700;
  text-decoration:underline;
}
@media(max-width:768px){
  .ws-company-page--editor-content .ws-company-main{padding:28px 0 48px;}
  .ws-company-entry-content{font-size:16px;line-height:1.8;}
  .ws-company-entry-content h1{font-size:28px;padding:24px 18px;border-radius:18px;}
  .ws-company-entry-content h2{font-size:23px;margin-top:34px;}
  .ws-company-entry-content h3{font-size:19px;}
  .ws-company-entry-content table,
  .ws-company-entry-content tbody,
  .ws-company-entry-content tr,
  .ws-company-entry-content th,
  .ws-company-entry-content td{display:block;width:100%;}
  .ws-company-entry-content th{padding:13px 16px;border-bottom:0;}
  .ws-company-entry-content td{padding:0 16px 14px;}
  .ws-company-entry-content tr{border-bottom:1px solid #e5eefb;}
  .ws-company-entry-content tr:last-child{border-bottom:0;}
  .ws-company-entry-content ul{padding:16px 18px 16px 36px;}
}
