.ojh-landing {
  --green: #008571;
  --dark: #006a5c;
  --mint: #bcefdc;
  --pale: #eaf6f2;
  --ink: #343e3b;
  --line: #c3ddd2;
  --orange: #ee8b00;
  --body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --serif: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
}
.ojh-landing * {
  box-sizing: border-box
}
.ojh-landing {
  scroll-behavior: smooth;
  scroll-padding-top: 110px
}
.ojh-landing {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: var(--body);
  font-size: 15px;
  line-height: 2
}
.ojh-landing a {
  color: inherit;
  text-underline-offset: 4px
}
.ojh-landing a:hover {
  opacity: .83
}
.ojh-landing button {
  font: inherit;
  cursor: pointer
}
.ojh-landing button:disabled {
  cursor: wait;
  opacity: .6
}
.ojh-landing img {
  max-width: 100%;
  display: block;
  height: auto
}
.ojh-landing h2, .ojh-landing h2, .ojh-landing h3, .ojh-landing h4, .ojh-landing p {
  margin: 0
}
.ojh-landing p {
  margin: 0 0 1.35em
}
.ojh-landing h2, .ojh-landing h2 {
  font-family: var(--serif);
  font-weight: 500
}
.ojh-landing h2 {
  font-size: 29px;
  line-height: 1.8;
  letter-spacing: .06em
}
.ojh-landing h3 {
  font-size: 19px;
  line-height: 1.8
}
.ojh-landing h4 {
  font-size: 15px
}
.ojh-landing ul {
  padding-left: 1.4em;
  margin: 15px 0
}
.ojh-landing li {
  padding-left: .1em;
  margin-bottom: 6px
}
.ojh-landing a:focus-visible, .ojh-landing button:focus-visible, .ojh-landing input:focus-visible, .ojh-landing select:focus-visible, .ojh-landing textarea:focus-visible, .ojh-landing summary:focus-visible, .ojh-landing [tabindex]:focus-visible {
  outline: 3px solid #b17a09;
  outline-offset: 4px
}
.ojh-landing [hidden] {
  display: none !important
}
.ojh-landing .skip {
  position: fixed;
  top: -100px;
  left: 10px;
  z-index: 80;
  background: white;
  padding: 12px
}
.ojh-landing .skip:focus {
  top: 10px
}
.ojh-landing .wide {
  width: min(1180px, calc(100% - 64px));
  margin: auto
}
.ojh-landing .content {
  width: min(980px, calc(100% - 64px));
  margin: auto
}
.ojh-landing .narrow {
  max-width: 820px
}
.ojh-landing .section {
  padding: 78px 0
}
.ojh-landing .pale {
  background: var(--pale)
}
.ojh-landing .inner-section {
  padding-top: 70px;
  scroll-margin-top: 100px
}
.ojh-landing .section-title {
  text-align: center;
  margin: 0 auto 42px
}
.ojh-landing .section-title h2 {
  display: inline-block;
  position: relative;
  padding: 10px 37px
}
.ojh-landing .section-title h2:before, .ojh-landing .section-title h2:after {
  content: '';
  position: absolute;
  width: 30px;
  height: 28px;
  border-color: #88cbbb
}
.ojh-landing .section-title h2:before {
  left: 0;
  top: 0;
  border-left: 2px solid #88cbbb;
  border-top: 2px solid #88cbbb
}
.ojh-landing .section-title h2:after {
  right: 0;
  bottom: 0;
  border-right: 2px solid #88cbbb;
  border-bottom: 2px solid #88cbbb
}
.ojh-landing .section-title > p {
  font-size: 13px;
  color: #65766d;
  margin: 22px 0 0
}
.ojh-landing .note, .ojh-landing small {
  font-size: 11px;
  line-height: 1.85;
  color: #64776d
}
.ojh-landing .center {
  text-align: center
}
.ojh-landing .green-label {
  font-weight: 600;
  color: var(--green);
  font-size: 12px;
  margin-bottom: 12px
}
.ojh-landing .mint-bar {
  text-align: center;
  background: var(--mint);
  padding: 10px 20px;
  color: #24594d;
  font-size: 18px;
  margin-bottom: 28px
}
.ojh-landing .green-button, .ojh-landing .orange-button, .ojh-landing .outline-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 13px 24px;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 2px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.8
}
.ojh-landing .green-button {
  background: var(--green);
  color: #fff
}
.ojh-landing .orange-button {
  background: var(--orange);
  color: #fff
}
.ojh-landing .outline-button {
  border-color: var(--green);
  background: #fff;
  color: var(--green)
}
.ojh-landing .header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fffffffa;
  box-shadow: 0 2px 10px #00352e0c
}
.ojh-landing .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  min-height: 88px
}
.ojh-landing .brand {
  display: block;
  text-decoration: none;
  line-height: 1.5
}
.ojh-landing .brand > small {
  display: block;
  font-size: 9px;
  color: #4f6259
}
.ojh-landing .brand > strong {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 500;
  display: block;
  letter-spacing: .03em
}
.ojh-landing .brand > span {
  display: block;
  font-size: 9px;
  color: var(--green)
}
.ojh-landing .header-contact {
  display: flex;
  align-items: center;
  gap: 24px
}
.ojh-landing .header-contact > a:first-child {
  color: var(--dark);
  text-decoration: none;
  font-size: 20px;
  line-height: 1.4
}
.ojh-landing .header-contact > a:first-child small {
  display: block;
  text-align: center;
  font-size: 9px
}
.ojh-landing .header-contact .orange-button {
  padding: 13px 25px;
  font-size: 12px
}
.ojh-landing .hero {
  background: linear-gradient(115deg, #f3f8f3 0%, #e7f2ec 58%, #f3f5ed 100%);
  position: relative;
  overflow: hidden;
  border-top: 1px solid #e0eee6
}
.ojh-landing .hero-inner {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: end;
  gap: 0;
  min-height: 600px;
  padding-top: 38px
}
.ojh-landing .hero-copy {
  padding: 0 0 34px;
  position: relative;
  z-index: 2
}
.ojh-landing .hero-kicker {
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--dark);
  margin-bottom: 17px
}
.ojh-landing .hero h2 {
  font-size: 35px;
  line-height: 1.8;
  background: var(--green);
  color: white;
  box-shadow: -12px -9px 0 #9addbd72, 10px 10px 0 #b9e6d5aa;
  padding: 20px 28px 22px;
  margin: 0 0 30px;
  position: relative;
  letter-spacing: .05em
}
.ojh-landing .hero h2:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100px;
  height: 50px;
  background: #ffffff18;
  clip-path: polygon(100% 0, 100% 100%, 0 100%)
}
.ojh-landing .gold-message {
  border-block: 1px solid #b89756;
  color: #98712b;
  padding: 13px 10px;
  font-size: 17px;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 18px
}
.ojh-landing .gold-message strong {
  font-size: 17px
}
.ojh-landing .hero-copy > p:not(.hero-kicker) {
  text-align: center;
  font-size: 13px;
  margin-bottom: 18px
}
.ojh-landing .hero-pill {
  background: #8cdebb;
  text-align: center;
  padding: 7px 8px;
  font-size: 13px;
  font-weight: 600;
  color: #005848
}
.ojh-landing .hero-pill > span {
  font-size: 11px;
  margin-left: 10px
}
.ojh-landing .hero-action {
  display: flex;
  margin-top: 10px;
  max-width: none
}
.ojh-landing .hero-copy > small {
  display: block;
  text-align: center;
  margin-top: 7px;
  font-size: 9px
}
.ojh-landing .hero-photo {
  align-self: end;
  position: relative;
  margin-left: -15px;
  z-index: 1;
  overflow: hidden
}
.ojh-landing .hero-photo img {
  width: 100%;
  max-width: none;
  min-height: 520px;
  object-fit: cover;
  object-position: 50% top;
  mix-blend-mode: multiply
}
.ojh-landing .hero-photo p {
  position: absolute;
  bottom: 20px;
  right: 12px;
  background: var(--green);
  color: white;
  font-size: 14px;
  font-weight: 600;
  padding: 7px 20px;
  letter-spacing: .08em;
  margin: 0
}
.ojh-landing .intro {
  padding: 40px 0 50px;
  background-color: #f6fcf9
}
.ojh-landing .bamboo {
  background-image: linear-gradient(90deg, #ffffff55, #ffffffb5), url('bamboo.webp');
  background-repeat: no-repeat;
  background-size: 100% 100%, 160px auto;
  background-position: left center
}
.ojh-landing .intro > .content > p {
  font-size: 14px
}
.ojh-landing .cta-block {
  padding: 24px;
  text-align: center;
  background: #f2fcf7;
  border: 1px solid #daefe4;
  margin: 35px auto 0
}
.ojh-landing .cta-block > p {
  background: var(--mint);
  color: #175849;
  font-size: 14px;
  font-weight: 600;
  padding: 9px 15px;
  margin-bottom: 20px
}
.ojh-landing .cta-features {
  display: flex;
  justify-content: center;
  gap: 0;
  font-size: 12px;
  margin-bottom: 13px
}
.ojh-landing .cta-features b, .ojh-landing .cta-features > span {
  padding: 4px 14px;
  border: 1px solid var(--green)
}
.ojh-landing .cta-features b {
  background: var(--green);
  color: white
}
.ojh-landing .cta-features > span {
  background: white;
  color: var(--green)
}
.ojh-landing sup {
  font-size: 9px
}
.ojh-landing .cta-buttons {
  display: grid;
  grid-template-columns: 1fr .95fr 1.5fr;
  gap: 12px;
  max-width: 880px;
  margin: auto
}
.ojh-landing .cta-buttons > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-decoration: none;
  min-height: 58px;
  border-radius: 2px;
  font-weight: 600;
  font-size: 12px
}
.ojh-landing .cta-buttons > a.phone {
  display: block;
  border: 1px solid #b6dac8;
  background: white;
  color: #125a4c;
  padding: 4px 10px;
  line-height: 1.4
}
.ojh-landing .phone small {
  display: block;
  font-size: 9px
}
.ojh-landing .phone strong {
  font-size: 22px;
  white-space: nowrap
}
.ojh-landing .line {
  background: #17b500;
  color: white
}
.ojh-landing .mail {
  background: var(--orange);
  color: white
}
.ojh-landing .cta-note {
  display: block;
  margin-top: 11px;
  font-size: 9px
}
.ojh-landing .anchor-nav {
  border-block: 1px solid #dae8df;
  background: #fff;
  padding: 13px 0
}
.ojh-landing .anchor-nav .wide {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px
}
.ojh-landing .anchor-nav a {
  background: #f4f7f4;
  color: #2a7462;
  border: 1px solid #e1e9e1;
  text-decoration: none;
  font-size: 12px;
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
  padding: 8px
}
.ojh-landing .anchor-nav a span {
  font-size: 15px
}
.ojh-landing .stage-buttons {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin-bottom: 17px
}
.ojh-landing .stage-buttons button {
  border: 1px solid #82b6a3;
  background: white;
  color: var(--green);
  padding: 12px 5px;
  font-size: 12px;
  border-radius: 2px;
  font-weight: 600;
  line-height: 1.8
}
.ojh-landing .stage-buttons button small {
  display: block;
  color: inherit;
  font-size: 10px
}
.ojh-landing .stage-buttons button[aria-selected=true] {
  background: var(--green);
  color: white
}
.ojh-landing .stage-panel {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  background: white;
  border-top: 3px solid var(--green);
  padding: 32px;
  min-height: 330px
}
.ojh-landing .stage-panel h3 {
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.7;
  font-weight: 500;
  white-space: pre-line;
  margin-bottom: 16px
}
.ojh-landing .stage-panel p:not(.green-label, .note) {
  font-size: 13px
}
.ojh-landing .stage-panel > div + div {
  border-left: 1px solid var(--line);
  padding-left: 30px
}
.ojh-landing .stage-panel li {
  font-size: 13px
}
.ojh-landing .stage-panel h4 {
  font-size: 14px
}
.ojh-landing .stage-panel .green-button {
  font-size: 12px;
  padding: 10px 16px
}
.ojh-landing .timing {
  margin-top: 36px
}
.ojh-landing .timing h3 {
  text-align: center;
  font-size: 18px
}
.ojh-landing .timing ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  padding: 0;
  margin: 25px 0 20px;
  gap: 12px
}
.ojh-landing .timing li {
  padding: 16px 10px;
  background: white;
  text-align: center;
  border-top: 3px solid #8bbaa1;
  position: relative;
  margin: 0
}
.ojh-landing .timing li + li:before {
  content: '›';
  position: absolute;
  left: -11px;
  top: 18px;
  color: var(--green);
  font-size: 23px
}
.ojh-landing .timing b {
  display: block;
  font-size: 13px;
  color: var(--green)
}
.ojh-landing .timing span {
  font-size: 10px;
  color: #64776d
}
.ojh-landing .timing > p {
  font-size: 12px;
  text-align: center
}
.ojh-landing .check-list {
  background: #eef3ef;
  padding: 25px 35px;
  list-style: none;
  margin: 0 auto 28px;
  max-width: 800px
}
.ojh-landing .check-list li {
  position: relative;
  padding-left: 28px;
  font-size: 13px;
  margin-bottom: 12px
}
.ojh-landing .check-list li:before {
  content: '✁E;
  position: absolute;
  left: 0;
  top: 3px;
  background: var(--green);
  color: white;
  width: 16px;
  height: 17px;
  line-height: 17px;
  text-align: center;
  border-radius: 2px;
  font-size: 12px
}
.ojh-landing .check-list li:last-child {
  margin: 0
}
.ojh-landing .content > .center {
  font-size: 13px
}
.ojh-landing .injury-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 27px
}
.ojh-landing .injury-grid article {
  background: white;
  text-align: center
}
.ojh-landing .injury-grid h3 {
  font-size: 14px;
  color: #408d78;
  padding: 8px;
  border-bottom: 1px solid #bddfcd
}
.ojh-landing .injury-grid p {
  font-size: 11px;
  line-height: 1.7;
  margin: 0;
  padding: 12px
}
.ojh-landing .injury-grid + p {
  font-size: 13px
}
.ojh-landing .related {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
  padding-top: 10px
}
.ojh-landing .related a {
  font-size: 12px;
  color: var(--dark)
}
.ojh-landing .detail-box {
  padding: 25px;
  background: #fff;
  margin-bottom: 22px
}
.ojh-landing .detail-box h3 {
  border: 1px solid #88c3b0;
  display: flex;
  align-items: stretch;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 1.8
}
.ojh-landing .detail-box h3 span {
  background: var(--green);
  color: white;
  padding: 7px 15px;
  margin-right: 17px;
  font-size: 12px;
  white-space: nowrap
}
.ojh-landing .detail-box h3 {
  padding: 0 15px 0 0;
  align-items: center
}
.ojh-landing .detail-box p, .ojh-landing .detail-box li {
  font-size: 13px
}
.ojh-landing .detail-box ul {
  background: #f5f8f5;
  padding: 18px 20px 18px 38px;
  margin-bottom: 0
}
.ojh-landing .merit-box {
  background: #ebf7ef;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 25px;
  padding: 30px;
  margin-bottom: 24px
}
.ojh-landing .num {
  color: var(--green);
  font-size: 35px;
  font-weight: 600;
  line-height: 1.2
}
.ojh-landing .num small {
  display: block;
  color: inherit;
  font-size: 10px;
  letter-spacing: .04em;
  margin-bottom: 3px
}
.ojh-landing .merit-box h3 {
  font-size: 18px;
  color: #248c74;
  margin-bottom: 18px
}
.ojh-landing .merit-box p, .ojh-landing .merit-box li {
  font-size: 13px
}
.ojh-landing .merit-box ul {
  padding-top: 17px;
  border-top: 1px solid #c1d7c8
}
.ojh-landing .profile {
  display: grid;
  grid-template-columns: .65fr 1.5fr;
  gap: 45px;
  align-items: start
}
.ojh-landing .profile img {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: 50% top;
  background: white;
  border: 5px solid white
}
.ojh-landing .profile > div:first-child h3 {
  font-size: 15px;
  margin: 17px 0 5px
}
.ojh-landing .profile p, .ojh-landing .profile li {
  font-size: 13px
}
.ojh-landing .profile .underlined {
  border-bottom: 2px solid #88cbbb;
  padding-bottom: 9px;
  font-size: 20px;
  margin-bottom: 20px
}
.ojh-landing .profile .outline-button {
  font-size: 11px
}
.ojh-landing .profile .note {
  font-size: 10px
}
.ojh-landing .case-filters {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap
}
.ojh-landing .case-filters button {
  border: 1px solid var(--green);
  background: white;
  color: var(--green);
  padding: 8px 16px;
  font-size: 12px;
  border-radius: 2px
}
.ojh-landing .case-filters button[aria-pressed=true] {
  background: var(--green);
  color: white
}
.ojh-landing .case-count {
  text-align: center;
  color: #5d7568;
  font-size: 11px;
  margin: 16px 0 22px
}
.ojh-landing .case-card {
  border: 1px solid #7cbda8;
  margin: 0 0 30px;
  border-radius: 4px;
  overflow: hidden;
  background: white;
  padding: 0 28px 26px
}
.ojh-landing .case-heading {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin: 0 -28px 24px;
  background: #ecf8f0;
  border-bottom: 1px solid var(--line);
  padding: 10px 25px;
  color: var(--green);
  font-size: 12px
}
.ojh-landing .case-heading > span:first-child {
  font-weight: 600
}
.ojh-landing .case-card > h3 {
  text-align: center;
  font-size: 21px;
  color: var(--dark);
  margin-bottom: 22px
}
.ojh-landing .result {
  text-align: center;
  background: #edf9f1;
  padding: 20px 25px
}
.ojh-landing .result > small {
  display: block;
  font-size: 11px
}
.ojh-landing .result > strong {
  display: block;
  font-size: 32px;
  font-weight: 600;
  color: var(--green);
  line-height: 1.6
}
.ojh-landing .result > p {
  font-size: 10px;
  color: #60796a;
  max-width: 720px;
  margin: 7px auto 0
}
.ojh-landing .case-card dl {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 0;
  margin: 24px 0
}
.ojh-landing .case-card dt, .ojh-landing .case-card dd {
  padding: 13px;
  border-bottom: 1px solid #dce9de;
  font-size: 12px;
  margin: 0
}
.ojh-landing .case-card dt {
  color: var(--green);
  font-weight: 600;
  background: #f6faf5
}
.ojh-landing .case-links {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap
}
.ojh-landing .case-links a {
  font-size: 12px;
  color: var(--dark)
}
.ojh-landing .reference {
  background: #eef8f2;
  padding: 24px;
  border-left: 3px solid var(--green);
  margin-top: 30px
}
.ojh-landing .reference h3 {
  font-size: 17px;
  color: var(--green);
  margin-bottom: 12px
}
.ojh-landing .reference p {
  font-size: 13px
}
.ojh-landing .reference a {
  font-size: 12px;
  color: var(--green)
}
.ojh-landing .reason-box {
  padding: 30px;
  background: #fff;
  margin-bottom: 28px;
  display: flow-root;
  border-top: 1px solid #c9e1d5
}
.ojh-landing .reason-title {
  display: flex;
  align-items: center;
  gap: 23px;
  margin-bottom: 20px
}
.ojh-landing .reason-title .num {
  border-inline: 1px solid #8abfa8;
  padding: 0 9px;
  flex-shrink: 0
}
.ojh-landing .reason-title h3 {
  font-size: 19px;
  color: #26866e
}
.ojh-landing .reason-box p, .ojh-landing .reason-box li {
  font-size: 13px
}
.ojh-landing .reason-photo {
  width: 240px;
  float: right;
  margin: 0 0 20px 25px
}
.ojh-landing .flow-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 820px
}
.ojh-landing .flow-list li {
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 20px;
  padding: 25px 30px;
  margin: 0 0 12px;
  background: #edf7f1;
  position: relative
}
.ojh-landing .flow-list li:not(:last-child):after {
  content: '';
  position: absolute;
  bottom: -13px;
  left: 50%;
  border: 13px solid transparent;
  border-top: 13px solid #c5dfd2;
  border-bottom: 0;
  z-index: 1
}
.ojh-landing .flow-list > li > span {
  font-size: 11px;
  color: var(--green);
  line-height: 1.5
}
.ojh-landing .flow-list b {
  display: block;
  font-size: 31px;
  line-height: 1.3
}
.ojh-landing .flow-list h3 {
  font-size: 17px;
  color: var(--dark);
  margin-bottom: 10px
}
.ojh-landing .flow-list p {
  font-size: 12px;
  margin: 0
}
.ojh-landing .flow-list + .note {
  text-align: center;
  margin-top: 20px
}
.ojh-landing .fees {
  background: var(--pale)
}
.ojh-landing .fees .section-head {
  text-align: center;
  margin: 0 0 38px
}
.ojh-landing .fees .eyebrow {
  font-size: 12px;
  color: var(--green);
  margin-bottom: 12px
}
.ojh-landing .fees h2 {
  margin-bottom: 16px
}
.ojh-landing .fees .section-head > p:last-child {
  font-size: 13px
}
.ojh-landing .fee-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px
}
.ojh-landing .fee-box {
  background: #fff;
  padding: 28px
}
.ojh-landing .fee-box > .mini-label {
  background: var(--green);
  color: white;
  padding: 8px;
  text-align: center;
  font-size: 14px;
  margin: -28px -28px 25px
}
.ojh-landing .zero-fees {
  display: flex;
  text-align: center;
  gap: 25px;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line)
}
.ojh-landing .zero-fees > div {
  width: 50%;
  font-size: 13px
}
.ojh-landing .zero-fees strong {
  display: block;
  color: var(--green);
  font-size: 48px;
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.3
}
.ojh-landing .zero-fees small {
  font-size: 18px;
  color: inherit;
  margin-left: 5px
}
.ojh-landing .fee-box > h3 {
  font-size: 17px;
  margin-bottom: 20px
}
.ojh-landing .fee-detail {
  margin: 15px 0 23px
}
.ojh-landing .fee-detail dt {
  font-size: 11px;
  margin-top: 20px;
  color: #60796a
}
.ojh-landing .fee-detail dd {
  font-size: 13px;
  margin: 5px 0 0
}
.ojh-landing .fee-detail strong {
  font-size: 18px;
  display: block;
  color: var(--green)
}
.ojh-landing .fee-box > .small {
  font-size: 10px;
  color: #5d7568
}
.ojh-landing .fee-special {
  background: #f9fcf9
}
.ojh-landing .fee-special > .mini-label {
  background: #729b8d
}
.ojh-landing .fee-special > h3 {
  font-size: 22px;
  font-family: var(--serif);
  font-weight: 500
}
.ojh-landing .fee-special > p:not(.mini-label, .small) {
  font-size: 13px
}
.ojh-landing .fees-more {
  display: table;
  text-align: center;
  margin: 25px auto 0;
  font-size: 12px;
  color: var(--green)
}
.ojh-landing .faq-list details {
  margin-bottom: 20px;
  background: #f4f8f4;
  border-top: 1px solid #c2dacf
}
.ojh-landing .faq-list summary {
  padding: 20px 45px 20px 23px;
  list-style: none;
  position: relative;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--green);
  display: flex;
  gap: 15px;
  align-items: baseline
}
.ojh-landing .faq-list summary::-webkit-details-marker {
  display: none
}
.ojh-landing .faq-list summary > span {
  background: var(--green);
  color: white;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  font-family: var(--serif);
  font-size: 16px;
  flex-shrink: 0
}
.ojh-landing .faq-list summary:after {
  content: '+';
  position: absolute;
  right: 23px;
  font-size: 21px;
  font-weight: 400
}
.ojh-landing .faq-list details[open] summary:after {
  content: '∁E
}
.ojh-landing .faq-list details > div {
  display: flex;
  gap: 15px;
  padding: 0 25px 23px;
  font-size: 13px
}
.ojh-landing .faq-list details > div > b {
  color: var(--green);
  font-family: var(--serif);
  font-size: 19px
}
.ojh-landing .faq-list details p {
  margin: 0
}
.ojh-landing .resource-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px
}
.ojh-landing .resource-grid article {
  background: white;
  padding: 28px
}
.ojh-landing .resource-grid h3 {
  color: var(--green);
  font-size: 17px;
  margin-bottom: 18px
}
.ojh-landing .resource-grid p, .ojh-landing .resource-grid li {
  font-size: 12px
}
.ojh-landing .resource-grid .green-button {
  font-size: 12px
}
.ojh-landing .resource-grid a {
  color: var(--green)
}
.ojh-landing .resource-grid .green-button {
  color: white
}
.ojh-landing .preview-note {
  font-size: 11px;
  padding: 13px 17px;
  background: #f6f3e9;
  border-left: 3px solid #c4ae76;
  margin-bottom: 25px
}
.ojh-landing .form-row {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 7px 22px;
  border-bottom: 1px solid #e2ebe4;
  padding: 16px 0;
  align-items: center
}
.ojh-landing .form-row > label {
  font-size: 13px
}
.ojh-landing .required, .ojh-landing .optional {
  font-size: 9px;
  padding: 1px 5px;
  margin-left: 8px;
  font-weight: 400;
  white-space: nowrap
}
.ojh-landing .required {
  background: #a34838;
  color: #fff
}
.ojh-landing .optional {
  color: #5f7569;
  background: #edf3ef
}
.ojh-landing input, .ojh-landing select, .ojh-landing textarea {
  font: inherit;
  font-size: 14px;
  max-width: 100%;
  border: 1px solid #c7d8cc;
  border-radius: 2px;
  background: #fff;
  color: #344d40;
  padding: 10px 12px;
  width: 100%;
  line-height: 1.6
}
.ojh-landing input:invalid:not(:placeholder-shown) {
  box-shadow: none
}
.ojh-landing textarea {
  resize: vertical
}
.ojh-landing .form-row > small {
  grid-column: 2;
  font-size: 10px;
  margin-top: 2px
}
.ojh-landing .consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 26px 0 20px;
  font-size: 11px
}
.ojh-landing .consent input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: var(--green)
}
.ojh-landing .form-review {
  display: flex;
  margin: 25px auto 0;
  min-width: 300px
}
.ojh-landing .hp {
  position: absolute;
  left: -10000px;
  height: 1px;
  overflow: hidden
}
.ojh-landing .form-alert {
  background: #fff0ed;
  border-left: 3px solid #aa4e37;
  padding: 13px 18px;
  font-size: 12px;
  margin-bottom: 20px;
  color: #8c3924
}
.ojh-landing .form-confirm {
  background: #f1f8f2;
  padding: 25px
}
.ojh-landing .form-confirm > h3 {
  color: var(--green);
  margin-bottom: 15px
}
.ojh-landing .form-confirm > p {
  font-size: 12px
}
.ojh-landing .form-confirm dl {
  display: grid;
  grid-template-columns: 160px 1fr;
  background: white;
  font-size: 12px
}
.ojh-landing .form-confirm dt, .ojh-landing .form-confirm dd {
  margin: 0;
  padding: 12px;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  border-bottom: 1px solid #dce9df
}
.ojh-landing .form-confirm dt {
  font-weight: 600;
  color: var(--green)
}
.ojh-landing .form-actions, .ojh-landing .preview-next {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: 24px
}
.ojh-landing .preview-next .note {
  width: 100%
}
.ojh-landing #copy-status {
  font-size: 12px;
  color: var(--green);
  margin: 15px 0 0
}
.ojh-landing main > .cta-block {
  margin-top: 0;
  border: 0;
  border-top: 1px solid var(--line);
  padding: 40px
}
.ojh-landing .success-notice {
  padding: 25px;
  background: #e3f5e7;
  border: 1px solid #a8ceaf;
  color: #246a3b;
  margin-bottom: 25px
}
.ojh-landing .success-notice h3 {
  margin-bottom: 10px
}
.ojh-landing .success-notice p {
  font-size: 13px;
  margin: 0
}
.ojh-landing footer {
  background: #006757;
  color: white;
  padding: 35px 0
}
.ojh-landing footer strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500
}
.ojh-landing footer p {
  font-size: 11px;
  margin: 16px 0
}
.ojh-landing footer a {
  font-size: 10px
}
.ojh-landing footer small {
  display: block;
  font-size: 9px;
  color: #d1e9df;
  margin-top: 25px
}
.ojh-landing .mobile-cta {
  display: none
}
.ojh-landing .integration .mock-top {
  background: #eff8f1;
  padding: 40px 30px;
  text-align: center
}
.ojh-landing .integration .mock-top h2 {
  font-size: 32px
}
.ojh-landing .hub-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 26px 35px;
  background: linear-gradient(110deg, #eaf8ef, #d7efdf);
  border: 1px solid #83bda4;
  border-left: 7px solid var(--green);
  text-decoration: none;
  max-width: 100%;
  margin: 25px auto
}
.ojh-landing .hub-banner strong {
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 25px;
  color: var(--dark)
}
.ojh-landing .hub-banner small {
  font-size: 12px;
  color: #486d5c;
  display: block
}
.ojh-landing .hub-banner > span:last-child {
  background: var(--orange);
  color: white;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 22px;
  flex-shrink: 0
}
.ojh-landing .mapping {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 12px
}
.ojh-landing .mapping td, .ojh-landing .mapping th {
  border: 1px solid var(--line);
  padding: 15px;
  text-align: left;
  vertical-align: top
}
.ojh-landing .mapping th {
  background: var(--pale)
}
.ojh-landing .mapping td:first-child {
  font-weight: 600
}
.ojh-landing .table-wrap {
  overflow: auto
}
.ojh-landing .status-ok {
  color: #08734e
}
.ojh-landing .status-pending {
  color: #a46311
}
.ojh-landing .review-title {
  background: var(--pale);
  padding: 40px 0
}
.ojh-landing .review-title h2 {
  font-size: 32px
}
.ojh-landing .review-title p {
  font-size: 13px;
  margin: 18px 0 0
}
.ojh-landing .review-body h2 {
  margin: 40px 0 20px;
  font-size: 24px
}
.ojh-landing .review-body h3 {
  font-size: 17px;
  margin: 24px 0 15px
}
.ojh-landing .review-body p, .ojh-landing .review-body li {
  font-size: 13px
}
.ojh-landing .code {
  background: #edf4ee;
  padding: 15px;
  overflow: auto;
  font-family: monospace;
  font-size: 11px;
  white-space: pre-wrap;
  overflow-wrap: anywhere
}
.ojh-landing .sheet {
  max-width: 840px;
  margin: 40px auto;
  padding: 0 30px
}
.ojh-landing .sheet h2 {
  font-size: 26px
}
.ojh-landing .sheet h2 {
  font-family: var(--body);
  font-size: 17px;
  background: var(--pale);
  padding: 10px;
  margin: 25px 0 13px
}
.ojh-landing .sheet p, .ojh-landing .sheet td {
  font-size: 12px
}
.ojh-landing .sheet td {
  border-bottom: 1px solid var(--line);
  height: 48px;
  padding: 10px
}
.ojh-landing .sheet table {
  border-collapse: collapse;
  width: 100%
}
.ojh-landing .sheet td:first-child {
  width: 170px;
  color: var(--green)
}
.ojh-landing .sheet .write-box {
  border: 1px solid var(--line);
  min-height: 110px;
  margin-top: 13px;
  padding: 12px;
  font-size: 11px;
  color: #60796a
}
@media(max-width:1000px) {
  .ojh-landing .brand > strong {
    font-size: 18px
  }
  .ojh-landing .header-contact {
    gap: 15px
  }
  .ojh-landing .header-contact > a:first-child {
    font-size: 18px
  }
  .ojh-landing .hero h2 {
    font-size: 29px;
    padding: 22px
  }
  .ojh-landing .gold-message, .ojh-landing .gold-message strong {
    font-size: 14px
  }
  .ojh-landing .hero-photo img {
    min-height: 490px
  }
  .ojh-landing .hero-inner {
    min-height: 570px
  }
  .ojh-landing .hero-pill {
    font-size: 11px
  }
  .ojh-landing .hero-pill > span {
    font-size: 10px
  }
  .ojh-landing .hero-kicker {
    font-size: 9px
  }
  .ojh-landing .cta-buttons {
    grid-template-columns: 1fr .8fr 1.4fr;
    gap: 8px
  }
  .ojh-landing .cta-buttons > a {
    font-size: 11px
  }
  .ojh-landing .phone strong {
    font-size: 20px
  }
  .ojh-landing .case-card dl {
    grid-template-columns: 115px 1fr
  }
  .ojh-landing .stage-buttons {
    gap: 6px
  }
  .ojh-landing .stage-buttons button {
    font-size: 10px
  }
  .ojh-landing .fee-detail strong {
    font-size: 16px
  }
}
@media(max-width:760px) {
  .ojh-landing .wide, .ojh-landing .content {
    width: calc(100% - 40px)
  }
  .ojh-landing .header-inner {
    min-height: 74px;
    gap: 15px
  }
  .ojh-landing .brand > strong {
    font-size: 16px
  }
  .ojh-landing .brand > small {
    font-size: 8px
  }
  .ojh-landing .brand > span {
    font-size: 8px
  }
  .ojh-landing .header-contact > a:first-child {
    display: none
  }
  .ojh-landing .header-contact .orange-button {
    padding: 10px 13px;
    font-size: 10px
  }
  .ojh-landing .hero-inner {
    min-height: 0;
    padding-top: 30px;
    grid-template-columns: 1.1fr 1fr
  }
  .ojh-landing .hero h2 {
    font-size: 24px;
    padding: 19px;
    margin-bottom: 25px;
    box-shadow: -7px -7px 0 #9addbd72, 7px 7px 0 #b9e6d5aa
  }
  .ojh-landing .hero-kicker {
    font-size: 8px
  }
  .ojh-landing .hero-copy > p:not(.hero-kicker) {
    font-size: 11px
  }
  .ojh-landing .gold-message, .ojh-landing .gold-message strong {
    font-size: 12px
  }
  .ojh-landing .hero-photo img {
    min-height: 440px
  }
  .ojh-landing .hero-pill > span {
    display: block;
    margin: 0;
    font-size: 9px
  }
  .ojh-landing .hero-pill {
    font-size: 10px
  }
  .ojh-landing .hero-action {
    font-size: 11px;
    padding: 12px 9px
  }
  .ojh-landing .hero-copy > small {
    font-size: 8px
  }
  .ojh-landing .hero-photo p {
    font-size: 11px;
    padding: 5px 12px;
    right: 4px;
    bottom: 20px
  }
  .ojh-landing .section {
    padding: 56px 0
  }
  .ojh-landing h2 {
    font-size: 25px
  }
  .ojh-landing .section-title {
    margin-bottom: 32px
  }
  .ojh-landing .section-title h2 {
    padding: 8px 25px
  }
  .ojh-landing .section-title h2:before, .ojh-landing .section-title h2:after {
    width: 20px;
    height: 20px
  }
  .ojh-landing .section-title > p {
    font-size: 12px
  }
  .ojh-landing .stage-buttons {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px
  }
  .ojh-landing .stage-buttons button {
    font-size: 12px
  }
  .ojh-landing .stage-panel {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px;
    min-height: 0
  }
  .ojh-landing .stage-panel > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 24px 0 0
  }
  .ojh-landing .stage-panel h3 {
    font-size: 23px
  }
  .ojh-landing .stage-panel .green-button {
    font-size: 12px
  }
  .ojh-landing .timing h3 {
    font-size: 16px
  }
  .ojh-landing .timing ol {
    gap: 9px
  }
  .ojh-landing .timing li {
    padding: 12px 5px
  }
  .ojh-landing .timing b {
    font-size: 11px
  }
  .ojh-landing .timing span {
    font-size: 9px
  }
  .ojh-landing .timing > p {
    font-size: 11px
  }
  .ojh-landing .cta-block {
    padding: 20px 16px
  }
  .ojh-landing .cta-block > p {
    font-size: 12px
  }
  .ojh-landing .cta-buttons {
    grid-template-columns: 1fr 1fr
  }
  .ojh-landing .cta-buttons > a.mail {
    grid-column: span 2;
    min-height: 49px;
    font-size: 13px
  }
  .ojh-landing .cta-buttons > a {
    min-height: 52px
  }
  .ojh-landing .cta-features {
    font-size: 10px
  }
  .ojh-landing .cta-features b, .ojh-landing .cta-features > span {
    padding: 4px 9px
  }
  .ojh-landing .cta-note {
    font-size: 9px
  }
  .ojh-landing .anchor-nav .wide {
    grid-template-columns: repeat(4, 1fr);
    gap: 5px
  }
  .ojh-landing .anchor-nav a {
    font-size: 10px;
    padding: 6px;
    gap: 5px
  }
  .ojh-landing .intro > .content > p {
    font-size: 13px
  }
  .ojh-landing .check-list {
    padding: 24px
  }
  .ojh-landing .check-list li {
    font-size: 12px
  }
  .ojh-landing .injury-grid {
    gap: 10px
  }
  .ojh-landing .injury-grid h3 {
    font-size: 12px
  }
  .ojh-landing .injury-grid p {
    font-size: 10px;
    padding: 10px
  }
  .ojh-landing .detail-box {
    padding: 22px
  }
  .ojh-landing .detail-box h3 {
    font-size: 14px
  }
  .ojh-landing .detail-box h3 span {
    padding: 7px 10px;
    margin-right: 10px;
    font-size: 10px
  }
  .ojh-landing .detail-box p, .ojh-landing .detail-box li {
    font-size: 12px
  }
  .ojh-landing .inner-section {
    padding-top: 50px
  }
  .ojh-landing .merit-box {
    padding: 25px;
    gap: 20px;
    grid-template-columns: 45px 1fr
  }
  .ojh-landing .merit-box h3 {
    font-size: 17px
  }
  .ojh-landing .merit-box p, .ojh-landing .merit-box li {
    font-size: 12px
  }
  .ojh-landing .num {
    font-size: 29px
  }
  .ojh-landing .profile {
    gap: 25px;
    grid-template-columns: .7fr 1.3fr
  }
  .ojh-landing .profile p, .ojh-landing .profile li {
    font-size: 12px
  }
  .ojh-landing .profile .underlined {
    font-size: 18px
  }
  .ojh-landing .case-heading {
    font-size: 10px
  }
  .ojh-landing .case-card > h3 {
    font-size: 19px
  }
  .ojh-landing .result > strong {
    font-size: 29px
  }
  .ojh-landing .reason-title h3 {
    font-size: 17px
  }
  .ojh-landing .reason-box p, .ojh-landing .reason-box li {
    font-size: 12px
  }
  .ojh-landing .reason-photo {
    width: 190px
  }
  .ojh-landing .fee-grid {
    gap: 16px
  }
  .ojh-landing .fee-box {
    padding: 22px
  }
  .ojh-landing .fee-box > .mini-label {
    margin: -22px -22px 22px;
    font-size: 12px
  }
  .ojh-landing .fee-special > h3 {
    font-size: 19px
  }
  .ojh-landing .fee-detail strong {
    font-size: 16px
  }
  .ojh-landing .resource-grid {
    gap: 16px
  }
  .ojh-landing .resource-grid article {
    padding: 23px
  }
  .ojh-landing .resource-grid h3 {
    font-size: 15px
  }
  .ojh-landing .form-row {
    grid-template-columns: 180px 1fr;
    gap: 10px
  }
  .ojh-landing .hub-banner {
    padding: 22px;
    gap: 18px
  }
  .ojh-landing .hub-banner strong {
    font-size: 21px
  }
  .ojh-landing .hub-banner > span:last-child {
    font-size: 11px;
    padding: 10px 14px
  }
}
@media(max-width:520px) {
  .ojh-landing {
    scroll-padding-top: 90px
  }
  .ojh-landing .wide, .ojh-landing .content {
    width: calc(100% - 32px)
  }
  .ojh-landing .header-inner {
    min-height: 72px;
    gap: 8px
  }
  .ojh-landing .brand > strong {
    font-size: 14px
  }
  .ojh-landing .brand > span {
    font-size: 7px
  }
  .ojh-landing .header-contact .orange-button {
    font-size: 9px;
    padding: 10px 8px
  }
  .ojh-landing .hero-inner {
    grid-template-columns: 1fr;
    padding-top: 25px;
    position: relative
  }
  .ojh-landing .hero-copy {
    padding-bottom: 20px
  }
  .ojh-landing .hero h2 {
    font-size: 29px;
    line-height: 1.75;
    margin: 0 0 27px;
    padding: 20px 23px;
    letter-spacing: .025em
  }
  .ojh-landing .hero-kicker {
    font-size: 8px;
    margin-bottom: 15px
  }
  .ojh-landing .gold-message, .ojh-landing .gold-message strong {
    font-size: 14px
  }
  .ojh-landing .hero-copy > p:not(.hero-kicker) {
    font-size: 12px
  }
  .ojh-landing .hero-pill {
    font-size: 12px
  }
  .ojh-landing .hero-pill > span {
    display: inline;
    margin-left: 9px;
    font-size: 10px
  }
  .ojh-landing .hero-action {
    font-size: 13px;
    padding: 13px
  }
  .ojh-landing .hero-copy > small {
    font-size: 9px
  }
  .ojh-landing .hero-photo {
    width: 76%;
    margin: 0 0 0 auto;
    max-height: 300px;
    align-self: end
  }
  .ojh-landing .hero-photo img {
    min-height: 0;
    height: auto;
    aspect-ratio: 1.1;
    object-fit: cover;
    object-position: 50% 8%
  }
  .ojh-landing .hero-photo p {
    font-size: 12px;
    bottom: 14px;
    right: 0;
    padding: 6px 15px
  }
  .ojh-landing .intro {
    padding: 30px 0 40px
  }
  .ojh-landing .bamboo {
    background-size: 100% 100%, 90px auto
  }
  .ojh-landing .intro > .content > p {
    font-size: 12px
  }
  .ojh-landing .section {
    padding: 48px 0
  }
  .ojh-landing h2 {
    font-size: 23px;
    letter-spacing: .02em
  }
  .ojh-landing .section-title h2 {
    padding: 8px 21px
  }
  .ojh-landing .section-title > p {
    font-size: 11px
  }
  .ojh-landing .cta-block {
    padding: 18px 11px;
    margin-top: 26px
  }
  .ojh-landing .cta-block > p {
    font-size: 11px;
    line-height: 1.8;
    padding: 8px;
    margin-bottom: 15px
  }
  .ojh-landing .cta-features {
    font-size: 9px
  }
  .ojh-landing .cta-features b, .ojh-landing .cta-features > span {
    padding: 4px 8px
  }
  .ojh-landing .cta-buttons {
    gap: 8px
  }
  .ojh-landing .cta-buttons > a {
    font-size: 12px
  }
  .ojh-landing .phone strong {
    font-size: 19px
  }
  .ojh-landing .cta-buttons > a.mail {
    font-size: 12px
  }
  .ojh-landing .cta-note {
    font-size: 8px
  }
  .ojh-landing .anchor-nav .wide {
    grid-template-columns: repeat(3, 1fr)
  }
  .ojh-landing .anchor-nav a {
    font-size: 10px
  }
  .ojh-landing .stage-buttons button {
    font-size: 11px;
    padding: 10px 4px
  }
  .ojh-landing .stage-panel {
    padding: 23px 20px
  }
  .ojh-landing .stage-panel h3 {
    font-size: 21px
  }
  .ojh-landing .stage-panel p:not(.green-label, .note), .ojh-landing .stage-panel li {
    font-size: 12px
  }
  .ojh-landing .stage-panel .green-button {
    display: flex;
    font-size: 11px
  }
  .ojh-landing .timing ol {
    grid-template-columns: 1fr 1fr;
    gap: 12px
  }
  .ojh-landing .timing li:nth-child(3):before {
    content: none
  }
  .ojh-landing .timing b {
    font-size: 12px
  }
  .ojh-landing .timing span {
    font-size: 10px
  }
  .ojh-landing .timing h3 {
    font-size: 15px
  }
  .ojh-landing .mint-bar {
    font-size: 15px;
    padding: 8px;
    margin-bottom: 22px
  }
  .ojh-landing .check-list {
    padding: 22px 17px
  }
  .ojh-landing .check-list li {
    font-size: 11px;
    padding-left: 24px;
    margin-bottom: 13px
  }
  .ojh-landing .center {
    font-size: 12px
  }
  .ojh-landing .injury-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 9px
  }
  .ojh-landing .injury-grid article:last-child {
    grid-column: span 2
  }
  .ojh-landing .injury-grid h3 {
    font-size: 12px
  }
  .ojh-landing .injury-grid + p {
    font-size: 12px
  }
  .ojh-landing .related {
    gap: 13px
  }
  .ojh-landing .related a {
    font-size: 10px
  }
  .ojh-landing .detail-box {
    padding: 18px 15px
  }
  .ojh-landing .detail-box h3 {
    font-size: 13px;
    align-items: stretch;
    line-height: 1.8
  }
  .ojh-landing .detail-box h3 span {
    display: flex;
    align-items: center;
    padding: 7px 8px;
    font-size: 9px;
    margin-right: 9px;
    flex-shrink: 0
  }
  .ojh-landing .detail-box p, .ojh-landing .detail-box li {
    font-size: 11px
  }
  .ojh-landing .detail-box ul {
    padding: 15px 15px 15px 30px
  }
  .ojh-landing .merit-box {
    padding: 21px 17px;
    gap: 13px;
    grid-template-columns: 36px 1fr
  }
  .ojh-landing .num {
    font-size: 27px
  }
  .ojh-landing .num small {
    font-size: 8px
  }
  .ojh-landing .merit-box h3 {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 13px
  }
  .ojh-landing .merit-box p, .ojh-landing .merit-box li {
    font-size: 11px
  }
  .ojh-landing .profile {
    grid-template-columns: 1fr
  }
  .ojh-landing .profile > div:first-child {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 5px 22px;
    align-items: start
  }
  .ojh-landing .profile img {
    grid-row: span 2;
    width: 120px;
    aspect-ratio: 1;
    object-position: 50% top
  }
  .ojh-landing .profile > div:first-child h3 {
    margin: 12px 0 0;
    font-size: 15px
  }
  .ojh-landing .profile .note {
    font-size: 10px
  }
  .ojh-landing .profile p, .ojh-landing .profile li {
    font-size: 12px
  }
  .ojh-landing .profile .outline-button {
    font-size: 10px
  }
  .ojh-landing .case-filters {
    gap: 7px
  }
  .ojh-landing .case-filters button {
    font-size: 10px;
    padding: 7px 10px
  }
  .ojh-landing .case-card {
    padding: 0 18px 21px;
    margin-bottom: 23px
  }
  .ojh-landing .case-heading {
    margin: 0 -18px 20px;
    padding: 9px 15px;
    font-size: 9px;
    gap: 10px
  }
  .ojh-landing .case-heading > span:last-child {
    text-align: right
  }
  .ojh-landing .case-card > h3 {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 18px
  }
  .ojh-landing .result {
    padding: 16px
  }
  .ojh-landing .result > strong {
    font-size: 27px
  }
  .ojh-landing .result > p {
    font-size: 9px;
    text-align: left
  }
  .ojh-landing .case-card dl {
    grid-template-columns: 85px 1fr;
    margin-block: 18px
  }
  .ojh-landing .case-card dt, .ojh-landing .case-card dd {
    padding: 10px 9px;
    font-size: 11px
  }
  .ojh-landing .case-links {
    gap: 13px
  }
  .ojh-landing .case-links a {
    font-size: 10px
  }
  .ojh-landing .reference {
    padding: 20px
  }
  .ojh-landing .reference h3 {
    font-size: 15px
  }
  .ojh-landing .reference p {
    font-size: 11px
  }
  .ojh-landing .reference a {
    font-size: 11px
  }
  .ojh-landing .reason-box {
    padding: 23px 19px;
    margin-bottom: 22px
  }
  .ojh-landing .reason-title {
    gap: 13px;
    margin-bottom: 17px
  }
  .ojh-landing .reason-title h3 {
    font-size: 16px
  }
  .ojh-landing .reason-title .num {
    padding: 0 7px;
    font-size: 27px
  }
  .ojh-landing .reason-photo {
    width: 130px;
    margin: 0 0 12px 15px
  }
  .ojh-landing .reason-box p, .ojh-landing .reason-box li {
    font-size: 11px
  }
  .ojh-landing .flow-list li {
    padding: 21px 17px;
    gap: 15px;
    grid-template-columns: 53px 1fr
  }
  .ojh-landing .flow-list h3 {
    font-size: 15px
  }
  .ojh-landing .flow-list p {
    font-size: 11px
  }
  .ojh-landing .flow-list > li > span {
    font-size: 9px
  }
  .ojh-landing .flow-list b {
    font-size: 28px
  }
  .ojh-landing .fee-grid {
    grid-template-columns: 1fr
  }
  .ojh-landing .fee-box {
    padding: 25px
  }
  .ojh-landing .fee-box > .mini-label {
    margin: -25px -25px 23px;
    font-size: 13px
  }
  .ojh-landing .fee-box > h3 {
    font-size: 16px
  }
  .ojh-landing .fee-detail strong {
    font-size: 18px
  }
  .ojh-landing .fee-special > h3 {
    font-size: 23px
  }
  .ojh-landing .fees .section-head h2 {
    font-size: 23px
  }
  .ojh-landing .fees .section-head > p:last-child {
    font-size: 11px
  }
  .ojh-landing .faq-list summary {
    font-size: 12px;
    padding: 18px 32px 18px 16px;
    gap: 11px
  }
  .ojh-landing .faq-list summary:after {
    right: 13px;
    font-size: 20px
  }
  .ojh-landing .faq-list details > div {
    font-size: 11px;
    padding: 0 17px 19px;
    gap: 12px
  }
  .ojh-landing .resource-grid {
    grid-template-columns: 1fr
  }
  .ojh-landing .resource-grid h3 {
    font-size: 16px
  }
  .ojh-landing .resource-grid p, .ojh-landing .resource-grid li {
    font-size: 12px
  }
  .ojh-landing .form-row {
    display: block;
    padding: 17px 0
  }
  .ojh-landing .form-row > label {
    display: block;
    font-size: 12px;
    margin-bottom: 9px
  }
  .ojh-landing .form-row > small {
    display: block;
    font-size: 9px;
    margin-top: 6px
  }
  .ojh-landing input, .ojh-landing select, .ojh-landing textarea {
    font-size: 16px;
    padding: 11px 10px
  }
  .ojh-landing .consent {
    font-size: 10px;
    gap: 10px
  }
  .ojh-landing .form-review {
    min-width: 0;
    width: 100%;
    font-size: 13px
  }
  .ojh-landing .form-confirm {
    padding: 22px 16px
  }
  .ojh-landing .form-confirm dl {
    grid-template-columns: 100px 1fr;
    font-size: 11px
  }
  .ojh-landing .form-confirm dt, .ojh-landing .form-confirm dd {
    padding: 10px
  }
  .ojh-landing .form-actions, .ojh-landing .preview-next {
    gap: 12px
  }
  .ojh-landing .form-actions > button, .ojh-landing .preview-next > button, .ojh-landing .preview-next > a {
    width: 100%;
    font-size: 12px
  }
  .ojh-landing .preview-note {
    font-size: 10px
  }
  .ojh-landing .preview-confirm-note {
    font-size: 11px
  }
  .ojh-landing .mobile-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: 1fr .85fr 1.8fr;
    gap: 6px;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    background: white;
    border-top: 1px solid var(--line);
    box-shadow: 0 -3px 12px #005f4810;
    z-index: 40
  }
  .ojh-landing .mobile-cta a {
    font-size: 10px;
    text-decoration: none;
    padding: 12px 3px;
    display: grid;
    place-items: center;
    font-weight: 600;
    line-height: 1.7;
    border-radius: 2px
  }
  .ojh-landing .mobile-cta .phone {
    background: white;
    border: 1px solid var(--green);
    color: var(--green)
  }
  .ojh-landing footer {
    padding: 32px 0 105px
  }
  .ojh-landing footer strong {
    font-size: 16px
  }
  .ojh-landing footer p {
    font-size: 10px
  }
  .ojh-landing footer a {
    font-size: 9px
  }
  .ojh-landing main > .cta-block {
    padding: 30px 15px
  }
  .ojh-landing .hub-banner {
    padding: 20px;
    display: block
  }
  .ojh-landing .hub-banner strong {
    font-size: 21px
  }
  .ojh-landing .hub-banner small {
    font-size: 10px
  }
  .ojh-landing .hub-banner > span:last-child {
    display: table;
    margin-top: 17px;
    font-size: 12px
  }
  .ojh-landing .integration .mock-top {
    padding: 30px 20px
  }
  .ojh-landing .integration .mock-top h2 {
    font-size: 25px
  }
  .ojh-landing .mapping {
    min-width: 650px;
    font-size: 11px
  }
  .ojh-landing .review-title h2 {
    font-size: 25px
  }
  .ojh-landing .review-body h2 {
    font-size: 21px
  }
  .ojh-landing .review-body p, .ojh-landing .review-body li {
    font-size: 12px
  }
  .ojh-landing .sheet {
    margin: 25px auto
  }
  .ojh-landing .sheet td:first-child {
    width: 110px
  }
  .ojh-landing .sheet h2 {
    font-size: 22px
  }
}
@media(prefers-reduced-motion:reduce) {
  .ojh-landing {
    scroll-behavior: auto
  }
}
@media print {
  .ojh-landing .header, .ojh-landing .mobile-cta, .ojh-landing .no-print {
    display: none !important
  }
  .ojh-landing .sheet {
    margin: 0;
    max-width: none;
    padding: 0
  }
  .ojh-landing .sheet h2 {
    break-after: avoid
  }
  .ojh-landing a {
    text-decoration: none
  }
  .ojh-landing .sheet .write-box {
    min-height: 100px
  }
  .ojh-landing {
    font-size: 11px
  }
  .ojh-landing .section {
    padding: 25px 0
  }
}
.ojh-landing .hero-contact {
  display: flex;
  gap: 13px;
  align-items: stretch
}
.ojh-landing .strengths {
  padding-top: 55px;
  padding-bottom: 50px
}
.ojh-landing .strength-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border-block: 1px solid #bad9c7;
  margin: 25px 0
}
.ojh-landing .strength-grid > a {
  padding: 24px 16px;
  text-align: center;
  text-decoration: none;
  position: relative
}
.ojh-landing .strength-grid > a + a {
  border-left: 1px solid #bad9c7
}
.ojh-landing .strength-grid > a > span {
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.2;
  color: #ad8a40
}
.ojh-landing .strength-grid h3 {
  font-size: 15px;
  color: var(--dark);
  margin: 12px 0 10px;
  line-height: 1.7
}
.ojh-landing .strength-grid p {
  font-size: 10px;
  color: #597565;
  margin: 0
}
.ojh-landing .family-steps {
  list-style: none;
  padding: 0;
  margin: 0
}
.ojh-landing .family-steps li {
  display: flex;
  gap: 25px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line)
}
.ojh-landing .family-steps li > span {
  font-size: 27px;
  font-family: var(--serif);
  color: var(--green);
  line-height: 1.6
}
.ojh-landing .family-steps h3 {
  font-size: 18px;
  margin-bottom: 10px
}
.ojh-landing .family-steps p {
  font-size: 13px;
  margin: 0
}
.ojh-landing .family-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px
}
.ojh-landing .family-actions a {
  font-size: 12px
}
.ojh-landing .hospital-support {
  padding: 26px;
  background: #edf8ef;
  border-left: 4px solid var(--green);
  margin-top: 35px;
  scroll-margin-top: 110px
}
.ojh-landing .hospital-support h3 {
  color: var(--green);
  font-size: 19px;
  margin-bottom: 12px
}
.ojh-landing .hospital-support p {
  font-size: 13px
}
.ojh-landing .hospital-support a {
  font-size: 13px;
  font-weight: 600;
  color: var(--green)
}
.ojh-landing .issues-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
  margin-bottom: 20px
}
.ojh-landing .issues-grid article {
  background: #fff;
  border-top: 2px solid #a7cdb9;
  padding: 18px 17px
}
.ojh-landing .issues-grid article > span {
  font-size: 10px;
  color: #a17e37;
  display: block
}
.ojh-landing .issues-grid h3 {
  font-size: 14px;
  color: var(--dark);
  line-height: 1.8;
  margin: 6px 0 9px
}
.ojh-landing .issues-grid p {
  font-size: 10px;
  line-height: 1.9;
  color: #6b7c70;
  margin: 0
}
.ojh-landing .application-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-block: 1px solid var(--line);
  margin-bottom: 23px
}
.ojh-landing .application-grid article {
  padding: 25px 20px
}
.ojh-landing .application-grid article + article {
  border-left: 1px solid var(--line)
}
.ojh-landing .application-grid article > span {
  color: #ae8a3f;
  font-family: var(--serif);
  font-size: 26px
}
.ojh-landing .application-grid h3 {
  font-size: 15px;
  color: var(--green);
  margin: 12px 0 16px
}
.ojh-landing .application-grid p {
  font-size: 11px;
  margin: 0
}
.ojh-landing .life-support {
  background: #006c5a;
  color: white
}
.ojh-landing .life-eyebrow {
  font-size: 12px;
  letter-spacing: .13em;
  color: #e0d8a7;
  text-align: center;
  margin-bottom: 18px
}
.ojh-landing .life-support .section-title h2 {
  color: white
}
.ojh-landing .life-support .section-title h2:before, .ojh-landing .life-support .section-title h2:after {
  border-color: #70b195
}
.ojh-landing .life-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px
}
.ojh-landing .life-grid h3 {
  font-size: 18px;
  color: #ebedc7;
  margin-bottom: 19px
}
.ojh-landing .life-grid p {
  font-size: 13px;
  color: #e1eee1
}
.ojh-landing .life-grid a {
  font-size: 12px;
  color: white
}
.ojh-landing .life-grid aside {
  background: #ffffff0b;
  border: 1px solid #78af96;
  padding: 25px
}
.ojh-landing .life-grid li {
  font-size: 13px;
  color: #e6f0e3
}
.ojh-landing .life-grid .note {
  font-size: 10px;
  color: #c0ddca;
  margin-bottom: 0
}
.ojh-landing .resource-label {
  display: table;
  font-size: 10px;
  color: #52735e;
  border-bottom: 1px solid #aecdb7;
  padding-bottom: 5px;
  margin-bottom: 18px
}
.ojh-landing .resource-grid .resource-open > a {
  display: table;
  margin-top: 15px;
  font-size: 11px
}
.ojh-landing .resource-grid .resource-open > a.green-button {
  color: #fff
}
.ojh-landing .resource-grid .resource-line {
  border-top: 3px solid #17b500
}
.ojh-landing .resource-grid .resource-line .green-button {
  background: #17a800
}
.ojh-landing .cluster-links {
  border-top: 1px solid #c1dcca;
  padding-top: 25px;
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 25px
}
.ojh-landing .cluster-links h3 {
  width: 100%;
  font-size: 15px;
  color: var(--green)
}
.ojh-landing .cluster-links a {
  font-size: 11px;
  color: #397258
}
.ojh-landing .three-routes {
  display: grid;
  grid-template-columns: .8fr 1.6fr 1fr;
  gap: 12px;
  margin: 30px 0
}
.ojh-landing .three-routes > a {
  display: block;
  border: 1px solid #b8d3c3;
  padding: 22px 16px;
  text-decoration: none;
  background: white
}
.ojh-landing .three-routes > a:nth-child(2) {
  background: #e3f4e9;
  border-top: 4px solid var(--green)
}
.ojh-landing .three-routes small {
  display: block;
  color: #52735e;
  font-size: 10px
}
.ojh-landing .three-routes strong {
  font-size: 17px;
  line-height: 1.7;
  display: block;
  color: var(--green);
  margin: 8px 0
}
.ojh-landing .three-routes span {
  font-size: 11px;
  color: #5d7666
}
.ojh-landing .form-row .note {
  font-size: 10px;
  margin: 7px 0 0
}
@media(min-width:1450px) {}
@media(max-width:1000px) {
  .ojh-landing .hero-contact {
    display: block
  }
  .ojh-landing .strength-grid > a {
    padding: 23px 10px
  }
  .ojh-landing .strength-grid h3 {
    font-size: 13px
  }
  .ojh-landing .strength-grid p {
    font-size: 9px
  }
  .ojh-landing .application-grid {
    grid-template-columns: repeat(2, 1fr)
  }
  .ojh-landing .application-grid article:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line)
  }
  .ojh-landing .application-grid article:nth-child(4) {
    border-top: 1px solid var(--line)
  }
  .ojh-landing .issues-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}
@media(max-width:760px) {
  .ojh-landing .strength-grid {
    grid-template-columns: repeat(3, 1fr)
  }
  .ojh-landing .strength-grid > a:nth-child(4) {
    border-left: 0;
    border-top: 1px solid var(--line)
  }
  .ojh-landing .strength-grid > a:nth-child(5) {
    border-top: 1px solid var(--line)
  }
  .ojh-landing .strength-grid > a {
    padding: 20px 12px
  }
  .ojh-landing .strength-grid h3 {
    font-size: 14px
  }
  .ojh-landing .strength-grid p {
    font-size: 10px
  }
  .ojh-landing .family-steps h3 {
    font-size: 17px
  }
  .ojh-landing .family-steps p {
    font-size: 12px
  }
  .ojh-landing .issues-grid h3 {
    font-size: 13px
  }
  .ojh-landing .issues-grid article {
    padding: 17px 13px
  }
  .ojh-landing .life-grid {
    gap: 30px
  }
  .ojh-landing .life-grid h3 {
    font-size: 16px
  }
  .ojh-landing .life-grid p, .ojh-landing .life-grid li {
    font-size: 12px
  }
  .ojh-landing .three-routes {
    gap: 9px
  }
  .ojh-landing .three-routes strong {
    font-size: 14px
  }
}
@media(max-width:520px) {
  .ojh-landing .strengths {
    padding-block: 40px
  }
  .ojh-landing .strength-grid {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 18px
  }
  .ojh-landing .strength-grid > a:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line)
  }
  .ojh-landing .strength-grid > a:nth-child(4) {
    border-left: 1px solid var(--line)
  }
  .ojh-landing .strength-grid > a:nth-child(5) {
    grid-column: span 2;
    border-left: 0
  }
  .ojh-landing .strength-grid > a:last-child h3 br, .ojh-landing .strength-grid > a:last-child p br {
    display: none
  }
  .ojh-landing .strength-grid > a:last-child {
    padding-block: 16px
  }
  .ojh-landing .strength-grid h3 {
    font-size: 14px
  }
  .ojh-landing .strength-grid p {
    font-size: 10px
  }
  .ojh-landing .strength-grid > a > span {
    font-size: 18px
  }
  .ojh-landing .family-steps li {
    gap: 17px;
    padding-block: 20px
  }
  .ojh-landing .family-steps li > span {
    font-size: 24px
  }
  .ojh-landing .family-steps h3 {
    font-size: 15px
  }
  .ojh-landing .family-steps p {
    font-size: 11px
  }
  .ojh-landing .family-actions {
    gap: 12px
  }
  .ojh-landing .family-actions > a {
    width: 100%;
    font-size: 11px
  }
  .ojh-landing .hospital-support {
    padding: 21px;
    margin-top: 27px
  }
  .ojh-landing .hospital-support h3 {
    font-size: 17px
  }
  .ojh-landing .hospital-support p {
    font-size: 11px
  }
  .ojh-landing .hospital-support a {
    font-size: 11px
  }
  .ojh-landing .issues-grid {
    grid-template-columns: 1fr 1fr;
    gap: 9px
  }
  .ojh-landing .issues-grid article {
    padding: 15px 12px
  }
  .ojh-landing .issues-grid h3 {
    font-size: 12px;
    margin: 5px 0 7px
  }
  .ojh-landing .issues-grid p {
    font-size: 9px
  }
  .ojh-landing .issues-grid article > span {
    font-size: 9px
  }
  .ojh-landing .application-grid article {
    padding: 20px 13px
  }
  .ojh-landing .application-grid h3 {
    font-size: 13px;
    line-height: 1.7;
    margin: 8px 0 12px
  }
  .ojh-landing .application-grid p {
    font-size: 10px
  }
  .ojh-landing .application-grid article > span {
    font-size: 23px
  }
  .ojh-landing .life-grid {
    grid-template-columns: 1fr;
    gap: 23px
  }
  .ojh-landing .life-eyebrow {
    font-size: 10px;
    letter-spacing: .08em
  }
  .ojh-landing .life-grid h3 {
    font-size: 17px;
    margin-bottom: 16px
  }
  .ojh-landing .life-grid p, .ojh-landing .life-grid li {
    font-size: 11px
  }
  .ojh-landing .life-grid aside {
    padding: 22px
  }
  .ojh-landing .life-grid .note {
    font-size: 9px
  }
  .ojh-landing .resource-grid .resource-open > a {
    font-size: 11px
  }
  .ojh-landing .three-routes {
    grid-template-columns: 1fr
  }
  .ojh-landing .three-routes > a {
    padding: 18px
  }
  .ojh-landing .three-routes strong {
    font-size: 18px
  }
  .ojh-landing .three-routes small, .ojh-landing .three-routes span {
    font-size: 10px
  }
  .ojh-landing .cluster-links {
    gap: 15px
  }
  .ojh-landing .cluster-links a {
    font-size: 10px
  }
  .ojh-landing .cluster-links h3 {
    font-size: 14px
  }
}
.ojh-landing {
  --body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --serif: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --mint: #91dfbc;
  --ink: #353b37
}
.ojh-landing {
  font-size: 16px;
  line-height: 2.1
}
.ojh-landing .content {
  width: min(1100px, calc(100% - 64px))
}
.ojh-landing .wide {
  width: min(1160px, calc(100% - 64px))
}
.ojh-landing .narrow {
  max-width: 920px
}
.ojh-landing .section {
  padding: 72px 0
}
.ojh-landing h2 {
  font-size: 30px;
  font-weight: 600
}
.ojh-landing h3 {
  font-size: 21px
}
.ojh-landing small, .ojh-landing .note {
  font-size: 12px
}
.ojh-landing .section-title > p {
  font-size: 15px
}
.ojh-landing .section-title h2:before, .ojh-landing .section-title h2:after {
  width: 33px;
  height: 30px;
  border-color: #80b9a8
}
.ojh-landing .header {
  position: relative;
  box-shadow: none
}
.ojh-landing .header-inner {
  min-height: 90px
}
.ojh-landing .brand > strong {
  font-size: 25px
}
.ojh-landing .brand > small {
  font-size: 12px
}
.ojh-landing .brand .header-badges {
  font-family: var(--body);
  font-size: 11px;
  background: #91dfbc;
  display: table;
  padding: 1px 5px;
  margin-top: 5px;
  color: #174d3d
}
.ojh-landing .header-contact {
  gap: 16px
}
.ojh-landing .header-contact > a[href^="tel:"] {
  text-decoration: none;
  color: var(--dark);
  font-family: var(--body);
  font-size: 23px;
  line-height: 1.5
}
.ojh-landing .header-contact > a[href^="tel:"] small {
  display: block;
  font-size: 10px;
  text-align: center
}
.ojh-landing .header-line {
  background: #00c600;
  color: white;
  padding: 9px 7px;
  border-radius: 5px;
  text-decoration: none;
  font: bold 13px/1.4 sans-serif
}
.ojh-landing .header-contact .orange-button {
  font-size: 15px;
  padding: 17px 22px
}
.ojh-landing .cta-buttons .line, .ojh-landing .mobile-cta .line {
  background: #00c600
}
.ojh-landing .cta-buttons .phone {
  font-family: var(--body)
}
.ojh-landing .cta-block {
  border: 0;
  background: transparent;
  padding: 0;
  max-width: 900px;
  margin-top: 35px
}
.ojh-landing .cta-block > p {
  font-size: 17px;
  padding: 9px 18px
}
.ojh-landing .cta-features b, .ojh-landing .cta-features span {
  font-size: 15px
}
.ojh-landing .cta-buttons a {
  font-size: 18px;
  min-height: 64px
}
.ojh-landing .intro > .content > p {
  font-size: 16px
}
.ojh-landing .bamboo {
  background-size: 100% 100%, auto 100%
}
.ojh-landing .anchor-nav a {
  font-size: 14px
}
.ojh-landing .mint-bar {
  font-size: 21px;
  font-weight: 600;
  padding: 10px 20px
}
.ojh-landing .concern-illustrated {
  position: relative;
  padding: 0 95px
}
.ojh-landing .concern-illustrated > img {
  position: absolute;
  width: 105px;
  height: auto;
  z-index: 1
}
.ojh-landing .concern-man {
  left: -5px;
  top: 35px
}
.ojh-landing .concern-woman {
  right: -5px;
  bottom: 25px
}
.ojh-landing .check-list {
  padding: 30px 35px;
  max-width: none;
  background: #edf1ef
}
.ojh-landing .check-list li {
  font-size: 17px;
  line-height: 2;
  margin-bottom: 12px
}
.ojh-landing .check-list li:before {
  top: 9px
}
.ojh-landing .content > .center {
  font-size: 16px
}
.ojh-landing .injury-grid h3 {
  font-size: 18px
}
.ojh-landing .injury-grid p {
  font-size: 15px
}
.ojh-landing .injury-grid + p, .ojh-landing .related a {
  font-size: 15px
}
.ojh-landing .detail-box {
  padding: 30px;
  margin-bottom: 28px
}
.ojh-landing .detail-box h3 {
  font-size: 20px
}
.ojh-landing .detail-box h3 span {
  font-size: 17px;
  padding: 10px 20px
}
.ojh-landing .detail-box p, .ojh-landing .detail-box li, .ojh-landing .merit-box p, .ojh-landing .merit-box li {
  font-size: 16px
}
.ojh-landing .detail-box p {
  background: #f4f6f5;
  padding: 18px 22px;
  margin: 0
}
.ojh-landing .detail-box ul {
  margin: 0;
  background: #f4f6f5
}
.ojh-landing .merit-box {
  background: #eaf6ef;
  padding: 30px;
  grid-template-columns: 65px 1fr
}
.ojh-landing .merit-box h3 {
  font-size: 22px
}
.ojh-landing .num {
  font-family: var(--body);
  font-size: 42px
}
.ojh-landing .num small {
  font-size: 12px
}
.ojh-landing .profile {
  grid-template-columns: 300px 1fr;
  gap: 40px
}
.ojh-landing .profile img {
  aspect-ratio: 378/376;
  border: 0
}
.ojh-landing .profile p, .ojh-landing .profile li {
  font-size: 16px
}
.ojh-landing .profile > div:first-child h3 {
  font-size: 20px
}
.ojh-landing .profile .note {
  font-size: 13px
}
.ojh-landing .profile .underlined {
  font-size: 24px
}
.ojh-landing .profile .outline-button {
  font-size: 14px
}
.ojh-landing .case-card h3 {
  font-size: 21px
}
.ojh-landing .case-card p, .ojh-landing .case-card dl, .ojh-landing .case-card dd, .ojh-landing .case-card dt, .ojh-landing .case-links a {
  font-size: 15px
}
.ojh-landing .case-filters button {
  font-size: 14px
}
.ojh-landing .case-count {
  font-size: 13px
}
.ojh-landing .supplemental {
  margin-top: 45px
}
.ojh-landing .supplemental-case .result strong {
  font-size: 30px
}
.ojh-landing .reason-box {
  background: #edf1ef;
  padding: 30px;
  margin-bottom: 40px;
  display: flow-root;
  min-height: 245px
}
.ojh-landing .reason-title {
  justify-content: flex-start;
  gap: 20px;
  margin-right: 290px
}
.ojh-landing .reason-title .num {
  border-inline: 1px solid #86b7a7;
  padding: 0 12px
}
.ojh-landing .reason-title h3 {
  font-size: 23px;
  color: var(--green)
}
.ojh-landing .reason-photo {
  width: 260px;
  float: right;
  margin: -45px 0 20px 30px;
  aspect-ratio: 352/263;
  object-fit: cover
}
.ojh-landing .reason-box p, .ojh-landing .reason-box li {
  font-size: 16px
}
.ojh-landing .reason-box p {
  margin-top: 18px
}
.ojh-landing .reason-box ul {
  padding-right: 275px
}
.ojh-landing .flow-list {
  background: #eaf6ef;
  max-width: 900px;
  padding: 35px
}
.ojh-landing .flow-list li {
  background: white;
  padding: 24px;
  margin-bottom: 28px;
  grid-template-columns: 100px 1fr
}
.ojh-landing .flow-list li:not(:last-child):after {
  bottom: -22px;
  border-top-color: #d1d8d4
}
.ojh-landing .flow-list h3 {
  font-size: 21px
}
.ojh-landing .flow-list p {
  font-size: 16px
}
.ojh-landing .flow-list > li > span {
  font-size: 13px
}
.ojh-landing .flow-list b {
  font-size: 39px
}
.ojh-landing .fee-box > h3 {
  font-size: 21px
}
.ojh-landing .fee-detail dt, .ojh-landing .fee-detail dd, .ojh-landing .fees .section-head > p:last-child {
  font-size: 15px
}
.ojh-landing .fee-risk {
  background: #fff;
  border-top: 1px solid #a2cfba;
  margin-top: 30px;
  padding: 24px 30px
}
.ojh-landing .fee-risk h3 {
  font-size: 20px;
  color: var(--green);
  margin-bottom: 12px
}
.ojh-landing .fee-risk p {
  font-size: 16px;
  margin: 0
}
.ojh-landing .faq-list summary {
  font-size: 18px
}
.ojh-landing .faq-list details > div p {
  font-size: 16px
}
.ojh-landing .faq-list details {
  background: #f0f4f1
}
.ojh-landing .timing .timing-eight {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px
}
.ojh-landing .timing-eight li {
  padding: 14px 5px;
  display: flex;
  flex-direction: column;
  line-height: 1.7
}
.ojh-landing .timing-eight b {
  font-size: 18px
}
.ojh-landing .timing-eight .timing-number {
  font-size: 12px;
  color: var(--green);
  font-family: var(--body)
}
.ojh-landing .timing-eight li > span:not(.timing-number) {
  font-size: 12px;
  flex: 1;
  margin-top: 8px
}
.ojh-landing .timing-eight small {
  font-size: 11px;
  background: #eaf6ef;
  margin-top: 12px;
  padding: 5px 0;
  color: var(--dark)
}
.ojh-landing .timing > p {
  font-size: 15px
}
.ojh-landing .timing-eight li + li:before {
  left: -10px;
  top: 45px
}
.ojh-landing .strength-grid {
  display: block;
  border: 0
}
.ojh-landing .strength-grid > a {
  display: block;
  border: 0;
  border-bottom: 1px solid #a6ceba;
  background: #edf5ef;
  padding: 20px 25px;
  margin-bottom: 12px;
  position: relative;
  padding-left: 85px
}
.ojh-landing .strength-grid > a > span {
  position: absolute;
  left: 25px;
  top: 16px;
  font-size: 28px
}
.ojh-landing .strength-grid h3 {
  font-size: 21px;
  margin: 0 0 5px;
  text-align: left
}
.ojh-landing .strength-grid p {
  font-size: 15px;
  text-align: left
}
.ojh-landing .strength-grid br {
  display: none
}
.ojh-landing .strengths {
  padding-block: 55px
}
.ojh-landing .family-steps h3, .ojh-landing .hospital-support h3, .ojh-landing .life-grid h3 {
  font-size: 21px
}
.ojh-landing .family-steps p, .ojh-landing .hospital-support p, .ojh-landing .life-grid p, .ojh-landing .life-grid li {
  font-size: 16px
}
.ojh-landing .hospital-support a {
  font-size: 16px
}
.ojh-landing .issues-grid {
  grid-template-columns: repeat(2, 1fr)
}
.ojh-landing .issues-grid h3 {
  font-size: 19px
}
.ojh-landing .issues-grid p {
  font-size: 15px
}
.ojh-landing .application-grid h3 {
  font-size: 19px
}
.ojh-landing .application-grid p {
  font-size: 16px
}
.ojh-landing .application-grid {
  grid-template-columns: repeat(2, 1fr)
}
.ojh-landing .application-grid article {
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important
}
.ojh-landing .life-support {
  background: #eaf6ef;
  color: var(--ink)
}
.ojh-landing .life-support .section-title h2, .ojh-landing .life-eyebrow {
  color: var(--green)
}
.ojh-landing .life-grid aside {
  background: white;
  color: var(--ink)
}
.ojh-landing .resource-grid h3 {
  font-size: 22px
}
.ojh-landing .resource-grid p, .ojh-landing .resource-grid li, .ojh-landing .resource-grid a, .ojh-landing .cluster-links a {
  font-size: 15px
}
.ojh-landing .death-link {
  margin-top: 30px;
  text-align: center
}
.ojh-landing .form-row label, .ojh-landing .form-row legend {
  font-size: 15px
}
.ojh-landing .green-button, .ojh-landing .orange-button, .ojh-landing .outline-button {
  font-size: 15px
}
.ojh-landing .review-body {
  font-family: var(--body)
}
@media(min-width:1700px) {
  .ojh-landing .wide {
    max-width: 1370px;
    width: calc(100% - 120px)
  }
  .ojh-landing .content {
    max-width: 1320px;
    width: calc(100% - 120px)
  }
}
@media(max-width:950px) {
  .ojh-landing .brand > strong {
    font-size: 21px
  }
  .ojh-landing .header-contact .orange-button {
    font-size: 13px;
    padding: 13px
  }
  .ojh-landing .header-line {
    display: none
  }
  .ojh-landing .profile {
    grid-template-columns: 240px 1fr;
    gap: 25px
  }
  .ojh-landing .timing .timing-eight {
    grid-template-columns: repeat(4, 1fr)
  }
  .ojh-landing .timing-eight li:nth-child(5):before {
    content: none
  }
  .ojh-landing .reason-title {
    margin-right: 210px
  }
  .ojh-landing .reason-photo {
    width: 190px
  }
  .ojh-landing .reason-box ul {
    padding-right: 0
  }
  .ojh-landing .concern-illustrated {
    padding: 0 65px
  }
  .ojh-landing .concern-illustrated > img {
    width: 75px
  }
}
@media(max-width:620px) {
  .ojh-landing {
    font-size: 15px
  }
  .ojh-landing .content, .ojh-landing .wide {
    width: calc(100% - 32px)
  }
  .ojh-landing .section {
    padding: 45px 0
  }
  .ojh-landing h2 {
    font-size: 24px
  }
  .ojh-landing .section-title {
    margin-bottom: 30px
  }
  .ojh-landing .section-title h2 {
    padding: 12px 22px;
    letter-spacing: .02em
  }
  .ojh-landing .section-title > p {
    font-size: 13px
  }
  .ojh-landing .header-inner {
    min-height: 76px;
    gap: 10px
  }
  .ojh-landing .brand > strong {
    font-size: 18px
  }
  .ojh-landing .brand > small {
    font-size: 10px
  }
  .ojh-landing .brand .header-badges {
    font-size: 8px;
    padding: 1px 3px
  }
  .ojh-landing .header-contact {
    gap: 0
  }
  .ojh-landing .header-contact > a[href^="tel:"] {
    font-size: 15px
  }
  .ojh-landing .header-contact > a[href^="tel:"] small {
    font-size: 8px
  }
  .ojh-landing .header-contact .orange-button {
    display: none
  }
  .ojh-landing .intro > .content > p {
    font-size: 15px
  }
  .ojh-landing .intro {
    padding: 30px 0
  }
  .ojh-landing .cta-block > p {
    font-size: 15px
  }
  .ojh-landing .cta-features {
    flex-wrap: wrap;
    gap: 0
  }
  .ojh-landing .cta-features b, .ojh-landing .cta-features span {
    font-size: 12px
  }
  .ojh-landing .cta-buttons a {
    font-size: 14px
  }
  .ojh-landing .anchor-nav a {
    font-size: 12px
  }
  .ojh-landing .mint-bar {
    font-size: 18px
  }
  .ojh-landing .concern-illustrated {
    padding: 0
  }
  .ojh-landing .concern-illustrated > img {
    width: 65px;
    position: relative;
    display: inline-block;
    margin-bottom: -10px;
    z-index: 0
  }
  .ojh-landing .concern-man {
    left: 0;
    top: 0
  }
  .ojh-landing .concern-woman {
    float: right;
    right: 0;
    bottom: 0
  }
  .ojh-landing .check-list {
    padding: 22px 17px;
    clear: both
  }
  .ojh-landing .check-list li {
    font-size: 15px;
    padding-left: 25px
  }
  .ojh-landing .check-list li:before {
    top: 7px
  }
  .ojh-landing .content > .center {
    font-size: 15px
  }
  .ojh-landing .injury-grid {
    grid-template-columns: repeat(2, 1fr)
  }
  .ojh-landing .injury-grid h3 {
    font-size: 16px
  }
  .ojh-landing .injury-grid p {
    font-size: 13px
  }
  .ojh-landing .detail-box {
    padding: 17px
  }
  .ojh-landing .detail-box h3 {
    font-size: 17px;
    align-items: stretch
  }
  .ojh-landing .detail-box h3 span {
    font-size: 13px;
    padding: 8px;
    margin-right: 10px;
    display: flex;
    align-items: center
  }
  .ojh-landing .detail-box p, .ojh-landing .detail-box li, .ojh-landing .merit-box p, .ojh-landing .merit-box li {
    font-size: 15px
  }
  .ojh-landing .detail-box p {
    padding: 15px
  }
  .ojh-landing .merit-box {
    padding: 20px 17px;
    grid-template-columns: 44px 1fr;
    gap: 15px
  }
  .ojh-landing .merit-box h3 {
    font-size: 19px
  }
  .ojh-landing .num {
    font-size: 32px
  }
  .ojh-landing .num small {
    font-size: 10px
  }
  .ojh-landing .profile {
    grid-template-columns: 1fr
  }
  .ojh-landing .profile > div:first-child {
    max-width: 260px;
    margin: auto
  }
  .ojh-landing .profile p, .ojh-landing .profile li {
    font-size: 15px
  }
  .ojh-landing .profile .underlined {
    font-size: 21px
  }
  .ojh-landing .case-card h3 {
    font-size: 19px
  }
  .ojh-landing .case-card p, .ojh-landing .case-card dl, .ojh-landing .case-card dd, .ojh-landing .case-card dt, .ojh-landing .case-links a {
    font-size: 14px
  }
  .ojh-landing .case-filters button {
    font-size: 12px
  }
  .ojh-landing .reason-box {
    padding: 23px 18px;
    margin-bottom: 30px
  }
  .ojh-landing .reason-photo {
    width: 105px;
    margin: -10px 0 12px 14px
  }
  .ojh-landing .reason-title {
    margin-right: 0;
    gap: 10px;
    display: block
  }
  .ojh-landing .reason-title .num {
    display: table;
    float: left;
    margin-right: 12px;
    padding: 0 7px;
    font-size: 30px
  }
  .ojh-landing .reason-title h3 {
    font-size: 18px
  }
  .ojh-landing .reason-box p, .ojh-landing .reason-box li {
    font-size: 15px
  }
  .ojh-landing .reason-box p {
    clear: both;
    padding-top: 5px
  }
  .ojh-landing .flow-list {
    padding: 20px 12px
  }
  .ojh-landing .flow-list li {
    grid-template-columns: 50px 1fr;
    padding: 19px 12px;
    gap: 14px
  }
  .ojh-landing .flow-list h3 {
    font-size: 18px
  }
  .ojh-landing .flow-list p {
    font-size: 15px
  }
  .ojh-landing .flow-list b {
    font-size: 31px
  }
  .ojh-landing .flow-list > li > span {
    font-size: 10px
  }
  .ojh-landing .fee-grid {
    grid-template-columns: 1fr
  }
  .ojh-landing .fee-detail dt, .ojh-landing .fee-detail dd {
    font-size: 15px
  }
  .ojh-landing .fee-risk {
    padding: 22px
  }
  .ojh-landing .fee-risk h3 {
    font-size: 18px
  }
  .ojh-landing .fee-risk p {
    font-size: 15px
  }
  .ojh-landing .faq-list summary {
    font-size: 16px
  }
  .ojh-landing .faq-list details > div p {
    font-size: 15px
  }
  .ojh-landing .timing .timing-eight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px
  }
  .ojh-landing .timing-eight li {
    padding: 14px 9px
  }
  .ojh-landing .timing-eight b {
    font-size: 18px
  }
  .ojh-landing .timing-eight li > span:not(.timing-number) {
    font-size: 13px
  }
  .ojh-landing .timing-eight small {
    font-size: 12px
  }
  .ojh-landing .timing-eight small br {
    display: none
  }
  .ojh-landing .timing-eight li:nth-child(odd):before {
    content: none
  }
  .ojh-landing .timing-eight li:nth-child(5):before {
    content: none
  }
  .ojh-landing .strength-grid > a {
    padding: 16px 18px 16px 65px !important;
    border: 0 !important;
    border-bottom: 1px solid #a6ceba !important
  }
  .ojh-landing .strength-grid > a > span {
    left: 18px;
    top: 13px;
    font-size: 24px
  }
  .ojh-landing .strength-grid h3 {
    font-size: 18px
  }
  .ojh-landing .strength-grid p {
    font-size: 14px
  }
  .ojh-landing .family-steps h3, .ojh-landing .hospital-support h3, .ojh-landing .life-grid h3 {
    font-size: 19px
  }
  .ojh-landing .family-steps p, .ojh-landing .hospital-support p, .ojh-landing .life-grid p, .ojh-landing .life-grid li {
    font-size: 15px
  }
  .ojh-landing .family-actions > a, .ojh-landing .hospital-support a {
    font-size: 14px
  }
  .ojh-landing .issues-grid {
    grid-template-columns: 1fr
  }
  .ojh-landing .issues-grid h3 {
    font-size: 18px
  }
  .ojh-landing .issues-grid p {
    font-size: 14px
  }
  .ojh-landing .application-grid {
    grid-template-columns: 1fr
  }
  .ojh-landing .application-grid article {
    padding: 20px
  }
  .ojh-landing .application-grid h3 {
    font-size: 19px
  }
  .ojh-landing .application-grid p {
    font-size: 15px
  }
  .ojh-landing .resource-grid h3 {
    font-size: 20px
  }
  .ojh-landing .resource-grid p, .ojh-landing .resource-grid li, .ojh-landing .resource-grid a, .ojh-landing .cluster-links a {
    font-size: 14px
  }
  .ojh-landing .form-row label, .ojh-landing .form-row legend {
    font-size: 14px
  }
  .ojh-landing .green-button, .ojh-landing .orange-button, .ojh-landing .outline-button {
    font-size: 14px
  }
  .ojh-landing input, .ojh-landing select, .ojh-landing textarea {
    font-size: 16px !important
  }
  .ojh-landing .mobile-cta a {
    font-size: 12px
  }
  .ojh-landing .note, .ojh-landing small {
    font-size: 11px
  }
}
.ojh-landing .life-support {
  background: #eaf6ef;
  color: #263c33
}
.ojh-landing .life-support .life-eyebrow, .ojh-landing .life-support .section-title h2, .ojh-landing .life-support .life-grid h3 {
  color: #005b4d
}
.ojh-landing .life-support .life-grid p, .ojh-landing .life-support .life-grid li {
  color: #263c33
}
.ojh-landing .life-support .life-grid a, .ojh-landing .life-support .life-grid a:visited {
  color: #005b4d;
  text-decoration: underline;
  text-decoration-thickness: 1px
}
.ojh-landing .life-support .life-grid .note {
  color: #405548;
  font-size: 13px;
  line-height: 1.9
}
.ojh-landing .life-support .life-grid aside {
  background: #fff;
  color: #263c33
}
.ojh-landing h2, .ojh-landing h2, .ojh-landing h3, .ojh-landing h4 {
  font-family: var(--serif);
  font-weight: 700
}
.ojh-landing .brand > strong {
  font-family: var(--body);
  font-weight: 700
}
.ojh-landing .num, .ojh-landing .case-proof-grid strong, .ojh-landing .result strong, .ojh-landing .zero-fees strong {
  font-family: var(--serif)
}
.ojh-landing input, .ojh-landing select, .ojh-landing textarea, .ojh-landing button {
  font-family: var(--body)
}
.ojh-landing .header-line {
  font-family: var(--body)
}
.ojh-landing .hero-faithful {
  background: linear-gradient(100deg, #f2f4ef, #fff 48%, #e7f1ee);
  border-top: 0
}
.ojh-landing .hero-faithful .hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  min-height: 0;
  padding: 32px 0
}
.ojh-landing .hero-faithful .hero-copy {
  margin: 0;
  padding: 0;
  min-width: 0
}
.ojh-landing .hero-family-panel {
  position: relative;
  background: var(--green);
  padding: 24px 28px;
  color: #fff;
  box-shadow: -7px -7px 0 #8fdab97a, 6px 7px 0 #9bdec09c
}
.ojh-landing .hero-family-panel:before, .ojh-landing .hero-family-panel:after {
  content: '';
  position: absolute;
  background: #b9ebcd55;
  width: 28%;
  height: 20%;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none
}
.ojh-landing .hero-family-panel:before {
  left: -7px;
  top: -7px
}
.ojh-landing .hero-family-panel:after {
  right: -6px;
  bottom: -7px;
  transform: rotate(180deg)
}
.ojh-landing .hero-faithful h2 {
  font-size: clamp(29px, 2.8vw, 39px);
  line-height: 1.65;
  font-weight: 700;
  padding: 0;
  margin: 0;
  letter-spacing: 0;
  background: none;
  box-shadow: none
}
.ojh-landing .hero-faithful h2:after {
  content: none
}
.ojh-landing .hero-family-panel .hero-support {
  margin: 18px 0 0;
  padding-top: 15px;
  border-top: 1px solid #d7c17e;
  font-size: 17px;
  line-height: 1.9;
  color: #fff;
  text-align: left
}
.ojh-landing .hero-family-panel .hero-family-note {
  font-size: 13px;
  margin: 12px 0 0;
  line-height: 1.8;
  color: #e4f7ed
}
.ojh-landing .hero-faithful .hero-photo {
  align-self: center;
  margin: 0;
  z-index: 1;
  overflow: visible;
  max-width: 440px;
  justify-self: end
}
.ojh-landing .hero-faithful .hero-photo img {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  mix-blend-mode: normal
}
.ojh-landing .hero-faithful .hero-buttons {
  grid-template-columns: 1.2fr 1fr 1.15fr;
  gap: 8px;
  margin: 24px 0 0;
  max-width: none
}
.ojh-landing .hero-faithful .hero-buttons a {
  font-size: 15px;
  line-height: 1.5;
  min-height: 70px;
  padding: 10px 5px;
  gap: 4px
}
.ojh-landing .hero-faithful .hero-buttons .phone strong {
  font-size: 20px
}
.ojh-landing .hero-faithful .hero-buttons .phone small {
  font-size: 10px;
  display: block
}
.ojh-landing .hero-faithful .hero-pill {
  margin: 14px 0 0;
  background: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px 12px;
  color: var(--dark);
  font-size: 15px;
  line-height: 1.8
}
.ojh-landing .hero-faithful .hero-pill b {
  font-size: 16px;
  border-bottom: 2px solid var(--mint)
}
.ojh-landing .hero-faithful .hero-pill > span {
  font-size: 13px;
  margin: 0
}
.ojh-landing .hero-faithful .hero-copy > small {
  font-size: 11px;
  line-height: 1.8;
  display: block;
  margin: 9px 0 0;
  text-align: center
}
.ojh-landing .case-proof {
  background: #f4f8f1;
  border-block: 1px solid #c7d7bf;
  padding: 25px 0 19px
}
.ojh-landing .case-proof-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  align-items: center;
  gap: 26px
}
.ojh-landing .case-proof .proof-eyebrow {
  color: var(--green);
  font-size: 13px;
  margin: 0 0 6px
}
.ojh-landing .case-proof h2 {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: .02em;
  color: var(--dark)
}
.ojh-landing .case-proof-grid > a {
  display: block;
  text-decoration: none;
  border-left: 1px solid #c9d5ba;
  padding-left: 26px;
  line-height: 1.6
}
.ojh-landing .case-proof-grid > a > span {
  font-size: 14px;
  color: #426a57;
  display: block
}
.ojh-landing .case-proof-grid strong {
  font-family: var(--serif);
  font-size: 37px;
  font-weight: 600;
  line-height: 1.7;
  color: #976b21;
  display: block;
  white-space: nowrap
}
.ojh-landing .case-proof-grid strong small {
  font-size: 19px;
  color: inherit
}
.ojh-landing .case-proof-grid > a > p {
  font-size: 14px;
  margin: 2px 0 0;
  color: #405548
}
.ojh-landing .case-proof .case-proof-note {
  font-size: 16px;
  line-height: 1.9;
  text-align: center;
  margin: 18px 24px 0;
  color: #405548
}
.ojh-landing .timing .timing-eight {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 15px
}
.ojh-landing .timing .timing-eight li {
  padding: 20px 15px;
  line-height: 1.8;
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: 0
}
.ojh-landing .timing .timing-eight b {
  font-size: 21px;
  margin: 4px 0
}
.ojh-landing .timing .timing-eight .timing-number {
  font-size: 14px;
  color: var(--green)
}
.ojh-landing .timing .timing-eight li > span:not(.timing-number) {
  font-size: 16px;
  margin-top: 6px;
  color: #4e6256
}
.ojh-landing .timing .timing-eight li + li:before {
  content: '›';
  left: -15px;
  top: 45%;
  font-size: 27px
}
.ojh-landing .timing .timing-eight li:nth-child(5):before {
  content: none
}
.ojh-landing .timing .timing-common {
  background: #d9eee2;
  color: var(--dark);
  padding: 11px 18px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.9;
  margin: 20px 0 15px
}
.ojh-landing .intro.bamboo {
  background-image: linear-gradient(90deg, #fffffff0, #fffffff0), url('bamboo.webp')
}
@media(min-width:1700px) {
  .ojh-landing .hero-faithful h2 {
    font-size: 45px
  }
  .ojh-landing .hero-family-panel .hero-support {
    font-size: 20px
  }
  .ojh-landing .hero-family-panel .hero-family-note {
    font-size: 15px
  }
  .ojh-landing .hero-faithful .hero-photo {
    max-width: 500px
  }
  .ojh-landing .hero-faithful .hero-buttons a {
    font-size: 18px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone strong {
    font-size: 24px
  }
  .ojh-landing .case-proof h2 {
    font-size: 25px
  }
  .ojh-landing .case-proof-grid strong {
    font-size: 43px
  }
}
@media(max-width:1000px) {
  .ojh-landing .hero-faithful .hero-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 25px
  }
  .ojh-landing .hero-family-panel {
    padding: 22px
  }
  .ojh-landing .hero-faithful h2 {
    font-size: 28px
  }
  .ojh-landing .hero-family-panel .hero-support {
    font-size: 15px
  }
  .ojh-landing .hero-family-panel .hero-family-note {
    font-size: 12px
  }
  .ojh-landing .hero-faithful .hero-buttons {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 5px
  }
  .ojh-landing .hero-faithful .hero-buttons a {
    font-size: 12px;
    min-height: 64px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone strong {
    font-size: 16px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone small {
    font-size: 9px
  }
  .ojh-landing .case-proof-grid {
    gap: 18px
  }
  .ojh-landing .case-proof-grid > a {
    padding-left: 18px
  }
  .ojh-landing .case-proof h2 {
    font-size: 19px
  }
  .ojh-landing .case-proof-grid strong {
    font-size: 29px
  }
  .ojh-landing .case-proof-grid > a > span {
    font-size: 12px
  }
  .ojh-landing .case-proof-grid > a > p {
    font-size: 14px
  }
  .ojh-landing .timing .timing-eight li > span:not(.timing-number) {
    font-size: 15px
  }
}
@media(max-width:760px) {
  .ojh-landing .hero-faithful .hero-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 28px 0 24px
  }
  .ojh-landing .hero-faithful .hero-photo {
    width: 220px;
    justify-self: center;
    max-width: 65%;
    margin: 0
  }
  .ojh-landing .hero-faithful h2 {
    font-size: clamp(23px, 5vw, 33px)
  }
  .ojh-landing .hero-family-panel {
    padding: 22px 20px
  }
  .ojh-landing .hero-family-panel .hero-support {
    font-size: 16px
  }
  .ojh-landing .hero-family-panel .hero-family-note {
    font-size: 13px
  }
  .ojh-landing .hero-faithful .hero-buttons {
    grid-template-columns: 1.15fr 1fr 1.15fr;
    margin-top: 22px;
    gap: 6px
  }
  .ojh-landing .hero-faithful .hero-buttons a {
    font-size: 14px;
    min-height: 66px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone strong {
    font-size: 18px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone small {
    font-size: 9px
  }
  .ojh-landing .hero-faithful .hero-pill {
    font-size: 14px
  }
  .ojh-landing .hero-faithful .hero-pill b {
    font-size: 16px
  }
  .ojh-landing .hero-faithful .hero-copy > small {
    font-size: 11px
  }
  .ojh-landing .case-proof-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px 14px
  }
  .ojh-landing .case-proof-grid > div {
    grid-column: 1/-1;
    text-align: center
  }
  .ojh-landing .case-proof h2 {
    font-size: 22px
  }
  .ojh-landing .case-proof h2 br {
    display: none
  }
  .ojh-landing .case-proof-grid > a {
    border: 0;
    padding: 0;
    text-align: center
  }
  .ojh-landing .case-proof-grid strong {
    font-size: 29px
  }
  .ojh-landing .case-proof-grid > a > span {
    font-size: 12px
  }
  .ojh-landing .case-proof-grid > a > p {
    font-size: 14px
  }
  .ojh-landing .case-proof .case-proof-note {
    font-size: 15px;
    margin-inline: 20px;
    text-align: left
  }
  .ojh-landing .timing .timing-eight {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px
  }
  .ojh-landing .timing .timing-eight li {
    padding: 17px 20px;
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 12px
  }
  .ojh-landing .timing .timing-eight .timing-number {
    grid-row: 1/3;
    align-self: center;
    font-size: 20px
  }
  .ojh-landing .timing .timing-eight b {
    font-size: 21px;
    margin: 0
  }
  .ojh-landing .timing .timing-eight li > span:not(.timing-number) {
    font-size: 16px;
    margin: 4px 0 0
  }
  .ojh-landing .timing .timing-eight li + li:before, .ojh-landing .timing .timing-eight li:nth-child(5):before {
    content: '⌁E;
    left: 50%;
    top: -27px;
    font-size: 24px;
    line-height: 24px
  }
  .ojh-landing .timing .timing-common {
    font-size: 16px;
    text-align: left
  }
  .ojh-landing .intro.bamboo {
    background-image: linear-gradient(90deg, #fffffff5, #fffffff5), url('bamboo.webp')
  }
}
@media(max-width:420px) {
  .ojh-landing .hero-faithful h2 {
    font-size: 22px;
    line-height: 1.75
  }
  .ojh-landing .hero-family-panel .hero-support {
    font-size: 15px
  }
  .ojh-landing .hero-family-panel .hero-support br {
    display: none
  }
  .ojh-landing .hero-family-panel .hero-family-note {
    font-size: 12px
  }
  .ojh-landing .hero-faithful .hero-buttons a {
    font-size: 12px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone strong {
    font-size: 15px
  }
  .ojh-landing .hero-faithful .hero-buttons .phone small {
    font-size: 8px
  }
  .ojh-landing .hero-faithful .hero-photo {
    width: 190px
  }
  .ojh-landing .case-proof-grid {
    grid-template-columns: minmax(0, 1fr)
  }
  .ojh-landing .case-proof-grid > a {
    padding: 13px 0;
    border-top: 1px solid #cad7bf
  }
  .ojh-landing .case-proof-grid strong {
    font-size: 34px
  }
  .ojh-landing .case-proof-grid > a > span {
    font-size: 14px
  }
  .ojh-landing .case-proof-grid > a > p {
    font-size: 14px
  }
}
/* ========================================
   重症事桁EP コンチE��チE��E��整�E�EC�E�E
======================================== */
@media screen and (min-width: 769px) {
  .ojh-landing .content, .ojh-landing .wide {
    width: calc(100% - 40px);
    max-width: 1200px !important;
    margin-left: auto;
    margin-right: auto;
  }
  .ojh-landing .narrow {
    max-width: 100% !important;
  }
}

.oita-rv1-section{
background:#fff!important;
}

/* 重症事桁EP�E�セクション背景を画面幁E��っぱぁE�� */
@media (min-width: 768px) {

  body.page .oita-rv1-wrap:has(.ojh-landing) {
    max-width: none !important;
    width: 100%;
  }

  body.page .oita-rv1-wrap:has(.ojh-landing) .ojh-landing {
    width: 100%;
  }
}
/* 重症事桁EP�E�フォーム本体�E幁E��制陁E*/
@media (min-width: 768px) {
  .ojh-landing form {
    width: 100%;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 重症事桁EP�E�テーマ�E通�EH2下線を解除 */
.ojh-landing h2 {
  border-bottom: none !important;
}
.oita-rv1-page__title{
	display:none;
}
.oita-rv1-page__head{
margin-bottom:0!important;
padding-bottom:0!important;
}
.oita-rv1-section{
	padding-top:0!important;
}
@media (min-width: 768px) {
	.ojh-landing h2{
font-size:30px!important;		
	}
	}
.ojh-landing h2 {
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif!important;
}
.oita-rv1-page-meta{
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
}
.cta-buttons{
	text-align:center!important;
}

/* 重症事桁EP�E�MV背景画僁E*/
.ojh-landing .hero {
  background-image: url("https://www.oita-kotsujiko.com/wp-content/uploads/2026/10/bg-hero.jpg") !important;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* 重症事桁EP�E�MV弁護士画像�E差し替ぁE*/
.ojh-landing .hero-faithful .hero-photo img {
  content: url("https://www.oita-kotsujiko.com/wp-content/uploads/2026/10/mv-lawyer.png") !important;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  mix-blend-mode: normal;
}
/* ========================================
   重症事桁EP�E�MV弁護士画像�E拡大・下揃ぁE
======================================== */
@media screen and (min-width: 768px) {

  .ojh-landing .hero-faithful {
    position: relative;
    overflow: hidden;
  }

  .ojh-landing .hero-faithful .hero-photo {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48%;
    max-width: 650px;
    margin: 0;
    padding: 0;
    z-index: 2;
  }

  .ojh-landing .hero-faithful .hero-photo img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0;
    object-fit: contain;
    object-position: bottom center;
  }

}

@media screen and (max-width: 767px) {
h2 {
    font-size: 20px!important;
  }
}
/* 重症事桁EP�E�MVメインコピ�E拡大 */

/* PC */
@media screen and (min-width: 768px) {
  .ojh-landing .hero-faithful h2 {
    font-size: 40px!important;
    line-height: 1.5;
    font-weight: 500!important;
  }
}

/* SP */
@media screen and (max-width: 767px) {
  .ojh-landing .hero-faithful h2 {
    font-size: 22px!important;
    line-height: 1.45;
    font-weight: 500;
  }
}
/* 重症事桁EP�E�MV説明文の斁E��サイズ調整 */
@media (min-width: 768px) {
  .hero-support {
    font-size: 20px !important;
    line-height: 1.8;
  }
}

@media (max-width: 767px) {
  .hero-support {
    font-size: 15px !important;
    line-height: 1.7;
  }
}

@media (max-width: 767px) {
 section{
padding-top:0!important;
padding-bottom:0!important;
 }
}
@media (min-width: 768px) {
.pcNone{
	display:none;
}
}
@media (max-width: 767px) {
.spNone{
	display:none;
}
}

/* =========================================
   重症事案LP：スマホMV画像・CTA調整
========================================= */
@media screen and (max-width: 767px) {

  /* MV全体 */
  .ojh-landing .hero-faithful {
    position: relative;
    overflow: hidden;
  }

  .ojh-landing .hero-faithful .hero-inner {
    position: relative;
    display: block !important;
    min-height: 0 !important;
    padding-bottom: 330px !important;
  }

  .ojh-landing .hero-faithful .hero-copy {
    position: relative;
    z-index: 3;
  }

  /* 弁護士画像をMV下端に配置 */
  .ojh-landing .hero-faithful .hero-photo {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 85% !important;
    max-width: 400px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2;
  }

  .ojh-landing .hero-faithful .hero-photo img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    object-fit: contain;
    object-position: bottom right;
  }

  /* MVのCTAだけ横3列にする */
  .ojh-landing .hero-faithful .hero-buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: none !important;
  }

  .ojh-landing .hero-faithful .hero-buttons > a {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 70px !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-align: center;
    font-size: 12px !important;
    line-height: 1.35;
  }

  .ojh-landing .hero-faithful .hero-buttons .phone strong,
  .ojh-landing .hero-faithful .hero-buttons .phone small {
    display: none !important;
  }

  .ojh-landing .hero-faithful .hero-buttons .phone::before {
    content: "📱";
    display: block;
    font-size: 26px;
    line-height: 1;
  }

  .ojh-landing .hero-faithful .hero-buttons .phone::after {
    content: "24時間365日";
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
  }

  .ojh-landing .hero-faithful .hero-buttons .line,
  .ojh-landing .hero-faithful .hero-buttons .mail {
    font-size: 12px !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* 幅の狭いスマホ */
@media screen and (max-width: 375px) {
  .ojh-landing .hero-faithful .hero-inner {
    padding-bottom: 290px !important;
  }

  .ojh-landing .hero-faithful .hero-photo {
    width: 90% !important;
  }
}

/* =========================================
   重症事案LP：弁護士ネームプレート PC/SP共通
   画像のpositionは変更しない
========================================= */
.ojh-landing .hero-faithful .hero-photo .hero-lawyer-name {
  position: absolute !important;
  right: 0 !important;
  bottom: 22px !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: auto !important;
  padding: 12px 22px !important;
  background: #008a78 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none !important;
  white-space: nowrap;
}

.ojh-landing .hero-faithful .hero-photo .hero-lawyer-name span,
.ojh-landing .hero-faithful .hero-photo .hero-lawyer-name strong {
  color: #fff !important;
}

.ojh-landing .hero-faithful .hero-photo .hero-lawyer-name strong {
  font-size: 22px !important;
  font-weight: 700;
}

.ojh-landing .hero-faithful .hero-photo .hero-lawyer-name:hover {
  opacity: .85;
}

@media screen and (max-width: 767px) {
  .ojh-landing .hero-faithful .hero-photo .hero-lawyer-name {
    right: 0 !important;
    bottom: 12px !important;
    gap: 8px;
    padding: 8px 12px !important;
    font-size: 12px !important;
  }

  .ojh-landing .hero-faithful .hero-photo .hero-lawyer-name strong {
    font-size: 15px !important;
  }
}
/* =========================================
   重症事案LP：SP 弁護士画像・ネームプレート中央配置
========================================= */
@media screen and (max-width: 767px) {

  /* 弁護士画像を中央へ */
  .ojh-landing .hero-faithful .hero-photo {
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  /* ネームプレートを画像の中央へ */
  .ojh-landing .hero-faithful .hero-photo .hero-lawyer-name {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    bottom: 12px !important;
  }
}
/* =========================================
   重症事案LP：PC ネームプレート中央配置
========================================= */
@media screen and (min-width: 768px) {

  .ojh-landing .hero-faithful .hero-photo .hero-lawyer-name {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}


/* スマホMV：緑カード → 弁護士 → CTA → 料金 */
@media screen and (max-width: 767px) {

  .ojh-landing .hero-faithful .hero-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .ojh-landing .hero-faithful .hero-copy {
    display: contents !important;
  }

  /* 1. 緑のカード */
  .ojh-landing .hero-faithful .hero-family-panel {
    order: 1;
    width: 100%;
    padding: 14px 16px !important;
    margin: 0 0 12px !important;
  }

  .ojh-landing .hero-faithful .hero-family-panel h2 {
    margin: 0 !important;
    line-height: 1.4 !important;
  }

  .ojh-landing .hero-faithful .hero-family-panel .hero-support {
    margin-top: 10px !important;
    padding-top: 9px !important;
    line-height: 1.55 !important;
  }

  .ojh-landing .hero-faithful .hero-family-panel .hero-family-note {
    margin-top: 7px !important;
    line-height: 1.5 !important;
  }

  /* 2. 弁護士画像 */
  .ojh-landing .hero-faithful .hero-photo {
    order: 2;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    align-self: center !important;
    justify-self: auto !important;
    width: 85% !important;
    max-width: 360px !important;
    max-height: none !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .ojh-landing .hero-faithful .hero-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  /* ネームプレート中央 */
  .ojh-landing .hero-faithful .hero-photo .hero-lawyer-name {
    left: 50% !important;
    right: auto !important;
    bottom: 10px !important;
    transform: translateX(-50%) !important;
  }

  /* 3. CTA：横3列を維持 */
  .ojh-landing .hero-faithful .hero-buttons {
    order: 3;
    width: 100% !important;
    margin: 0 0 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  /* 4. 料金案内 */
  .ojh-landing .hero-faithful .hero-pill {
    order: 4;
    width: 100%;
    margin: 0 !important;
  }

  /* 注意書き・相談時間 */
  .ojh-landing .hero-faithful .hero-copy > small {
    order: 5;
    width: 100%;
    margin: 8px 0 0 !important;
    text-align: center;
  }
}
/* スマホMV：弁護士画像を一回り小さく */
@media screen and (max-width: 767px) {
  .ojh-landing .hero-faithful .hero-photo {
    width: 70% !important;
    max-width: 340px !important;
  }
}
/* =========================================
   重症事案LP：フォーム幅の統一
   入力・確認・完了画面共通
========================================= */

.ojh-landing #form > .content {
  width: calc(100% - 32px) !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 確認画面 */
.ojh-landing .form-confirm {
  width: 100% !important;
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.oita-rv1-cta{
display:none!important;
}
/* =========================================
   重傷事故LP：ページ内ナビの矢印調整
========================================= */

/* ボタン */
.ojh-landing .anchor-nav a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px 12px 15px;
  text-align: center;
}

/* 既存の「∨」を非表示 */
.ojh-landing .anchor-nav a span {
  display: none !important;
}

/* 新しい下向き矢印 */
.ojh-landing .anchor-nav a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;

  width: 7px;
  height: 7px;

  border-right: 1.5px solid #008571;
  border-bottom: 1.5px solid #008571;

  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .ojh-landing .anchor-nav a {
    padding: 10px 20px 10px 8px;
  }

  .ojh-landing .anchor-nav a::after {
    right: 8px;
    width: 6px;
    height: 6px;
  }
}