/*
Theme Name: MUSASHINO Accounting
Theme URI: https://shiono-kaikei.com/
Author: 塩野公認会計士事務所
Author URI: https://shiono-kaikei.com/
Description: 塩野公認会計士事務所・合同会社MUSASHINO会計の公式ウェブサイトテーマ。会計事務所として上品で洗練されたデザインを採用し、HOME / ABOUT / SERVICE / PRICE / BLOG / CONTACT / プライバシーポリシーの全ページに対応しています。レスポンシブ対応・Contact Form 7対応。
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: musashino-accounting-v2
Tags: business, accounting, professional, responsive, japanese
*/

:root{
    --navy:#1a2340;
    --navy-dark:#0e1628;
    --navy-light:#263056;
    --gold:#b89a5a;
    --gold-light:#d4b97a;
    --cream:#f8f5ef;
    --white:#ffffff;
    --gray:#6b7280;
    --text:#2c3142;
    --serif-en:'Cormorant Garamond', Georgia, serif;
    --serif-jp:'Noto Serif JP', serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{font-family:var(--serif-jp);color:var(--text);background:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  button{font-family:inherit;border:none;background:none;cursor:pointer}
  a{color:inherit;text-decoration:none}



  /* ========= HEADER ========= */
  .site-header{
    background:rgba(26,35,64,0.97);
    padding:0 2rem;
    display:flex;align-items:center;justify-content:space-between;
    height:64px;
    border-bottom:1px solid rgba(184,154,90,0.35);
    position:sticky;top:0;z-index:100;
    backdrop-filter:blur(8px);
  }
  .site-header .logo-en{font-family:var(--serif-en);font-size:10px;letter-spacing:0.25em;color:var(--gold);text-transform:uppercase;font-weight:500}
  .site-header .logo-jp{font-family:var(--serif-jp);font-size:12px;color:var(--white);letter-spacing:0.05em;margin-top:3px;font-weight:400}
  .nav{display:flex;gap:1.75rem;align-items:center}
  .nav a{
    font-family:var(--serif-en);font-size:11px;letter-spacing:0.2em;
    color:rgba(255,255,255,0.7);text-transform:uppercase;
    padding:4px 0;position:relative;transition:color 0.25s;
  }
  .nav a:hover{color:var(--gold-light)}
  .nav a.active{color:var(--gold)}
  .nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold)}
  .nav a.contact-btn{border:1px solid var(--gold);padding:6px 14px;border-radius:2px;color:var(--gold)}
  .nav a.contact-btn:hover{background:var(--gold);color:var(--navy)}
  .nav a.contact-btn::after{display:none}

  .menu-toggle{display:none;color:#fff;padding:8px}
  .menu-toggle svg{width:22px;height:22px}

  @media (max-width:768px){
    .site-header{padding:0 1.25rem;height:58px}
    .site-header .logo-jp{font-size:11px}
    .site-header .logo-en{font-size:8px;letter-spacing:0.2em}
    .menu-toggle{display:block}
    .nav{
      position:absolute;top:100%;left:0;right:0;
      background:rgba(14,22,40,0.98);backdrop-filter:blur(12px);
      flex-direction:column;gap:0;padding:0;
      max-height:0;overflow:hidden;transition:max-height 0.3s ease;
      border-bottom:1px solid rgba(184,154,90,0.2);
    }
    .nav.open{max-height:400px;padding:1rem 0}
    .nav a{padding:14px 1.5rem;width:100%;border-bottom:1px solid rgba(184,154,90,0.1)}
    .nav a.contact-btn{border:none;padding:14px 1.5rem;margin:0;border-radius:0}
    .nav a.contact-btn:hover{background:rgba(184,154,90,0.1);color:var(--gold)}
    .nav a.active::after{display:none}
    .nav a.active{background:rgba(184,154,90,0.1)}
  }

  /* ========= 共通：セクション装飾 ========= */
  .section-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .section-eyebrow .line{width:28px;height:1px;background:var(--gold)}
  .section-eyebrow .text{font-family:var(--serif-en);font-size:10px;letter-spacing:0.35em;color:var(--gold);text-transform:uppercase;font-weight:500}
  .section-title{font-family:var(--serif-jp);font-size:28px;font-weight:300;color:var(--navy);letter-spacing:0.08em;line-height:1.5;margin-bottom:8px}
  .title-underline{width:48px;height:2px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:20px}

  /* ========= HERO ========= */
  .hero{
    background:linear-gradient(135deg,#1a2340 0%,#0e1628 100%);
    min-height:520px;
    display:grid;grid-template-columns:1fr 1fr;
    overflow:hidden;position:relative;
  }
  .hero-left{
    position:relative;z-index:2;
    padding:4rem 3rem 4rem 5rem;
    display:flex;flex-direction:column;justify-content:center;
  }
  .hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px}
  .hero-eyebrow .line{width:40px;height:1px;background:var(--gold)}
  .hero-eyebrow span{font-family:var(--serif-en);font-size:11px;letter-spacing:0.4em;color:var(--gold);text-transform:uppercase;font-weight:500}
  .hero-title{font-family:var(--serif-jp);font-size:44px;font-weight:300;color:#fff;line-height:1.6;letter-spacing:0.08em;margin-bottom:14px}
  .hero-title .accent{color:var(--gold-light);font-weight:400}
  .hero-sub-en{font-family:var(--serif-en);font-size:13px;color:rgba(255,255,255,0.5);letter-spacing:0.1em;margin-bottom:36px}
  .hero-cta{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--gold);color:var(--navy);
    padding:14px 28px;border-radius:2px;
    font-family:var(--serif-jp);font-size:13px;letter-spacing:0.1em;font-weight:500;
    align-self:flex-start;transition:all 0.25s;
  }
  .hero-cta:hover{background:var(--gold-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(184,154,90,0.3)}
  .hero-scroll{margin-top:40px;display:flex;flex-direction:column;gap:6px}
  .hero-scroll span{font-family:var(--serif-en);font-size:9px;letter-spacing:0.3em;color:rgba(255,255,255,0.3);text-transform:uppercase}
  .hero-scroll .bar{width:1px;height:32px;background:linear-gradient(to bottom,rgba(184,154,90,0.6),transparent)}
  .hero-right{position:relative;overflow:hidden}
  .hero-right::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,#1a2340 0%,transparent 35%);z-index:1}
  .hero-right img{width:100%;height:100%;object-fit:cover;object-position:center}
  .hero-right .fallback{display:none;width:100%;height:100%;background:#0e1628;align-items:center;justify-content:center;color:rgba(184,154,90,0.3);font-family:var(--serif-en);font-size:14px;letter-spacing:0.3em}

  @media (max-width:768px){
    .hero{grid-template-columns:1fr;min-height:auto}
    .hero-left{padding:3rem 1.5rem 3rem;order:2}
    .hero-right{order:1;height:240px}
    .hero-right::before{background:linear-gradient(to bottom,transparent 50%,#1a2340)}
    .hero-title{font-size:30px}
    .hero-sub-en{font-size:11px;margin-bottom:24px}
    .hero-eyebrow span{font-size:9px}
    .hero-scroll{display:none}
  }

  /* ========= CONCEPT ========= */
  .concept{background:var(--white);padding:5rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
  .concept-text p{font-family:var(--serif-jp);font-size:14px;line-height:2.1;color:#445;font-weight:300;margin-bottom:14px}
  .concept-photo{height:460px;border-radius:4px;overflow:hidden;position:relative}
  .concept-photo img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;background:var(--navy)}
  .concept-photo .fallback{display:none;width:100%;height:100%;background:var(--navy);flex-direction:column;align-items:center;justify-content:center}
  .concept-photo .fallback .big{font-family:var(--serif-en);font-size:64px;font-weight:300;color:rgba(184,154,90,0.15)}
  .concept-photo .fallback .sub{font-family:var(--serif-jp);font-size:12px;color:var(--gold);letter-spacing:0.3em;margin-top:8px}

  @media (max-width:768px){
    .concept{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2rem}
    .concept-photo{height:360px;order:-1}
    .section-title{font-size:22px}
  }

  /* ========= SERVICES ========= */
  .services{background:var(--cream);padding:5rem 5rem}
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
  .service-card{
    background:var(--white);padding:1.75rem 1.5rem;border-radius:4px;
    border-top:3px solid var(--gold);
    box-shadow:0 2px 16px rgba(26,35,64,0.05);
    transition:all 0.25s;
    cursor:pointer;
    display:flex;flex-direction:column;
    text-decoration:none;color:inherit;
  }
  .service-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(26,35,64,0.1)}
  .service-card:hover .service-more{color:var(--gold);letter-spacing:0.25em}
  .service-icon{width:40px;height:40px;margin-bottom:14px;color:var(--gold)}
  .service-icon svg{width:100%;height:100%}
  .service-title{font-family:var(--serif-jp);font-size:15px;font-weight:500;color:var(--navy);margin-bottom:8px;letter-spacing:0.05em}
  .service-desc{font-size:12px;line-height:1.9;color:var(--gray);flex:1;margin-bottom:14px}
  .service-more{
    font-family:var(--serif-en);font-size:10px;letter-spacing:0.2em;
    color:var(--gray);text-transform:uppercase;font-weight:500;
    padding-top:12px;border-top:1px solid rgba(184,154,90,0.15);
    transition:all 0.25s;
  }

  /* SERVICEページ：HOMEからジャンプしてきた項目のハイライト */
  .service-row{transition:background 0.4s ease}
  .service-row.highlighted{
    background:linear-gradient(90deg,rgba(184,154,90,0.12) 0%,rgba(184,154,90,0.04) 50%,transparent 100%);
    animation:highlight-pulse 2.2s ease-out;
  }
  @keyframes highlight-pulse{
    0%{background:rgba(184,154,90,0.28)}
    100%{background:transparent}
  }

  @media (max-width:768px){
    .services{padding:3rem 1.5rem}
    .services-grid{grid-template-columns:1fr;gap:14px}
  }

  /* ========= INFO BAR ========= */
  .info-bar{background:var(--navy);padding:2.5rem 5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
  .info-item{border-left:2px solid var(--gold);padding-left:18px}
  .info-item .label{font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;font-weight:500}
  .info-item .value{font-family:var(--serif-jp);font-size:13px;color:#fff;font-weight:300}

  @media (max-width:768px){
    .info-bar{grid-template-columns:1fr;padding:2rem 1.5rem;gap:1.25rem}
  }

  /* ========= CTA ========= */
  .cta{background:var(--white);padding:4rem 5rem;text-align:center}
  .cta .eyebrow-text{font-family:var(--serif-en);font-size:10px;letter-spacing:0.35em;color:var(--gold);text-transform:uppercase;font-weight:500}
  .cta h2{font-family:var(--serif-jp);font-size:28px;font-weight:300;color:var(--navy);letter-spacing:0.08em;line-height:1.6;margin:12px 0 8px}
  .cta .underline{width:48px;height:2px;background:linear-gradient(to right,var(--gold),transparent);margin:14px auto 18px}
  .cta p{font-family:var(--serif-jp);font-size:13px;color:var(--gray);line-height:2;margin-bottom:24px}
  .cta-btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--navy);color:#fff;
    padding:14px 32px;border-radius:2px;
    font-family:var(--serif-jp);font-size:13px;letter-spacing:0.1em;font-weight:500;
    transition:all 0.25s;
  }
  .cta-btn:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,35,64,0.2)}

  @media (max-width:768px){
    .cta{padding:3rem 1.5rem}
    .cta h2{font-size:22px}
  }

  /* ========= FOOTER ========= */
  .site-footer{background:var(--navy-dark);padding:1.75rem 5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(184,154,90,0.2)}
  .site-footer .footer-en{font-family:var(--serif-en);font-size:9px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;font-weight:500}
  .site-footer .footer-jp{font-family:var(--serif-jp);font-size:11px;color:#fff;margin-top:3px;font-weight:300}
  .site-footer .copyright{font-family:var(--serif-en);font-size:10px;color:rgba(255,255,255,0.3);letter-spacing:0.05em}

  @media (max-width:768px){
    .site-footer{padding:1.5rem;flex-direction:column;gap:12px;text-align:center}
  }

  /* ========= ABOUT ========= */
  .page-head{background:var(--navy);padding:3.5rem 5rem 3rem;position:relative;overflow:hidden}
  .page-head .big-en{position:absolute;right:4%;top:50%;transform:translateY(-50%);font-family:var(--serif-en);font-size:100px;color:rgba(184,154,90,0.07);pointer-events:none;font-weight:300;letter-spacing:0.05em}
  .page-head .eyebrow{font-family:var(--serif-en);font-size:11px;letter-spacing:0.4em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;font-weight:500}
  .page-head h1{font-family:var(--serif-jp);font-size:32px;font-weight:300;color:#fff;letter-spacing:0.1em}
  .page-head .lead{font-family:var(--serif-jp);font-size:13px;color:rgba(255,255,255,0.5);line-height:1.9;margin-top:12px;max-width:700px;position:relative;z-index:1}

  @media (max-width:768px){
    .page-head{padding:2.5rem 1.5rem}
    .page-head .big-en{font-size:52px;right:4%}
    .page-head h1{font-size:22px}
  }

  .about-body{background:var(--white);padding:4.5rem 5rem;display:grid;grid-template-columns:320px 1fr;gap:4rem}
  .profile-card .photo{height:380px;border-radius:4px;overflow:hidden;margin-bottom:24px}
  .profile-card .photo img{width:100%;height:100%;object-fit:contain;object-position:center center;background:var(--cream)}
  .profile-card .badge{display:inline-block;background:var(--navy);color:var(--gold);font-family:var(--serif-en);font-size:9px;letter-spacing:0.25em;text-transform:uppercase;padding:4px 12px;border-radius:2px;margin-bottom:12px;font-weight:500}
  .profile-card .name-en{font-family:var(--serif-en);font-size:22px;color:var(--navy);line-height:1.3;margin-bottom:6px;font-weight:400}
  .profile-card .name-jp{font-family:var(--serif-jp);font-size:12px;color:var(--gray);letter-spacing:0.1em;margin-bottom:18px;line-height:1.6}
  .profile-quote{border-left:2px solid var(--gold);padding-left:14px;font-family:var(--serif-jp);font-size:12px;line-height:2;color:var(--gray)}
  .profile-divider{width:40px;height:1px;background:var(--gold);margin:20px 0}
  .qualifications{background:var(--cream);border-radius:4px;padding:16px 18px;border-top:3px solid var(--gold)}
  .qualifications .title{font-family:var(--serif-jp);font-size:12px;font-weight:500;color:var(--navy);margin-bottom:10px}
  .qualifications .item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);margin-bottom:6px;font-weight:400}
  .qualifications .item .mark{color:var(--gold);font-size:8px}

  .history-col .col-title{font-family:var(--serif-jp);font-weight:300;font-size:13px;letter-spacing:0.15em;color:var(--navy);margin-bottom:24px}
  .timeline{position:relative;padding-left:24px;border-left:1px solid rgba(184,154,90,0.5)}
  .timeline-item{display:flex;gap:18px;align-items:baseline;padding-bottom:18px;position:relative}
  .timeline-item::before{content:"";position:absolute;left:-29px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--gold)}
  .timeline-item .year{font-family:var(--serif-jp);font-size:12px;color:var(--gold);letter-spacing:0.08em;min-width:82px;white-space:nowrap;font-weight:500}
  .timeline-item .event{font-family:var(--serif-jp);font-size:13px;color:var(--text);font-weight:300;line-height:1.7}

  @media (max-width:768px){
    .about-body{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:2.5rem}
    .profile-card .photo{height:320px}
    .timeline-item .year{min-width:60px;font-size:10px}
    .timeline-item .event{font-size:12px}
  }

  /* ========= SERVICE ========= */
  .service-list{background:var(--white);padding:3.5rem 5rem}
  .service-row{display:grid;grid-template-columns:220px 1fr;gap:3rem;padding:2.25rem 0;border-bottom:1px solid rgba(184,154,90,0.15)}
  .service-row:last-child{border-bottom:none}
  .service-row .num{font-family:var(--serif-en);font-size:48px;font-weight:300;color:rgba(184,154,90,0.25);line-height:1}
  .service-row .en{font-family:var(--serif-en);font-size:11px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin:6px 0 8px;font-weight:500}
  .service-row .ja{font-family:var(--serif-jp);font-size:16px;font-weight:500;color:var(--navy);letter-spacing:0.08em;line-height:1.6}
  .service-row .desc{font-family:var(--serif-jp);font-size:13px;line-height:2.1;color:#445;font-weight:300;padding-top:6px}

  @media (max-width:768px){
    .service-list{padding:2rem 1.5rem}
    .service-row{grid-template-columns:1fr;gap:1rem;padding:1.75rem 0}
    .service-row .num{font-size:36px}
  }

  /* ========= CONTACT ========= */
  .contact-body{background:var(--white);padding:4rem 5rem;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}
  .contact-info h2, .contact-form h2{font-family:var(--serif-jp);font-size:17px;font-weight:300;color:var(--navy);letter-spacing:0.1em;margin-bottom:24px}
  .contact-info .item{margin-bottom:20px}
  .contact-info .label{font-family:var(--serif-en);font-size:10px;letter-spacing:0.35em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;font-weight:500}
  .contact-info .value{font-family:var(--serif-jp);font-size:13px;color:var(--text);font-weight:300;line-height:1.8;white-space:pre-line}
  .contact-info .note{background:var(--cream);border-radius:4px;padding:14px 16px;font-size:12px;line-height:2;color:var(--gray);margin-top:20px}

  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
  .form-field{margin-bottom:14px}
  .form-field label{display:block;font-size:12px;color:var(--navy);margin-bottom:6px;font-weight:400}
  .form-field input, .form-field select, .form-field textarea{
    width:100%;padding:10px 12px;
    border:1px solid rgba(184,154,90,0.35);border-radius:3px;
    font-size:13px;font-family:var(--serif-jp);
    background:#fff;transition:border-color 0.2s;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:none;border-color:var(--gold)}
  .form-field textarea{resize:vertical;line-height:1.8}
  .form-submit{
    width:100%;padding:14px;
    background:var(--navy);color:#fff;
    border:none;border-radius:3px;
    font-family:var(--serif-jp);font-size:14px;letter-spacing:0.15em;
    cursor:pointer;transition:all 0.25s;font-weight:500;
  }
  .form-submit:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,35,64,0.2)}
  .form-note{font-family:var(--serif-jp);font-size:11px;color:var(--gray);text-align:center;margin-top:12px;line-height:1.8}

  @media (max-width:768px){
    .contact-body{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:2.5rem}
    .form-grid{grid-template-columns:1fr}
  }

  /* ========= BLOG ========= */
  .blog-body{background:var(--white);padding:4rem 5rem;display:grid;grid-template-columns:1fr 280px;gap:4rem}

  /* Featured（マガジン風ヒーロー記事） */
  .blog-featured{
    display:grid;grid-template-columns:1.1fr 1fr;gap:0;
    background:var(--white);border-radius:4px;overflow:hidden;
    margin-bottom:3rem;
    box-shadow:0 4px 24px rgba(26,35,64,0.08);
    border-top:3px solid var(--gold);
    transition:transform 0.3s;cursor:pointer;
  }
  .blog-featured:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(26,35,64,0.12)}
  .blog-featured .img-wrap{height:340px;background:var(--navy);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
  .blog-featured .img-wrap::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(circle at 20% 30%,rgba(184,154,90,0.22),transparent 45%),
      radial-gradient(circle at 80% 70%,rgba(184,154,90,0.15),transparent 40%);
  }
  .blog-featured .img-wrap::after{
    content:"";position:absolute;inset:30px;
    border:1px solid rgba(184,154,90,0.25);border-radius:3px;
  }
  .blog-featured .thumb-label-featured{
    position:absolute;top:22px;left:22px;z-index:3;
    font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;
    padding:5px 13px;text-transform:uppercase;font-weight:500;border-radius:2px;
    background:rgba(255,255,255,0.1);color:#fff;
    border:1px solid rgba(255,255,255,0.3);
    backdrop-filter:blur(4px);
  }
  .blog-featured .thumb-big-featured{
    position:relative;z-index:2;
    font-family:var(--serif-en);font-size:88px;font-weight:300;
    color:rgba(184,154,90,0.85);
    letter-spacing:0.04em;font-style:italic;
  }
  .blog-featured .body{padding:2.5rem 2.25rem;display:flex;flex-direction:column;justify-content:center}
  .blog-featured .featured-label{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--serif-en);font-size:10px;letter-spacing:0.35em;
    color:var(--gold);text-transform:uppercase;margin-bottom:16px;font-weight:500;
  }
  .blog-featured .featured-label::before{content:"";width:20px;height:1px;background:var(--gold)}
  .blog-featured .cat-badge{display:inline-block;background:var(--navy);color:var(--gold);font-family:var(--serif-jp);font-size:11px;letter-spacing:0.12em;padding:4px 12px;border-radius:2px;margin-bottom:14px;align-self:flex-start;font-weight:400}
  .blog-featured h2{font-family:var(--serif-jp);font-size:22px;font-weight:500;color:var(--navy);line-height:1.6;letter-spacing:0.04em;margin-bottom:14px}
  .blog-featured .excerpt{font-family:var(--serif-jp);font-size:13px;line-height:1.95;color:#556;font-weight:300;margin-bottom:20px}
  .blog-featured .meta{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid rgba(184,154,90,0.2)}
  .blog-featured .meta .date{font-family:var(--serif-en);font-size:11px;letter-spacing:0.1em;color:var(--gray)}
  .blog-featured .meta .read-more{font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-left:auto;font-weight:500}

  /* 記事グリッド */
  .blog-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid rgba(184,154,90,0.2)}
  .blog-section-head h3{font-family:var(--serif-jp);font-size:18px;font-weight:400;color:var(--navy);letter-spacing:0.1em}
  .blog-section-head .en{font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;font-weight:500}

  .blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem}
  .blog-card{
    background:var(--white);border-radius:4px;overflow:hidden;
    border:1px solid rgba(184,154,90,0.15);
    transition:all 0.25s;cursor:pointer;
    display:flex;flex-direction:column;
  }
  .blog-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,35,64,0.08)}
  .blog-card .thumb{height:180px;background:var(--cream);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}

  /* 案B：幾何学パターン＋英字タイポ */
  /* Tax：ネイビー＋放射グラデ＋内枠 */
  .blog-card .thumb.type-tax{background:var(--navy);position:relative}
  .blog-card .thumb.type-tax::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(circle at 20% 30%,rgba(184,154,90,0.18),transparent 40%),
      radial-gradient(circle at 80% 70%,rgba(184,154,90,0.12),transparent 35%);
  }
  .blog-card .thumb.type-tax::after{
    content:"";position:absolute;inset:22px;
    border:1px solid rgba(184,154,90,0.25);border-radius:2px;
  }

  /* News：クリーム＋グリッド＋上端ゴールドライン */
  .blog-card .thumb.type-news{background:var(--cream);position:relative;border:1px solid rgba(184,154,90,0.2)}
  .blog-card .thumb.type-news::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
  }
  .blog-card .thumb.type-news::after{
    content:"";position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(184,154,90,0.08) 1px,transparent 1px),
      linear-gradient(90deg,rgba(184,154,90,0.08) 1px,transparent 1px);
    background-size:24px 24px;background-position:center;
  }

  /* Column：深ネイビー＋斜線 */
  .blog-card .thumb.type-column{background:linear-gradient(135deg,#263056,#1a2340);position:relative;overflow:hidden}
  .blog-card .thumb.type-column::before{
    content:"";position:absolute;width:200%;height:2px;top:30%;left:-50%;
    background:linear-gradient(90deg,transparent,rgba(184,154,90,0.4),transparent);
    transform:rotate(-8deg);
  }
  .blog-card .thumb.type-column::after{
    content:"";position:absolute;width:200%;height:1px;top:65%;left:-50%;
    background:linear-gradient(90deg,transparent,rgba(184,154,90,0.3),transparent);
    transform:rotate(-8deg);
  }

  /* 共通：ラベル（左上） */
  .blog-card .thumb .thumb-label{
    position:absolute;top:14px;left:14px;z-index:2;
    font-family:var(--serif-en);font-size:9px;letter-spacing:0.25em;
    padding:4px 11px;text-transform:uppercase;font-weight:500;border-radius:2px;
  }
  .blog-card .thumb.type-tax .thumb-label,
  .blog-card .thumb.type-column .thumb-label{
    background:rgba(255,255,255,0.1);color:#fff;
    border:1px solid rgba(255,255,255,0.3);
    backdrop-filter:blur(4px);
  }
  .blog-card .thumb.type-news .thumb-label{
    background:rgba(26,35,64,0.08);color:var(--navy);
    border:1px solid rgba(26,35,64,0.15);
  }

  /* 中央の大きな英字（イタリック） */
  .blog-card .thumb .thumb-big{
    position:relative;z-index:1;
    font-family:var(--serif-en);font-size:46px;font-weight:300;
    letter-spacing:0.04em;font-style:italic;
  }
  .blog-card .thumb.type-tax .thumb-big{color:rgba(184,154,90,0.85)}
  .blog-card .thumb.type-news .thumb-big{color:rgba(138,115,64,0.7);background:var(--cream);padding:0 20px}
  .blog-card .thumb.type-column .thumb-big{color:rgba(184,154,90,0.85)}
  .blog-card .body{padding:1.5rem 1.25rem;flex:1;display:flex;flex-direction:column}
  .blog-card .cat-badge{display:inline-block;font-family:var(--serif-jp);font-size:10px;letter-spacing:0.1em;padding:3px 10px;border-radius:2px;margin-bottom:12px;align-self:flex-start;font-weight:400}
  .blog-card .cat-badge.tax{background:rgba(26,35,64,0.08);color:var(--navy)}
  .blog-card .cat-badge.news{background:rgba(184,154,90,0.12);color:#8a7340}
  .blog-card .cat-badge.column{background:rgba(107,114,128,0.1);color:var(--gray)}
  .blog-card h4{font-family:var(--serif-jp);font-size:14px;font-weight:500;color:var(--navy);line-height:1.65;letter-spacing:0.03em;margin-bottom:10px}
  .blog-card .excerpt{font-family:var(--serif-jp);font-size:12px;line-height:1.85;color:var(--gray);font-weight:300;margin-bottom:14px;flex:1}
  .blog-card .date{font-family:var(--serif-en);font-size:10px;letter-spacing:0.12em;color:var(--gray);padding-top:12px;border-top:1px solid rgba(184,154,90,0.12)}

  /* ページネーション */
  .pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:3rem}
  .pagination a{
    width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    font-family:var(--serif-en);font-size:12px;color:var(--navy);
    border:1px solid rgba(184,154,90,0.25);border-radius:2px;
    transition:all 0.2s;letter-spacing:0.05em;
  }
  .pagination a:hover, .pagination a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
  .pagination .dots{color:var(--gray);padding:0 4px}

  /* サイドバー */
  .blog-sidebar{display:flex;flex-direction:column;gap:2rem}
  .sidebar-widget{background:var(--cream);border-radius:4px;padding:1.5rem 1.25rem;border-top:3px solid var(--gold)}
  .sidebar-widget .widget-title{font-family:var(--serif-jp);font-size:13px;font-weight:500;color:var(--navy);letter-spacing:0.1em;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(184,154,90,0.25)}
  .sidebar-widget .widget-title .en{display:block;font-family:var(--serif-en);font-size:9px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:4px}
  .category-list, .archive-list{list-style:none}
  .category-list li, .archive-list li{padding:8px 0;border-bottom:1px dotted rgba(184,154,90,0.25);font-family:var(--serif-jp);font-size:12px;color:var(--text);display:flex;justify-content:space-between;align-items:center;transition:color 0.2s;cursor:pointer;font-weight:300}
  .category-list li:last-child, .archive-list li:last-child{border-bottom:none}
  .category-list li:hover, .archive-list li:hover{color:var(--gold)}
  .category-list .count, .archive-list .count{font-family:var(--serif-en);font-size:10px;color:var(--gold);letter-spacing:0.05em}
  .popular-list{list-style:none}
  .popular-list li{padding:10px 0;border-bottom:1px dotted rgba(184,154,90,0.25);cursor:pointer}
  .popular-list li:last-child{border-bottom:none}
  .popular-list .num{font-family:var(--serif-en);font-size:14px;color:var(--gold);margin-right:8px;font-weight:400}
  .popular-list .ttl{font-family:var(--serif-jp);font-size:11.5px;color:var(--navy);line-height:1.6;font-weight:400;display:block;margin-top:4px}
  .popular-list .date{font-family:var(--serif-en);font-size:9px;color:var(--gray);letter-spacing:0.08em;margin-top:4px;display:block}

  @media (max-width:768px){
    .blog-body{grid-template-columns:1fr;padding:2.5rem 1.5rem;gap:2.5rem}
    .blog-featured{grid-template-columns:1fr;margin-bottom:2rem}
    .blog-featured .img-wrap{height:200px}
    .blog-featured .thumb-big-featured{font-size:58px}
    .blog-featured .body{padding:1.75rem 1.5rem}
    .blog-featured h2{font-size:17px}
    .blog-grid{grid-template-columns:1fr;gap:1.25rem}
    .blog-card .thumb{height:160px}
  }

  /* 目安バッジ（料金表上部） */
  .estimate-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(184,154,90,0.12);
    border:1px solid rgba(184,154,90,0.3);
    color:var(--gold);
    font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;
    padding:6px 16px;border-radius:999px;text-transform:uppercase;
    font-weight:500;margin-top:14px;
  }
  .estimate-badge::before{
    content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);
  }
  .estimate-badge .ja{font-family:var(--serif-jp);font-size:11px;letter-spacing:0.1em;color:#8a7340;font-weight:500}

  /* 正式見積もりバナー（料金表直下） */
  .quote-banner{
    max-width:1100px;margin:1.5rem auto 0;
    background:var(--cream);
    border:1px solid rgba(184,154,90,0.3);
    border-radius:4px;padding:1.25rem 1.5rem;
    display:flex;align-items:center;gap:18px;
  }
  .quote-banner .icon{
    width:38px;height:38px;border-radius:50%;
    background:var(--navy);color:var(--gold);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    font-family:var(--serif-en);font-size:13px;font-weight:500;letter-spacing:0.05em;
  }
  .quote-banner .text{flex:1;font-family:var(--serif-jp);font-size:12.5px;color:#445;line-height:1.85;font-weight:300}
  .quote-banner .text strong{color:var(--navy);font-weight:500}

  @media (max-width:768px){
    .quote-banner{flex-direction:column;align-items:flex-start;text-align:left;padding:1rem 1.25rem;gap:10px;margin:1rem auto 0}
    .quote-banner .icon{width:32px;height:32px;font-size:11px}
    .quote-banner .text{font-size:11.5px;line-height:1.75}
  }

  /* ========= PRICE ========= */
  .price-intro{background:var(--white);padding:3rem 5rem 1rem;text-align:center}
  .price-intro .lead{font-family:var(--serif-jp);font-size:13px;line-height:2.1;color:#445;font-weight:300;max-width:760px;margin:0 auto}

  /* タブ切替（個人事業主／法人） */
  .price-tabs-wrap{background:var(--white);padding:2rem 5rem 0;display:flex;justify-content:center}
  .price-tabs{
    display:inline-flex;background:var(--cream);border-radius:999px;padding:5px;
    border:1px solid rgba(184,154,90,0.2);
  }
  .price-tab{
    background:none;border:none;cursor:pointer;
    font-family:var(--serif-jp);font-size:13px;letter-spacing:0.1em;font-weight:400;
    padding:11px 32px;border-radius:999px;
    color:var(--gray);transition:all 0.25s;
    display:flex;align-items:center;gap:8px;
  }
  .price-tab .en{font-family:var(--serif-en);font-size:9px;letter-spacing:0.3em;text-transform:uppercase;opacity:0.6}
  .price-tab.active{background:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(26,35,64,0.2)}
  .price-tab.active .en{color:var(--gold);opacity:1}

  .price-panel{display:none}
  .price-panel.active{display:block}

  /* 料金表（年商別） */
  .price-table-section{background:var(--white);padding:2.5rem 5rem 4rem}
  .price-section-head{text-align:center;margin-bottom:2rem}
  .price-section-head .en{font-family:var(--serif-en);font-size:11px;letter-spacing:0.35em;color:var(--gold);text-transform:uppercase;font-weight:500;display:block;margin-bottom:8px}
  .price-section-head h2{font-family:var(--serif-jp);font-size:22px;font-weight:300;color:var(--navy);letter-spacing:0.1em;line-height:1.6}
  .price-section-head .underline{width:48px;height:2px;background:linear-gradient(to right,var(--gold),transparent);margin:14px auto 0}
  .price-section-head .note{font-family:var(--serif-jp);font-size:11px;color:var(--gray);margin-top:14px;letter-spacing:0.05em}

  .fee-table-wrap{max-width:1100px;margin:0 auto;border-radius:4px;overflow:hidden;box-shadow:0 6px 24px rgba(26,35,64,0.08);border-top:3px solid var(--gold)}
  .fee-table{width:100%;border-collapse:collapse;background:var(--white);font-family:var(--serif-jp)}
  .fee-table thead th{
    background:var(--navy);color:#fff;
    font-weight:400;font-size:12px;letter-spacing:0.12em;
    padding:16px 12px;text-align:center;
    border-right:1px solid rgba(184,154,90,0.3);
  }
  .fee-table thead th:last-child{border-right:none}
  .fee-table thead th .en{display:block;font-family:var(--serif-en);font-size:9px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:4px;opacity:0.85}
  .fee-table tbody td{
    padding:16px 12px;text-align:center;
    font-size:13px;color:var(--text);font-weight:400;
    border-bottom:1px solid rgba(184,154,90,0.15);
    border-right:1px solid rgba(184,154,90,0.1);
  }
  .fee-table tbody td:last-child{border-right:none}
  .fee-table tbody tr:last-child td{border-bottom:none}
  .fee-table tbody tr:hover td{background:rgba(184,154,90,0.04)}
  .fee-table tbody td.range{font-family:var(--serif-jp);background:var(--cream);font-weight:500;color:var(--navy);letter-spacing:0.04em;width:24%}
  .fee-table tbody td.amount{font-family:var(--serif-jp);font-size:15px;color:var(--navy);font-weight:500;letter-spacing:0.04em}
  .fee-table tbody td.amount .yen{font-family:var(--serif-jp);font-size:12px;color:var(--gray);margin-left:1px;font-weight:400}

  /* サービス内容（5項目） */
  .service-content-section{background:var(--cream);padding:4rem 5rem}
  .service-content-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1200px;margin:0 auto}
  .svc-card{background:var(--white);border-radius:4px;padding:1.5rem 1.25rem;border-top:3px solid var(--gold);box-shadow:0 2px 12px rgba(26,35,64,0.05);transition:transform 0.25s}
  .svc-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,35,64,0.08)}
  .svc-card .svc-en{font-family:var(--serif-en);font-size:9px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:6px}
  .svc-card .svc-ja{font-family:var(--serif-jp);font-size:14px;font-weight:500;color:var(--navy);letter-spacing:0.06em;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(184,154,90,0.2)}
  .svc-card ul{list-style:none}
  .svc-card li{font-family:var(--serif-jp);font-size:11.5px;color:var(--text);padding:5px 0 5px 14px;position:relative;line-height:1.7;font-weight:300}
  .svc-card li::before{content:"・";position:absolute;left:2px;color:var(--gold);font-weight:500}

  /* 弊社の強み */
  .strength-section{background:var(--white);padding:3rem 5rem 0.5rem}
  .strength-box{
    max-width:980px;margin:0 auto;
    background:linear-gradient(135deg,#1a2340 0%,#0e1628 100%);
    color:#fff;padding:2.5rem 2.5rem;border-radius:4px;
    position:relative;overflow:hidden;
  }
  .strength-box::before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(184,154,90,0.15),transparent 70%);pointer-events:none}
  .strength-box .en-label{font-family:var(--serif-en);font-size:10px;letter-spacing:0.4em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:10px}
  .strength-box .en-label::before{content:"";width:24px;height:1px;background:var(--gold)}
  .strength-box h3{font-family:var(--serif-jp);font-size:22px;font-weight:300;letter-spacing:0.08em;margin-bottom:18px;line-height:1.6}
  .strength-box p{font-family:var(--serif-jp);font-size:13px;line-height:2.1;color:rgba(255,255,255,0.85);font-weight:300;margin-bottom:10px}
  .strength-box p:last-child{margin-bottom:0}

  /* 注意事項 */
  .price-notes{background:var(--cream);padding:3rem 5rem}
  .notes-box{
    max-width:980px;margin:0 auto;
    background:var(--white);border-left:3px solid var(--gold);
    padding:1.75rem 2rem;border-radius:3px;
    box-shadow:0 2px 12px rgba(26,35,64,0.04);
  }
  .notes-box .title{font-family:var(--serif-en);font-size:10px;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:10px}
  .notes-box .title::before{content:"";width:20px;height:1px;background:var(--gold)}
  .notes-box .title-jp{font-family:var(--serif-jp);font-size:14px;color:var(--navy);font-weight:500;letter-spacing:0.08em;margin-bottom:14px}
  .notes-grid{display:grid;grid-template-columns:200px 1fr;gap:12px 24px}
  .notes-grid .item-label{font-family:var(--serif-jp);font-size:12px;color:var(--navy);font-weight:500;padding:8px 0;border-bottom:1px dotted rgba(184,154,90,0.3)}
  .notes-grid .item-text{font-family:var(--serif-jp);font-size:12px;color:#445;font-weight:300;line-height:1.9;padding:8px 0;border-bottom:1px dotted rgba(184,154,90,0.2)}
  .notes-grid > div:nth-last-child(-n+2){border-bottom:none}

  @media (max-width:768px){
    .price-intro{padding:2rem 1.5rem 0.5rem}
    .price-intro .lead{font-size:12px;line-height:1.95}
    .price-tabs-wrap{padding:1.5rem 1rem 0}
    .price-tab{padding:9px 18px;font-size:12px}
    .price-tab .en{font-size:8px}
    .price-table-section{padding:2rem 1rem 3rem}
    .price-section-head h2{font-size:17px}
    .fee-table thead th{font-size:10px;padding:10px 6px;letter-spacing:0.06em}
    .fee-table thead th .en{font-size:7px;letter-spacing:0.18em}
    .fee-table tbody td{font-size:11px;padding:10px 4px}
    .fee-table tbody td.amount{font-size:13px}
    .service-content-section{padding:2.5rem 1.5rem}
    .service-content-grid{grid-template-columns:1fr;gap:12px}
    .strength-section{padding:2rem 1.5rem 0.5rem}
    .strength-box{padding:1.75rem 1.5rem}
    .strength-box h3{font-size:17px}
    .strength-box p{font-size:12px;line-height:1.95}
    .price-notes{padding:2rem 1.5rem}
    .notes-box{padding:1.25rem 1.25rem}
    .notes-grid{grid-template-columns:1fr;gap:6px}
    .notes-grid .item-label{padding:6px 0 2px;border-bottom:none;color:var(--gold);font-size:11px}
    .notes-grid .item-text{padding:0 0 8px;border-bottom:1px dotted rgba(184,154,90,0.2)}
    .notes-grid > div:nth-last-child(-n+2){border-bottom:none}
  }

  /* ========= PRIVACY POLICY ========= */
  .privacy-body{background:var(--white);padding:3.5rem 5rem 4rem}
  .privacy-wrap{max-width:880px;margin:0 auto}
  .privacy-intro{
    background:var(--cream);border-left:3px solid var(--gold);
    padding:1.5rem 1.75rem;border-radius:3px;margin-bottom:2.5rem;
    font-family:var(--serif-jp);font-size:13px;line-height:2;color:#445;font-weight:300;
  }
  .privacy-section{margin-bottom:2.25rem}
  .privacy-section:last-child{margin-bottom:0}
  .privacy-section h3{
    font-family:var(--serif-jp);font-size:15px;font-weight:500;color:var(--navy);
    letter-spacing:0.08em;line-height:1.6;margin-bottom:14px;
    padding-bottom:10px;border-bottom:1px solid rgba(184,154,90,0.25);
    display:flex;align-items:baseline;gap:14px;
  }
  .privacy-section h3 .num{
    font-family:var(--serif-en);font-size:13px;font-weight:400;
    color:var(--gold);letter-spacing:0.08em;flex-shrink:0;
  }
  .privacy-section p{
    font-family:var(--serif-jp);font-size:12.5px;line-height:2.05;color:#445;
    font-weight:300;margin-bottom:10px;
  }
  .privacy-section p:last-child{margin-bottom:0}
  .privacy-section ul{list-style:none;margin:6px 0 10px}
  .privacy-section ul li{
    font-family:var(--serif-jp);font-size:12.5px;line-height:2.05;color:#445;
    padding-left:18px;position:relative;font-weight:300;
  }
  .privacy-section ul li::before{
    content:"・";position:absolute;left:0;color:var(--gold);font-weight:500;
  }
  .privacy-meta{
    text-align:right;margin-top:2.5rem;padding-top:1.5rem;
    border-top:1px solid rgba(184,154,90,0.2);
    font-family:var(--serif-jp);font-size:11.5px;color:var(--gray);font-weight:300;line-height:1.9;
  }
  .privacy-meta .org{
    font-family:var(--serif-jp);font-size:12px;color:var(--navy);font-weight:500;
    margin-top:6px;letter-spacing:0.05em;
  }

  /* CONTACTフォームの同意チェックボックス */
  .form-consent{
    background:var(--cream);border:1px solid rgba(184,154,90,0.25);
    border-radius:3px;padding:14px 16px;margin-bottom:14px;
    display:flex;align-items:flex-start;gap:10px;
    transition:border-color 0.2s;
  }
  .form-consent:has(input:checked){border-color:var(--gold);background:rgba(184,154,90,0.06)}
  .form-consent input[type="checkbox"]{
    margin-top:3px;width:16px;height:16px;flex-shrink:0;
    accent-color:var(--gold);cursor:pointer;
  }
  .form-consent label{
    font-family:var(--serif-jp);font-size:12px;color:var(--text);
    line-height:1.85;font-weight:400;cursor:pointer;
  }
  .form-consent label a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;font-weight:500}
  .form-consent label a:hover{color:#8a7340}
  .form-consent label .required{color:#c44;font-size:10px;margin-left:4px;font-weight:500}

  /* フッターのプライバシーリンク */
  .footer-links{
    display:flex;align-items:center;gap:18px;
    font-family:var(--serif-en);font-size:9px;letter-spacing:0.18em;
    color:rgba(255,255,255,0.45);text-transform:uppercase;font-weight:500;
  }
  .footer-links a{color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s}
  .footer-links a:hover{color:var(--gold-light)}
  .footer-links .sep{color:rgba(184,154,90,0.3);font-size:8px}

  @media (max-width:768px){
    .privacy-body{padding:2rem 1.5rem 2.5rem}
    .privacy-intro{padding:1.25rem 1.25rem;font-size:12px;line-height:1.85;margin-bottom:1.75rem}
    .privacy-section{margin-bottom:1.75rem}
    .privacy-section h3{font-size:13.5px;gap:10px}
    .privacy-section h3 .num{font-size:11px}
    .privacy-section p, .privacy-section ul li{font-size:12px;line-height:1.95}
    .privacy-meta{font-size:11px}
    .form-consent{padding:12px 14px}
    .form-consent label{font-size:11.5px}
    .footer-links{gap:12px;font-size:8px;flex-wrap:wrap;justify-content:center}
  }

  /* ページ切り替え */
  .page{display:block}

/* ============================================================
   Contact Form 7 のスタイル調整（テーマと統一感を出す）
   ============================================================ */
.contact-form .wpcf7-form{font-family:var(--serif-jp)}
.contact-form .wpcf7-form p{margin-bottom:14px}
.contact-form .wpcf7-form label{display:block;font-size:12px;color:var(--navy);margin-bottom:6px;font-weight:400}
.contact-form .wpcf7-form input[type="text"],
.contact-form .wpcf7-form input[type="email"],
.contact-form .wpcf7-form input[type="tel"],
.contact-form .wpcf7-form input[type="url"],
.contact-form .wpcf7-form select,
.contact-form .wpcf7-form textarea{
  width:100%;padding:10px 12px;
  border:1px solid rgba(184,154,90,0.35);border-radius:3px;
  font-size:13px;font-family:var(--serif-jp);
  background:#fff;transition:border-color 0.2s;
  box-sizing:border-box;
}
.contact-form .wpcf7-form input:focus,
.contact-form .wpcf7-form select:focus,
.contact-form .wpcf7-form textarea:focus{outline:none;border-color:var(--gold)}
.contact-form .wpcf7-form textarea{resize:vertical;line-height:1.8;min-height:120px}
.contact-form .wpcf7-form .wpcf7-acceptance label{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--cream);border:1px solid rgba(184,154,90,0.25);
  border-radius:3px;padding:14px 16px;
  font-size:12px;line-height:1.85;cursor:pointer;
}
.contact-form .wpcf7-form .wpcf7-acceptance input[type="checkbox"]{
  margin-top:3px;width:16px;height:16px;flex-shrink:0;
  accent-color:var(--gold);cursor:pointer;
}
.contact-form .wpcf7-form .wpcf7-submit{
  width:100%;padding:14px;
  background:var(--navy);color:#fff;
  border:none;border-radius:3px;
  font-family:var(--serif-jp);font-size:14px;letter-spacing:0.15em;
  cursor:pointer;transition:all 0.25s;font-weight:500;
}
.contact-form .wpcf7-form .wpcf7-submit:hover{
  background:var(--navy-light);
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(26,35,64,0.2);
}
.contact-form .wpcf7-form .wpcf7-not-valid-tip{
  color:#c44;font-size:11px;margin-top:4px;
}
.contact-form .wpcf7-response-output{
  margin-top:14px;padding:12px 14px;
  border-radius:3px;font-size:12px;line-height:1.8;
}
