.pc-content {
  box-sizing: border-box;
  max-width: 1120px;
  margin: 0 auto;
  padding: 32px 28px 56px;
  color: #29323a;
  font-family: "Helvetica Neue", "Yu Gothic", YuGothic, Meiryo, sans-serif;
}
.pc-content *, .pc-content *::before, .pc-content *::after { box-sizing: border-box; }
.pc-content .theme-tmp {
  width: auto;
  margin: 0;
  padding: 28px 30px;
  border: 1px solid #e1e7eb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(28, 48, 61, .07);
}
.pc-content p { font-size: 17px; line-height: 1.9; letter-spacing: .015em; }
.pc-content a { color: #175a9c; text-underline-offset: 3px; }
.pc-content .theme-tmp > .p2,
.pc-content .theme-tmp > .p6,
.pc-content > .p6,
.pc-content h3.p4,
.pc-content h3.h2-chuo {
  margin: 26px 0 14px !important;
  padding: 5px 0 5px 14px;
  border-left: 5px solid #315c8c;
  color: #183a60;
  font-size: 23px;
  line-height: 1.45;
  text-align: left;
}
.pc-content .theme-tmp > .p2:first-of-type,
.pc-content .theme-tmp > .p6:first-of-type { margin-top: 0 !important; }
.pc-content table { width: 100%; margin: 16px 0 !important; border-collapse: collapse; font-size: 16px; line-height: 1.65; }
.pc-content th, .pc-content td { padding: 13px 12px; border: 1px solid #d6dfe5 !important; vertical-align: top; }
.pc-content th { background: #eaf2f8; color: #183a60; font-weight: 700; }
.pc-content tr:nth-child(even) td { background: #f8fafb; }
.pc-content img { max-width: 100%; height: auto; border-radius: 7px; }
.pc-content iframe[src*="google.com/maps"] { display: block; width: 100%; max-width: 100%; height: 520px; border: 0; border-radius: 12px; }
.pc-content iframe[src*="count/"] { display: block; margin-left: auto; }
.pc-content p:has(> iframe[src*="count/"]) { margin: 30px 0 0 !important; text-align: right; }
.pc-content .features-section { margin: 0 0 24px; padding: 24px 26px; border: 1px solid #e1e7eb; border-radius: 14px; background: #fff; box-shadow: 0 4px 18px rgba(28,48,61,.07); }
.pc-content .features-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; }
.pc-content .features-list > li { margin: 0; padding: 18px; border-radius: 10px; background: #f3f7fa; font-size: 17px; line-height: 1.65; }
.pc-content .features-list p { font-size: 15px; }
.pc-content .p6 + ul { margin: 0 0 22px !important; padding: 18px 28px 20px 48px; border: 1px solid #e1e7eb; border-radius: 10px; background: #fff; box-shadow: 0 3px 13px rgba(28,48,61,.05); }
.pc-content .p6 + ul li { margin: 8px 0; font-size: 16px; line-height: 1.75; }
.pc-content .dojo-table { overflow: hidden; border-radius: 10px; }
.pc-content .accordion { width: 100%; }
.pc-content .accordion label { display: block; margin-top: 12px; padding: 15px 18px; border-radius: 8px; background: #eaf2f8; color: #183a60; font-size: 17px; font-weight: 700; cursor: pointer; }
.pc-content .accordion .ac-cont { padding: 4px 20px 18px; border: 1px solid #dce5ea; border-top: 0; border-radius: 0 0 8px 8px; background: #fff; }
.pc-content .accordion .ac-cont p { font-size: 16px; line-height: 1.85; }
.pc-content .theme-tmp table img { min-width: 130px; object-fit: cover; }
.pc-content .theme-tmp table td p { margin: 0; font-size: 16px; }
.page-staff .theme-tmp table img {
  display: block;
  min-width: 0;
  max-width: none;
  height: auto;
  object-fit: contain;
}
.page-access .access-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}
.page-access .access-card {
  padding: 24px 26px;
  border: 1px solid #dce3e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(28, 48, 61, .06);
}
.page-access .access-card h2 {
  margin: 0 0 16px;
  padding-left: 12px;
  border-left: 4px solid #315c8c;
  color: #183a60;
  font-size: 22px;
  line-height: 1.45;
}
.page-access .access-card p { margin: 0; font-size: 17px; line-height: 1.85; }
.page-access .access-card p + p,
.page-access .access-card address + p { margin-top: 16px; }
.page-access .access-card address { margin-top: 16px; font-style: normal; }
.page-access .access-contact-link {
  display: inline-block;
  padding: 10px 13px;
  border-radius: 7px;
  background: #eef5fb;
  font-size: 17px;
  font-weight: 700;
}
.page-access .access-notice {
  padding: 12px 14px;
  border-left: 4px solid #c98318;
  background: #fff7e9;
  color: #63410d;
}
.page-schedule .schedule-events {
  margin-top: 24px;
  padding: 26px 28px 28px;
  border: 1px solid #dce3e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(28, 48, 61, .06);
}
.page-schedule .schedule-visit-card {
  margin: 18px 0 24px;
  padding: 20px 24px;
  border: 1px solid #d9e4ed;
  border-left: 5px solid #315c8c;
  border-radius: 10px;
  background: #f5f9fc;
  box-shadow: 0 3px 12px rgba(28, 48, 61, .05);
}
.page-schedule .schedule-visit-card p {
  margin: 0;
  color: #263b4d;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.9;
  text-align: left;
}
.page-schedule .schedule-events h2 {
  margin: 0 0 18px;
  padding-left: 12px;
  border-left: 4px solid #315c8c;
  color: #183a60;
  font-size: 23px;
  line-height: 1.45;
  text-align: left;
}
.page-schedule .schedule-event-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-schedule .schedule-event-grid li {
  padding: 17px 18px;
  border: 1px solid #e0e6e9;
  border-radius: 9px;
  background: #f7f9fa;
  color: #29323a;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
  text-align: left;
}
.page-about .theme-tmp table,
.page-about .theme-tmp table > tbody { display: block; width: 100%; }
.page-about .theme-tmp table > tbody > tr {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.page-about .theme-tmp table > tbody > tr > td { width: auto !important; text-align: center; border-radius: 8px; background: #f7f9fa; }
.page-about .theme-tmp table > tbody > tr > td:nth-child(-n+4) img { display: block; width: 140px; height: 195px; margin: 10px auto 0 !important; object-fit: cover; }
.page-about .theme-tmp table > tbody > tr > td:nth-child(5) { grid-column: 1 / -1; padding: 22px; text-align: left; }
.page-about .theme-tmp table > tbody > tr > td:nth-child(5) img { display: block; width: min(420px, 100%); margin: 0 auto 18px !important; }
@media (max-width: 900px) {
  .pc-content { padding: 24px 18px 44px; }
  .pc-content .theme-tmp { padding: 22px 20px; }
  .pc-content .features-list { grid-template-columns: 1fr; }
  .pc-content iframe[src*="google.com/maps"] { height: 400px; }
  .page-access .access-card-grid { grid-template-columns: 1fr; }
  .page-schedule .schedule-event-grid { grid-template-columns: 1fr; }
}
