/*
Theme Name: REXIA Static Theme
Author: RISOOO DESIGN
Description: Static HTML converted to WordPress theme. Overrides and page-specific fixes live here.
Version: 1.0.0
Text Domain: rexia
*/


/* --- front-page.php --- */
.embeddedServiceHelpButton .helpButton .uiButton {
          display: none !important;
        }


/* --- page-contact.php --- */
.title-pg {
      padding-top: 20px;
    }

    .u-aspect-21x9 {
      position: relative;
      padding-top: 42.857%;
    }

    .u-aspect-inner {
      position: absolute;
      inset: 0;
    }

    .u-obj {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .p_form dt {
      font-weight: 700;
    }

    .p_form dd {
      margin-top: 8px;
    }

    .p_form .req {
      display: inline-block;
      margin-left: 8px;
      font-size: 12px;
      padding: 2px 8px;
      border-radius: 9999px;
      background: #0B5DB3;
      color: #fff;
    }

    .p_form input,
    .p_form select,
    .p_form textarea {
      width: 100%;
      border: 1px solid rgba(0, 0, 0, .15);
      border-radius: 10px;
      padding: 12px 14px;
      font-size: 16px;
      line-height: 1.6;
      background: #fff;
    }

    .p_form textarea {
      min-height: 160px;
      resize: vertical;
    }

    .p_form .field {
      margin-top: 20px;
    }

    .p_form .grid-2 {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }

    @media(min-width:768px) {
      .p_form .grid-2 {
        grid-template-columns: 1fr 1fr;
      }
    }

    .p_form .note {
      font-size: 12px;
      opacity: .7;
      margin-top: 6px;
    }

    .p_form .error {
      color: #B00020;
      font-size: 13px;
      margin-top: 6px;
      display: none;
    }

    .p_form .actions {
      margin-top: 28px;
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    .p_form .c_btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 22px;
      border-radius: 9999px;
    }


/* --- page-faq.php --- */
.title-pg {
      padding-top: 20px;
    }

    .u-aspect-21x9 {
      position: relative;
      padding-top: 42.857%;
    }

    .u-aspect-inner {
      position: absolute;
      inset: 0;
    }

    .u-obj {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .p_faq_list details {
      padding: 16px 0;
    }

    .p_faq_list summary {
      cursor: pointer;
      list-style: none;
      font-weight: 700;
    }

    .p_faq_list summary::-webkit-details-marker {
      display: none;
    }

    .p_faq_list summary:after {
      content: "＋";
      float: right;
    }

    .p_faq_list details[open] summary:after {
      content: "－";
    }

    /* Qマーク（ブランドに合わせた丸型バッジ） */
    .p_faq_list summary {
      position: relative;
      padding-left: 44px;
      color: inherit;
    }

    .p_faq_list summary .qmark {
      /* fallback if we ever add an inline span */
      display: inline-grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 9999px;
      font-weight: 900;
      font-family: Inter, system-ui, sans-serif;
      background: #0B5DB3;
      color: #fff;
      margin-right: 10px;
    }

    .p_faq_list summary::before {
      content: "Q";
      position: absolute;
      left: 0;
      top: 0.1rem;
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 9999px;
      font-weight: 900;
      font-family: Inter, system-ui, sans-serif;
      background: #0B5DB3;
      color: #fff;
      line-height: 1;
      letter-spacing: .02em;
      box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
    }

    /* 開閉アイコン（＋／－）は既存仕様を踏襲 */
    .p_faq_list summary:after {
      content: "＋";
      float: right;
      color: #0B5DB3;
    }

    .p_faq_list details[open] summary:after {
      content: "－";
    }


/* --- page-privacy.php --- */
.title-pg {
      padding-top: 20px;
    }

    .u-aspect-21x9 {
      position: relative;
      padding-top: 42.857%;
    }

    .u-aspect-inner {
      position: absolute;
      inset: 0;
    }

    .u-obj {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .policy h3 {
      margin-top: 18px;
    }

    .policy .c_card {
      line-height: 1.9;
    }

    .policy dl dt {
      font-weight: 700;
    }

    .policy dl dd {
      margin-top: 6px;
    }

    .badge-updated {
      display: inline-block;
      padding: 4px 10px;
      border-radius: 9999px;
      background: #EEF5FF;
      color: #0B5DB3;
      font-size: 12px;
      font-weight: 700;
    }


/* --- page-recruit.php --- */
.title-pg {
      padding-top: 20px;
    }

    .u-aspect-21x9 {
      position: relative;
      padding-top: 42.857%;
    }

    .u-aspect-inner {
      position: absolute;
      inset: 0;
    }

    .u-obj {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }

    .grid-3 {
      display: grid;
      grid-template-columns: 1fr;
      gap: 16px;
    }

    @media(min-width:768px) {
      .grid-2 {
        grid-template-columns: 1fr 1fr;
      }

      .grid-3 {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    .badge {
      display: inline-block;
      padding: 6px 10px;
      border-radius: 9999px;
      background: #EEF5FF;
      color: #0B5DB3;
      font-size: 12px;
      font-weight: 700;
    }

    .job-card .meta {
      font-size: 13px;
      opacity: .8;
    }

    .process-list {
      counter-reset: step;
    }

    .process-list li {
      counter-increment: step;
      position: relative;
      padding-left: 42px;
      margin-top: 14px;
    }

    .process-list li::before {
      content: counter(step);
      position: absolute;
      left: 0;
      top: 0;
      width: 28px;
      height: 28px;
      border-radius: 9999px;
      background: #0B5DB3;
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 900;
      box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
    }
