/* 下層ページ専用。トップページには適用しない。 */
.subpage .header { position: relative; z-index: 5; }
.subpage .desktop-nav > a[aria-current="page"], .subpage #menu a[aria-current="page"] { color: #146c69; }
.page-title { position: relative; overflow: hidden; background: var(--pale); padding: 76px 0; }
.page-title .wrap { position: relative; z-index: 1; }
.crumb { margin: 0 0 18px; color: var(--muted); font-size: 11px; line-height: normal; letter-spacing: .66px; }
.page-title h1 { margin: 0; font: 700 44px/1.3 'Zen Kaku Gothic New','Noto Sans JP',sans-serif; letter-spacing: 1.76px; }
.dawn { position: absolute; left: calc(50% + 100px); top: 10px; width: 560px; height: 250px; fill: #eaf4f3; stroke: #dcefed; stroke-width: 1; }
.sub-section { padding: 120px 0; }
.kicker { margin: 0 0 20px; color: #146c69; font: 700 14px/normal 'Zen Kaku Gothic New','Noto Sans JP',sans-serif; letter-spacing: .84px; }
.subpage h2 { margin: 0; font: 700 36px/1.5 'Zen Kaku Gothic New','Noto Sans JP',sans-serif; letter-spacing: 1.08px; }
.section-copy > p:not(.kicker), .section-desc { margin: 28px 0 0; color: var(--copy); font-size: 15px; line-height: 2; letter-spacing: .3px; }
.mission .wrap, .recruit-intro .wrap { display: grid; grid-template-columns: 600px 464px; justify-content: space-between; align-items: center; gap: 64px; }
.system-figure { position: relative; width: 464px; height: 330px; }
.scattered i, .grid-dots span { position: absolute; display: block; width: 11px; height: 11px; border-radius: 50%; }
.scattered i { border: 1px solid #a9b9bb; background: #fff; opacity: 0; transform: translateY(6px); }
.scattered i:nth-child(1){left:16px;top:70px}.scattered i:nth-child(2){left:75px;top:48px}.scattered i:nth-child(3){left:118px;top:89px}.scattered i:nth-child(4){left:45px;top:140px}.scattered i:nth-child(5){left:112px;top:160px}.scattered i:nth-child(6){left:10px;top:218px}.scattered i:nth-child(7){left:83px;top:226px}.scattered i:nth-child(8){left:130px;top:252px}.scattered i:nth-child(9){left:60px;top:270px}
.figure-arrow { position: absolute; left: 184px; top: 136px; color: #1e8e8b; font: 400 44px/1 'Noto Sans JP',sans-serif; opacity: 0; transform: translateX(-8px); }
.grid-dots { position: absolute; left: 285px; top: 57px; width: 126px; height: 178px; background: linear-gradient(#a9d6d4,#a9d6d4) 0 0/100% 1px no-repeat,linear-gradient(#a9d6d4,#a9d6d4) 0 50%/100% 1px no-repeat,linear-gradient(#a9d6d4,#a9d6d4) 0 100%/100% 1px no-repeat,linear-gradient(90deg,#a9d6d4,#a9d6d4) 0 0/1px 100% no-repeat,linear-gradient(90deg,#a9d6d4,#a9d6d4) 50% 0/1px 100% no-repeat,linear-gradient(90deg,#a9d6d4,#a9d6d4) 100% 0/1px 100% no-repeat; }
.grid-dots span { background: #1e8e8b; opacity: 0; transform: scale(.5); }.grid-dots span:nth-child(1){left:-5px;top:-5px}.grid-dots span:nth-child(2){left:58px;top:-5px}.grid-dots span:nth-child(3){right:-5px;top:-5px}.grid-dots span:nth-child(4){left:-5px;top:84px}.grid-dots span:nth-child(5){left:58px;top:84px}.grid-dots span:nth-child(6){right:-5px;top:84px}.grid-dots span:nth-child(7){left:-5px;bottom:-5px}.grid-dots span:nth-child(8){left:58px;bottom:-5px}.grid-dots span:nth-child(9){right:-5px;bottom:-5px}
.system-figure p { position: absolute; top: 305px; margin: 0; font-size: 12px; font-weight: 700; }.system-figure .left-label { left: 0; color: var(--muted); }.system-figure .right-label { right: 0; color: #146c69; }
.figure-sequence.in .scattered i { animation: figure-in .32s ease-out forwards; }.figure-sequence.in .figure-arrow { animation: arrow-in .35s .36s ease-out forwards; }.figure-sequence.in .grid-dots span { animation: dot-in .3s ease-out forwards; }.figure-sequence.in .scattered i:nth-child(2){animation-delay:.04s}.figure-sequence.in .scattered i:nth-child(3){animation-delay:.08s}.figure-sequence.in .scattered i:nth-child(4){animation-delay:.12s}.figure-sequence.in .scattered i:nth-child(5){animation-delay:.16s}.figure-sequence.in .scattered i:nth-child(6){animation-delay:.2s}.figure-sequence.in .scattered i:nth-child(7){animation-delay:.24s}.figure-sequence.in .scattered i:nth-child(8){animation-delay:.28s}.figure-sequence.in .scattered i:nth-child(9){animation-delay:.32s}.figure-sequence.in .grid-dots span:nth-child(1){animation-delay:.64s}.figure-sequence.in .grid-dots span:nth-child(2){animation-delay:.68s}.figure-sequence.in .grid-dots span:nth-child(3){animation-delay:.72s}.figure-sequence.in .grid-dots span:nth-child(4){animation-delay:.76s}.figure-sequence.in .grid-dots span:nth-child(5){animation-delay:.8s}.figure-sequence.in .grid-dots span:nth-child(6){animation-delay:.84s}.figure-sequence.in .grid-dots span:nth-child(7){animation-delay:.88s}.figure-sequence.in .grid-dots span:nth-child(8){animation-delay:.92s}.figure-sequence.in .grid-dots span:nth-child(9){animation-delay:.96s}
@keyframes figure-in { to { opacity: 1; transform: none; } } @keyframes arrow-in { to { opacity: 1; transform: none; } } @keyframes dot-in { to { opacity: 1; transform: none; } }
.message .wrap { display: grid; grid-template-columns: 360px 760px; gap: 80px; }.message-body p { margin: 0 0 28px; color: var(--copy); font-size: 15px; line-height: 2; }.signature { display: flex; gap: 12px; align-items: center; margin-top: 36px; }.signature span { color: var(--muted); font-size: 13px; }.signature b { font: 700 20px/normal 'Zen Kaku Gothic New','Noto Sans JP',sans-serif; letter-spacing: 2px; }
.company { padding: 112px 0 128px; }.company table, .jobs table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--ink); }.company th, .company td, .jobs th, .jobs td { padding: 19px 0; border-bottom: 1px solid var(--line); text-align: left; font-size: 14px; line-height: 1.6; }.company th, .jobs th { width: 130px; color: #146c69; font-weight: 700; }.company td b { font-size: 16px; }
.consult { background: #126d6a; color: #fff; }.consult .wrap { display: flex; align-items: center; justify-content: space-between; padding: 56px 0; }.consult h2 { font-size: 24px; letter-spacing: .72px; }.consult .btn { padding: 18px 32px; color: #146c69; background: #fff; }
.service-links { display: grid; grid-template-columns: repeat(3,1fr); }.service-links a { display: flex; justify-content: space-between; padding: 16px 0; border-right: 1px solid var(--line); font-size: 14px; font-weight: 700; }.service-links a:first-child { border-left: 1px solid var(--line); padding-left: 0; }.service-links span { color: #1e8e8b; }.service-page #is, .service-page #fs, .service-page #flow { scroll-margin-top: 24px; }.service-columns { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 52px; }.service-columns article { border-top: 2px solid #1e8e8b; }.service-columns h3 { margin: 18px 0; font-size: 16px; line-height: 1.5; }.service-columns ul, .field-list ul { margin: 0; padding: 0; list-style: none; }.service-columns li { display: flex; align-items: center; gap: 10px; padding-left: 0; color: var(--copy); font-size: 13px; line-height: 2.1; }.service-columns li::before { content: ""; flex: 0 0 6px; width: 6px; height: 1px; background: #1e8e8b; }
.field-list { margin-top: 44px; padding: 30px 56px; background: #fff; }.field-list b { color: #146c69; font-size: 13px; }.field-list ul { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 18px; }.field-list li { display: flex; align-items: center; gap: 10px; padding: 10px 20px; border-right: 1px solid var(--line); font-size: 14px; font-weight: 700; }.field-list li::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; background: #1e8e8b; }.field-list li:nth-child(5n) { border-right: 0; }.field-list li:nth-child(n+6) { border-top: 1px solid var(--line); }
.process h2 { font-size: 28px; }.steps { display: grid; grid-template-columns: repeat(5,1fr); margin: 48px 0 68px; padding: 0; list-style: none; }.steps li { position: relative; padding: 18px 16px 0 4px; border-top: 1px solid #a9d6d4; }.steps li::before { content: ""; position: absolute; top: -5px; left: 0; width: 8px; height: 8px; border: 2px solid #1e8e8b; border-radius: 50%; background: #fff; }.steps li:last-child::before { background: #1e8e8b; }.steps b, .steps span { display: block; }.steps b { font-size: 14px; line-height: 1.6; }.steps span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.7; }.terms { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }.terms h3 { margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); font-size: 16px; }.terms dl { margin: 0; }.terms dl div { display: grid; grid-template-columns: 160px 1fr; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 13px; }.terms dt { color: #146c69; font-weight: 700; }.terms dd { margin: 0; }.terms p { margin: 0; color: var(--copy); font-size: 13px; line-height: 2; }
.sequence li::before { opacity: 0; transform: scale(.5); }.sequence.in li::before { animation: dot-in .28s ease-out forwards; }.sequence.in li:nth-child(2)::before { animation-delay: .12s; }.sequence.in li:nth-child(3)::before { animation-delay: .24s; }.sequence.in li:nth-child(4)::before { animation-delay: .36s; }.sequence.in li:nth-child(5)::before { animation-delay: .48s; }
.recruit-intro { padding: 128px 0 100px; }.skill-figure { position: relative; width: 464px; height: 380px; }.skill-figure svg { width: 100%; height: 100%; fill: none; stroke: #b9dfdd; stroke-width: 1; opacity: 0; }.skill-mark { position: absolute; left: 182px; top: 140px; width: 100px; height: 100px; overflow: hidden; border-radius: 50%; background: #1e8e8b; opacity: 0; }.skill-mark img { width: 200px; height: 55px; max-width: none; object-fit: contain; transform: translate(-7px,22px); filter: brightness(0) invert(1); }.skill-label { position: absolute; padding: 7px 16px; border: 1px solid #1e8e8b; border-radius: 99px; background: #fff; color: #146c69; font-size: 13px; line-height: 1; opacity: 0; }.sales{top:14px;left:202px}.marketing{top:116px;right:0}.ads{bottom:32px;right:82px}.ai{bottom:32px;left:88px}.tech{top:116px;left:0}.figure-sequence.in .skill-mark{animation:dot-in .35s ease-out forwards}.figure-sequence.in svg{animation:figure-in .35s .25s ease-out forwards}.figure-sequence.in .skill-label{animation:figure-in .35s .5s ease-out forwards}.figure-sequence.in .marketing{animation-delay:.55s}.figure-sequence.in .ads{animation-delay:.6s}.figure-sequence.in .ai{animation-delay:.65s}.figure-sequence.in .tech{animation-delay:.7s}.jobs { padding: 96px 0 128px; }.jobs td a { color: #146c69; text-decoration: underline; text-underline-offset: 2px; }
.form-wrap { width: 760px; max-width: calc(100% - 40px); margin: 0 auto; }.contact-form { padding: 0 0 92px; }.contact-flow { display: grid; grid-template-columns: repeat(3,1fr); margin: 0 0 48px; padding: 0; list-style: none; }.contact-flow li { position: relative; padding-top: 18px; border-top: 1px solid #a9d6d4; font-size: 14px; font-weight: 700; }.contact-flow li::before { content:""; position:absolute; top:-5px; left:0; width:8px; height:8px; border:2px solid #1e8e8b; border-radius:50%; background:#fff; }.contact-flow li:last-child::before { background:#1e8e8b; }.contact-form form { display: flex; flex-direction: column; gap: 28px; }.contact-form fieldset { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; border: 0; }.contact-form legend, .contact-form label { font-size: 14px; font-weight: 700; }.contact-form fieldset label { font-weight: 400; }.contact-form input[type="radio"] { width: 16px; height: 16px; accent-color: #146c69; vertical-align: -2px; }.optional, .required { display: inline-block; margin-left: 8px; padding: 2px 8px; font-size: 11px; line-height: normal; }.optional { border: 1px solid #7a8689; color: var(--muted); }.required { background: #0f5e5b; color: #fff; }.contact-form p { display: flex; flex-direction: column; gap: 10px; margin: 0; }.contact-form input:not([type="radio"]), .contact-form textarea { width: 100%; border: 1px solid #7a8689; border-radius: 4px; padding: 13px 16px; color: var(--ink); font: 14px/normal 'Noto Sans JP',sans-serif; }.contact-form input:not([type="radio"]) { height: 48px; }.contact-form textarea { height: 132px; resize: vertical; }.contact-form ::placeholder { color: #6b777a; opacity: 1; }.agreement { display: flex; align-items: center; gap: 12px; font-weight: 400; }.agreement input { width: 18px; height: 18px; accent-color: #146c69; }.agreement a { color: #146c69; text-decoration: underline; }.contact-form button { align-self: center; min-width: 208px; border: 0; cursor: pointer; }.contact-form [role="status"] { align-self: center; margin: -16px 0 0; color: #146c69; font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .figure-sequence .scattered i,.figure-sequence .figure-arrow,.figure-sequence .grid-dots span,.figure-sequence svg,.figure-sequence .skill-mark,.figure-sequence .skill-label,.sequence li::before { opacity: 1; transform: none; animation: none; } }

/* Figma参照：下層ページのPC用余白・タイポグラフィ */
@media (min-width: 768px) {
.sp-only { display: none; }
.page-title { padding: 80px 0 88px; }
.crumb { margin-bottom: 18px; font-size: 12px; letter-spacing: .72px; }
.page-title h1 { font-size: 56px; letter-spacing: 3.36px; }
.sub-section { padding: 120px 0 128px; }
.kicker { margin-bottom: 24px; font-size: 16px; letter-spacing: .96px; }
.subpage h2 { font-size: 52px; line-height: 1.45; letter-spacing: 2.08px; }
.section-copy > p:not(.kicker), .section-desc { margin-top: 20px; font-size: 17px; line-height: 2.1; letter-spacing: .51px; }
.mission .wrap { display: grid; grid-template-columns: 640px 464px; column-gap: 96px; align-items: start; }
.mission .section-copy, .recruit-intro .section-copy { display: contents; }
.mission .kicker { grid-column: 1 / -1; margin-bottom: 24px; }
.mission h2 { grid-column: 1 / -1; margin-bottom: 56px; }
.mission .section-copy > p:not(.kicker) { grid-column: 1; width: 640px; margin: 0; line-height: 2.2; }
.mission .system-figure { grid-column: 2; grid-row: 3; }
.message .wrap { grid-template-columns: 360px 744px; gap: 96px; }
.message-heading { display: flex; flex-direction: column; gap: 24px; }
.message-heading .kicker { margin: 0; }
.message .message-heading h2 { font-size: 36px; line-height: 1.5; letter-spacing: 1.08px; }
.message-body { width: 744px; }
.message-body p { margin-bottom: 28px; font-size: 17px; line-height: 2.2; letter-spacing: .51px; }
.signature { gap: 16px; margin-top: 0; }
.signature span { font-size: 14px; }
.signature b { font-size: 22px; }
.company, .jobs { padding: 120px 0 128px; }
.company .kicker, .jobs .kicker { margin-bottom: 32px; }
.company th, .company td, .jobs th, .jobs td { padding: 26px 0; font-size: 15px; line-height: 1.8; }
.company th, .jobs th { width: 260px; }
.company td b { font-size: 16px; }
.consult .wrap { padding: 80px 0 88px; }
.consult h2 { font-size: 30px; letter-spacing: .9px; }
.consult .btn { padding: 22px 40px; font-size: 17px; }
.service-links a { padding: 26px 32px; }
.service-links a:first-child { padding-left: 0; }
.service-page #is { padding-top: 120px; }
.service-columns { gap: 24px; margin-top: 56px; }
.service-columns article { border-top-width: 3px; }
.service-columns h3 { margin: 24px 0 18px; font-size: 19px; }
.service-columns li { padding-left: 18px; font-size: 15px; line-height: 1.7; }
.field-list { margin-top: 48px; padding: 44px 56px; }
.field-list b { font-size: 15px; letter-spacing: .9px; }
.field-list ul { margin-top: 24px; }
.field-list li { padding: 22px 18px; font-size: 15px; }
.process h2 { font-size: 36px; line-height: 1.5; letter-spacing: 1.08px; }
.steps { margin: 56px 0 72px; }
.steps li { padding: 20px 16px 0 4px; }
.steps b { font-size: 15px; }
.steps span { font-size: 13px; }
.terms { gap: 80px; }
.terms h3 { margin-bottom: 20px; padding-bottom: 14px; font-size: 17px; }
.terms dl div { grid-template-columns: 160px 1fr; padding: 16px 0; font-size: 15px; }
.terms p { font-size: 15px; line-height: 2.1; }
.recruit-intro { padding: 120px 0 128px; }
.recruit-intro .wrap { display: grid; grid-template-columns: 640px 464px; column-gap: 96px; align-items: start; }
.recruit-intro h2 { grid-column: 1 / -1; margin-bottom: 56px; }
.recruit-intro .section-copy > p { grid-column: 1; width: 640px; margin: 0; line-height: 2.2; }
.recruit-intro .skill-figure { grid-column: 2; grid-row: 2; }
.skill-mark { left: 184px; top: 142px; width: 96px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: #fff; }
.skill-mark img { width: 60px; aspect-ratio: 1; transform: none; object-fit: contain; filter: none; }
.jobs .kicker { margin-bottom: 32px; }
.form-wrap { width: 760px; max-width: calc(100% - 40px); }
.contact-form { padding: 96px 0 128px; }
.contact-flow { margin-bottom: 64px; }
.contact-flow li { padding-top: 20px; font-size: 17px; }
.contact-form form { gap: 36px; }
.contact-form fieldset { gap: 32px; }
.contact-form legend, .contact-form label { font-size: 16px; }
.contact-form p { gap: 12px; }
.contact-form input:not([type="radio"]):not([type="checkbox"]), .contact-form textarea { padding: 16px 20px; font-size: 15px; }
.contact-form input:not([type="radio"]):not([type="checkbox"]) { min-block-size: 56px; }
.contact-form textarea { min-block-size: 200px; }
.contact-form .agreement { align-self: flex-start; display: inline-flex; flex-direction: row; align-items: center; gap: 12px; }
.contact-form .agreement input[type="checkbox"] { inline-size: 22px; block-size: 22px; flex: 0 0 22px; margin: 0; padding: 0; }
.contact-form .agreement span { white-space: nowrap; }
.contact-form [role="status"][hidden] { display: none; }
.contact-form button { min-width: 0; padding: 22px 96px; font-size: 17px; }
footer .footer-main p { margin-top: 20px; }
footer nav span { display: none; }
}

/* 余白は内容量で決め、入力欄・図版も固定heightに依存しない */
.system-figure { height: auto; aspect-ratio: 464 / 330; }
.skill-figure { height: auto; aspect-ratio: 464 / 380; }
.contact-form input:not([type="radio"]):not([type="checkbox"]), .contact-form textarea { height: auto; }
@media (min-width:768px) and (max-width:1199px) {
  .subpage h2 { font-size: clamp(32px, 4.2vw, 52px); }
  .mission .wrap, .recruit-intro .wrap, .message .wrap { display: block; }
  .mission .section-copy, .recruit-intro .section-copy { display: block; }
  .mission h2, .recruit-intro h2 { margin-bottom: 24px; }
  .mission .section-copy > p:not(.kicker), .recruit-intro .section-copy > p, .message-body { width: auto; }
  .mission .system-figure, .recruit-intro .skill-figure { width: 100%; max-width: 464px; margin: 48px auto 0; transform: none; }
  .recruit-intro h2 { white-space: nowrap; }
  .message-body { margin-top: 24px; }
  .service-columns { grid-template-columns: repeat(2,1fr); gap: 32px; }
  .field-list ul { grid-template-columns: repeat(2,1fr); }
  .field-list li:nth-child(n) { border-right: 0; }
  .field-list li:nth-child(n+3) { border-top: 1px solid var(--line); }
}
/* スマホ参照値をファイル末尾で確定する */
@media (max-width: 767px) {
  .sp-only { display: block; }
  .system-figure { height: auto; aspect-ratio: 335 / 220; }
  .skill-figure { height: auto; aspect-ratio: 335 / 300; }
  .contact-form input:not([type="radio"]):not([type="checkbox"]), .contact-form textarea { height: auto; }
  .page-title { padding: 40px 20px; }
  .crumb { margin-bottom: 12px; font-size: 11px; letter-spacing: .66px; }
  .page-title h1 { font-size: 34px; letter-spacing: 1.36px; }
  .sub-section, .company, .jobs { padding: 64px 0; }
  .kicker { margin-bottom: 24px; font-size: 14px; letter-spacing: .84px; }
  .subpage h2 { font-size: 26px; line-height: 1.5; letter-spacing: .52px; }
  .section-copy > p:not(.kicker), .section-desc { margin-top: 20px; font-size: 15px; line-height: 2; letter-spacing: .3px; }
  .mission .wrap, .recruit-intro .wrap { display: block; }
  .mission .section-copy, .recruit-intro .section-copy { display: block; }
  .mission .kicker { margin-bottom: 24px; }
  .mission h2, .recruit-intro h2 { margin-bottom: 20px; }
  .mission .section-copy > p:not(.kicker), .recruit-intro .section-copy > p { width: auto; margin: 0; line-height: 2; }
  .mission .system-figure { width: 100%; max-width: 335px; margin: 48px auto 0; }
  .system-figure .scattered i:nth-child(1) { left: 14px; top: 20px; }
  .system-figure .scattered i:nth-child(2) { left: 60px; top: 6px; }
  .system-figure .scattered i:nth-child(3) { left: 36px; top: 70px; }
  .system-figure .scattered i:nth-child(4) { left: 96px; top: 54px; }
  .system-figure .scattered i:nth-child(5) { left: 8px; top: 120px; }
  .system-figure .scattered i:nth-child(6) { left: 70px; top: 104px; }
  .system-figure .scattered i:nth-child(7) { left: 40px; top: 160px; }
  .system-figure .scattered i:nth-child(8) { left: 108px; top: 150px; }
  .system-figure .scattered i:nth-child(9) { left: 100px; top: 96px; }
  .system-figure .figure-arrow { left: 140px; top: 77px; font-size: 34px; }
  .system-figure .grid-dots { left: 211px; top: 36px; width: 100px; height: 112px; }
  .system-figure .grid-dots span:nth-child(2), .system-figure .grid-dots span:nth-child(5), .system-figure .grid-dots span:nth-child(8) { left: 45px; }
  .system-figure .grid-dots span:nth-child(4), .system-figure .grid-dots span:nth-child(5), .system-figure .grid-dots span:nth-child(6) { top: 50px; }
  .system-figure p { top: 195px; font-size: 12px; }
  .message .wrap { display: block; }
  .message-heading { gap: 20px; }
  .message .message-heading h2 { font-size: 26px; line-height: 1.5; letter-spacing: .52px; }
  .message-body { width: auto; margin-top: 20px; }
  .message-body p { margin-bottom: 24px; font-size: 15px; line-height: 2; letter-spacing: .3px; }
  .signature { margin-top: 20px; }
  .signature span { font-size: 13px; }
  .signature b { font-size: 20px; }
  .company .kicker, .jobs .kicker { margin-bottom: 20px; }
  .company th, .company td, .jobs th, .jobs td { padding: 16px 0; font-size: 15px; line-height: 1.75; }
  .company th, .jobs th { padding-bottom: 0; font-size: 13px; }
  .company td, .jobs td { padding-top: 4px; }
  .company tr, .jobs tr, .company th, .company td, .jobs th, .jobs td { display: block; width: auto; }
  .company th, .jobs th { border-bottom: 0; }
  .consult .wrap { display: block; padding: 48px 20px; }
  .consult h2 { max-width: 220px; font-size: 22px; line-height: 1.5; letter-spacing: .66px; }
  .consult .btn { display: flex; width: 100%; margin-top: 20px; padding: 18px 24px; font-size: 16px; }
  .service-links { display: block; }
  .service-links a, .service-links a:first-child { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); }
  .service-page #is { padding-top: 64px; }
  .service-columns { display: block; margin-top: 40px; }
  .service-columns article { margin-bottom: 32px; }
  .service-columns h3 { margin: 20px 0 18px; font-size: 18px; }
  .service-columns li { font-size: 14px; line-height: 1.7; margin-top: 10px; }
  .field-list { margin-top: 40px; padding: 20px 16px; }
  .field-list b { font-size: 14px; }
  .field-list ul { display: block; margin-top: 10px; }
  .field-list li, .field-list li:nth-child(n) { padding: 12px 0; border-right: 0; border-top: 1px solid var(--line); font-size: 14px; }
  .field-list li:first-child { border-top: 0; }
  .process h2 { font-size: 24px; }
  .steps { display: block; margin: 40px 0 56px; padding-left: 0; border-left: 1px solid #a9d6d4; }
  .steps li { padding: 0 0 16px 28px; border-top: 0; }
  .steps li::before { top: 4px; left: -5px; }
  .steps li:last-child { padding-bottom: 0; }
  .steps b { font-size: 16px; }
  .steps span { font-size: 12px; }
  .terms { display: block; }
  .terms section + section { margin-top: 40px; }
  .terms h3 { margin-bottom: 16px; font-size: 18px; }
  .terms dl div { grid-template-columns: 130px 1fr; padding: 12px 0; font-size: 14px; }
  .terms p { font-size: 14px; line-height: 2; }
  .recruit-intro { padding: 64px 0; }
  .recruit-intro h2 { font-size: 28px; }
  .recruit-intro .skill-figure { width: 100%; max-width: 335px; margin-top: 28px; }
  .skill-mark { left: 144.5px; top: 127px; width: 46px; aspect-ratio: 1; }
  .skill-mark img { width: 30px; aspect-ratio: 1; filter: none; }
  .skill-label { padding: 7px 12px; font-size: 12px; }
  .skill-label.sales { top: 30px; left: 142.5px; }
  .skill-label.marketing { top: 102.5px; right: auto; left: 212px; }
  .skill-label.ads { right: auto; bottom: auto; top: 220px; left: 204px; }
  .skill-label.ai { right: auto; bottom: auto; top: 220px; left: 87px; }
  .skill-label.tech { top: 102.5px; left: 19px; }
  .contact-form { padding: 64px 0; }
  .contact-flow { display: block; margin-bottom: 40px; padding-left: 0; border-left: 1px solid #a9d6d4; }
  .contact-flow li { padding: 0 0 12px 28px; border-top: 0; font-size: 16px; }
  .contact-flow li::before { top: 4px; left: -5px; }
  .contact-flow li:nth-child(-n+2) { min-height: 44px; }
  .contact-flow li:last-child { padding-bottom: 0; }
  .contact-form form { gap: 28px; }
  .contact-form fieldset { flex-direction: column; align-items: flex-start; gap: 10px; }
  .contact-form legend, .contact-form label { font-size: 15px; }
  .contact-form p { gap: 10px; }
  .contact-form input:not([type="radio"]):not([type="checkbox"]), .contact-form textarea { padding: 14px 16px; font-size: 14px; }
  .contact-form input:not([type="radio"]):not([type="checkbox"]) { min-block-size: 52px; }
  .contact-form textarea { min-block-size: 180px; }
  .contact-form .agreement input[type="checkbox"] { inline-size: 22px; block-size: 22px; flex-basis: 22px; }
  .contact-form button { align-self: stretch; width: 100%; padding: 18px 24px; font-size: 16px; }
  footer .footer-main p { margin-top: 0; }
  footer nav span { display: block; }
}

/* 個人情報の取り扱いページ（2026-10-08 公開準備で追加） */
.policy { max-width: 860px; }
.policy h2 { margin: 56px 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 20px; line-height: 1.5; }
.policy p, .policy li { color: var(--copy); font-size: 15px; line-height: 2; }
.policy p { margin: 0 0 12px; }
.policy ul, .policy ol { margin: 0 0 12px; padding-left: 1.5em; }
.policy a { color: #146c69; text-decoration: underline; }
.policy-lead { margin-bottom: 0; }
.policy-date { margin-top: 56px !important; text-align: right; }
@media (max-width: 767px) {
  .policy h2 { margin-top: 40px; font-size: 18px; }
  .policy p, .policy li { font-size: 14px; }
}
