@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.d-flex {
  display: flex;
}
.d-flex.justify-content-center {
  justify-content: center;
}
.d-flex.align-items-center {
  align-items: center;
}
.d-flex.justify-content-space-between {
  justify-content: space-between;
}
.d-flex.gap {
  gap: 15px;
}

img {
  width: 100%;
  vertical-align: baseline;
  height: auto;
}

li {
  list-style: none;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.fade_in {
  opacity: 0;
  transition-duration: 1500ms;
  transition-property: opacity, transform;
}
.fade_in.fade_in_up {
  transform: translate(0, 50px);
}
.fade_in.scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}

@media screen and (max-width: 639px) {
  .fade_in {
    transition-duration: 1000ms;
  }
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  color: #312d2b;
  opacity: 0;
  transition-duration: 1000ms;
}
@media screen and (max-width: 1024px) {
  body .pc {
    display: none;
  }
}
body header {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  z-index: 3;
  transition: all 1s;
}
body header.active {
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  body header {
    height: 92px;
  }
}
body header .padding {
  padding: 25px 15px;
}
body header .box .logo {
  margin-right: 30px;
  z-index: 2;
}
body header .box .logo img {
  max-width: 268px;
}
@media screen and (max-width: 1380px) {
  body header .box .logo img {
    max-width: 210px;
  }
}
@media screen and (max-width: 1170px) {
  body header .box .logo img {
    max-width: 190px;
  }
}
body header .box .info.left p {
  line-height: 30px;
  letter-spacing: 0.1em;
}
body header .box .info.left p:first-child {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  padding-left: 20px;
}
@media screen and (max-width: 1380px) {
  body header .box .info.left p:first-child {
    font-size: 13px;
  }
}
@media screen and (max-width: 1170px) {
  body header .box .info.left p:first-child {
    font-size: 12px;
  }
}
body header .box .info.left p:first-child span {
  margin-left: 5px;
}
body header .box .info.left p:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../img/pc/svg.svg);
  width: 15px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}
body header .box .info.left p:last-child {
  font-size: 13px;
  color: #7d7d7d;
}
@media screen and (max-width: 1170px) {
  body header .box .info.left p:last-child {
    font-size: 12px;
  }
}
body header .box .info.right p {
  line-height: 30px;
  letter-spacing: 0.1em;
  color: #333333;
}
body header .box .info.right p:first-child {
  font-size: 16px;
  text-align: center;
  margin-bottom: 5px;
  font-weight: 500;
}
body header .box .info.right p:last-child {
  color: #7d7d7d;
  font-size: 25px;
}
@media screen and (max-width: 1380px) {
  body header .box .info.right p:last-child {
    font-size: 20px;
  }
}
@media screen and (max-width: 1170px) {
  body header .box .info.right p:last-child {
    font-size: 18px;
  }
}
body header .box .info.right p:last-child span {
  font-size: 13px;
  margin-right: 3px;
}
body header .box .web img, body header .box .sns img {
  max-width: 220px;
}
@media screen and (max-width: 1380px) {
  body header .box .web img, body header .box .sns img {
    max-width: 190px;
  }
}
@media screen and (max-width: 1170px) {
  body header .box .web img, body header .box .sns img {
    max-width: 130px;
  }
}
@media screen and (max-width: 1024px) {
  body header #nav {
    position: absolute;
    right: 0;
    top: 0;
    width: 80%;
  }
}
body header #nav .hamburger_menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  position: relative;
  width: 92px;
  height: 92px;
  cursor: pointer;
  background-color: #2e61ad;
  position: absolute;
  right: 0;
  z-index: 2;
  transition: all 0.7s ease-in-out;
  padding-bottom: 10px;
}
@media screen and (min-width: 1025px) {
  body header #nav .hamburger_menu {
    display: none;
  }
}
body header #nav .hamburger_menu span {
  position: relative;
  background-color: #fff;
  height: 1px;
  width: 50px;
  border-radius: 1px;
  transition: all 0.4s ease-in-out;
}
body header #nav .hamburger_menu p {
  position: absolute;
  bottom: 14px;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  body header #nav .hamburger_menu.active {
    transition: all 0.4s ease-in-out;
  }
}
body header #nav .hamburger_menu.active span:nth-of-type(1) {
  transform: translateY(4px) rotate(-45deg);
}
body header #nav .hamburger_menu.active span:nth-of-type(2) {
  transform: translateY(-2px) rotate(45deg);
}
@media screen and (max-width: 1024px) {
  body header #nav nav {
    transform: translateX(100%);
    transition: all 0.4s;
    background-color: #fff;
    height: 100vh;
  }
}
@media screen and (max-width: 1024px) {
  body header #nav nav.active {
    transform: translateX(0);
    transition: all 0.4s;
  }
}
body header #nav nav.active ul {
  padding-left: 15px;
}
body header #nav nav.active ul li {
  border-bottom: #4c4947 1px dashed;
}
body header #nav nav.active ul li a {
  position: relative;
}
body header #nav nav.active ul li a::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-left: 10px solid #f59797;
  border-bottom: 10px solid transparent;
  border-right: 10px solid transparent;
}
body header #nav nav ul {
  display: flex;
  justify-content: center;
  border-bottom: 2px solid #333333;
}
@media screen and (max-width: 1024px) {
  body header #nav nav ul {
    border-bottom: none;
    height: 100%;
    flex-direction: column;
  }
}
body header #nav nav ul li:last-child a::before {
  content: none;
}
body header #nav nav ul li a {
  font-size: 20px;
  color: #4c4947;
  padding: 30px;
  display: block;
  position: relative;
}
body header #nav nav ul li a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1px;
  height: 25px;
  background-size: contain;
  background-color: #d6d6d6;
}
@media screen and (max-width: 1024px) {
  body header #nav nav ul li a::before {
    content: none;
  }
}
body header #nav nav ul li a:hover::after {
  content: "";
  background-image: url(../img/pc/hover.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  position: absolute;
  bottom: 3px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
body section#fv .bg {
  background-image: url(../img/pc/main01@2x.jpg);
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat;
  width: 100vw;
  height: 683px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 1024px) {
  body section#fv .bg {
    background-image: url(../img/sp/img@2x.jpg);
    height: auto;
  }
}
body section#fv .bg .chach {
  text-align: center;
}
body section#fv .bg .chach img {
  max-width: 500px;
}
@media screen and (max-width: 1024px) {
  body section#fv .bg .chach img {
    display: block;
    position: absolute;
    right: 0;
    top: 35%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  body section#fv .bg .chach img {
    max-width: 400px;
    top: 30%;
  }
}
@media screen and (max-width: 584px) {
  body section#fv .bg .chach img {
    max-width: 300px;
    top: 25%;
  }
}
body section#fv .bg .chach h2 {
  color: #2d61ad;
  font-size: 45px;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  body section#fv .bg .chach h2 {
    font-size: 35px;
  }
}
@media screen and (max-width: 584px) {
  body section#fv .bg .chach h2 {
    font-size: 25px;
  }
}
body section#fv .bg .chach h2 span {
  display: block;
  color: #4c4947;
  font-size: 35px;
  letter-spacing: 0.08em;
  margin-bottom: 15px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  body section#fv .bg .chach h2 span {
    font-size: 25px;
  }
}
@media screen and (max-width: 584px) {
  body section#fv .bg .chach h2 span {
    font-size: 15px;
  }
}
body section#fv .bg .icon {
  justify-content: center;
  gap: 40px;
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  body section#fv .bg .icon {
    gap: 0;
    justify-content: space-between;
    margin-top: 0;
    position: absolute;
    bottom: -16%;
    left: 0;
    right: 0;
    padding: 0 50px;
  }
}
body section#fv .bg .icon .box {
  width: 240px;
}
@media screen and (max-width: 1024px) {
  body section#fv .bg .icon .box {
    width: 32%;
  }
}
body .container {
  max-width: 1000px;
  margin: auto;
  padding: 0 50px;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media screen and (max-width: 585px) {
  body .container {
    padding: 0 30px;
  }
}
body .row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body .row.margin-bottom {
  margin-bottom: 80px;
}
@media screen and (max-width: 585px) {
  body .row.sm-column-reverse {
    flex-direction: column-reverse;
  }
}
body .row .col-sm-6 {
  width: 100%;
}
@media screen and (min-width: 586px) {
  body .row .col-sm-6 {
    width: 46%;
  }
}
body .row .col-md-6 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  body .row .col-md-6 {
    width: 46%;
  }
}
body .text-center {
  text-align: center;
}
body .position-relative {
  position: relative;
}
body section#news {
  padding-top: 75px;
  padding-bottom: 75px;
}
@media screen and (max-width: 1024px) {
  body section#news {
    padding-top: 25%;
  }
}
body section#news h2 {
  text-align: center;
  color: #312d2b;
  font-size: 30px;
  letter-spacing: 0.1em;
  font-weight: 500;
}
body section#news h2 span {
  margin-top: 30px;
  color: #f59797;
  display: block;
  font-size: 20px;
}
body section#news ul {
  margin-bottom: 50px;
}
body section#news ul li {
  border-bottom: 1px solid #d6d6d6;
  padding: 30px 0;
}
body section#news ul li article {
  font-size: 16px;
}
body section#news ul li article .time {
  margin-right: 30px;
}
body section#news ul li article .time time {
  border: 1px solid #2d61ad;
  color: #2d61ad;
  padding: 5px;
  display: block;
}
body section#news ul li article .text {
  max-width: 650px;
}
body section#news ul li article .text a {
  line-height: 1.8;
  margin: -0.5em 0;
  text-align: justify;
  color: #333333;
  display: block;
}
body section#news .see-more {
  text-align: center;
  padding: 20px 0;
  border: 1px solid #312d2b;
  color: #312d2b;
  border-radius: 35px;
  display: block;
  max-width: 300px;
  width: 100%;
  margin: auto;
}
body h2.img-title {
  max-width: 575px;
  text-align: center;
  font-size: 35px;
  margin: auto;
  font-weight: 500;
  margin-bottom: 60px;
}
body h2.img-title img {
  margin-bottom: 30px;
}
@media screen and (max-width: 585px) {
  body .sm-mb {
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 586px) {
  body br.sm {
    display: none;
  }
}
body section#concept {
  position: relative;
  background-color: #f4fafe;
  padding-top: 75px;
  padding-bottom: 75px;
}
body section#concept::before, body section#concept::after {
  content: "";
  position: absolute;
  top: 0;
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 500px;
}
body section#concept::before {
  background-image: url(../img/pc/left.png);
  left: 0;
}
@media screen and (max-width: 585px) {
  body section#concept::before {
    background-image: url(../img/sp/deco.png);
    width: 100%;
  }
}
body section#concept::after {
  background-image: url(../img/pc/right.png);
  right: 0;
}
@media screen and (max-width: 585px) {
  body section#concept::after {
    content: none;
  }
}
body section#concept p {
  line-height: 2.5;
  font-size: 15px;
}
body section#concept .absolute {
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 1119px) {
  body section#concept .absolute {
    position: relative;
    bottom: unset;
  }
}
body section#concept .absolute.right {
  right: -25%;
  max-width: 640px;
  top: 40%;
}
@media screen and (max-width: 1119px) {
  body section#concept .absolute.right {
    top: -35px;
    right: unset;
  }
}
body section#concept .absolute.left {
  left: -43%;
  max-width: 435px;
  top: 50%;
}
@media screen and (max-width: 1119px) {
  body section#concept .absolute.left {
    top: -35px;
    left: unset;
  }
}
body .bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
body section#skit .bg {
  color: #fff;
  background-image: url(../img/pc/bg_img01@2x.jpg);
  height: 460px;
}
body section#skit .bg .wrap {
  width: 100%;
  border: 1px solid #fff;
  text-align: center;
  padding: 30px 15px;
  position: relative;
}
body section#skit .bg .wrap .before, body section#skit .bg .wrap .after {
  position: absolute;
  width: 15%;
  height: 80%;
}
body section#skit .bg .wrap .before {
  left: 5px;
  top: 5px;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
}
body section#skit .bg .wrap .after {
  right: 5px;
  bottom: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
body section#skit .bg .wrap p {
  font-size: 23px;
  line-height: 2;
  font-weight: 400;
}
@media screen and (max-width: 585px) {
  body section#skit .bg .wrap p {
    font-size: 16px;
  }
}
body .bg_img {
  background-position: bottom;
  background-size: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  background-repeat: no-repeat;
}
body section#feature0102, body section#feature0405 {
  position: relative;
  padding-top: 75px;
  padding-bottom: 75px;
}
body section#feature0102 .position-relative, body section#feature0405 .position-relative {
  z-index: 2;
}
body section#feature0102 .side-line, body section#feature0405 .side-line {
  display: flex;
}
body section#feature0102 .side-line::before, body section#feature0102 .side-line::after, body section#feature0405 .side-line::before, body section#feature0405 .side-line::after {
  content: "";
  background-color: #312d2b;
  height: 1px;
  width: 30%;
  display: block;
  margin-top: 35px;
}
body section#feature0102 .column, body section#feature0405 .column {
  display: flex;
  align-items: center;
  flex-direction: column;
}
body section#feature0102 .column .reason, body section#feature0405 .column .reason {
  text-align: center;
  width: 100%;
}
body section#feature0102 .column .reason img, body section#feature0405 .column .reason img {
  max-width: 200px;
}
body section#feature0102 .column .reason .num, body section#feature0405 .column .reason .num {
  font-size: 55px;
  color: #2e61ad;
  margin-top: -35px;
  font-weight: 400;
}
body section#feature0102 .column .reason h3, body section#feature0405 .column .reason h3 {
  font-size: 20px;
  font-weight: 400;
  padding: 20px 0;
  line-height: 1.5;
  border-bottom: 1px solid #312d2b;
  margin-bottom: 20px;
}
body section#feature0102 .column p, body section#feature0405 .column p {
  font-size: 14px;
  line-height: 1.5;
}
body section#feature0102 img.cover, body section#feature0405 img.cover {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body section#feature0102 .bg_img, body section#feature0405 .bg_img {
  background-image: url(../img/pc/bg_img@2x.png);
}
body section#feature0102::before, body section#feature0102::after {
  content: "";
  position: absolute;
  top: 0;
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 500px;
}
body section#feature0102::before {
  background-image: url(../img/pc/left.png);
  left: 0;
}
@media screen and (max-width: 585px) {
  body section#feature0102::before {
    background-image: url(../img/sp/deco.png);
    width: 100%;
  }
}
body section#feature0102::after {
  background-image: url(../img/pc/right.png);
  right: 0;
}
@media screen and (max-width: 585px) {
  body section#feature0102::after {
    content: none;
  }
}
body section#feature03 .bg {
  color: #fff;
  background-image: url(../img/pc/bg_img02@2x.jpg);
  padding: 155px 0;
}
@media screen and (max-width: 585px) {
  body section#feature03 .bg {
    background-image: url(../img/sp/bg_img10@2x.jpg);
    height: auto;
    padding: 90px 0;
  }
}
body section#feature03 .bg .column {
  display: flex;
  align-items: center;
  flex-direction: column;
}
body section#feature03 .bg .column .reason {
  text-align: center;
}
body section#feature03 .bg .column .reason img {
  max-width: 200px;
}
body section#feature03 .bg .column .reason .num {
  font-size: 55px;
  margin-top: -35px;
  font-weight: 400;
}
body section#feature03 .bg .column .reason h3 {
  font-size: 20px;
  font-weight: 400;
  padding: 20px 0;
  line-height: 1.5;
  border-bottom: 1px solid #fff;
  margin-bottom: 20px;
}
body section#feature03 .bg .column p {
  font-size: 14px;
  line-height: 1.9;
}
body a.common {
  max-width: 400px;
  width: 100%;
  height: 90px;
  text-align: center;
  display: block;
  border: 1px solid #312d2b;
  font-size: 20px;
  color: #312d2b;
  margin: auto;
  line-height: 90px;
  position: relative;
}
body a.common .before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  padding: 5px;
}
body a.common .before span {
  border: 1px solid #312d2b;
  width: 100%;
  height: 100%;
  display: block;
}
body a.common::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-right: 25px solid #f59797;
}
body section#feature0405 .sticker {
  position: absolute;
  top: -15px;
  right: -60px;
  max-width: 120px;
}
@media screen and (max-width: 585px) {
  body section#feature0405 .sticker {
    right: 20px;
  }
}
body section#greeting {
  position: relative;
  margin-top: 75px;
  padding-bottom: 75px;
  background-color: #f7f7f1;
}
body section#greeting::before, body section#greeting::after {
  content: "";
  position: absolute;
  top: 0;
  background-repeat: no-repeat;
  background-size: contain;
  width: 500px;
  height: 500px;
}
body section#greeting::before {
  background-image: url(../img/pc/left02.png);
  left: 0;
}
@media screen and (max-width: 585px) {
  body section#greeting::before {
    background-image: url(../img/sp/deco.png);
    width: 100%;
  }
}
body section#greeting::after {
  background-image: url(../img/pc/right02.png);
  right: 0;
}
@media screen and (max-width: 585px) {
  body section#greeting::after {
    content: none;
  }
}
body section#greeting .bg_img {
  background-image: url(../img/pc/bg_img02@2x.png);
}
body section#greeting .col-sm-6.before {
  position: relative;
}
body section#greeting .col-sm-6.before::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  background-color: #2e61ad;
  width: 100vw;
  height: 80%;
}
@media screen and (max-width: 991px) {
  body section#greeting .col-sm-6.before img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
body section#greeting h2.img-title img {
  margin-top: -6.1%;
}
body section#greeting h3 {
  color: #2d61ad;
  font-size: 24px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 400;
}
body section#greeting p {
  line-height: 1.4;
  font-size: 13px;
}
body section#greeting .name {
  position: relative;
  border: #2e61ad 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 270px;
  width: 100%;
  height: 60px;
  font-weight: 500;
  gap: 25px;
  margin-top: 50px;
  margin-left: auto;
}
@media screen and (max-width: 585px) {
  body section#greeting .name {
    max-width: unset;
  }
}
body section#greeting .name span {
  font-size: 16px;
}
body section#greeting .name span.triangle {
  position: absolute;
  border-bottom: 25px solid transparent;
  border-left: 25px solid #2e61ad;
  top: 0;
  left: 0;
}
body section#greeting .name p {
  font-size: 21px;
}
body section#greeting .white-wrap {
  background-color: #fff;
  padding: 20px 40px;
  height: 100%;
}
body section#greeting .white-wrap h4 {
  background-color: #7d7d7d;
  color: #fff;
  text-align: center;
  font-size: 13px;
  padding: 10px 0;
  font-weight: 400;
  margin-bottom: 30px;
}
body section#greeting .white-wrap table tr {
  margin-bottom: 20px;
  display: block;
}
body section#greeting .white-wrap table tr th {
  text-align: left;
  width: 70px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  vertical-align: middle;
}
body section#greeting .white-wrap table tr td {
  font-size: 14px;
  line-height: 1.5;
}
body section#greeting .white-wrap ul li {
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
}
body section#greeting .white-wrap ul li::before {
  content: "";
  background-color: #2e61ad;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
body section#medical {
  position: relative;
  padding-top: 75px;
  padding-bottom: 75px;
}
@media screen and (max-width: 585px) {
  body section#medical {
    padding-left: 15px;
    padding-right: 15px;
  }
}
body section#medical .medical-box {
  max-width: 1200px;
  margin: auto;
  background-color: #f5fafd;
  padding: 80px;
  position: relative;
}
body section#medical .medical-box .bg_img {
  background-image: url(../img/pc/bg_img@2x.png);
}
@media screen and (max-width: 585px) {
  body section#medical .medical-box {
    padding: 80px 15px;
  }
}
body section#medical .medical-box h2 {
  color: #cddbed;
  font-size: 60px;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 585px) {
  body section#medical .medical-box h2 {
    font-size: 45px;
  }
}
body section#medical .medical-box h2 span {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  color: #312d2b;
  font-size: 32px;
  margin-top: 15px;
  padding-bottom: 30px;
}
body section#medical .medical-box h2::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  background-color: #312d2b;
  width: 1px;
  height: 40px;
}
body section#medical .medical-box .medical-menu {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 80px;
}
@media screen and (max-width: 991px) {
  body section#medical .medical-box .medical-menu {
    grid-template-columns: repeat(2, 1fr);
  }
}
body section#medical .medical-box .medical-menu .item {
  background-color: #4271b5;
  background-image: url(../img/pc/pattern_01@2x.png);
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 40px 0;
  gap: 20px;
  position: relative;
}
@media screen and (max-width: 585px) {
  body section#medical .medical-box .medical-menu .item {
    padding: 25px 0;
    gap: 15px;
  }
}
body section#medical .medical-box .medical-menu .item .icon {
  max-width: 50px;
}
body section#medical .medical-box .medical-menu .item p {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}
body section#medical .medical-box .medical-menu .item::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-right: 25px solid #f59797;
}
body section#info .logo {
  max-width: 268px;
  margin: auto;
}
body section#info .address p {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  margin: 30px 0;
  line-height: 30px;
  letter-spacing: 0.1em;
}
body section#info .address p span {
  margin-left: 5px;
}
body section#info .address p::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  background-image: url(../img/pc/svg.svg);
  width: 15px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}
body section#info .tel p {
  font-size: 25px;
  line-height: 30px;
  letter-spacing: 0.1em;
}
body section#info .tel p span {
  font-size: 16px;
  margin-right: 3px;
}
body section#info .grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
  margin: 30px 0;
}
body section#info .medical-day {
  border-bottom: #312d2b 1px solid;
  border-top: #312d2b 1px solid;
  margin-bottom: 20px;
}
body section#info .medical-day table {
  width: 90%;
  margin: auto;
}
body section#info .medical-day table tr:nth-of-type(1) td {
  padding-top: 20px;
}
body section#info .medical-day table tr:nth-of-type(2) td {
  padding-bottom: 20px;
}
body section#info .medical-day table th, body section#info .medical-day table td {
  text-align: center;
}
body section#info .medical-day table th {
  border-bottom: 1px solid #4c4947;
  padding: 20px 0;
  font-size: 13px;
  letter-spacing: 0.1em;
  font-weight: 500;
}
body section#info .medical-day table td {
  padding: 8px;
  font-size: 12px;
}
body section#info .medical-day table td.available {
  color: #f59797;
}
body section#info .medical-day table td.partial {
  color: #f59797;
}
body section#info .medical-day table td.unavailable {
  color: gray;
}
body section#info .text {
  text-align: center;
}
body section#info .text p {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
body section#info .text p span {
  color: #f59797;
  margin-right: 5px;
}
body section#info .gmap {
  height: 100%;
}
@media screen and (max-width: 767px) {
  body section#info .gmap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
    margin-top: 40px;
  }
}
body section#info .gmap iframe {
  height: 100%;
}
@media screen and (max-width: 767px) {
  body section#info .gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}
body section#floating {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  transition: all 1s;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  body section#floating {
    display: none;
  }
}
body section#floating.floating.active {
  z-index: 1;
  transition: all 0.1s;
}
body section#floating .d-flex {
  align-items: end;
}
body section#floating a {
  display: block;
}
body section#floating a.left, body section#floating a.right {
  padding: 20px 0;
  width: 40%;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 20px;
}
@media screen and (max-width: 585px) {
  body section#floating a.left, body section#floating a.right {
    font-size: 12px;
  }
}
body section#floating a.left {
  background-color: #f59797;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
body section#floating a.left span:first-child {
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}
@media screen and (max-width: 585px) {
  body section#floating a.left span:first-child {
    font-size: 10px;
  }
}
body section#floating a.right {
  background-color: #f5fafd;
  color: #4271b5;
}
body section#floating a.right span:first-child {
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}
@media screen and (max-width: 585px) {
  body section#floating a.right span:first-child {
    font-size: 10px;
  }
}
body section#floating a.right span:last-child {
  font-size: 10px;
}
body section#floating .box {
  width: 20%;
}
body section#floating .box a.to-top {
  display: block;
  width: 77px;
  height: 77px;
  background-color: #2d61ad;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  padding-top: 10px;
  line-height: 1.3;
  position: relative;
}
@media screen and (max-width: 585px) {
  body section#floating .box a.to-top {
    width: 67px;
    height: 67px;
  }
}
body section#floating .box a.to-top:before {
  content: "";
  position: absolute;
  top: 7px;
  margin: auto 0;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #fff;
  border-right: 7px solid transparent;
}
body footer {
  background-color: #333333;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  body footer {
    padding: 40px;
    padding-bottom: 100px;
  }
}
body footer nav {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  body footer nav {
    margin-bottom: 0px;
  }
}
body footer nav ul {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  body footer nav ul {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  body footer nav ul li {
    width: 50%;
    margin-bottom: 40px;
  }
  body footer nav ul li:nth-child(1) {
    order: 1;
  }
  body footer nav ul li:nth-child(2) {
    order: 3;
  }
  body footer nav ul li:nth-child(3) {
    order: 5;
  }
  body footer nav ul li:nth-child(4) {
    order: 2;
  }
  body footer nav ul li:nth-child(5) {
    order: 4;
  }
  body footer nav ul li:nth-child(6) {
    order: 6;
  }
}
body footer nav ul li:last-child a::before {
  content: none;
}
body footer nav ul li a {
  font-size: 14px;
  color: #fff;
  padding: 0 30px;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  body footer nav ul li a {
    padding: 0;
  }
}
body footer nav ul li a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1px;
  background-size: contain;
  background-color: #d6d6d6;
}
@media screen and (max-width: 768px) {
  body footer nav ul li a::before {
    content: none;
  }
}
body footer small {
  display: block;
  text-align: center;
  color: white;
}
/*# sourceMappingURL=style.css.map */