@charset "UTF-8";
/* CSSリセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

.inter-regular {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.noto-sans-jp-normal {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

ul {
  list-style: none;
}

/* コンテンツ幅 */
/* color */
.mb30 {
  margin-bottom: 30px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #585858;
  min-width: 1400px;
}
@media screen and (max-width: 768px) {
  body {
    min-width: inherit;
    font-size: 15px;
  }
}

h2 {
  font-family: "Inter";
  font-size: 34px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
  position: relative;
  color: #0F5A5F;
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 28px;
  }
}

h3 {
  font-family: "lato";
  font-size: 25px;
}

p {
  color: #585858;
  line-height: 2em;
}

a {
  text-decoration: none;
  color: #585858;
  transition: 0.3s;
}

a:hover {
  opacity: 0.9;
}

.sp_br {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_br {
    display: block;
  }
}

.pc_br {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc_br {
    display: none;
  }
}

header .kv {
  position: relative;
  display: flex;
  height: 840px;
}
@media screen and (max-width: 768px) {
  header .kv {
    display: block;
    height: inherit;
  }
}
header .kv .kv-left {
  width: 60%;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .kv .kv-left {
    width: 100%;
  }
}
header .kv .kv-left .kv-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .kv-image {
    height: 60vh;
  }
}
header .kv .kv-left .logo {
  position: absolute;
  top: 50px;
  left: 10%;
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .logo {
    top: 50px;
    left: 5%;
  }
}
header .kv .kv-left .logo img {
  width: 240px;
  height: auto;
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .logo img {
    width: 100px;
  }
}
header .kv .kv-left .copy {
  position: absolute;
  top: 50px;
  right: 10%;
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .copy {
    top: 50px;
  }
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .copy div img {
    width: 150px;
  }
}
header .kv .kv-left .name {
  position: absolute;
  bottom: 50px;
  left: 10%;
  color: #fff;
  font-size: 72px;
  text-align: left;
  font-weight: 600;
  font-family: "lato";
}
@media screen and (max-width: 768px) {
  header .kv .kv-left .name {
    font-size: 55px;
  }
}
header .kv .kv-right {
  width: 40%;
  background-image: url(../img/header-right-bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 40px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right {
    width: 100%;
    padding: 30px 40px;
  }
}
header .kv .kv-right .kv-right-content {
  width: 80%;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content {
    width: 100%;
  }
}
header .kv .kv-right .kv-right-content .display-sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .display-sp-only {
    display: block;
    margin-top: -20px;
    margin-bottom: 30px;
  }
  header .kv .kv-right .kv-right-content .display-sp-only .kv-right-content-reserve {
    padding: 10px;
  }
}
header .kv .kv-right .kv-right-content .display-sp-only2 {
  display: none;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .display-sp-only2 {
    display: block;
  }
  header .kv .kv-right .kv-right-content .display-sp-only2 .kv-right-content-reserve {
    padding: 10px;
  }
}
header .kv .kv-right .kv-right-content .display-pc-only {
  display: block;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .display-pc-only {
    display: none;
  }
}
header .kv .kv-right .kv-right-content ul {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content ul {
    width: 100%;
  }
}
header .kv .kv-right .kv-right-content ul li {
  padding-right: 20px;
  margin-bottom: 10px;
  position: relative;
}
header .kv .kv-right .kv-right-content ul li:nth-child(2n) {
  padding-right: 0;
  padding-left: 20px;
}
header .kv .kv-right .kv-right-content ul li:nth-child(2n)::after {
  display: none;
}
header .kv .kv-right .kv-right-content ul li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 60%;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
}
header .kv .kv-right .kv-right-content ul li a {
  color: #ffffff;
}
header .kv .kv-right .kv-right-content .second {
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .second {
    padding-bottom: 0;
  }
}
header .kv .kv-right .kv-right-content .kv-right-content-time h2 {
  font-size: 16px;
  color: #ffffff;
  font-weight: normal;
  text-align: left;
  padding-top: 30px;
  margin-bottom: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.4666666667);
}
header .kv .kv-right .kv-right-content .kv-right-content-time dl {
  display: flex;
  flex-wrap: wrap;
  background: #ffffff;
  color: #585858;
  text-align: center;
  margin-bottom: 10px;
}
header .kv .kv-right .kv-right-content .kv-right-content-time dl dt {
  font-size: 16px;
  font-weight: normal;
  width: 40%;
  padding: 5px;
  box-sizing: border-box;
  border-bottom: 1px solid #585858;
}
header .kv .kv-right .kv-right-content .kv-right-content-time dl .table-title {
  background: #585858;
  color: #ffffff;
}
header .kv .kv-right .kv-right-content .kv-right-content-time dl .table-title dd {
  background: #585858;
  color: #ffffff;
}
header .kv .kv-right .kv-right-content .kv-right-content-time dl dd {
  font-size: 16px;
  font-weight: normal;
  width: 10%;
  padding: 5px;
  box-sizing: border-box;
  border-left: 1px solid #585858;
  border-bottom: 1px solid #585858;
}
header .kv .kv-right .kv-right-content .kv-right-content-time p {
  font-size: 14px;
  color: #ffffff;
  text-align: left;
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve {
  margin-top: 30px;
  padding: 30px;
  background: #fff;
  border-radius: 20px;
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve::before {
  content: "";
  position: absolute;
  background-image: url(../img/reserve-icon01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(-10em, -50%);
  width: 45px;
  height: 39px;
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve:hover {
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .kv-right-content-reserve::before {
    display: none;
  }
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve p {
  font-size: 20px;
  font-weight: bold;
  color: #2B2E31;
  padding-bottom: 30px;
  position: relative;
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve p::before {
  content: "Reservation";
  position: absolute;
  font-size: 18px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
header .kv .kv-right .kv-right-content .kv-right-content-reserve a {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
header .kv .kv-right .kv-right-content .kv-right-content-contact {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4666666667);
}
header .kv .kv-right .kv-right-content .kv-right-content-contact h2 {
  font-size: 16px;
  color: #ffffff;
  font-weight: normal;
  text-align: left;
  margin-top: 30px;
  margin-bottom: 0px;
}
header .kv .kv-right .kv-right-content .kv-right-content-contact a {
  font-size: 48px;
  color: #ffffff;
  text-align: left;
  font-family: "lato";
  font-weight: 600;
  line-height: 1.2em;
}
@media screen and (max-width: 768px) {
  header .kv .kv-right .kv-right-content .kv-right-content-contact a {
    font-size: 40px;
  }
}
header .kv .kv-right .kv-right-content .kv-right-content-contact div {
  font-size: 14px;
  color: #ffffff;
}
header #navi {
  position: fixed;
  top: -70px;
  right: 0;
  width: 100%;
  background: #ffffff;
  z-index: 9;
  transition: 0.5s;
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  header #navi {
    top: 0px;
    right: -100vw;
    height: 100vh;
    padding: 30% 10%;
    box-sizing: border-box;
    background: #0F5A5F;
  }
}
header #navi .navi-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu {
    display: block;
  }
}
header #navi .navi-menu h1 {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu h1 {
    display: none;
  }
}
header #navi .navi-menu h1 a img {
  width: 200px;
}
header #navi .navi-menu .menu-list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list {
    display: block;
  }
}
header #navi .navi-menu .menu-list ul {
  display: flex;
  padding-top: 20px;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul {
    display: block;
    margin-right: 0;
    margin-bottom: 50px;
  }
}
header #navi .navi-menu .menu-list ul li {
  font-size: 14px;
  padding-right: 40px;
  position: relative;
}
header #navi .navi-menu .menu-list ul li:first-child {
  display: none;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul li {
    text-align: center;
    margin-bottom: 10px;
    padding-right: 0px;
  }
  header #navi .navi-menu .menu-list ul li:first-child {
    display: block;
  }
  header #navi .navi-menu .menu-list ul li::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 10px;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #585858;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul li::before {
    background-color: #ffffff;
  }
}
header #navi .navi-menu .menu-list ul li::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 10px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #585858;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul li::after {
    background-color: #ffffff;
  }
}
header #navi .navi-menu .menu-list ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}
header #navi .navi-menu .menu-list ul li:last-child::after {
  display: none;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul li:last-child::after {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list ul li a {
    color: #ffffff;
  }
}
header #navi .navi-menu .menu-list .navi-contact {
  background: #33A392;
  display: flex;
  padding: 20px 100px 5px 20px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list .navi-contact {
    padding: 20px;
    display: table;
    width: 100%;
    box-sizing: border-box;
  }
}
header #navi .navi-menu .menu-list .navi-contact p {
  color: #ffffff;
  font-size: 12px;
  margin-right: 10px;
  line-height: 1.3em;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list .navi-contact p {
    text-align: center;
    margin: 0;
  }
}
header #navi .navi-menu .menu-list .navi-contact a {
  color: #ffffff;
  font-size: 36px;
  font-family: "Inter";
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  header #navi .navi-menu .menu-list .navi-contact a {
    font-size: 32px;
    display: table;
    margin: 0 auto;
  }
}
header #navi #navireserve {
  position: fixed;
  right: -140px;
  top: 69px;
  background: #33A392;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  header #navi #navireserve {
    top: initial;
    bottom: 0;
  }
}
header #navi #navireserve a {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.2em;
  text-align: center;
  display: inline-block;
  padding: 70px 30px 40px 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  header #navi #navireserve a {
    font-size: 14px;
    padding: 50px 20px 30px 20px;
  }
}
header #navi #navireserve a::before {
  content: "";
  position: absolute;
  background-image: url(../img/reserve-white-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 48px;
  height: 42px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  header #navi #navireserve a::before {
    width: 36px;
    top: 12px;
  }
}
header #navi #navireserve a::after {
  content: "Reservation";
  font-size: 11px;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  header #navi #navireserve a::after {
    bottom: 10px;
  }
}
header .page-navi {
  top: 0 !important;
}
header .page-reserve {
  right: 0 !important;
}
header #hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9;
  display: none;
}
@media screen and (max-width: 768px) {
  header #hamburger {
    display: block;
  }
}
header #hamburger span {
  display: block;
  width: 30px;
  height: 2px;
  background: #0F5A5F;
  margin: 6px 0;
  transition: 0.15s;
}
header #hamburger span:last-child {
  margin-bottom: 0;
}
header .page-title {
  width: 100%;
  height: 148px;
  background: #E6F4F2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 69px;
}
@media screen and (max-width: 768px) {
  header .page-title {
    margin-top: 0;
  }
}
header .page-title h1 {
  font-size: 28;
  width: 100%;
  text-align: center;
  position: relative;
  padding-bottom: 30px;
  font-family: "lato";
}
header .page-title h1::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  text-align: center;
  font-size: 20px;
}
header .page-title .page-message::after {
  content: "Message";
}
header .page-title .page-medical_information::after {
  content: "Medical Department";
}
@media screen and (max-width: 768px) {
  header .page-title .page-medical_information::after {
    font-size: 16px;
  }
}
header .page-title .page-archive::after {
  content: "News";
}
header .page-title .page-single {
  padding-bottom: 0;
}
header .page-title .page-shoshin::after {
  content: "For First-Time Visitors";
  width: 100%;
}

section {
  background: #E6F4F2;
  padding: 100px 0 0;
}
section .content {
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
}

.bk-gray {
  background: #ebebeb;
}

.bk-white {
  background: #fff;
}

.news {
  border-bottom: 12px solid #ffffff;
  padding-bottom: 100px;
}
.news .content {
  display: flex;
}
@media screen and (max-width: 768px) {
  .news .content {
    display: block;
  }
}
.news .content .news-box {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .news .content .news-box {
    width: 100%;
    margin-bottom: 20px;
  }
}
.news .content .news-box h2 {
  display: table;
  padding-right: 100px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .news .content .news-box h2 {
    margin-bottom: 20px;
  }
}
.news .content .news-box h2::after {
  content: "お知らせ";
  position: absolute;
  top: 50%;
  right: 0;
  width: 4em;
  transform: translateY(-50%);
  font-size: 15px;
  color: #585858;
}
.news .content .news-box a {
  background: #585858;
  padding: 10px 40px 10px 20px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
  display: inline-block;
  position: relative;
}
.news .content .news-box a::before {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background: #ffffff;
}
.news .content .news-box a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateX(50%);
  width: 10px;
  height: 1px;
  background: #ffffff;
}
.news .content ul {
  width: 65%;
}
@media screen and (max-width: 768px) {
  .news .content ul {
    width: 100%;
  }
}
.news .content ul li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.17);
}
.news .content ul li a {
  display: flex;
  align-items: center;
  padding: 10px 0;
}
.news .content ul li a .news-date {
  font-size: 15px;
  color: #585858;
  font-weight: 400;
  margin-right: 40px;
}
.news .content ul li a .news-title {
  font-size: 15px;
  color: #585858;
  font-weight: 400;
  padding-left: 1em;
  position: relative;
  color: #33A392;
}
.news .content ul li a .news-title::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 50%;
  font-size: 10px;
  transform: translateY(-50%);
  color: #585858;
}

.medical-infomation .content h2 {
  position: relative;
  padding-bottom: 30px;
}
.medical-infomation .content h2::after {
  content: "Medical Departmennt";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
  color: #585858;
  font-weight: 400;
}
.medical-infomation .read {
  font-size: 18px;
  text-align: center;
  margin-bottom: 45px;
}
.medical-infomation .bg-gray {
  background: #f5f5f5;
  padding: 50px 0;
  border-bottom: 12px solid #ffffff;
}
.medical-infomation ul {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .medical-infomation ul {
    display: block;
  }
}
.medical-infomation ul li {
  background: #ffffff;
  margin-bottom: 15px;
  box-sizing: border-box;
  display: flex;
  padding: 10px;
  position: relative;
  border-top: 2px solid #33A392;
}
.medical-infomation ul li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .medical-infomation ul li {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 50px;
  }
  .medical-infomation ul li:last-child {
    margin-bottom: 0;
  }
}
.medical-infomation ul li img {
  width: 410px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .medical-infomation ul li img {
    width: 100%;
  }
}
.medical-infomation ul li .data {
  width: 100%;
  padding: 20px 30px;
  text-align: center;
  background: #ffffff;
  box-sizing: border-box;
}
.medical-infomation ul li .data h3 {
  font-size: 24px;
  margin-bottom: 20px;
  color: #33A392;
  font-weight: 600;
}
.medical-infomation ul li .data h3 span {
  display: table;
  font-size: 11px;
  color: #585858;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .medical-infomation ul li .data p {
    text-align: left;
  }
}
.medical-infomation ul li a {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 10px 60px 10px 40px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 400;
  background: #585858;
}
.medical-infomation ul li a::before {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background: #ffffff;
}
.medical-infomation ul li a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateX(50%);
  width: 10px;
  height: 1px;
  background: #ffffff;
}

.qanda {
  border-bottom: 12px solid #ffffff;
  padding-bottom: 50px;
}
.qanda .content .qanda-title {
  position: relative;
  margin: 0 auto 80px;
  display: table;
  position: relative;
}
.qanda .content .qanda-title::before {
  content: "";
  position: absolute;
  background-image: url(../img/qanda-title-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 167px;
  height: 134px;
  bottom: 0;
  left: -110px;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-title::before {
    left: 50%;
    transform: translateX(-50%);
    bottom: 100px;
  }
}
.qanda .content .qanda-title img {
  display: block;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-title img {
    width: 100%;
    height: 100px;
  }
}
.qanda .content .qanda-title h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  color: #585858;
}
.qanda .content .qanda-title h2 span {
  font-size: 14px;
  color: #0F5A5F;
  display: block;
  margin-top: 10px;
}
.qanda .content .qanda-title a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.qanda .content .qanda-box {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-box {
    display: block;
    width: 100%;
  }
}
.qanda .content .qanda-box h3 {
  display: table;
  position: relative;
  width: 25%;
  margin-bottom: 20px;
  font-size: 27px;
  color: #33A392;
}
.qanda .content .qanda-box h3::after {
  content: "";
  position: absolute;
  top: 50px;
  left: 0;
  font-size: 18px;
  color: #585858;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-box h3 {
    width: 100%;
    margin-bottom: 30px;
  }
  .qanda .content .qanda-box h3::after {
    top: 50%;
    transform: translateY(-50%);
    left: inherit;
    padding-left: 30px;
  }
}
.qanda .content .qanda-box .qanda-flex {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-box .qanda-flex {
    display: block;
  }
}
.qanda .content .qanda-box ul {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-box ul {
    width: 100%;
  }
}
.qanda .content .qanda-box ul li {
  padding: 10px 0 10px 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .qanda .content .qanda-box ul li {
    padding-left: 20px;
  }
}
.qanda .content .qanda-box ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  width: 2px;
  height: 20px;
  background: #33A392;
}
.qanda .content .qanda-box ul li .qanda-question {
  display: flex;
  position: relative;
  margin-bottom: 10px;
  padding-right: 2em;
  box-sizing: border-box;
  cursor: pointer;
}
.qanda .content .qanda-box ul li .qanda-question::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 10px;
  background: #585858;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.qanda .content .qanda-box ul li .qanda-question::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 1px;
  background: #585858;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.qanda .content .qanda-box ul li .qanda-question .q {
  padding-right: 0.5em;
}
.qanda .content .qanda-box ul li .qanda-question.open::before {
  width: 0;
  opacity: 0;
}
.qanda .content .qanda-box ul li .qanda-answer {
  padding-left: 1.5em;
  position: relative;
  font-size: 15px;
  display: none;
}
.qanda .content .qanda-box ul li .qanda-answer::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.qanda .content .qanda-box ul li .qanda-answer b {
  font-weight: bold;
}
.qanda .content .qanda-box ul li .qanda-answer img {
  width: 100%;
}

.messege {
  padding: 0;
}
.messege .wrap {
  background-image: url(../img/message-bk.png);
  position: relative;
}
.messege .wrap .content .messege-box {
  padding: 50px 0 30px;
  display: flex;
}
@media screen and (max-width: 768px) {
  .messege .wrap .content .messege-box {
    display: block;
  }
}
.messege .wrap .content .messege-box h2 {
  position: relative;
  padding-bottom: 30px;
  width: 30%;
  text-align: left;
}
.messege .wrap .content .messege-box h2::after {
  content: "Message";
  font-size: 18px;
  color: #585858;
  font-weight: 400;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .messege .wrap .content .messege-box h2 {
    width: 100%;
  }
}
.messege .wrap .content .messege-box .text {
  padding: 0 50px;
  width: 60%;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .messege .wrap .content .messege-box .text {
    width: 100%;
    padding: 0;
  }
}
.messege .wrap .content .messege-box .text p {
  padding-right: 40px;
  font-size: 26px;
  text-align: center;
  color: #33A392;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .messege .wrap .content .messege-box .text p {
    padding-right: 0;
  }
}
.messege .wrap .content .messege-box .text .cap {
  margin-bottom: 30px;
}
.messege .wrap .content .messege-box .text .name {
  text-align: center;
  font-size: 20px;
}
.messege .wrap .content .messege-box .text .name span {
  font-size: 14px;
  padding-right: 20px;
}
.messege .wrap .content .messege-box .photo {
  position: relative;
  bottom: -30px;
}
@media screen and (max-width: 768px) {
  .messege .wrap .content .messege-box .photo {
    display: block;
    margin: 0 auto 45px;
  }
}
.messege .wrap .content .messege-box a {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 20px 120px;
  background: #585858;
}

.facility {
  background: #ffffff;
  padding-bottom: 100px;
}
.facility .content h2 {
  position: relative;
  padding-bottom: 30px;
}
.facility .content h2::after {
  content: "Introduction to Our Facility";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  font-size: 13px;
  color: #585858;
  font-weight: normal;
}
.facility .content .facility-box .read {
  text-align: center;
  margin-bottom: 30px;
}
.facility .content .facility-box .read-image {
  display: block;
  margin: 0 auto 90px;
}
@media screen and (max-width: 768px) {
  .facility .content .facility-box .read-image {
    width: 100%;
  }
}
.facility .content .facility-box ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .facility .content .facility-box ul {
    display: block;
  }
}
.facility .content .facility-box ul li {
  margin-right: 5px;
}
.facility .content .facility-box ul li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .facility .content .facility-box ul li {
    margin-bottom: 30px;
  }
}
.facility .content .facility-box ul li img {
  width: 100%;
  height: 180px;
  -o-object-fit: cover;
     object-fit: cover;
}
.facility .content .facility-box ul li p {
  text-align: center;
  font-size: 13px;
}
.facility .content .facility-box ul li .title {
  font-size: 16px;
  padding: 15px 0;
  color: #33A392;
  font-weight: bold;
}

footer {
  background: #ebebeb;
  padding-top: 110px;
  text-align: center;
}
footer .footer-content .footer-box img {
  margin-bottom: 15px;
}
footer .footer-content .footer-box .address {
  font-size: 16px;
  margin-bottom: 15px;
}
footer .footer-content .content {
  width: 1024px;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  footer .footer-content .content {
    width: 100%;
  }
}
footer .footer-content .content ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  footer .footer-content .content ul {
    display: block;
    width: 320px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  footer .footer-content .content ul li {
    margin-bottom: 20px;
  }
}
footer .footer-content .content ul li .box {
  width: 320px;
  height: 260px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  position: relative;
}
footer .footer-content .content ul li .box div p {
  font-size: 18px;
  color: #33A392;
}
footer .footer-content .content ul li .box div .etc {
  font-size: 13px;
  color: #585858;
  margin-top: 10px;
  margin-top: 20px;
}
footer .footer-content .content ul li .box div .tel {
  font-size: 30px;
  line-height: 1.5em;
  color: #585858;
  font-weight: bold;
}
footer .footer-content .content ul li .box div .etc-tel {
  font-size: 13px;
}
footer .footer-content .content ul li .box a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
footer .footer-content .content .time {
  display: flex;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  footer .footer-content .content .time {
    display: block;
    padding: 0 2%;
    box-sizing: border-box;
  }
}
footer .footer-content .content .time dl {
  display: flex;
  flex-wrap: wrap;
  color: #585858;
  text-align: center;
  margin-bottom: 10px;
  width: 50%;
  height: 40px;
}
@media screen and (max-width: 768px) {
  footer .footer-content .content .time dl {
    height: inherit;
    width: 100%;
  }
}
footer .footer-content .content .time dl dt {
  font-size: 16px;
  font-weight: normal;
  width: 40%;
  padding: 5px;
  box-sizing: border-box;
  border-bottom: 1px solid #585858;
  height: 40px;
}
footer .footer-content .content .time dl .table-title {
  background: #CCE8E4;
  color: #585858;
}
footer .footer-content .content .time dl .table-title dd {
  background: #585858;
  color: #ffffff;
}
footer .footer-content .content .time dl dd {
  font-size: 16px;
  font-weight: normal;
  width: 10%;
  padding: 5px;
  box-sizing: border-box;
  border-left: 1px solid #585858;
  border-bottom: 1px solid #585858;
}
footer .footer-content .content .time dl dd span {
  color: #33A392;
}
footer .footer-content .content .time div {
  width: 50%;
  margin-left: 20px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  footer .footer-content .content .time div {
    width: 100%;
    margin-left: 0;
  }
}
footer .footer-content .content .time div p {
  font-size: 14px;
}
footer .footer-content .content .time div .caption1 {
  font-size: 12px;
  padding-left: 1.5em;
  position: relative;
}
footer .footer-content .content .time div .caption1::before {
  content: "循";
  color: #33A392;
  position: absolute;
  left: 0;
}
footer .footer-content .content .time div .caption2 {
  font-size: 12px;
  padding-left: 1.5em;
  position: relative;
}
footer .footer-content .content .time div .caption2::before {
  content: "△";
  color: #33A392;
  position: absolute;
  left: 0;
}
footer .footer-content .content .time div .caption3 {
  font-size: 12px;
  padding-left: 1.5em;
  position: relative;
}
footer .footer-content .content .time div .caption3::before {
  content: "▲";
  color: #33A392;
  position: absolute;
  left: 0;
}
footer iframe {
  width: 100%;
  height: 320px;
}
footer .footer-navi {
  display: flex;
  justify-content: space-between;
  padding: 30px 20%;
  background: #0F5A5F;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  footer .footer-navi {
    display: block;
  }
}
footer .footer-navi ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  footer .footer-navi ul {
    display: block;
    text-align: left;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  footer .footer-navi ul li {
    margin-bottom: 10px;
  }
}
footer .footer-navi ul li a {
  color: #ffffff;
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}
footer .footer-navi ul li a::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #ffffff;
}
footer .footer-navi .contact {
  padding: 8px 50px;
  display: table;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  footer .footer-navi .contact {
    margin: 0 auto;
  }
}

.slick-dots {
  bottom: 30px !important;
  right: -52% !important;
  width: inherit !important;
}
@media screen and (max-width: 768px) {
  .slick-dots {
    right: 0 !important;
    bottom: 10px !important;
  }
}

.slick-dots li button:before {
  font-size: 16px !important;
  content: "■" !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.slick-dots li.slick-active button:before {
  color: #585858 !important;
  opacity: 1 !important;
}

@media screen and (max-width: 768px) {
  .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
  }
}

.page-kv img {
  width: 100%;
}

.message-box {
  background: #ffffff;
}
.message-box .content h2 {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .message-box .content h2 {
    text-align: center;
  }
}
.message-box .content .box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .message-box .content .box {
    display: block;
  }
}
.message-box .content .box .photo {
  margin-right: 100px;
}
@media screen and (max-width: 768px) {
  .message-box .content .box .photo {
    margin: 0 auto 50px;
  }
}
.message-box .content .box .photo img {
  width: 254px;
}
@media screen and (max-width: 768px) {
  .message-box .content .box .photo img {
    display: block;
    margin: 0 auto;
  }
}
.message-box .content .box .photo .caption {
  text-align: center;
}
.message-box .content .box .photo .caption p {
  font-size: 30px;
  line-height: 1.5em;
}
.message-box .content .box .photo .caption p span {
  display: table;
  margin: 20px auto 0;
  font-size: 22px;
}
.message-box .content .box .text h3 {
  font-size: 22px;
  color: #0F5A5F;
  margin-top: 100px;
  margin-bottom: 10px;
}

.profile {
  padding-bottom: 150px;
  border-bottom: 10px solid #ffffff;
}
.profile .content .profile-box {
  display: flex;
  justify-content: space-between;
  padding: 30px 0;
  border-top: 1px solid #585858;
}
.profile .content .profile-box:first-child {
  border-top: none;
}
@media screen and (max-width: 768px) {
  .profile .content .profile-box {
    display: block;
  }
}
.profile .content .profile-box h3 {
  display: table;
  font-size: 18px;
  padding-right: 30px;
  position: relative;
  margin-right: 30px;
}
.profile .content .profile-box h3::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 30px;
  top: 0;
  right: 0;
  background: #33A392;
}
@media screen and (max-width: 768px) {
  .profile .content .profile-box h3 {
    margin-bottom: 30px;
  }
}
.profile .content .profile-box .list {
  width: calc(100% - 150px);
  display: flex;
}
@media screen and (max-width: 768px) {
  .profile .content .profile-box .list {
    display: block;
    width: 100%;
  }
}
.profile .content .profile-box .list div h4 {
  font-size: 14px;
  font-weight: bold;
  color: #0F5A5F;
  margin-bottom: 10px;
}
.profile .content .profile-box .list div dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 14px;
}
.profile .content .profile-box .list div dl dt {
  width: 4em;
  color: #33A392;
  margin-bottom: 10px;
}
.profile .content .profile-box .list div dl dd {
  width: calc(100% - 4em);
  margin-bottom: 10px;
}
.profile .content .profile-box .list div dl.shikaku dt {
  width: 2em;
}
.profile .content .profile-box .list div dl.shikaku dd {
  width: calc(100% - 2em);
}
.profile .content .profile-box .list div dl.katsudou dt {
  width: 7em;
}
.profile .content .profile-box .list div dl.katsudou dd {
  width: calc(100% - 7em);
}
.profile .content .profile-box .list .profile-etc {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .profile .content .profile-box .list .profile-etc {
    display: block;
  }
}
.profile .content .profile-box .list .profile-etc .more-list {
  background-color: #585858;
  height: 38px;
}
@media screen and (max-width: 768px) {
  .profile .content .profile-box .list .profile-etc .more-list {
    margin-top: 30px;
  }
}
.profile .content .profile-box .list .profile-etc .more-list a {
  color: #ffffff;
  font-size: 12px;
  width: 140px;
  display: table;
  padding: 10px 60px 10px 30px;
  position: relative;
}
.profile .content .profile-box .list .profile-etc .more-list a::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 1px;
  right: 26px;
  top: 50%;
  transform: translateY(-50%);
  background: #ffffff;
}
.profile .content .profile-box .list .profile-etc .more-list a::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 10px;
  right: 30px;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #ffffff;
}

.medical {
  background: #ffffff;
}
.medical h3 {
  font-size: 22px;
  color: #0F5A5F;
  margin-bottom: 30px;
}
.medical p {
  font-size: 15px;
  line-height: 2em;
  text-align: justify;
  margin-bottom: 20px;
}
.medical .flex-box {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .medical .flex-box {
    display: block;
  }
}
.medical .flex-box .left {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .medical .flex-box .left {
    width: 100%;
  }
}
.medical .flex-box .right {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .medical .flex-box .right {
    width: 100%;
  }
}
.medical .flex-box h4 {
  font-size: 18px;
  color: #33A392;
  margin-bottom: 20px;
}
.medical .bg-rightgreen {
  background: #E6F4F2;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .medical .bg-rightgreen {
    margin-top: 50px;
  }
}
.medical .bg-rightgreen h4 {
  color: #33A392;
}
@media screen and (max-width: 768px) {
  .medical .bg-rightgreen .right h4 {
    margin-top: 20px;
  }
}
.medical .bg-rightgreen p {
  margin-bottom: 0;
}
.medical .content {
  position: relative;
}
.medical .content::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #585858;
  left: 0;
  top: 25px;
}
@media screen and (max-width: 768px) {
  .medical .content::before {
    display: none;
  }
}
.medical .content h2 {
  font-size: 34px;
  position: relative;
  text-align: left;
  width: -moz-fit-content;
  width: fit-content;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .medical .content h2 {
    font-size: 28;
  }
}
.medical .content h2::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 40px;
  background: #33A392;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.medical .content h2::after {
  content: "";
  position: absolute;
  font-family: "Inter";
  font-size: 18px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .medical .content h2::before {
    display: none;
  }
}
.medical .content .general {
  padding-right: 9em;
}
@media screen and (max-width: 768px) {
  .medical .content .general {
    padding: 0;
  }
  .medical .content .general::after {
    width: 85vw;
    right: inherit;
    left: 0;
    top: -5px;
    font-size: 13px;
  }
}
.medical .content .general::before {
  left: 5em;
}
.medical .content .general::after {
  content: "General Internal Medicine";
  right: 1em;
}
.medical .content .respiratory {
  padding-right: 8em;
}
@media screen and (max-width: 768px) {
  .medical .content .respiratory {
    padding: 0;
  }
  .medical .content .respiratory::after {
    width: 85vw;
    right: inherit;
    left: 0;
    top: -5px;
    font-size: 13px;
  }
}
.medical .content .respiratory::before {
  left: 6em;
}
.medical .content .respiratory::after {
  content: "Respiratory Medicine";
  right: 1em;
}
.medical .content .oncology {
  padding-right: 15em;
}
@media screen and (max-width: 768px) {
  .medical .content .oncology {
    padding: 0;
  }
  .medical .content .oncology::after {
    width: 85vw;
    right: inherit;
    left: 0;
    top: -5px;
    font-size: 13px;
  }
}
.medical .content .oncology::before {
  left: 16em;
}
.medical .content .oncology::after {
  content: "Medical Oncology and Supportive Care in Cancer";
  right: 1em;
}
.medical .content .private {
  padding-right: 14em;
}
@media screen and (max-width: 768px) {
  .medical .content .private {
    padding: 0;
  }
  .medical .content .private::after {
    width: 85vw;
    right: inherit;
    left: 0;
    top: -5px;
    font-size: 13px;
  }
}
.medical .content .private::before {
  left: 11.5em;
}
.medical .content .private::after {
  content: "Private Medical Care (Non-Insured Treatment)";
  right: 1em;
}
.medical .content .health {
  padding-right: 15em;
}
@media screen and (max-width: 768px) {
  .medical .content .health {
    padding: 0;
  }
  .medical .content .health::after {
    width: 85vw;
    right: inherit;
    left: 0;
    top: -5px;
    font-size: 13px;
  }
}
.medical .content .health::before {
  left: 15em;
}
.medical .content .health::after {
  content: "Private Medical Care (Non-Insured Treatment)";
  right: 1em;
}
.medical .content .left .respiratory-image {
  position: relative;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .medical .content .left .respiratory-image {
    margin-top: 70px;
  }
}
.medical .content .left .respiratory-image::after {
  content: "";
  position: absolute;
  background-image: url(../img/raspiratory01.png);
  width: 112px;
  height: 97px;
  background-size: contain;
  top: -90px;
  right: 0;
}
.medical .content .left .respiratory-image img {
  width: 100%;
}
.medical .content .right img {
  width: 100%;
  margin-top: 70px;
}
.medical .content .right ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.medical .content .right ul li {
  width: 32%;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .medical .content .right ul li {
    width: 49%;
  }
}
.medical .content .right ul li div {
  width: 100%;
  height: 100px;
  background: #E6F4F2;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.medical .content .right ul li a {
  display: block;
  font-size: 12px;
  padding: 7px 20px;
  background-color: #eee;
  position: relative;
}
.medical .content .right ul li a::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 1px;
  background: #585858;
  top: 50%;
  right: 20px;
}
.medical .content .right ul li a::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 1px;
  background: #585858;
  top: 13px;
  right: 20px;
  transform: rotate(45deg);
}
.medical .content .right .caption {
  padding-left: 1.5em;
  position: relative;
}
.medical .content .right .caption::before {
  content: "■";
  position: absolute;
  color: #CCE8E4;
  left: 0;
}
.medical .content .wide {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .medical .content .wide {
    width: 100%;
  }
}
.medical .content .flex-box2 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 {
    display: block;
  }
}
.medical .content .flex-box2 h4 {
  font-size: 18px;
  font-weight: bold;
  padding-right: 1em;
  margin-right: 1em;
  min-width: 130px;
  position: relative;
}
.medical .content .flex-box2 h4::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 24px;
  background: #33A392;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 h4::after {
    display: none;
  }
}
.medical .content .flex-box2 .left {
  display: flex;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 .left {
    display: block;
    margin-right: 0;
    margin-bottom: 30px;
  }
}
.medical .content .flex-box2 .left div ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.medical .content .flex-box2 .left div ul li {
  width: 49%;
  padding: 30px 15px;
  margin-bottom: 10px;
  box-sizing: border-box;
  background: #E6F4F2;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.medical .content .flex-box2 .left div ul li span {
  font-size: 13px;
}
.medical .content .flex-box2 .right {
  display: flex;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 .right {
    display: block;
  }
}
.medical .content .flex-box2 .right div ul li {
  padding: 30px;
  background: #ebebeb;
  text-align: center;
  min-width: 280px;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 .right div ul li {
    min-width: 100%;
    box-sizing: border-box;
  }
}
.medical .content .flex-box2 .right .health-image {
  margin-top: 0;
  width: 430px;
  height: 153px;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 .right .health-image {
    width: 100%;
    height: auto;
    margin-top: 30px;
  }
}
.medical .content .flex-box2 .half {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .medical .content .flex-box2 .half {
    width: 100%;
  }
}

.shoshin {
  padding-bottom: 20px;
}
.shoshin h2 {
  margin-bottom: 0;
  padding: 10px 80px;
  background: #0F5A5F;
  color: #ffffff;
  font-size: 25px;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .shoshin h2 {
    padding: 10px 10px;
    text-align: center;
  }
}
.shoshin .shoshin-image {
  width: 100%;
}
.shoshin .box {
  padding: 40px 80px;
}
@media screen and (max-width: 768px) {
  .shoshin .box {
    padding: 20px;
  }
}
.shoshin .box h4 {
  font-size: 20px;
  padding-left: 1em;
  position: relative;
  margin-bottom: 10px;
}
.shoshin .box h4::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 3px;
  font-size: 16px;
}
.shoshin .box p {
  padding-left: 1.3em;
  padding-bottom: 2em;
}
.shoshin .box h3 {
  font-size: 22px;
  color: #0F5A5F;
  padding-left: 1em;
  margin-bottom: 20px;
  position: relative;
}
.shoshin .box h3::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  background: #33A392;
  left: 0;
}
.shoshin .box .hatsunetsu-point {
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
}
@media screen and (max-width: 768px) {
  .shoshin .box .hatsunetsu-point {
    display: block;
  }
}
.shoshin .box .hatsunetsu-point div {
  padding: 20px 40px;
  background: #E6F4F2;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .shoshin .box .hatsunetsu-point div {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.shoshin .box .hatsunetsu-point div:last-child {
  margin-right: 0;
}
.shoshin .box .caution {
  font-size: 15px;
}
.shoshin .box .shoshin-contact {
  border: 1px solid #33A392;
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px 40px 10px 20px;
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact {
    display: block;
    padding: 10px 20px;
  }
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact img {
    display: block;
    margin: 0 auto;
  }
}
.shoshin .box .shoshin-contact div {
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact div {
    margin-left: 0;
  }
}
.shoshin .box .shoshin-contact div p {
  padding: 0;
  color: #33A392;
}
.shoshin .box .shoshin-contact div p + p {
  font-family: "Inter";
  color: #585858;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.1em;
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact div p + p {
    text-align: center;
  }
}
.shoshin .box .shoshin-contact div p + p span {
  font-size: 18px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact div p + p span {
    display: block;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .shoshin .box .shoshin-contact div p + p br {
    display: none;
  }
}
.shoshin .box .shoshin-contact div .alltime {
  padding: 0;
  text-align: center;
  display: block;
}
.shoshin .box .flex-box {
  display: flex;
  justify-content: space-between;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .shoshin .box .flex-box {
    display: block;
  }
}
.shoshin .box .flex-box ul {
  margin-bottom: 20px;
}
.shoshin .box .flex-box ul li {
  font-size: 15px;
  line-height: 1.8em;
  padding-left: 1.5em;
  position: relative;
}
.shoshin .box .flex-box ul li::before {
  content: "■";
  position: absolute;
  top: 2px;
  left: 0;
  font-size: 13px;
}
.shoshin .box .flex-box .left {
  width: 47%;
}
@media screen and (max-width: 768px) {
  .shoshin .box .flex-box .left {
    width: 100%;
  }
}
.shoshin .box .flex-box .right {
  width: 47%;
}
@media screen and (max-width: 768px) {
  .shoshin .box .flex-box .right {
    width: 100%;
  }
}
.shoshin .box .flex-box .shoshin-contact {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.shoshin .box .price-and-schedule {
  display: flex;
  font-size: 22px;
  color: #0F5A5F;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule {
    display: block;
  }
}
.shoshin .box .price-and-schedule .title {
  padding: 0 60px 0 1em;
  position: relative;
  display: table;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .title {
    margin-bottom: 10px;
  }
}
.shoshin .box .price-and-schedule .title::before {
  content: "";
  position: absolute;
  width: 4px;
  height: 32px;
  background: #33A392;
  top: 2px;
  left: 0;
}
.shoshin .box .price-and-schedule .max-width {
  width: 20em;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .max-width {
    max-width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .price {
    font-size: 18px;
    line-height: 1.8em;
  }
}
.shoshin .box .price-and-schedule .price .table-wrap {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .price .table-wrap {
    overflow-x: auto;
  }
}
.shoshin .box .price-and-schedule .price .table-wrap table {
  width: calc(100% + 80px);
  font-size: 14px;
  text-align: left;
  border-collapse: collapse;
  border: 1px solid #ccc;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .price .table-wrap table {
    width: 200%;
  }
}
.shoshin .box .price-and-schedule .price .table-wrap table thead {
  background: #585858;
  color: #ffffff;
}
.shoshin .box .price-and-schedule .price .table-wrap table th {
  padding: 5px 10px;
  border-right: 1px solid #ccc;
}
.shoshin .box .price-and-schedule .price .table-wrap table td {
  padding: 5px 10px;
  border-right: 1px solid #ccc;
}
.shoshin .box .price-and-schedule .price .caption {
  font-size: 13px;
  padding-left: 1.5em;
  position: relative;
  width: calc(100% + 80px);
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .shoshin .box .price-and-schedule .price .caption {
    width: 100%;
    line-height: 1.5em;
  }
}
.shoshin .box .price-and-schedule .price .caption::before {
  content: "※";
  position: absolute;
  top: 1px;
  left: 0;
}
.shoshin h3.vaccine {
  font-size: 23px;
  padding: 10px 80px;
  background: #33A392;
  color: #ffffff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .shoshin h3.vaccine {
    padding: 10px 20px 30px;
  }
}
.shoshin h3.vaccine::before {
  width: 0;
}
.shoshin h3.vaccine::after {
  content: "※当院は新潟市接種委託医療機関です";
  position: absolute;
  font-size: 14px;
  right: 20px;
  bottom: 50%;
  transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .shoshin h3.vaccine::after {
    bottom: 5px;
    right: 0;
    transform: translateY(0);
    width: 100%;
    text-align: center;
  }
}
.shoshin .vaccine-caution {
  padding: 20px 80px;
  background: #E8E8E8;
}
@media screen and (max-width: 768px) {
  .shoshin .vaccine-caution {
    padding: 20px;
  }
}
.shoshin .vaccine-caution dl {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.8em;
}
.shoshin .vaccine-caution dl dt {
  width: 9em;
  padding-left: 1.5em;
  position: relative;
  box-sizing: border-box;
}
.shoshin .vaccine-caution dl dt::before {
  content: "■";
  font-size: 13px;
  position: absolute;
  top: 1px;
  left: 0;
}
.shoshin .vaccine-caution dl dd {
  width: calc(100% - 9em);
}
.shoshin .kenshin p.dot {
  font-size: 20px;
  position: relative;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin p.dot {
    font-size: 18px;
    text-align: justify;
  }
}
.shoshin .kenshin p.dot::before {
  content: "■";
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin p.dot::before {
    font-size: 14px;
  }
}
.shoshin .kenshin h3 {
  margin-top: 2em;
}
.shoshin .kenshin .item {
  display: flex;
  margin-left: 1.3em;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin .item {
    display: block;
  }
}
.shoshin .kenshin .item div {
  color: #33A392;
  font-size: 18px;
  margin-right: 30px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin .item div {
    margin-bottom: 20px;
  }
}
.shoshin .kenshin .item ul {
  font-size: 15px;
  margin-right: 30px;
}
.shoshin .kenshin .item ul:last-child {
  margin-right: 0;
}
.shoshin .kenshin .item ul li {
  padding-left: 1.2em;
  position: relative;
  line-height: 1.8em;
}
.shoshin .kenshin .item ul li::before {
  content: "■";
  font-size: 10px;
  position: absolute;
  top: 0;
  left: 0;
  color: #33A392;
}
.shoshin .kenshin .shoshin-contact-flex {
  display: flex;
  justify-content: space-between;
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin .shoshin-contact-flex {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin .shoshin-contact-flex .shoshin-contact {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .shoshin .kenshin .shoshin-contact-flex .shoshin-contact br {
    display: none;
  }
}
.shoshin .kenshin .free {
  padding: 30px 20px;
  background: #ebebeb;
  color: #33A392;
  text-align: center;
  font-size: 18px;
}
.shoshin .kenshin .free p {
  padding: 0;
  color: #33A392;
}

.archive-box {
  background: #ffffff;
  margin-bottom: 100px;
}
.archive-box .content ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.archive-box .content ul li {
  width: 30%;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .archive-box .content ul li {
    width: 46%;
    margin-bottom: 50px;
  }
}
.archive-box .content ul li img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .archive-box .content ul li img {
    height: 160px;
  }
}
.archive-box .content ul li .data {
  padding: 20px;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 768px) {
  .archive-box .content ul li .data {
    padding: 10px;
  }
}
.archive-box .content ul li .data span {
  display: block;
  font-size: 15px;
}
.archive-box .content ul li .data h2 {
  font-size: 16px;
  color: #585858;
  margin-bottom: 40px;
  text-align: left;
  font-weight: normal;
}
.archive-box .content ul li .data a {
  position: absolute;
  right: 20px;
  bottom: 0;
  padding: 0 20px 10px;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .archive-box .content ul li .data a {
    padding: 0;
  }
}
.archive-box .content .nav-links {
  display: table;
  margin: 0 auto;
}
.archive-box .content .nav-links span.page-numbers.current {
  padding: 5px 12px;
  border: 1px solid #ccc;
  display: inline-block;
  margin: 0 5px;
  background: #E6F4F2;
}
.archive-box .content .nav-links a.page-numbers {
  padding: 5px 12px;
  border: 1px solid #ccc;
}
.archive-box .content .nav-links .next, .archive-box .content .nav-links .prev {
  padding: 5px 12px;
  border: 1px solid #ccc;
  margin: 0 5px;
}

.single-box {
  background: #ffffff;
}
.single-box .content article img {
  width: 100%;
  -o-object-fit: contain !important;
     object-fit: contain !important;
}
.single-box .content article h2 {
  margin: 0 0 30px;
  font-size: 24px;
  text-align: left;
}
.single-box .content article h3 {
  margin: 0 0 1em;
  font-size: 20px;
  text-align: left;
  color: #0F5A5F;
}
.single-box .content article p {
  margin-bottom: 50px;
}
.single-box .content article img {
  width: 100%;
  max-height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 50px;
}
.single-box .content article a {
  border-bottom: 1px solid #ccc;
}
.single-box .content .back {
  display: table;
  margin: 100px auto;
  padding: 20px 80px;
  background: #33A392;
  color: #ffffff;
}/*# sourceMappingURL=style.css.map */