    .font-serif-jp { font-family: 'Noto Serif JP', serif; }
    .font-sans-jp { font-family: 'Noto Sans JP', sans-serif; }

    html { scroll-behavior: smooth; }

    body { box-sizing: border-box; }

    #hero {
/*      background: linear-gradient(160deg, rgba(26, 39, 68, 0.85) 0%, rgba(42, 63, 106, 0.85) 50%, rgba(26, 39, 68, 0.85) 100%), url('../img/tottori.jpg') center/cover no-repeat;*/
      background: linear-gradient(160deg, rgba(45, 64, 105, 0.6) 0%, rgba(83, 112, 170, 0.6) 50%, rgba(45, 64, 105, 0.6) 100%), url('../img/tottori.jpg') center/cover no-repeat;
    }

    /* Geometric pattern for hero */
    .hero-pattern {
      background-image:
        linear-gradient(30deg, rgba(255,255,255,0.03) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,0.03) 87.5%),
        linear-gradient(150deg, rgba(255,255,255,0.03) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,0.03) 87.5%),
        linear-gradient(30deg, rgba(255,255,255,0.03) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,0.03) 87.5%),
        linear-gradient(150deg, rgba(255,255,255,0.03) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,0.03) 87.5%);
      background-size: 80px 140px;
      background-position: 0 0, 0 0, 40px 70px, 40px 70px;
    }

    /* Section reveal animation */
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Staggered children */
    .stagger-1 { transition-delay: 0.1s; }
    .stagger-2 { transition-delay: 0.2s; }
    .stagger-3 { transition-delay: 0.3s; }
    .stagger-4 { transition-delay: 0.4s; }

    /* Gold accent line */
    .accent-line {
      width: 48px;
      height: 3px;
      background: linear-gradient(90deg, #b8860b, #daa520);
    }

    /* Subtle card hover */
    .service-card {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .service-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    }

    /* ナビドロップダウン */
    .dropdown-child {
      display: none;
      position: absolute;
      background-color: #000000;
      width: max-content;
      padding: 0.8em 0.5em;
    }

    .dropdown-parent {
      color: #c9c4b8;
      position:relative;
    }

    .dropdown-parent:hover .dropdown-child {
      display: block;
    }

    /* Nav link underline animation */
    .nav-link {
      position: relative;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 2px;
      background: #b8860b;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after {
      width: 100%;
    }

    /* Mobile menu */
    .mobile-menu {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease;
    }
    .mobile-menu.open {
      max-height: 400px;
    }

    /* add */

    .bg-white {
      background-color: #ffffff;
    }

    .grid-cols-3-small {
      grid-template-columns: repeat(3, minmax(0, 0.2fr));
      place-content: center;
    }

    @media screen and (max-width: 1000px) {

      .grid-cols-3-small {
        grid-template-columns: repeat(3, minmax(0, 0.3fr));
      }

    }

    @media screen and (max-width: 640px) {

      .grid-cols-3-small {
        grid-template-columns: 0.7fr;
      }

      .sp_block {
        display: block;
      }

      .br-pc {
        display: none;
      }

    }

    .max-content {
      width: max-content;
    }

    .mt-auto {
      margin-top: auto;
    }

    .list_thumb {
      width: 20%;
    }

    /* 投稿記事本文 */
    .post-content p {
      margin-bottom: 1em;
    }

    /* ページネーション */
    .pagination {
      display: flex;
      justify-content: center;
    }


    .nav-links{
      display:flex;
    }
    .page-numbers{
      display:inline-block;
      margin-right:10px;
      padding:5px 10px;
      color:#666666;
      border-radius:3px;
      background:#ffffff;
      border: 1px solid #666666;
    }
    .page-numbers.current{
      padding:5px 10px;
      background:#204093;
      color:#ffffff;
    }
    .page-numbers.prev,
    .page-numbers.next{
      background:transparent;
      box-shadow:none;
        border:none;
      color:#666666; 
    }
    .page-numbers.dots{
      background:transparent;
      box-shadow:none;
        border:none;
      color:#666666; 
    }

    @media (max-width: 640px) {
    .page-numbers,
    .page-numbers.current    {
        margin-right: 5px;
        padding:2px 5px;
      }
    }

    /* 問い合わせフォーム */
    #contact_form {
      font-size: 0.9em;
    }

    #contact_form ul {
      margin-left: 1em;
    }

    #contact_form th {
      padding: 1em;
      width: 14em;
    }

    #contact_form td {
      padding: 1em;
    }

    #contact_form h4 {
      font-size: 1.5em;
      font-weight: bold;
      margin: 1em;
    }

    .wpcf7-text {
      border: 1px solid #b8860b;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .wpcf7-textarea {
      border: 1px solid #b8860b;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    .wpcf7-form .required {
      color: #c00000;
    }

    .wpcf7-form .optional {
      color: #0000c0;
    }

    .submitform {
      text-align: center;
    }

    .wpcf7-submit {
      background-color: #eae6dc;
      color: #1a2744;
      transition-property: all;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
      padding: 0.75rem 2rem;
      border-Radius: '0.25rem';
    }

    .wpcf7-submit:hover {
      --tw-brightness: brightness(.95);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }

    #contact_table {
      width: 100%;
    }

    #contact_table th, #contact_table td {
      border: 1px solid #b8860b;
    }

    @media (max-width: 640px) {

      #contact_form th {
        display: block;
        width: unset;
      }

      #contact_form td {
        display: block;
      }

    }

    /* 情報公開 */
    #disclosure_list li a {
      background-image: url("../img/pdf_icon.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position-x: right;
      padding-right: 2em;
      width: fit-content;
      line-height: 3em;
    }

    /* 会員専用 */
    .list_for_members li a {
      background-size: contain;
      background-repeat: no-repeat;
      background-position-x: right;
      padding-right: 2em;
      width: fit-content;
      line-height: 3em;
    }

    .list_for_members li a[href$=".pdf"] {
      background-image: url("../img/pdf_icon.png");
    }

    .list_for_members li a[href$=".doc"] {
      background-image: url("../img/doc_icon.png");
    }

    .list_for_members li a[href$=".docx"] {
      background-image: url("../img/doc_icon.png");
    }

    .list_for_members li a[href$=".xls"] {
      background-image: url("../img/xls_icon.png");
    }

    .list_for_members li a[href$=".xlsx"] {
      background-image: url("../img/xls_icon.png");
    }

    /* 固定ページ */
    #page h4 {
      font-size: 1.5em;
      font-weight: bold;
      margin: 1em 0;
      border-bottom: 1px solid #b8860b;
    }

    #page h5 {
      font-size: 1.2em;
      font-weight: bold;
      margin: 1em 0 0.5em 0;
    }

    #page ul {
      margin-left: 1em;
      list-style: disc;
    }

    #page li {
      line-height: 2em;
    }

    #page ol {
      list-style-type: decimal;
    }

    #page p {
      margin: 0 0 1em 0;
    }