/* 通常本文のレイアウト。旧ビルダーの実行時コードは使用しない。 */
.hodaikyo-page { font-size: 14px; line-height: 1.8; color: #000; }
.hodaikyo-page p { margin: 0 0 1em; }
.hodaikyo-page p:last-child { margin-bottom: 0; }
.hodaikyo-page .m-text a:not(.m-button) { text-decoration: none; }
.hodaikyo-page .m-text a:hover { color: #777; }
.m-section { position: relative; padding: 45px 0; }
.m-layout-row { display: grid; position: relative; grid-template-columns: minmax(0,1fr); margin: 0 auto; }
.m-layout-column, .m-layout-div { position: relative; min-width: 0; }
.m-text { min-width: 0; overflow-wrap: anywhere; }
.m-text p:first-child { margin-top: 0; }
.m-image { display: block; max-width: 100%; height: auto; object-fit: contain; }
.m-image img { display: block; max-width: 100%; height: auto; }
.m-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; padding: .7em 1.5em; line-height: 1.5; }
.m-video { display: block; width: 100%; aspect-ratio: 16/9; background: #111; }
.m-map iframe { display: block; width: 100%; border: 0; }
.m-gap { height: 50px; }
.member-tablist { display: flex; align-items: stretch; }
.member-tablist button { position: relative; min-width: 0; background: transparent; border: 0; border-bottom: 1px solid transparent; color: #888; padding: 0 20px 6px; flex: 1; white-space: nowrap; }
.member-tablist button[aria-selected="true"] { color: #000; border-color: #000; }
.new-badge, .badge-space { display: block; width: 60px; height: 20px; margin-bottom: 10px; font: 700 14px/20px var(--sans); letter-spacing: .1em; }
.new-badge { background: #d80000; color: white; text-align: center; }
.member-tabpanel { margin-top: 42px; }
.event-panel { border: 1px solid #ddd; margin: 0 0 12px; }
.event-panel summary { cursor: pointer; padding: 20px 25px; font-size: 20px; font-weight: 700; list-style: none; }
.event-panel summary::before { content: '+'; display: inline-block; width: 30px; font-weight: 400; }
.event-panel[open] summary::before { content: '−'; }
.event-panel[open] summary { border-bottom: 1px solid #ddd; }
.event-panel-content { padding: 20px 30px 30px; }
.event-panel-content a { overflow-wrap: anywhere; }
.hodaikyo-page table { width: 100%; border-collapse: collapse; line-height: 1.7; }
.hodaikyo-page th, .hodaikyo-page td { text-align: left; vertical-align: top; padding: 12px 15px; border-bottom: 1px solid #ddd; }
.hodaikyo-page th { font-weight: 700; }
.hodaikyo-page input, .hodaikyo-page textarea, .hodaikyo-page select { max-width: 100%; font: inherit; border: 1px solid #ddd; border-radius: 0; padding: 10px; background: white; }
.hodaikyo-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .hodaikyo-page textarea { width: 100%; }
.hodaikyo-page textarea { min-height: 160px; }
.hodaikyo-page input[type="submit"] { padding: 12px 55px; cursor: pointer; }
.hodaikyo-page .wpcf7-list-item { margin-left: 0; margin-right: 1em; }
.hodaikyo-page .wpcf7-not-valid-tip { font-size: .9em; }
.hodaikyo-page .wpcf7-response-output { margin-inline: 0; }
@media(min-width:1200px) { .hide-xl { display: none !important; } }
@media(min-width:980px) and (max-width:1199px) { .hide-lg { display: none !important; } }
@media(min-width:767px) and (max-width:979px) { .hide-md { display: none !important; } }
@media(min-width:480px) and (max-width:766px) { .hide-sm { display: none !important; } }
@media(max-width:479px) { .hide-xs { display: none !important; } }
@media(max-width:766px) {
  .hodaikyo-page { font-size: 12px; }
  .member-tablist { flex-wrap: wrap; }
  .member-tablist button { flex: 0 0 33.333%; font-size: 11px; padding: 0 6px 6px; margin-bottom: 20px; }
  .member-tablist button:nth-child(4), .member-tablist button:nth-child(5) { flex-basis: 50%; }
  .member-tabpanel { margin-top: 30px; }
  .event-panel summary { font-size: 16px; padding: 14px 12px; }
  .event-panel-content { padding: 15px; }
  .hodaikyo-page td, .hodaikyo-page th { padding: 8px; }
}
