/*
Theme Name: Kitajima Group Reporting
Theme URI: https://kitajima-office.com/
Author: Kitajima CPA Office
Description: 北島公認会計士事務所 Group Reporting BPO サイト用テーマ
Version: 1.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: kitajima-gr
*/
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; padding: 0; background: #FFFFFF; font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; color: #1C2A36; font-size: 16px; line-height: 1.72; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { color: #0F3057; }
h1, h2, h3 { margin: 0; font-weight: 600; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
table { border-collapse: collapse; }
.kj-serif { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "MS PMincho", serif; }
.kj-inner { max-width: 1040px; margin-left: auto; margin-right: auto; padding-left: 40px; padding-right: 40px; }
.kj-sec { padding-top: 51px; padding-bottom: 51px; border-top: 1px solid #D8DFE6; }
.kj-sec-first { border-top: none; }
.kj-sec-tint { background: #F1F5F9; }
.kj-head { margin-bottom: 26px; }
.kj-num { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 14px; font-weight: 600; color: #C08A2E; letter-spacing: 0.2em; margin-bottom: 7px; }
.kj-label { font-size: 11.5px; font-weight: 500; color: #0F3057; letter-spacing: 0.24em; text-transform: uppercase; margin-bottom: 11px; }
.kj-h2 { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 31px; font-weight: 600; line-height: 1.6; color: #0F3057; margin-bottom: 16px; letter-spacing: 0.01em; }
.kj-h2-last { margin-bottom: 0; }
.kj-lead { font-size: 16.5px; color: #2E3E4D; line-height: 1.8; max-width: 760px; }
.kj-lead + .kj-lead { margin-top: 13px; }
.kj-note { font-size: 15px; color: #4A5865; line-height: 1.78; max-width: 780px; margin-top: 20px; }
.kj-hero { background: #0F3057; padding-top: 65px; padding-bottom: 57px; }
.kj-hero-mark { font-size: 11.5px; color: #7C8CA0; letter-spacing: 0.26em; margin-bottom: 4px; }
.kj-hero-office { font-size: 14px; color: #CBDAE8; letter-spacing: 0.08em; margin-bottom: 27px; }
.kj-hero-rule { width: 56px; height: 3px; background: #C08A2E; margin-bottom: 21px; }
.kj-hero-h1 { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 44px; font-weight: 500; line-height: 1.62; color: #FFFFFF; margin-bottom: 24px; letter-spacing: 0.015em; }
.kj-hero-copy { font-size: 16.5px; color: #CBDAE8; line-height: 1.8; max-width: 720px; }
.kj-hero-copy + .kj-hero-copy { margin-top: 13px; }
.kj-hero-copy strong { color: #FFFFFF; font-weight: 500; }
.kj-hero-acts { margin-top: 23px; display: flex; gap: 14px; flex-wrap: wrap; }
.kj-btn { display: inline-block; font-size: 15px; letter-spacing: 0.06em; padding: 7px 40px; text-decoration: none; border: 1px solid #FFFFFF; color: #FFFFFF; }
.kj-btn:hover { background: #FFFFFF; color: #0F3057; text-decoration: none; }
.kj-btn-fill { background: #FFFFFF; color: #0F3057; }
.kj-btn-fill:hover { background: #CBDAE8; color: #0F3057; border-color: #CBDAE8; }
.kj-subnav { border-bottom: 1px solid #D8DFE6; background: #FFFFFF; position: sticky; top: 0; z-index: 20; }
.kj-subnav-list { display: flex; flex-wrap: wrap; gap: 34px; list-style: none; }
.kj-subnav a { font-size: 13.5px; color: #2E3E4D; text-decoration: none; letter-spacing: 0.06em; padding-top: 10px; padding-bottom: 10px; display: inline-block; border-bottom: 2px solid transparent; }
.kj-subnav a:hover { color: #0F3057; border-bottom-color: #C08A2E; text-decoration: none; }
.admin-bar .kj-subnav { top: 32px; }
.kj-list { list-style: none; max-width: 820px; }
.kj-list li { font-size: 16.5px; color: #1C2A36; line-height: 1.7; padding: 10px 0 10px 30px; border-bottom: 1px solid #D8DFE6; position: relative; }
.kj-list li:first-child { border-top: 1px solid #D8DFE6; }
.kj-list li::before { content: ""; position: absolute; left: 0; top: 20px; width: 14px; height: 2px; background: #C08A2E; }
.kj-pull { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 21px; font-weight: 600; color: #0F3057; line-height: 1.7; margin-top: 22px; padding-left: 24px; border-left: 3px solid #C08A2E; }
.kj-flowmap { display: flex; align-items: stretch; margin-top: 4px; margin-bottom: 0; }
.kj-fm-box { flex: 1 1 0; border: 1px solid #C6CFD8; padding: 14px 22px; text-align: center; background: #FFFFFF; }
.kj-fm-mid { background: #0F3057; border-color: #0F3057; }
.kj-fm-role { font-size: 11px; letter-spacing: 0.2em; color: #667585; margin-bottom: 6px; text-transform: uppercase; }
.kj-fm-mid .kj-fm-role { color: #C08A2E; }
.kj-fm-name { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 16px; font-weight: 600; color: #0F3057; line-height: 1.7; margin-bottom: 5px; }
.kj-fm-mid .kj-fm-name { color: #FFFFFF; }
.kj-fm-sub { font-size: 12.5px; color: #667585; }
.kj-fm-mid .kj-fm-sub { color: #CBDAE8; }
.kj-fm-link { display: flex; align-items: center; padding-left: 14px; padding-right: 14px; color: #C08A2E; font-size: 15px; letter-spacing: 0.1em; }
.kj-cols { display: flex; margin-top: 3px; }
.kj-col { flex: 1 1 0; padding-left: 40px; padding-right: 40px; }
.kj-col-a { padding-left: 0; border-right: 1px solid #D8DFE6; }
.kj-col-b { padding-right: 0; }
.kj-col-head { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 18px; font-weight: 600; color: #0F3057; padding-bottom: 8px; border-bottom: 2px solid #0F3057; margin-bottom: 4px; }
.kj-col-b .kj-col-head { color: #667585; border-bottom-color: #C6CFD8; }
.kj-col ul { list-style: none; }
.kj-col li { font-size: 15.5px; color: #1C2A36; line-height: 1.7; padding-top: 7px; padding-bottom: 7px; border-bottom: 1px solid #E4EAEF; }
.kj-col-b li { color: #667585; }
.kj-svc { border-top: 1px solid #C6CFD8; }
.kj-svc-row { display: flex; gap: 44px; padding-top: 18px; padding-bottom: 18px; border-bottom: 1px solid #D8DFE6; }
.kj-svc-idx { width: 62px; flex-shrink: 0; font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 15px; color: #C08A2E; letter-spacing: 0.14em; padding-top: 2px; }
.kj-svc-body { flex: 1 1 auto; }
.kj-svc-en { font-size: 11.5px; letter-spacing: 0.2em; color: #556472; text-transform: uppercase; margin-bottom: 4px; }
.kj-svc-name { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 21px; font-weight: 600; color: #0F3057; margin-bottom: 9px; line-height: 1.55; }
.kj-svc-desc { font-size: 15.5px; color: #2E3E4D; line-height: 1.78; margin-bottom: 9px; }
.kj-svc-items { font-size: 13.5px; color: #556472; letter-spacing: 0.03em; line-height: 1.72; }
.kj-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kj-table { width: 100%; font-size: 14.5px; min-width: 660px; }
.kj-table th { font-weight: 500; color: #0F3057; background: #EAF0F6; padding: 8px 14px; border-bottom: 2px solid #0F3057; text-align: center; font-size: 13.5px; line-height: 1.55; }
.kj-table th:first-child { text-align: left; }
.kj-table td { padding: 8px 14px; border-bottom: 1px solid #D8DFE6; color: #2E3E4D; text-align: center; }
.kj-table td:first-child { text-align: left; color: #1C2A36; }
.kj-table .kj-own td { background: #0F3057; color: #FFFFFF; font-weight: 500; border-bottom-color: #0F3057; }
.kj-table .kj-own td:first-child { color: #FFFFFF; }
.kj-prof { display: flex; gap: 56px; align-items: flex-start; }
.kj-prof-side { width: 180px; flex-shrink: 0; text-align: center; }
.kj-prof-photo { width: 134px; height: 160px; object-fit: cover; display: block; margin-left: auto; margin-right: auto; filter: contrast(1.04) saturate(1.05); }
.kj-prof-name { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 21px; font-weight: 600; color: #0F3057; margin-top: 11px; margin-bottom: 3px; }
.kj-prof-cred { font-size: 13.5px; color: #556472; letter-spacing: 0.05em; line-height: 1.7; }
.kj-prof-main { flex: 1 1 auto; }
.kj-prof-text { font-size: 16px; color: #2E3E4D; line-height: 1.8; margin-bottom: 13px; }
.kj-prof-quote { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 19px; font-weight: 600; color: #0F3057; line-height: 1.72; margin-top: 15px; margin-bottom: 15px; padding-left: 24px; border-left: 3px solid #C08A2E; }
.kj-career { margin-top: 18px; border-top: 1px solid #D8DFE6; }
.kj-career-row { display: flex; gap: 30px; font-size: 15px; color: #2E3E4D; padding-top: 7px; padding-bottom: 7px; border-bottom: 1px solid #E4EAEF; }
.kj-career-yr { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; color: #C08A2E; width: 52px; flex-shrink: 0; letter-spacing: 0.06em; }
.kj-fee { display: flex; margin-top: 4px; border-top: 1px solid #C6CFD8; }
.kj-fee-col { flex: 1 1 0; padding: 18px 34px; border-bottom: 1px solid #D8DFE6; border-right: 1px solid #D8DFE6; }
.kj-fee-col:first-child { padding-left: 0; }
.kj-fee-col:last-child { border-right: none; padding-right: 0; }
.kj-fee-name { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 18px; font-weight: 600; color: #0F3057; margin-bottom: 6px; }
.kj-fee-amt { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 27px; font-weight: 600; color: #0F3057; margin-bottom: 9px; letter-spacing: 0.02em; }
.kj-fee-amt span { font-size: 14px; color: #556472; font-weight: 400; letter-spacing: 0; }
.kj-fee-desc { font-size: 14.5px; color: #4A5865; line-height: 1.78; }
.kj-steps { border-top: 1px solid #C6CFD8; max-width: 860px; }
.kj-step { display: flex; gap: 40px; padding-top: 17px; padding-bottom: 17px; border-bottom: 1px solid #D8DFE6; }
.kj-step-idx { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 15px; color: #C08A2E; letter-spacing: 0.14em; width: 52px; flex-shrink: 0; padding-top: 2px; }
.kj-step-name { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 19px; font-weight: 600; color: #0F3057; margin-bottom: 5px; }
.kj-step-desc { font-size: 15.5px; color: #2E3E4D; line-height: 1.78; }
.kj-faq { border-top: 1px solid #C6CFD8; max-width: 860px; }
.kj-faq details { border-bottom: 1px solid #D8DFE6; }
.kj-faq summary { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 17.5px; font-weight: 600; color: #0F3057; padding: 13px 44px 13px 0; cursor: pointer; list-style: none; position: relative; line-height: 1.7; }
.kj-faq summary::-webkit-details-marker { display: none; }
.kj-faq summary::after { content: "+"; position: absolute; right: 6px; top: 12px; font-size: 21px; color: #C08A2E; font-weight: 400; }
.kj-faq details[open] summary::after { content: "\2013"; }
.kj-faq-a { font-size: 15.5px; color: #2E3E4D; line-height: 1.8; padding-bottom: 14px; max-width: 760px; }
.kj-info { width: 100%; max-width: 820px; border-top: 1px solid #C6CFD8; }
.kj-info th { font-size: 13.5px; color: #556472; font-weight: 400; letter-spacing: 0.06em; padding-top: 10px; padding-bottom: 10px; width: 190px; vertical-align: top; text-align: left; border-bottom: 1px solid #D8DFE6; }
.kj-info td { font-size: 16px; color: #1C2A36; padding-top: 10px; padding-bottom: 10px; line-height: 1.7; border-bottom: 1px solid #D8DFE6; }
.kj-cta { background: #0F3057; padding-top: 53px; padding-bottom: 53px; }
.kj-cta-h2 { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 33px; font-weight: 500; color: #FFFFFF; line-height: 1.6; margin-bottom: 14px; }
.kj-cta-text { font-size: 16.5px; color: #CBDAE8; line-height: 1.8; max-width: 720px; }
.kj-form { padding-top: 47px; padding-bottom: 47px; }
.kj-form-wrap { max-width: 720px; }
.kj-form .wpcf7 { margin: 0; }
.kj-form input[type=text], .kj-form input[type=email], .kj-form input[type=tel], .kj-form textarea { width: 100%; font-size: 16px; padding: 6px 14px; border: 1px solid #C6CFD8; border-radius: 0; color: #1C2A36; background: #FFFFFF; font-family: inherit; }
.kj-form input[type=text]:focus, .kj-form input[type=email]:focus, .kj-form input[type=tel]:focus, .kj-form textarea:focus { outline: none; border-color: #0F3057; }
.kj-form textarea { resize: vertical; height: 150px; }
.kj-form input[type=submit], .kj-form .wpcf7-submit { font-size: 15px; letter-spacing: 0.08em; padding: 8px 52px; border: none; border-radius: 0; background: #0F3057; color: #FFFFFF; cursor: pointer; font-family: inherit; width: auto; }
.kj-form input[type=submit]:hover, .kj-form .wpcf7-submit:hover { background: #17457C; }
.kj-foot { border-top: 1px solid #D8DFE6; padding-top: 20px; padding-bottom: 20px; }
.kj-foot-in { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; font-size: 13px; color: #556472; letter-spacing: 0.06em; }
.kj-foot-in a { color: #2E3E4D; text-decoration: none; }
.kj-foot-in a:hover { text-decoration: underline; }
.kj-en .kj-h2 { line-height: 1.5; }
.kj-en .kj-hero-h1 { line-height: 1.38; }
.kj-en .kj-lead { line-height: 1.72; }
.kj-en .kj-hero-copy { line-height: 1.72; }
.kj-en .kj-svc-row { padding-top: 15px; padding-bottom: 15px; }
.kj-en .kj-svc-name { margin-bottom: 5px; }
.kj-en .kj-svc-desc { line-height: 1.72; margin-bottom: 0; }
.kj-en .kj-prof-text { line-height: 1.72; }
.kj-en .kj-prof-quote { line-height: 1.65; }
.kj-en .kj-info th { text-transform: uppercase; width: 170px; font-size: 13px; }
.kj-simple { padding-top: 47px; padding-bottom: 47px; }
.kj-simple h1 { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 31px; color: #0F3057; margin-bottom: 15px; line-height: 1.55; }
.kj-simple h2 { font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 22px; color: #0F3057; margin-top: 22px; margin-bottom: 8px; line-height: 1.65; }
.kj-simple p { font-size: 16px; color: #2E3E4D; line-height: 1.8; margin-bottom: 10px; max-width: 780px; }
.kj-simple ul, .kj-simple ol { margin-bottom: 10px; padding-left: 1.4em; max-width: 780px; }
.kj-simple li { font-size: 16px; color: #2E3E4D; line-height: 1.78; margin-bottom: 3px; }
@media (max-width: 860px) {
  .kj-inner { padding-left: 22px; padding-right: 22px; }
  .kj-sec { padding-top: 33px; padding-bottom: 33px; }
  .kj-hero { padding-top: 38px; padding-bottom: 33px; }
  .kj-hero-h1 { font-size: 29px; }
  .kj-hero-office { margin-bottom: 17px; }
  .kj-h2 { font-size: 24px; }
  .kj-cta { padding-top: 33px; padding-bottom: 33px; }
  .kj-cta-h2 { font-size: 24px; }
  .kj-head { margin-bottom: 17px; }
  .kj-flowmap { flex-direction: column; }
  .kj-fm-link { padding-top: 5px; padding-bottom: 5px; padding-left: 0; padding-right: 0; justify-content: center; }
  .kj-cols { flex-direction: column; gap: 44px; }
  .kj-col { padding-left: 0; padding-right: 0; }
  .kj-col-a { border-right: none; }
  .kj-svc-row { flex-direction: column; gap: 12px; padding-top: 14px; padding-bottom: 14px; }
  .kj-svc-idx { padding-top: 0; }
  .kj-svc-name { font-size: 19px; }
  .kj-prof { flex-direction: column; gap: 30px; }
  .kj-prof-side { width: 180px; }
  .kj-prof-photo { width: 134px; height: 160px; }
  .kj-fee { flex-direction: column; }
  .kj-fee-col { padding: 14px 0; border-right: none; }
  .kj-step { flex-direction: column; gap: 10px; }
  .kj-info th { width: 118px; font-size: 12.5px; }
  .kj-info td { font-size: 15px; }
  .kj-subnav { position: static; }
  .kj-subnav-list { gap: 20px; }
  .kj-subnav a { padding-top: 6px; padding-bottom: 6px; font-size: 12.5px; }
  .kj-form { padding-top: 30px; padding-bottom: 30px; }
  .kj-simple { padding-top: 30px; padding-bottom: 30px; }
  .kj-simple h1 { font-size: 24px; }
}
