body#toppage .visual {
  position: relative;
  height: 45rem;
  padding-top: 12.5rem;
}
@media (max-width: 768px) {
  body#toppage .visual {
    height: 133.3333333333vw;
    padding-top: 20.8333333333vw;
  }
}
body#toppage .visual::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 45rem;
  background: url("../images/toppage/visual_bg.jpg") no-repeat 50% 50%;
  background-size: cover;
}
@media (max-width: 768px) {
  body#toppage .visual::before {
    height: 133.3333333333vw;
  }
}
body#toppage .visual .copy {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 768px) {
  body#toppage .visual .copy {
    gap: 2.0833333333vw;
  }
}
body#toppage .visual .copy .character {
  width: 8.125rem;
}
@media (max-width: 768px) {
  body#toppage .visual .copy .character {
    width: 25vw;
  }
}
body#toppage .visual .copy h2 {
  color: var(--key);
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1.15;
  text-shadow: 0 0 0.625rem var(--wh);
}
@media (max-width: 768px) {
  body#toppage .visual .copy h2 {
    font-size: 11.25vw;
    text-shadow: 0 0 2.0833333333vw var(--wh);
  }
}
body#toppage .visual .localnav {
  margin-top: 10rem;
}
@media (max-width: 768px) {
  body#toppage .visual .localnav {
    margin-top: 12.5vw;
  }
}
body#toppage .visual .localnav ul {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .visual .localnav ul {
    flex-wrap: wrap;
    gap: 4.1666666667vw;
  }
}
body#toppage .visual .localnav ul li:nth-child(1) {
  transition-delay: 0.1s;
}
body#toppage .visual .localnav ul li:nth-child(2) {
  transition-delay: 0.2s;
}
body#toppage .visual .localnav ul li:nth-child(3) {
  transition-delay: 0.3s;
}
body#toppage .visual .localnav ul li:nth-child(4) {
  transition-delay: 0.4s;
}
body#toppage .visual .localnav ul li:nth-child(5) {
  transition-delay: 0.5s;
}
body#toppage .visual .localnav ul li:nth-child(6) {
  transition-delay: 0.6s;
}
body#toppage .visual .localnav ul li a {
  display: block;
  border-radius: 0.625rem;
  text-decoration: none;
  background-color: var(--wh90);
}
@media (max-width: 768px) {
  body#toppage .visual .localnav ul li a {
    border-radius: 2.0833333333vw;
  }
}
body#toppage .visual .localnav ul li a figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  width: 9.375rem;
  height: 9.375rem;
}
@media (max-width: 768px) {
  body#toppage .visual .localnav ul li a figure {
    gap: 2.0833333333vw;
    width: 27.0833333333vw;
    height: 27.0833333333vw;
  }
}
body#toppage .visual .localnav ul li a figure img {
  width: 4.375rem;
  height: 4.375rem;
  transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#toppage .visual .localnav ul li a figure img {
    width: 12.5vw;
    height: 12.5vw;
  }
}
body#toppage .visual .localnav ul li a figure figcaption {
  position: relative;
  padding-bottom: 0.3125rem;
  color: var(--key);
  font-size: 0.875rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#toppage .visual .localnav ul li a figure figcaption {
    padding-bottom: 1.0416666667vw;
    font-size: 2.5vw;
  }
}
body#toppage .visual .localnav ul li a figure figcaption::after {
  content: "";
  position: absolute;
  bottom: 0.1em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--key);
  transform: scale(0, 1);
  transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
body#toppage .visual .localnav ul li a:hover figure img {
  transform: scale(1.1);
}
body#toppage .visual .localnav ul li a:hover figure figcaption::after {
  transform: scale(1, 1);
}
body#toppage .section + .section {
  margin-top: 5rem;
}
@media (max-width: 768px) {
  body#toppage .section + .section {
    margin-top: 16.6666666667vw;
  }
}
body#toppage .section .subject {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 3.125rem;
}
@media (max-width: 768px) {
  body#toppage .section .subject {
    gap: 2.0833333333vw;
    margin-bottom: 6.25vw;
  }
}
body#toppage .section .subject p {
  color: var(--key);
  font-family: "Staatliches", sans-serif;
  font-size: 3.75rem;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  body#toppage .section .subject p {
    font-size: 12.5vw;
  }
}
body#toppage .section .subject h3 {
  color: var(--orange);
  font-size: 1.125rem;
  transition-delay: 0.1s;
}
@media (max-width: 768px) {
  body#toppage .section .subject h3 {
    font-size: 3.75vw;
  }
}
body#toppage .news {
  position: relative;
  padding: 3.75rem 0;
  background-color: var(--key10);
}
body#toppage .news .contents {
  width: 50rem;
  margin: 0 auto;
}
@media (max-width: 768px) {
  body#toppage .news .contents {
    width: 100%;
  }
}
body#toppage .news .contents .entries li {
  border-bottom: solid 1px var(--bk10);
}
body#toppage .news .contents .entries li a {
  position: relative;
  display: block;
  padding: 0.9375rem 5rem 0.9375rem 1.25rem;
  text-decoration: none;
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a {
    padding: 2.0833333333vw;
  }
}
body#toppage .news .contents .entries li a::before, body#toppage .news .contents .entries li a::after {
  content: "";
  position: absolute;
  right: 1.875rem;
  top: 50%;
  background-color: var(--key);
  transition: right 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a::before, body#toppage .news .contents .entries li a::after {
    top: 8.3333333333vw;
    right: 4.1666666667vw;
  }
}
body#toppage .news .contents .entries li a::before {
  width: 1.875rem;
  height: 1px;
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a::before {
    width: 12.5vw;
  }
}
body#toppage .news .contents .entries li a::after {
  width: 1px;
  height: 0.4375rem;
  transform: translateY(-100%) rotate(-45deg);
  transform-origin: 100% 100%;
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a::after {
    height: 1.0416666667vw;
  }
}
body#toppage .news .contents .entries li a:hover {
  background-color: var(--key10);
}
body#toppage .news .contents .entries li a:hover::before, body#toppage .news .contents .entries li a:hover::after {
  right: 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a:hover::before, body#toppage .news .contents .entries li a:hover::after {
    right: 2.0833333333vw;
  }
}
body#toppage .news .contents .entries li a dl {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  font-size: 1rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a dl {
    flex-direction: column-reverse;
    font-size: 3.3333333333vw;
  }
}
body#toppage .news .contents .entries li a dl dt {
  flex-basis: 85%;
  padding: 0.625rem;
  color: var(--bk70);
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a dl dt {
    padding: 2.0833333333vw;
  }
}
body#toppage .news .contents .entries li a dl dd {
  flex-basis: 15%;
  padding: 0.625rem;
  color: var(--orange);
  font-family: "Staatliches", sans-serif;
}
@media (max-width: 768px) {
  body#toppage .news .contents .entries li a dl dd {
    padding: 2.0833333333vw 2.0833333333vw 0 2.0833333333vw;
  }
}
body#toppage .news .contents .nav {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  body#toppage .news .contents .nav {
    margin-top: 8.3333333333vw;
  }
}
body#toppage .news .contents .nav .btn {
  position: relative;
  display: block;
  width: 22.5rem;
  padding: 1.25rem;
  border: solid 1px var(--key);
  color: var(--key);
  font-size: 1.125rem;
  text-decoration: none;
  text-align: center;
  line-height: 1.75;
  cursor: pointer;
}
@media (max-width: 768px) {
  body#toppage .news .contents .nav .btn {
    width: 75vw;
    padding: 4.1666666667vw;
    font-size: 3.75vw;
  }
}
body#toppage .news .contents .nav .btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 0;
  height: 100%;
  background-color: var(--key);
  transition: width 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
body#toppage .news .contents .nav .btn:hover {
  color: var(--wh);
}
body#toppage .news .contents .nav .btn:hover::before {
  width: 100%;
}
body#toppage .news .contents .nav .btn:hover::after {
  right: 0.625rem;
  background-color: var(--wh80);
}
@media (max-width: 768px) {
  body#toppage .news .contents .nav .btn:hover::after {
    right: 2.0833333333vw;
  }
}
body#toppage .service {
  position: relative;
}
body#toppage .service .anchor {
  position: absolute;
  top: -10.625rem;
  left: 0;
}
@media (max-width: 768px) {
  body#toppage .service .anchor {
    top: -14.5833333333vw;
  }
}
body#toppage .service h4 {
  display: flex;
  align-items: center;
  gap: 1.875rem;
  margin-bottom: 1.25rem;
  color: var(--key);
  font-size: 1.875rem;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 768px) {
  body#toppage .service h4 {
    gap: 6.25vw;
    margin-bottom: 4.1666666667vw;
    font-size: 6.25vw;
  }
}
body#toppage .service h4::before, body#toppage .service h4::after {
  content: "";
  flex: 1 1 0%;
  height: 3px;
  border-top: solid 1px var(--key);
  border-bottom: solid 1px var(--key);
}
body#toppage .service .onsite {
  position: relative;
}
body#toppage .service .onsite .contents {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents {
    flex-direction: column;
  }
}
body#toppage .service .onsite .contents .map {
  width: 30rem;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .map {
    width: 80%;
    margin: 0 auto;
  }
}
body#toppage .service .onsite .contents .cities {
  width: 30rem;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities {
    width: 100%;
  }
}
body#toppage .service .onsite .contents .cities .area {
  position: relative;
  padding: 0.625rem 1.25rem 0.625rem 1.875rem;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities .area {
    padding: 2.0833333333vw 4.1666666667vw 2.0833333333vw 6.25vw;
  }
}
body#toppage .service .onsite .contents .cities .area::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  width: 0.625rem;
  height: calc(100% - 1.25rem);
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities .area::before {
    top: 2.0833333333vw;
    left: 2.0833333333vw;
    width: 2.0833333333vw;
    height: calc(100% - 4.1666666667vw);
  }
}
body#toppage .service .onsite .contents .cities .area:nth-child(even) {
  background-color: var(--bk05);
}
body#toppage .service .onsite .contents .cities .area:nth-child(1)::before {
  background-color: #ff8080;
}
body#toppage .service .onsite .contents .cities .area:nth-child(2)::before {
  background-color: #b3b3ff;
}
body#toppage .service .onsite .contents .cities .area:nth-child(3)::before {
  background-color: #add957;
}
body#toppage .service .onsite .contents .cities .area:nth-child(4)::before {
  background-color: #ffb366;
}
body#toppage .service .onsite .contents .cities .area:nth-child(5)::before {
  background-color: #ffb3d9;
}
body#toppage .service .onsite .contents .cities .area:nth-child(6)::before {
  background-color: #cc7acc;
}
body#toppage .service .onsite .contents .cities .area:nth-child(7)::before {
  background-color: #ffcc66;
}
body#toppage .service .onsite .contents .cities .area:nth-child(8)::before {
  background-color: #b3d9ff;
}
body#toppage .service .onsite .contents .cities .area:nth-child(9)::before {
  background-color: #ff99cc;
}
body#toppage .service .onsite .contents .cities .area:nth-child(10)::before {
  background-color: #80bfff;
}
body#toppage .service .onsite .contents .cities .area dt {
  font-size: 1.125rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities .area dt {
    font-size: 3.3333333333vw;
  }
}
body#toppage .service .onsite .contents .cities .area dd {
  color: var(--red);
  font-size: 1rem;
  font-weight: 700;
  text-align: right;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities .area dd {
    font-size: 3.3333333333vw;
  }
}
body#toppage .service .onsite .contents .cities .area dd strong {
  font-family: "Staatliches", sans-serif;
  font-size: 1.875rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  body#toppage .service .onsite .contents .cities .area dd strong {
    font-size: 6.25vw;
  }
}
body#toppage .service .type {
  position: relative;
  margin-top: 3.75rem;
}
@media (max-width: 768px) {
  body#toppage .service .type {
    margin-top: 12.5vw;
  }
}
body#toppage .service .type .onsitenav {
  margin-bottom: 1.25rem;
  padding-left: 1.05em;
  text-indent: -1.05em;
  color: var(--red);
  font-size: 0.875rem;
  text-align: right;
  line-height: 1.5;
}
@media (max-width: 768px) {
  body#toppage .service .type .onsitenav {
    margin-bottom: 4.1666666667vw;
    font-size: 2.9166666667vw;
    text-align: left;
  }
}
body#toppage .service .type .onsitenav a {
  font-weight: 700;
}
body#toppage .service .type .contents {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1.875rem;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents {
    flex-direction: column-reverse;
    gap: 6.25vw;
  }
}
body#toppage .service .type .contents .pic {
  position: sticky;
  top: 10.625rem;
  left: 0;
  width: 30rem;
  align-self: flex-start;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .pic {
    position: relative;
    top: 0;
    width: 80%;
    margin: 0 auto;
  }
}
body#toppage .service .type .contents .detail {
  align-self: center;
  width: 30.625rem;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail {
    width: 90%;
    margin: 0 auto;
  }
}
body#toppage .service .type .contents .detail .panel {
  margin-bottom: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-bottom: dotted 1px var(--key);
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel {
    margin-bottom: 3.125vw;
    padding-bottom: 3.125vw;
  }
}
body#toppage .service .type .contents .detail .panel:last-child {
  margin-bottom: 0;
}
body#toppage .service .type .contents .detail .panel dl {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.0416666667vw 2.0833333333vw;
  }
}
body#toppage .service .type .contents .detail .panel dl dt {
  flex: 1 1 0%;
  color: var(--key);
  font-size: 1.125rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl dt {
    flex-basis: 100%;
    font-size: 5vw;
  }
}
body#toppage .service .type .contents .detail .panel dl .time {
  width: 5rem;
  padding: 0.3125rem 0.3125rem 0.125rem;
  border-radius: 0.3125rem;
  color: var(--wh);
  font-family: "Staatliches", sans-serif;
  font-size: 1.125rem;
  text-align: center;
  background-color: var(--orange);
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl .time {
    width: 20.8333333333vw;
    padding: 1.0416666667vw 1.0416666667vw 0.4166666667vw;
    border-radius: 1.0416666667vw;
    font-size: 3.75vw;
  }
}
body#toppage .service .type .contents .detail .panel dl .time strong {
  margin-right: 0.3125rem;
  font-size: 1.5rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl .time strong {
    margin-right: 0.625vw;
    font-size: 5vw;
  }
}
body#toppage .service .type .contents .detail .panel dl .price {
  width: 8.125rem;
  color: var(--red);
  font-size: 1rem;
  font-weight: 700;
  text-align: right;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl .price {
    width: 33.3333333333vw;
    font-size: 3.3333333333vw;
  }
}
body#toppage .service .type .contents .detail .panel dl .price strong {
  font-family: "Staatliches", sans-serif;
  font-size: 1.875rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel dl .price strong {
    font-size: 7.5vw;
  }
}
body#toppage .service .type .contents .detail .panel p {
  margin-top: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .service .type .contents .detail .panel p {
    margin-top: 1.0416666667vw;
    font-size: 2.9166666667vw;
  }
}
body#toppage .service .type .contents .detail .panel p sup {
  color: var(--red);
}
body#toppage .service .type .notes {
  margin-top: 1.25rem;
}
@media (max-width: 768px) {
  body#toppage .service .type .notes {
    margin-top: 4.1666666667vw;
  }
}
body#toppage .service .type .notes li {
  color: var(--red);
  padding-left: 1.875em;
  text-indent: -1.875em;
  font-size: 0.75rem;
  line-height: 1.75;
}
@media (max-width: 768px) {
  body#toppage .service .type .notes li {
    font-size: 2.5vw;
  }
}
body#toppage .service .type .notes li + li {
  margin-top: 0.3125rem;
}
@media (max-width: 768px) {
  body#toppage .service .type .notes li + li {
    margin-top: 1.0416666667vw;
  }
}