@charset "utf-8";
/* CSS Document */
.flexBox img, .grdImgBox img {
  border-radius: 1rem;
}
/*-------------------------
first
--------------------------*/
.reserve_app {
  display: -webkit-flex;
  display: flex;
  justify-content: center !important;
  width: 90%;
  margin: 0 auto;
}
.reserve_app li {
  width: 50%;
  margin: 0 20px 0 !important;
  text-align: center;
}
.reserve_app li img {
  margin-bottom: 10px;
}
.qr-code {
  width: min(24vw, 120px);
}
a.first_Bnr {
  background-color: #fff !important;
  color: var(--c-blue);
  padding: var(--w-10) var(--w-20) !important;
  min-width: inherit !important;
  font-weight: bold;
}
.cp_qa {
  margin: 0 auto;
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}
.cp_qa .cp_actab {
  padding: 20px 0;
  border-bottom: 1px dotted #bbb;
}
/*質問テキスト*/
.cp_qa label {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--fs-20);
  width: calc(100% - 70px);
  margin: 0 0 0 50px;
  padding: 10px;
  cursor: pointer;
}
/*＋アイコン*/
.cp_qa label::before {
  position: absolute;
  content: '+';
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 180%;
  margin-left: -50px;
  padding: 0 0 0 0;
  transition: 0.4s ease;
  color: var(--c-blue);
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ label::before {
  transform: rotate(45deg);
}
/*答えテキスト*/
.cp_qa .cp_actab-content {
  font-size: 1em;
  position: relative;
  overflow: hidden;
  height: 0;
  margin: 0 40px;
  padding: 0 14px;
  transition: 0.4s ease;
  opacity: 0;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
  height: auto;
  padding: 14px;
  opacity: 1;
}
/*-------------------------
about
--------------------------*/
.aboutBox .hB {
  text-align: center;
}
.aboutBox .hB span {
  font-family: var(--ff-en);
  font-size: 8rem;
  color: rgba(153, 197, 222, 0.39);
  line-height: 0.7;
  font-weight: 800;
  display: block;
  margin-bottom: 20px;
}
/*-------------------------
news
--------------------------*/
/*-------------------------
menu
--------------------------*/
ul.menuList li {
  background-color: #E9F4F9;
  padding: 1.4rem 1.4rem 1.4rem 4rem !important;
  font-weight: bold;
  border-radius: 1rem;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
section.bgGray ul.menuList li {
  background-color: #fff;
}
ul.menuList li::before {
  left: 1.6rem !important;
  top: 50% !important;
  transform: translateY(-50%);
}
.menuBox {
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.menuBoxInr {
  padding: 2rem;
}
.menuBox02 {
  flex-grow: 0 !important;
}
.menuBox03 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
.menuBox .hC {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 1.5rem;
}
.kensaBox {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
}
.kensaBox img {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  object-fit: cover;
  height: 200px;
}
.kensaBoxInr {
  padding: 2rem;
}
.faqWrap {
  margin-top: 1.5em;
}
.faqBox {
  margin: 0 0 30px;
  padding: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  overflow: hidden;
}
.faqQ {
  margin: 0;
  padding: 14px 16px;
  font-weight: 700;
  cursor: pointer;
  background: var(--c-blue);
  color: #fff;
}
.faqA {
  margin: 0;
  padding: 14px 16px;
  line-height: 1.8;
  background: #fff;
}
/*-------------------------
access
--------------------------*/
.TimeSchedule {
  text-align: center;
}
/*-------------------------
staff
--------------------------*/
.staffBox {
  position: relative;
}
.staffBox::before, .staffBox::after {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: rgba(140, 197, 224, 0.3);
  position: absolute;
}
.staffBox::before {
  width: min(31.6vw, 380px);
  left: 0;
  top: 0;
  translate: -50% -40%;
}
.staffBox::after {
  width: min(13.75vw, 165px);
  left: 0;
  top: 0;
  translate: -100% 100%;
}
.staffBox img {
  position: relative;
  z-index: 9;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PC Setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width: 768px) {
  .mt50_pc {
    margin-top: 50px !important;
  }
  .mt30_pc {
    margin-top: 30px !important;
  }
  /*-------------------------
first(PC)
--------------------------*/
  /*-------------------------
menu(PC)
--------------------------*/
  /*------------------------
staff(PC)
--------------------------*/
  /*-------------------------
about(PC)
--------------------------*/
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SP Setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
  /*-------------------------
menu(SP)
--------------------------*/
  .faqQ, .faqA {
    padding: 12px 14px;
  }
  .cp_qa .cp_actab-content {
    margin: 0 10px;
  }
  /*------------------------
staff(SP)
--------------------------*/
  .staffBox {
    margin-bottom: 0;
  }
  /*-------------------------
about(SP)
--------------------------*/
  .aboutBox .hB span {
    font-size: 12vw;
  }
  /*-------------------------
access(SP)
--------------------------*/
  table.TimeSchedule th {
    padding: 3px;
    font-size: 4vw;
  }
  table.TimeSchedule td {
    padding: 3px;
    font-size: 4vw;
  }
}
/*INFLUENZA*/
#flu .hA::before {
  content: 'INFLUENZA';
  font-family: var(--ff-en);
  text-transform: uppercase;
  font-size: var(--fs-20);
  color: var(--c-blue);
  display: block;
  font-weight: 600;
}