
html {
  background-color: #eee;
  background-image: url(/ssp/gc_diagnosis/img/bg01.jpg);
  background-repeat: repeat;
  background-position: center top;
  letter-spacing: 0.01em;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  color: #0f0f0f;
}
@media (min-width: 769px) {
  html {
    background-size: 136.6rem auto;
    font-size: min(0.91vw, 10px);
  }
}
@media (max-width: 768px) {
  html {
    background-size: 120rem auto;
    font-size: min(1.334vw, 10px);
  }
}

body, h1, h2, h3, h4, p, figure, ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.2s linear;
  cursor: pointer;
}
@media (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

img {
  max-width: 100%;
  max-height: 100%;
  vertical-align: bottom;
}

svg {
  width: 100%;
  height: 100%;
}

*, *::before, *::after {
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}

.js-animation.slideUpIn {
  opacity: 0;
  translate: 0 20px;
  transition: opacity 0.4s linear, translate 0.4s ease-out;
}
.js-animation.slideUpIn.is-animated {
  opacity: 1;
  translate: 0 0;
}

.header_outer {
  position: relative;
  z-index: 100;
}
@media (min-width: 769px) {
  .header_outer {
    height: 8rem;
  }
}
@media (max-width: 768px) {
  .header_outer {
    height: 14.4rem;
    padding: 2.9rem 0 1rem;
  }
}

.header_inner {
  display: flex;
}
@media (min-width: 769px) {
  .header_inner {
    height: 100%;
    padding: 0 1.9rem;
  }
}
@media (max-width: 768px) {
  .header_inner {
    justify-content: flex-end;
    padding: 0 2.9rem;
  }
}

.header_caption {
  display: flex;
}
@media (min-width: 769px) {
  .header_caption {
    align-items: center;
    gap: 3.8rem;
    height: 100%;
  }
}
@media (max-width: 768px) {
  .header_caption {
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5rem;
  }
}

.header_logo {
  position: relative;
}
@media (min-width: 769px) {
  .header_logo {
    width: 21.4rem;
  }
}
@media (max-width: 768px) {
  .header_logo {
    width: 32rem;
  }
}

.header_pagename {
  position: relative;
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 700;
  font-family: "M PLUS 1p", sans-serif;
}
@media (min-width: 769px) {
  .header_pagename {
    font-size: 1.8rem;
  }
  .header_pagename::before {
    content: "";
    position: absolute;
    border-left: 1px solid;
    height: 2.4rem;
    left: -1.9rem;
    top: 50%;
    translate: -50% -50%;
  }
}
@media (max-width: 768px) {
  .header_pagename {
    font-size: 2.8rem;
  }
}

.main_outer {
  position: relative;
  contain: paint;
}

.footer_outer {
  background: #000;
  color: #fff;
}

.footer_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  .footer_inner {
    gap: 2.2rem;
    padding: 3.6rem 0 3.2rem;
  }
}
@media (max-width: 768px) {
  .footer_inner {
    gap: 4.3rem;
    padding: 7.1rem 0 6.4rem;
  }
}

@media (min-width: 769px) {
  .footer_logo {
    width: 16rem;
  }
}
@media (max-width: 768px) {
  .footer_logo {
    width: 25.8rem;
  }
}

.footer_copyright {
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .footer_copyright {
    font-size: 1rem;
  }
}
@media (max-width: 768px) {
  .footer_copyright {
    font-size: 2rem;
  }
}

.pagetop_anchor {
  position: fixed;
  bottom: 6rem;
  z-index: 100;
  transition: bottom 0.2s ease;
}
@media (min-width: 769px) {
  .pagetop_anchor {
    width: 11rem;
    height: 2.4rem;
    right: calc(50% - 60rem);
  }
}
@media screen and (min-width: 769px) and (max-width: 1366px) {
  .pagetop_anchor {
    right: 8.3rem;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor {
    width: 19.8rem;
    height: 4.4rem;
    right: 3rem;
  }
}
.pagetop_anchor a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.286em;
  position: relative;
  width: 100%;
  height: 100%;
  letter-spacing: 0.025em;
  line-height: 1;
  font-weight: 600;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .pagetop_anchor a {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor a {
    font-size: 2.6rem;
  }
}
.pagetop_anchor a::before {
  content: "";
  position: absolute;
  background: #fff;
  border: 1px solid;
  inset: 0;
  transition: 0.2s linear;
}
@media (min-width: 769px) {
  .pagetop_anchor a::before {
    border-radius: 2.4rem;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor a::before {
    border-radius: 4.4rem;
  }
}
.pagetop_anchor a span {
  position: relative;
}
.pagetop_anchor a svg {
  position: relative;
  fill: #0f0f0f;
  width: 0.572em;
  height: 1em;
}
.pagetop_anchor a:hover::before {
  scale: 1.2;
}
@media (min-width: 769px) {
  .pagetop_anchor.is-fixed {
    bottom: 18rem;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor.is-fixed {
    bottom: 29.2rem;
  }
}



