@charset "UTF-8";
html {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
body {
  background-color: #f3e9df;
  color: #572a06;
  font-weight: 500;
  line-height: 1.44;
  letter-spacing: 0.08em;
  text-align: justify;
  overflow-x: hidden;
}
a {
  color: #572a06;
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
}
.l-main {
  overflow: hidden;
}
/*----------------------------------------------------
	Header
----------------------------------------------------*/
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.l-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.l-header.js-fixed {
  position: fixed;
  top: 0;
  left: 0;
  animation: slideDown 0.3s ease-in-out;
}
.l-header.js-fixed::before {
  display: none;
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
.l-header__inner {
  position: relative;
}
.l-header__logo a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
/* Header Navi */
.l-header__navi {
  position: relative;
}
.l-header__naviItem {
  position: relative;
}
.l-header__naviItem > a {
  display: block;
  position: relative;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: 0.3s all;
}
.l-header__naviItem.--01 > a {
  background-image: url("../../img/common/icon_navi01.svg");
}
.l-header__naviItem.--02 > a {
  background-image: url("../../img/common/icon_navi02.svg");
}
.l-header__naviItem.--03 > a {
  background-image: url("../../img/common/icon_navi03.svg");
}
.l-header__naviItem.--04 > a {
  background-image: url("../../img/common/icon_navi04.svg");
}
.l-header__naviItem.--05 > a {
  background-image: url("../../img/common/icon_navi05.svg");
}
.l-header__naviItem.--06 > a {
  background-image: url("../../img/common/icon_navi06.svg");
}
.l-header__naviItem.--07 > a {
  background-image: url("../../img/common/icon_navi07.svg");
}
.l-header__naviItem.--08 > a {
  background-image: url("../../img/common/icon_navi08.svg");
}
.l-header__subMenu {
  display: none;
  z-index: 1;
  position: relative;
}
.l-header__subMenu.is-active {
  display: block;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.l-header__subMenuList {
  display: flex;
  flex-direction: column;
}
.l-header__subMenu li a {
  display: block;
  transition: opacity 0.2s linear;
}
.l-header__subMenu li a:hover {
  opacity: 0.7;
}
.l-header__snsTitle {
  font-size: 1.6rem;
}
.l-header__snsList {
  display: flex;
}
.l-header__snsItem .--instagram img {
  width: 3.2rem;
}
.l-header__snsItem .--line img {
  width: 3.5rem;
}
/*----------------------------------------------------
	Footer
----------------------------------------------------*/
.l-footer {
  position: relative;
}
.l-footer__infoWrapper {
  display: flex;
  flex-wrap: wrap;
}
.l-footer__logo a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__infoButtonWrapper {
  display: flex;
  flex-wrap: wrap;
}
.l-footer__bannerWrapper {
  display: flex;
  flex-wrap: wrap;
  background-image: repeating-linear-gradient(90deg, #176a5d, #176a5d 0.4rem, transparent 0.4rem, transparent 0.8rem);
  background-position: left top;
  background-size: 100% 0.2rem;
  background-repeat: repeat-x;
}
.l-footer__calendar {
  border-radius: 2rem;
  background-color: #fff;
}
/* ----------------------------------------------------
 calendar
---------------------------------------------------- */
div.cal_wrapper {
  position: relative;
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;
}
div.cal_wrapper table {
  width: 100%;
}
div.cal_wrapper table tr.headline {
  background-color: #f0e5c8;
}
div.cal_wrapper table td {
  background: transparent;
}
div.cal_wrapper table.cal tr th {
  background: none;
}
div.cal_wrapper table.cal tr th p {
  margin: 0 0 1.4rem;
  float: left;
  color: #333;
  font-weight: bold;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}
div.cal_wrapper table.cal tr th div.cal_ui {
  display: flex;
  float: right;
}
div.cal_wrapper table.cal tr th div.cal_ui input {
  margin: 0.3rem 0.1rem 0.1rem;
  padding: 0 0.5rem 0.2rem;
  border: none;
  border-radius: 0;
  background-color: #7dc443;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  cursor: pointer;
}
div.cal_wrapper table.cal tr td {
  position: relative;
  padding: 0;
  border-top: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-bottom: 0.6rem solid transparent;
  border-left: 0.6rem solid transparent;
  text-align: center;
}
div.cal_wrapper table.cal tr td:first-of-type {
  border-left: none;
}
div.cal_wrapper table.cal tr td:last-of-type {
  border-right: none;
}
div.cal_wrapper table.cal tr.headline td {
  border-top: none;
  border-right: none;
  border-bottom: 0.6rem solid transparent;
  border-left: none;
}
div.cal_wrapper table.cal tr:nth-of-type(3) td {
  border-top: none;
}
div.cal_wrapper table.cal tr:last-of-type td {
  border-bottom: none;
}
div.cal_wrapper table.cal tr.headline td {
  background-color: transparent;
  font-weight: bold;
}
div.cal_wrapper table.cal tr td div {
  padding: 0.8rem 0.6rem;
  color: #572a06;
  font-size: 2.2rem;
  text-align: center;
}
div.cal_wrapper table.cal tr td div:not(.backward) {
  font-weight: bold;
}
div.cal_wrapper table.cal tr td div span {
  display: none;
  z-index: 10;
  position: absolute;
  top: 3rem;
  left: 0;
  width: 18rem;
  padding: 0.5rem;
  border: solid 1px #eee;
  background-color: #fff;
  box-shadow: 1px 1px 3px #666;
  color: #000;
  font-weight: normal;
  line-height: 1.5em;
  font-family: sans-serif;
  text-align: left;
}
div.cal_wrapper table.cal tr td div.backward {
  font-weight: normal;
  opacity: 0.5;
}
div.cal_wrapper table.cal tr td div.pointer {
  cursor: pointer;
}
.cal-txt {
  margin-top: 1.8rem;
  line-height: 1.6;
}
.cal-txt span {
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  margin-right: 0.2rem;
  vertical-align: -0.1rem;
}
.cal-txt span:not(:first-of-type):not(:last-of-type) {
  margin-left: 3.6rem;
}
/* ----------------------------------------------------
calendar デザイン調整用
---------------------------------------------------- */
/* 午後休診 */
div.cal_wrapper table.cal tr td div.Sat, div.cal_wrapper table.cal tr td div.Thu {
  background-color: #88d5e1;
  color: #fff;
}
/* Sun;日曜*/
div.cal_wrapper table.cal tr td div.Sun {
  background-color: #f89e9e;
  color: #fff;
}
/* Holyday;祝日*/
div.cal_wrapper table.cal tr td div.Holyday {
  background-color: #f89e9e;
  color: #fff;
}
/* PMOff；午後休診 */
div.cal_wrapper table.cal tr td div.PMOff {
  background: #88d5e1;
  color: #fff;
}
/* dayOff;祝日*/
div.cal_wrapper table.cal tr td div.dayOff {
  background-color: #f89e9e;
  color: #fff;
}
/* otherDay;その他 */
div.cal_wrapper table.cal tr td div.otherDay {
  background-color: #e0a61a;
  color: #fff;
}
/* weekday;一日診療　*/
div.cal_wrapper table.cal tr td div.weekday {
  background: transparent;
  color: #572a06;
}
/* eiyou;栄養相談　*/
div.cal_wrapper table.cal tr td div.eiyou {
  background: #7dc443;
  color: #fff;
}
/* Today;当日 */
div.cal_wrapper table.cal tr td div.Today {
  border: 1px solid #888;
  font-weight: bold;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
  background-color: #aaa;
  color: #fff;
}
/*　凡例　*/
.cal-off {
  background-color: #f89e9e;
}
.cal-halfOff {
  background-color: #88d5e1;
}
.cal-other {
  background-color: #e0a61a;
}
.cal-eiyou {
  background-color: #7dc443;
}
.l-footer__map iframe {
  display: block;
}
.l-footer__bottomImageWrapper {
  position: relative;
  text-align: center;
}
.l-footer__bottomImageWrapper::before {
  position: absolute;
  left: 0;
  width: 100%;
  background-position: center;
  background-size: cover;
  content: "";
}
.l-footer__bottomImageWrapper::after {
  z-index: 1;
  position: absolute;
  background-position: center;
  background-size: cover;
  content: "";
}
.l-footer__bottomParts {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.l-footer__bottomParts::before {
  z-index: -1;
  position: absolute;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.l-footer__bottomParts::after {
  z-index: 1;
  position: absolute;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.l-footer__copyright {
  z-index: 1;
  position: absolute;
}
.l-footer__copyright small {
  display: inline-block;
  color: #fff;
}
.l-footer__copyright small a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.l-footer__pageTop {
  display: block;
  position: absolute;
  text-align: center;
}
.l-footer__pageTop::before {
  position: absolute;
  content: "\e316";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "wght"200;
}
.l-footer__buttonWrapper {
  display: flex;
  z-index: 997;
  position: fixed;
  margin-bottom: 0;
}
.l-footer__buttonItem a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-color: #176a5d;
  line-height: 1;
  text-align: center;
  transition: 0.3s;
}
.l-footer__button.--web {
  background-image: url("../../img/common/icon_check01.svg");
  background-color: #572a06;
  color: #fff !important;
}
.l-footer__button.--childcare {
  background-image: url("../../img/common/icon_home01.svg");
  background-color: #f2d530;
}
.l-footer__chatBot {
  z-index: 998;
  position: fixed;
}
.l-footer__chatBot button {
  background: none;
  border: none;
}
.l-footer__chatBot.is-hidden {
  display: none;
}
.l-footer__chatBotImage {
  margin-right: auto;
  margin-left: auto;
}
.l-footer__chatBotText a {
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.2rem;
  border-radius: 3rem;
  background-color: #d96726;
  color: #fff !important;
  text-align: center;
  transition: background-color 0.3s;
}
.l-footer__chatBotText a:hover {
  background-color: #f27a35;
}
.l-footer__chatBotClose {
  position: absolute;
  right: 0;
  background: url("../../img/common/icon_close01.svg") no-repeat center/cover;
}
.l-footer__chatBotClose span {
  display: none;
}
/*----------------------------------------------------
	Main
----------------------------------------------------*/
.l-container {
  position: relative;
}
.l-main {
  z-index: 1;
  position: relative;
}
/*----------------------------------------------------
	link
----------------------------------------------------*/
.c-link {
  transition: opacity 0.2s linear;
}
.c-link--bright {
  transition: filter 0.2s linear;
}
/*----------------------------------------------------
	button
----------------------------------------------------*/
/* 四角ボタン */
.c-button01 {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  background-color: #224794;
  color: #fff;
  line-height: 1.3;
  text-align: center;
  transition: all 0.3s;
}
.c-button01::before {
  content: "\e5cc";
  color: #fff;
  font-family: "Material Symbols Outlined";
  font-variation-settings: "wght"500;
}
.c-button01::after {
  position: absolute;
  border: 1px dashed #fff;
  content: "";
}
.c-button01:hover {
  background-color: #2d5fc4;
}
.c-button01.--orange {
  background-color: #f76639;
}
.c-button01.--orange:hover {
  background-color: #ff7247;
}
/* 丸ボタン */
.c-button02 {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 26rem;
  max-width: 100%;
  height: 6rem;
  padding: 0.4rem 0.8rem 0.4rem 1.8rem;
  border-radius: 6rem;
  background-color: #d96726;
  color: #fff;
  font-size: 2rem;
  line-height: 1.3;
  text-align: center;
  transition: all 0.3s;
}
.c-button02::before {
  position: absolute;
  top: 50%;
  left: 1.8rem;
  margin-top: 0.1rem;
  transform: translateY(-50%);
  content: "\e5cc";
  color: #fff;
  font-size: 3.2rem;
  font-family: "Material Symbols Outlined";
  font-variation-settings: "wght"500;
}
.c-button02::after {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  border: 1px dashed #fff;
  border-radius: 6rem;
  content: "";
}
.c-button02:hover {
  opacity: 0.8;
}
.c-button02.--yellow {
  background-color: #fbbe11;
}
.c-button02.--green {
  background-color: #176a5d;
}
/*----------------------------------------------------
	common parts
----------------------------------------------------*/
/* TEL */
.c-telBox__number {
  display: inline;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1;
}
.c-telBox.--white .c-telBox__number {
  color: #fff;
}
/* 採用情報バナー */
.c-footerRecruit__inner {
  display: block;
  border-radius: 2rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #fff;
}
.c-footerRecruit__title {
  color: #025c27;
}
.c-footerRecruit__text {
  margin-bottom: 0;
}
.c-footerRecruit__buttonWrapper {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
/*----------------------------------------------------
	Component
----------------------------------------------------*/
/* コンテンツ枠 */
.c-contentBlock01 {
  width: 100%;
}
/*----------------------------------------------------
	Project
----------------------------------------------------*/
/* mainVisual */
.p-mainVisual {
  position: relative;
}
.p-mainVisual::after {
  position: absolute;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.p-mainVisual__textWrapper {
  -webkit-transform: translate3d(0, 0, 0);
  z-index: 5;
  position: absolute;
}
.p-mainVisual__title {
  margin-bottom: 0;
  color: #224794;
  text-shadow: 0.2rem 0.2rem 1rem #fff, -0.2rem 0.2rem 1rem #fff, 0.2rem -0.2rem 1rem #fff, -0.2rem -0.2rem 1rem #fff;
}
.p-mainVisual__buttonWrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
.p-mainVisual__slideWrapper {
  opacity: 0;
  transition: opacity 0.1s linear;
}
.p-mainVisual__slideWrapper.slick-initialized {
  opacity: 1;
}
/* お知らせ */
.pointWrap {
  position: relative;
  border-radius: 2rem;
  background-color: #fff;
}
.pointWrap h2 {
  position: relative;
  color: #fff;
  text-align: center;
}
.pointWrap h2::before {
  z-index: 1;
  position: absolute;
  background: url("../../img/top/img_poin01.svg") no-repeat center/cover;
  content: "";
}
.pointWrap h2::after {
  z-index: 1;
  position: absolute;
  background: url("../../img/top/img_poin02.svg") no-repeat center/cover;
  content: "";
}
.point:not(:first-of-type) {
  background-position: left top;
  background-size: 100% 0.2rem;
  background-repeat: repeat-x;
}
.point h3, .p-topInfoVaccine__body h3 {
  color: #025c27;
}
.point h3:not(:first-of-type), .p-topInfoVaccine__body h3:not(:first-of-type) {
  background-position: left top;
  background-size: 100% 0.2rem;
  background-repeat: repeat-x;
  margin-top: 30px;
}
.point p, .p-topInfoVaccine__body p {
  line-height: 1.7;
}
.point p a, .p-topInfoVaccine__body p a {
  color: #f76639;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  transition: 0.3s all;
}
.point p a:hover, .p-topInfoVaccine__body p a:hover {
  opacity: 0.8;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
長期休診のお知らせ - table
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
table.schedule {
  width: 100%;
  border: 1px solid #572a06;
}
table.schedule thead th {
  padding: 0.1rem 0.5rem 0.3rem;
  border-left: 1px solid #572a06;
  background-color: rgba(87, 42, 6, 0.77);
  color: #fff;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.45;
  text-align: center;
}
table.schedule tbody th {
  padding: 0.9rem 0.5rem;
  border-top: 0.1rem solid #572a06;
  background-color: #d6b696;
  color: #572a06;
  font-weight: 500;
  font-size: 2rem;
}
table.schedule td {
  padding: 0.9rem 0.5rem;
  border: 0.1rem solid #572a06;
  background-color: #f8f3ec;
  color: #572a06;
  font-size: 2rem;
  text-align: center;
}
table.schedule thead th.sat, table.schedule thead th span.sat {
  color: #32a3c9;
}
/*日付の日祝*/
table.schedule thead th.red, table.schedule thead th span.red {
  color: #ff9478;
}
/*休診欄*/
table.schedule td.red {
  background-color: #ffbba7;
  color: #d74135;
}
/*日付統合の調整*/
table.schedule thead th.merge span {
  display: inline-block;
}
table.schedule thead th.merge span.btw {
  padding: 0 0.5em;
  vertical-align: 50%;
}
/* ワクチンについて */
.p-topInfoVaccine {
  border-radius: 2rem;
  background-color: #fff;
}
.p-topInfoVaccine summary {
  display: block;
}
.p-topInfoVaccine summary::-webkit-details-marker {
  display: none;
}
.p-topInfoVaccine__heading {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.p-topInfoVaccine__heading::before {
  width: 3rem;
  height: 6.8rem;
  margin-bottom: 0.4rem;
  background: url("../../img/top/img_vaccine01.svg") no-repeat center/cover;
  content: "";
}
.p-topInfoVaccine__heading::after {
  margin-left: auto;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.p-topInfoVaccine__body {
  margin-top: 2.4rem;
}
.p-topInfoVaccine__body p:last-of-type {
  margin-bottom: 0;
}
/* メニューボタン */
.p-topInfoMenu {
  display: flex;
  justify-content: center;
}
.p-topInfoMenuItem a {
  display: block;
  overflow: hidden;
  background-position: center top;
  background-repeat: no-repeat;
  text-align: center;
}
.p-topInfoMenuItem__text {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4.7rem;
  color: #fff;
  text-align: center;
}
.p-topInfoMenuItem__text::before {
  display: block;
  transform: rotate(45deg);
  content: "";
}
.p-topInfoMenuItem.--01 .p-topInfoMenuItem__text {
  background-color: #d74035;
}
.p-topInfoMenuItem.--02 .p-topInfoMenuItem__text {
  background-color: #fbbe11;
  font-size: 2rem;
}
.p-topInfoMenuItem.--03 .p-topInfoMenuItem__text {
  background-color: #176a5d;
}
/* 安心の感染対策 */
.p-topInfection {
  display: flex;
  align-items: flex-start;
  border-radius: 2rem;
  background-color: #fff;
}
.p-topInfection__image {
  overflow: hidden;
  border-radius: 1.5rem;
}
.p-topInfection__heading {
  color: #176a5d;
}
.p-topInfection__list {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px #35180c;
  border-radius: 0.5rem;
  font-size: 2rem;
}
.p-topInfection__listTitle {
  border-radius: 1.5rem;
  background-color: #176a5d;
  color: #fff;
  text-align: center;
}
.p-topInfection__listTitle.--01 {
  background-color: #176a5d;
}
.p-topInfection__listTitle.--02 {
  background-color: #ef81bc;
}
/* 院長紹介 */
.p-topDoctor {
  z-index: 2;
  position: relative;
  background-color: #fff;
}
.p-topDoctor::before {
  position: absolute;
  top: -3px;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topDoctor::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-53%);
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topDoctor__inner::before {
  position: absolute;
  background: url("../../img/top/bg_message03.svg") no-repeat center/cover;
  content: "";
}
.p-topDoctor__heading {
  color: #d96726;
  text-align: center;
}
.p-topDoctor__boxWrapper {
  display: flex;
}
.p-topDoctor__image {
  position: relative;
  margin: 0;
}
.p-topDoctor__image img {
  border-radius: 2rem;
}
.p-topDoctor__imageCaption {
  z-index: 1;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  border-radius: 9rem 0 0 0;
  background-color: #fff;
  line-height: 1.5;
  text-align: right;
}
.p-topDoctor__imageCaption .--name {
  display: block;
  color: #d96726;
  font-size: 2.4rem;
}
.p-topDoctor__text {
  margin-bottom: 3rem;
}
/* 診療内容 */
.p-topMedical {
  z-index: 1;
  position: relative;
  background-color: #c6e3ed;
}
.p-topMedical::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topMedical::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topMedical__inner::before {
  position: absolute;
  bottom: 0;
  background-image: url("../../img/top/bg_menu05.svg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topMedical__inner::after {
  position: absolute;
  bottom: 0;
  background-image: url("../../img/top/img_menu06.svg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}
.p-topMedical__hibari {
  display: flex;
  z-index: 1;
  position: relative;
  align-items: flex-start;
  border-radius: 2rem;
  background-color: #fff;
}
.p-topMedical__hibari::before {
  position: absolute;
  border-radius: 1.5rem;
  background-color: #f2d530;
  content: "";
}
.p-topMedical__hibari::after {
  position: absolute;
  background: url("../../img/top/img_menu01.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__subTitle {
  position: absolute;
  border-radius: 2.5rem;
  background-color: #fff;
  text-align: center;
}
.p-topMedical__subTitle::before {
  position: absolute;
  background: url("../../img/top/img_menu02.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__hibariImage {
  z-index: 1;
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
}
.p-topMedical__hibariTextWrapper {
  z-index: 1;
  position: relative;
}
.p-topMedical__hibariTitle {
  color: #d96726;
}
.p-topMedical__hibariButtonWrapper {
  display: flex;
  align-items: center;
}
.p-topMedical__hibariIconList {
  display: flex;
  margin-bottom: 0;
}
.p-topMedical__hibariIconListItem.--01 {
  width: 11.5rem;
}
.p-topMedical__hibariIconListItem.--02 {
  width: 10.1rem;
}
.p-topMedical__heading {
  z-index: 2;
  position: relative;
  color: #176a5d;
  text-align: center;
}
.p-topMedical__heading::before {
  position: absolute;
  background: url("../../img/top/img_menu03.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__text01 {
  margin-bottom: 0;
  text-align: center;
}
.p-topMedical__boxWrapper {
  display: flex;
  flex-wrap: wrap;
}
.p-topMedical__box {
  z-index: 1;
  position: relative;
  background-color: #fff;
  box-shadow: 0 1.1rem 0 0 #a5d1e0;
}
.p-topMedical__box.--01 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.p-topMedical__box.--01::before {
  z-index: -1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.p-topMedical__box.--01::after {
  z-index: -2;
  position: absolute;
  background: url("../../img/top/bg_menu04.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__box.--02, .p-topMedical__box.--03 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-topMedical__box.--02::before, .p-topMedical__box.--03::before {
  z-index: -1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: url("../../img/top/bg_menu12_pc.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__box.--04, .p-topMedical__box.--05, .p-topMedical__box.--06 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-topMedical__box.--04::before, .p-topMedical__box.--05::before, .p-topMedical__box.--06::before {
  z-index: -1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: url("../../img/top/bg_menu13.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__box.--05::before {
  background-image: url("../../img/top/bg_menu14.svg");
}
.p-topMedical__box.--06::after {
  position: absolute;
  background: url("../../img/top/bg_menu06.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__title {
  color: #176a5d;
}
.p-topMedical__box.--04 .p-topMedical__title, .p-topMedical__box.--05 .p-topMedical__title, .p-topMedical__box.--06 .p-topMedical__title {
  margin-bottom: 0;
}
.p-topMedical__title a {
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-image: repeating-linear-gradient(90deg, #176a5d, #176a5d 0.4rem, transparent 0.4rem, transparent 0.8rem);
  background-position: left bottom;
  background-size: 100% 2px;
  background-repeat: repeat-x;
  color: #176a5d;
}
.p-topMedical__title a::before {
  margin-top: 1.4rem;
  transform: translateY(-50%) rotate(45deg);
  border-top: 0.3rem solid #176a5d;
  border-right: 0.3rem solid #176a5d;
  content: "";
}
.p-topMedical__text02 {
  margin-bottom: 0;
}
.p-topMedical__buttonWrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
.p-topMedical__influenza {
  z-index: 1;
  position: absolute;
  border-radius: 2.5rem;
  background-color: #fbbe0f;
  line-height: 1.25;
  text-align: center;
}
.p-topMedical__influenza::before {
  z-index: -1;
  position: absolute;
  background: url("../../img/top/icon_menu07.svg") no-repeat center/cover;
  content: "";
}
.p-topMedical__influenza::after {
  position: absolute;
  background: url("../../img/top/bg_menu15.svg") no-repeat center/cover;
  content: "";
}
/* クリニック写真 */
.p-topView {
  position: relative;
}
.p-topView::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
.p-topView::after {
  z-index: -1;
  position: absolute;
  background: url("../../img/top/bg_news01.svg") no-repeat center/cover;
  content: "";
}
.p-topView__scroll {
  display: flex;
  align-items: flex-end;
  width: 100%;
  overflow: hidden;
}
.p-topViewList {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
}
@keyframes infinity-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.p-topViewListItem {
  z-index: 1;
  position: relative;
  border-radius: 2rem;
}
.p-topViewListItem::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2rem;
  background-color: #fff;
  content: "";
}
.p-topViewListItem img {
  border-radius: 2rem;
}
/* 更新情報 */
.p-topNews {
  z-index: 1;
  position: relative;
}
.p-topNews::before {
  position: absolute;
  background: url("../../img/top/bg_news01.svg") no-repeat center/cover;
  content: "";
}
.p-topNews::after {
  position: absolute;
  background: no-repeat center/cover;
  content: "";
}
.p-topNews .c-contentBlock01 {
  z-index: 2;
  position: relative;
  border-radius: 2rem;
  background-color: #fff;
}
.p-topNews__heading {
  color: #025c27;
}
.p-topNewsList {
  margin-bottom: 0;
  background-image: repeating-linear-gradient(90deg, #025c27, #025c27 0.4rem, transparent 0.4rem, transparent 0.8rem);
  background-position: left bottom;
  background-size: 100% 1px;
  background-repeat: repeat-x;
}
.p-topNewsList dt {
  color: #025c27;
}
.p-topNewsList dt:not(:first-of-type) {
  padding-top: 2.1rem;
  background-image: repeating-linear-gradient(90deg, #025c27, #025c27 0.4rem, transparent 0.4rem, transparent 0.8rem);
  background-position: left top;
  background-size: 100% 1px;
  background-repeat: repeat-x;
}
.p-topNewsList dd.continuous {
  border-top: none;
}
.p-topNewsList dd a {
  color: #176a5d;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.p-topNewsList dd a:hover {
  text-decoration: none;
}
.p-topNews__balloon {
  z-index: 1;
  position: relative;
  position: absolute;
  top: 0;
  background-color: #fff;
  text-align: center;
}
.p-topNews__balloon::before {
  z-index: -1;
  position: absolute;
  background: url("../../img/top/bg_news02.svg") no-repeat center/cover;
  content: "";
}
.p-topNews__balloon::after {
  z-index: -1;
  position: absolute;
  background: url("../../img/top/bg_news03.svg") no-repeat center/cover;
  content: "";
}
/*----------------------------------------------------
	Utility
----------------------------------------------------*/
.u-color--green01 {
  color: #176a5d;
}
.u-color--orange01 {
  color: #d96726;
}
.u-objectFit {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ----------------------------------------------------
	以下、PC用・スマホ用のメディアクエリ
---------------------------------------------------- */
@media (max-width: 767px) {
  div.cal_wrapper table.cal tr th p {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  div.cal_wrapper table.cal tr th div.cal_ui input {
    font-size: 1.2rem;
  }
  div.cal_wrapper table.cal tr td {
    border-top: 0.4rem solid transparent;
    border-right: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
    border-left: 0.4rem solid transparent;
  }
  div.cal_wrapper table.cal tr td div {
    padding: 0.7rem 0.4rem;
    font-size: 1.6rem;
  }
  div.cal_wrapper table.cal tr td div span {
    top: 4vw;
    width: 24vw;
    padding: 0.4vw;
  }
  .cal-txt {
    font-size: 1.3rem;
  }
  .cal-txt span {
    width: 1rem;
    height: 1rem;
  }
  .cal-txt span:not(:first-of-type):not(:last-of-type) {
    margin-left: 1.6rem;
  }
  table.schedule {
    width: 100%;
    margin: 0.8rem 0;
    border-bottom: none;
  }
  table.schedule thead {
    display: block;
    width: 35%;
    float: left;
  }
  table.schedule th, table.schedule td {
    display: block;
    min-height: 3.5rem;
    padding: 0.5rem;
    font-size: 1.6rem;
    text-align: center;
  }
  table.schedule thead th, table.schedule tbody th {
    min-height: 3.5rem;
    padding: 0.5rem;
    font-size: 1.6rem;
  }
  table.schedule thead th {
    border-bottom: 1px solid #572a06;
  }
  table.schedule tbody th {
    border-top: none;
    border-bottom: 1px solid #572a06;
    border-left: 1px solid #572a06;
  }
  table.schedule td {
    border-top: none;
    border-right: none;
  }
  table.schedule:not(.schedule_y) thead th {
    border-left: none;
  }
  table.schedule thead th:first-of-type {
    border-top: none;
  }
  table.schedule tbody {
    display: block;
    width: 65%;
    float: left;
  }
  table.schedule thead tr {
    display: block;
  }
  table.schedule tbody tr {
    display: block;
    width: 50%;
    float: left;
  }
  table.schedule {
    zoom: 100%;
  }
  table.schedule td br {
    display: block;
  }
  table.schedule th br {
    display: none;
  }
  table.schedule th br.sp_br {
    display: block !important;
  }
  /*-----------------------------*/
  /*スマホでも横にレイアウト変したい時：長期休診用*/
  table.schedule.schedule_y {
    display: table;
    width: 100% !important;
  }
  table.schedule.schedule_y thead {
    display: table-header-group;
    width: 100%;
    float: none;
  }
  table.schedule.schedule_y thead th {
    border-top: none;
  }
  table.schedule.schedule_y tbody {
    display: table-row-group;
    width: 100%;
    float: none;
  }
  table.schedule.schedule_y th, table.schedule.schedule_y td {
    display: table-cell;
    padding: 0.3rem 1px;
    font-size: 1.2rem;
    text-align: center;
  }
  table.schedule.schedule_y th {
    padding: 0.9rem 0;
  }
  table.schedule.schedule_y td br {
    display: block;
  }
  table.schedule.schedule_y th br {
    display: block !important;
  }
  table.schedule.schedule_y th br.sp_br {
    display: none !important;
  }
  table.schedule.schedule_y thead tr {
    display: table-row;
  }
  table.schedule.schedule_y tbody tr {
    display: table-row;
    width: 100%;
    float: none;
  }
  table.schedule.schedule_y tbody tr th {
    width: 2em;
    padding: 0.6rem 0;
  }
  table.schedule.schedule_y tbody tr:first-of-type td {
    border-top: none;
  }
  table.schedule.schedule_y td:last-of-type {
    border-right: none;
  }
  table.schedule.schedule_y th, table.schedule.schedule_y td {
    margin-top: -1px;
    margin-left: -1px;
  }
  table.schedule.schedule_y {
    zoom: 100%;
  }
  table.schedule.schedule_y th, table.schedule.schedule_y td {
    vertical-align: middle !important;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .c-link:hover {
    opacity: 0.8;
    transition: opacity 0.2s linear;
  }
  .c-link--bright:hover {
    filter: brightness(1.1);
    transition: filter 0.2s linear;
  }
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.8rem;
  }
  .l-header {
    z-index: 997;
  }
  .l-header::before {
    width: 160rem;
    height: 17.6rem;
    background-image: url("../../img/common/bg_header01_pc.svg");
  }
  .l-header__inner {
    width: 120rem;
    height: 31.2rem;
    margin: 0 auto;
  }
  .l-header:not(.js-fixed) .l-header__inner {
    padding-top: 2.2rem;
  }
  .l-header.js-fixed .l-header__inner {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: auto;
    padding: 0 3.6rem 2.2rem 2.8rem;
    border-radius: 0 0 5rem 5rem;
    background-color: #fff;
    box-shadow: 0 1.1rem 0 0 #176a5d;
  }
  .l-header:not(.js-fixed) .l-header__logo {
    text-align: center;
  }
  .l-header.js-fixed .l-header__logo {
    text-align: left;
  }
  .l-header__logo a {
    margin-right: auto;
    margin-left: auto;
  }
  .l-header .l-header__logoImage.--01 {
    display: inline-block;
    width: 74.3rem;
  }
  .l-header .l-header__logoImage.--03 {
    display: none;
  }
  .l-header.js-fixed .l-header__logoImage.--01 {
    display: none;
  }
  .l-header.js-fixed .l-header__logoImage.--03 {
    display: inline-block;
    width: 13rem;
    margin-bottom: -0.8rem;
  }
  /* ハンバーガーメニュー */
  .l-header__naviWrapper {
    margin-top: 3rem;
  }
  .l-header.js-fixed .l-header__naviWrapper {
    flex: 1;
    margin-top: 1rem;
  }
  .l-header__navi {
    display: flex;
  }
  .l-header__naviItem {
    flex: 1;
  }
  .l-header__naviItem > a {
    padding-top: 7.5rem;
    background-position: center top;
    background-size: 7.2rem auto;
    text-align: center;
  }
  .l-header__subMenu {
    position: absolute;
    top: 10rem;
    left: 35%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    padding-top: 1.4rem;
    transform: translateX(-50%);
  }
  .l-header__subMenu::before {
    position: absolute;
    top: 0.3rem;
    right: 0;
    left: 35px;
    width: 1.5rem;
    height: 1.1rem;
    margin: auto;
    background: url("../../img/common/bg_navi01.svg") no-repeat center/cover;
    content: "";
  }
  .l-header__subMenu.is-active {
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    animation-name: fadeIn;
  }
  .is-have-subMenu:hover .l-header__subMenu, .l-header__subMenu:hover {
    display: block;
    animation-duration: 0.4s;
    animation-fill-mode: forwards;
    animation-name: fadeIn;
  }
  .l-header__subMenuList {
    width: 18rem;
    padding: 0.4rem 1.2rem 0.6rem;
    border-radius: 1.5rem;
    background-color: #fff;
    box-shadow: 0 0.4rem 0 0 #d96726;
  }
  .l-header.js-fixed .l-header__subMenuList {
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .l-header__subMenu li:not(:first-of-type) {
    background-image: repeating-linear-gradient(90deg, #d96726, #d96726 0.4rem, transparent 0.4rem, transparent 0.8rem);
    background-position: left top;
    background-size: 100% 2px;
    background-repeat: repeat-x;
  }
  .l-header__subMenu li a {
    padding: 1.4rem 0;
    text-align: center;
  }
  .l-header__sns {
    position: absolute;
    top: 15px;
    left: calc((100% - 120rem) / 2);
    margin-top: 1.1rem;
    color: #fff;
  }
  .l-header.js-fixed .l-header__sns {
    display: none;
  }
  .l-header__snsTitle {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
  }
  .l-header__snsTitle::before {
    transform: scale(-1, 1);
    content: "/";
  }
  .l-header__snsTitle::after {
    content: "/";
  }
  .l-header__snsList {
    margin-top: 0.9rem;
    gap: 4rem;
  }
  .l-header__infoWrapper {
    position: absolute;
    top: 15px;
    right: calc((100% - 120rem) / 2);
    margin-top: 1.8rem;
    color: #fff;
    text-align: right;
  }
  .l-header.js-fixed .l-header__infoWrapper {
    position: static;
    text-align: left;
  }
  .l-header__access {
    margin-bottom: 0.6rem;
    font-size: 1.6rem;
  }
  .l-header.js-fixed .l-header__access {
    margin-bottom: 1.2rem;
  }
  .l-header__access .fixed-only {
    display: none;
  }
  .l-header.js-fixed .l-header__access .fixed-only {
    display: block;
  }
  .l-header.js-fixed .l-header__infoWrapper, .l-header.js-fixed .c-telBox__number {
    color: #572a06;
  }
  .l-footer {
    margin-top: 9rem;
  }
  .l-footer__inner {
    margin-top: 9.5rem;
  }
  .l-footer__infoWrapper {
    justify-content: space-between;
    padding-bottom: 5.8rem;
    gap: 5.8rem 4rem;
  }
  .l-footer__info {
    flex: 1;
    padding-top: 5.2rem;
  }
  .l-footer__logo {
    margin-bottom: 3.5rem;
  }
  .l-footer__logoImage {
    width: 58rem;
  }
  .l-footer__address {
    margin-bottom: 2.4rem;
    padding-left: 2.2rem;
  }
  .l-footer__tel {
    margin-bottom: 2rem;
    padding-left: 2.2rem;
  }
  .l-footer__access {
    padding-left: 2.2rem;
  }
  .l-footer__infoButtonWrapper {
    margin-top: 4rem;
    padding-left: 2.2rem;
    gap: 1.6rem;
  }
  .l-footer__bannerWrapper {
    width: 100%;
    padding-top: 11.3rem;
    gap: 3rem;
  }
  .l-footer__bannerItem.--03 {
    margin-top: -9.5rem;
  }
  .l-footer__bannerItem img {
    width: 38rem;
  }
  .l-footer__calendar {
    width: 46.3rem;
    padding: 4rem 4rem 3.6rem;
  }
  div.cal_wrapper table.cal tr.headline td {
    padding: 0.8rem 0.2rem 0.6rem;
    font-size: 2rem;
  }
  .l-footer__map iframe {
    height: 60rem;
  }
  .l-footer__bottomImageWrapper {
    min-height: 59.1rem;
    padding-top: 8.8rem;
  }
  .l-footer__bottomImageWrapper::before {
    top: -8.4rem;
    height: 8.4rem;
    background-image: url("../../img/common/bg_footer02_pc.svg");
  }
  .l-footer__bottomImageWrapper::after {
    bottom: 13.8rem;
    left: calc(50% - 38.1rem);
    width: 75.7rem;
    height: 22rem;
    background-image: url("../../img/common/bg_footer05_pc.svg");
  }
  .l-footer__bottomImage {
    width: 50.9rem;
    margin-bottom: 4rem;
  }
  .l-footer__bottomParts::before {
    bottom: 0;
    left: 50%;
    width: 160rem;
    height: 29rem;
    transform: translateX(-50%);
    background-image: url("../../img/common/bg_footer04_pc.svg");
  }
  .l-footer__bottomParts::after {
    bottom: 0;
    left: 50%;
    width: 160rem;
    height: 21rem;
    transform: translateX(-50%);
    background-image: url("../../img/common/bg_footer01_pc.svg");
  }
  .l-footer__bottomParts img {
    width: 75.7rem;
    margin-right: auto;
    margin-bottom: 13.5rem;
    margin-left: auto;
  }
  .l-footer__copyright {
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 2.8rem 0 4rem;
  }
  .l-footer__copyright small {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .l-footer__pageTop {
    right: calc((100% - 120rem) / 2);
    bottom: 16.9rem;
    width: 13.3rem;
    height: 20.1rem;
    background: url("../../img/common/img_pagetop01.svg") no-repeat center/cover;
  }
  .l-footer__pageTop::before {
    bottom: 5.6rem;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 7.8rem;
  }
  .l-footer__pageTop .--text {
    display: flex;
    position: absolute;
    top: -10rem;
    left: 50%;
    align-items: center;
    justify-content: center;
    width: 13.3rem;
    height: 8.5rem;
    transform: translateX(-50%);
    border-radius: 4.3rem;
    background-color: #fff;
  }
  .l-footer__pageTop .--text::after {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 1.3rem;
    height: 0.9rem;
    transform: translateX(-50%);
    background: url("../../img/common/img_pagetop02.svg") no-repeat center/cover;
    content: "";
  }
  .l-footer__buttonWrapper {
    top: 43%;
    right: 0;
    flex-direction: column;
    gap: 1.6rem;
    transform: translateY(-50%);
  }
  .l-footer__buttonItem {
    writing-mode: vertical-rl;
  }
  .l-footer__buttonItem a {
    width: 5.9rem;
    min-height: 20rem;
    padding-bottom: 2.6rem;
    border-radius: 2rem 0 0 2rem;
    background-position: center top 3.1rem;
    font-size: 2rem;
    letter-spacing: .2em;
  }
  .l-footer__buttonItem a::before {
    z-index: -1;
    position: absolute;
    top: 0.5rem;
    left: -0.5rem;
    width: calc(100% + 0.5rem);
    height: 100%;
    border-radius: 2rem 0 0 2rem;
    background-color: #fff;
    content: "";
  }
	.l-footer__buttonItem a:hover{
		text-decoration: none!important;
	}
  .l-footer__button.--web {
    padding-top: 6.5rem;
    background-size: 2.7rem auto;
  }
  .l-footer__button.--web:hover {
    background-color: #7a3908;
  }
  .l-footer__button.--childcare {
    padding-top: 5.9rem;
    background-position: center top 2.2rem;
    background-size: 3.2rem auto;
  }
  .l-footer__button.--childcare:hover {
    background-color: #f4d95f;
  }
  .l-footer__chatBot {
    right: 3.5rem;
    bottom: 0.4rem;
  }
  .l-footer__chatBotImage {
    width: 13.7rem;
    height: 17.7rem;
  }
  .l-footer__chatBotText a {
    width: 16.4rem;
    height: 6rem;
    margin-top: -3.5rem;
    font-size: 1.6rem;
    line-height: 1.25;
  }
  .l-footer__chatBotClose {
    width: 3.3rem;
    height: 3.3rem;
    top: -10px;
    left: -20px;
  }
  .l-container {
    display: flex;
    flex-flow: column;
    min-height: 100vh;
  }
  .l-main {
    flex: 1;
  }
  .c-link:focus {
    opacity: 0.8;
    transition: opacity 0.2s linear;
  }
  .c-link--bright:focus {
    filter: brightness(1.1);
    transition: filter 0.2s linear;
  }
  .c-button01 {
    width: 24rem;
    height: 6.8rem;
    padding: 0.4rem 0.8rem;
    border-radius: 1.2rem;
    font-size: 2rem;
  }
  .c-button01::before {
    margin-top: 0.5rem;
    margin-right: -0.6rem;
    margin-left: -0.8rem;
    font-size: 3.2rem;
  }
  .c-button01::after {
    top: 0.4rem;
    left: 0.4rem;
    width: calc(100% - 0.8rem);
    height: calc(100% - 0.8rem);
    border-radius: 1.2rem;
  }
  .c-button01.--space01::before {
    margin-right: 0.2rem;
    margin-left: -1.6rem;
  }
  .c-button01.--space02::before {
    margin-left: -1.2rem;
  }
  .c-button01.--space03::before {
    margin-right: 0.8rem;
    margin-left: -3rem;
  }
  .c-footerRecruit {
    width: 120rem;
    margin-right: auto;
    margin-left: auto;
  }
  .c-footerRecruit__inner {
    min-height: 42rem;
    padding: 7rem 50rem 4.3rem 5rem;
    background-image: url("../../img/common/bg_recruit01_pc.jpg");
  }
  .c-footerRecruit__title {
    margin-bottom: 4.8rem;
    font-size: 3.6rem;
  }
  .c-footerRecruit__text {
    font-size: 2.4rem;
  }
  .c-footerRecruit__buttonWrapper {
    margin-top: 3.8rem;
    margin-left: -1.5rem;
    gap: 1.2rem 2rem;
  }
  .c-footerRecruit__button {
    width: 26rem;
    height: 6rem;
  }
  .c-contentBlock01 {
    width: 120rem;
    margin-right: auto;
    margin-left: auto;
  }
  .p-mainVisual {
    margin-top: 31.2rem;
  }
  .p-mainVisual::after {
    aspect-ratio: 1600/798;
    top: calc(100% - 7.9rem);
    background-image: url("../../img/top/bg_mv01_pc.svg");
  }
  .p-mainVisual__textWrapper {
    top: 22rem;
    right: 0;
    left: 0;
    margin: auto;
  }
  .p-mainVisual__title {
    font-size: 6rem;
    text-align: center;
  }
  .p-mainVisual__buttonWrapper {
    margin-top: 4.8rem;
    gap: 1.4rem;
  }
  .p-mainVisual__image {
    height: 78rem;
  }
  .pointWrap {
    width: 120rem;
    margin-top: 16rem;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 6rem;
  }
  .pointWrap h2 {
    top: -14rem;
    margin-bottom: 2.4rem;
    font-size: 3.6rem;
  }
  .pointWrap h2::before {
    top: -0.1rem;
    left: 13.4rem;
    width: 16.5rem;
    height: 15.3rem;
  }
  .pointWrap h2::after {
    top: 6.7rem;
    right: 8.2rem;
    width: 25.6rem;
    height: 7.5rem;
  }
  .point {
    margin-right: 6rem;
    margin-left: 6rem;
  }
  .point:not(:first-of-type) {
    margin-top: 4rem;
    padding-top: 4rem;
    background-image: repeating-linear-gradient(90deg, #35180c, #35180c 0.4rem, transparent 0.4rem, transparent 0.8rem);
  }
  .point h3, .p-topInfoVaccine__body h3 {
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
  }
  .point h3:not(:first-of-type), .p-topInfoVaccine__body h3:not(:first-of-type) {
    margin-top: 4rem;
    padding-top: 4rem;
    background-image: repeating-linear-gradient(90deg, #35180c, #35180c 0.4rem, transparent 0.4rem, transparent 0.8rem);
  }
  .point p, .p-topInfoVaccine__body p {
    margin-bottom: 1.6rem;
    word-break: break-word;
  }
  table.schedule {
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .p-topInfoVaccine {
    margin-top: 7rem;
    margin-bottom: 10.7rem;
    padding: 2.6rem 5.4rem 3rem;
  }
  .p-topInfoVaccine__heading {
    gap: 1.6rem;
    font-size: 2.4rem;
  }
  .p-topInfoVaccine__heading::after {
    width: 5.6rem;
    height: 5.6rem;
    background-image: url("../../img/common/icon_plus01_pc.svg");
  }
  .p-topInfoVaccine details[open] .p-topInfoVaccine__heading::after {
    background-image: url("../../img/common/icon_minus01_pc.svg");
  }
  .p-topInfoMenu {
    margin-bottom: 14rem;
    gap: 8rem;
  }
  .p-topInfoMenuItem {
    width: 29.2rem;
  }
  .p-topInfoMenuItem a {
    background-size: auto 29.2rem;
  }
  .p-topInfoMenuItem.--01 a {
    background-image: url("../../img/top/img_button01_pc.svg");
  }
  .p-topInfoMenuItem.--02 a {
    background-image: url("../../img/top/img_button02_pc.svg");
  }
  .p-topInfoMenuItem.--03 a {
    background-image: url("../../img/top/img_button03_pc.svg");
  }
  .p-topInfoMenuItem__text {
    width: 29.2rem;
    height: 7rem;
    margin-top: 25.3rem;
    padding: 0.8rem 1.8rem 0.8rem 0.8rem;
    gap: 1.6rem;
    font-size: 2.4rem;
  }
  .p-topInfoMenuItem__text::before {
    width: 1.5rem;
    height: 1.5rem;
    border-top: 0.3rem solid #fff;
    border-right: 0.3rem solid #fff;
  }
  .p-topInfection {
    padding: 5.7rem 6.6rem;
    gap: 5rem;
  }
  .p-topInfection__image {
    width: 44.5rem;
  }
  .p-topInfection__textWrapper {
    flex: 1;
    margin-bottom: -2rem;
  }
  .p-topInfection__heading {
    margin-bottom: 3.7rem;
    font-size: 3.6rem;
  }
  .p-topInfection__text {
    margin-right: -3.2rem;
    font-size: 2rem;
    line-height: 1.6;
  }
  .p-topInfection__list {
    padding: 1.8rem 2.8rem;
  }
  .p-topInfection__listTitle {
    width: 8.1rem;
  }
  .p-topInfection__listTitle:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .p-topInfection__listBody {
    width: calc(100% - 8.1rem);
    padding-left: 1.2rem;
  }
  .p-topInfection__listBody:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .p-topDoctor {
    margin-top: 39rem;
    padding-top: 25rem;
    padding-bottom: 5.5rem;
  }
  .p-topDoctor::before {
    width: 160rem;
    height: 14.2rem;
    background-image: url("../../img/top/bg_message01_pc.svg");
    background-size: 100% 14.2rem;
  }
  .p-topDoctor::after {
    top: -28rem;
    width: 140.6rem;
    height: 46.1rem;
    background-image: url("../../img/top/bg_message02_pc.svg");
  }
  .p-topDoctor__inner::before {
    right: calc((100% - 120rem) / 2 - 12.3rem);
    bottom: -7.5rem;
    width: 16.7rem;
    height: 23rem;
  }
  .p-topDoctor__heading {
    margin-bottom: 6.5rem;
    font-size: 3.6rem;
  }
  .p-topDoctor__boxWrapper {
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 11.3rem;
  }
  .p-topDoctor__image {
    width: 45rem;
  }
  .p-topDoctor__imageCaption {
    margin-top: -6.6rem;
    padding: 3.1rem 0.7rem 0.8rem 5.2rem;
  }
  .p-topDoctor__textWrapper {
    flex: 1;
  }
  .p-topDoctor__text {
    line-height: 1.56;
  }
  .p-topDoctor__button {
    margin-top: 7.7rem;
  }
  .p-topMedical {
    padding-top: 28.3rem;
    padding-bottom: 22.2rem;
  }
  .p-topMedical::before {
    width: 160rem;
    height: 13rem;
    background-image: url("../../img/top/bg_menu01_pc.svg");
  }
  .p-topMedical::after {
    top: 5.3rem;
    left: calc(50% - 1rem);
    width: 171.2rem;
    height: 230.3rem;
    background-image: url("../../img/top/bg_menu03_pc.svg");
  }
  .p-topMedical__inner::before {
    right: calc(50% + 30rem);
    bottom: -9.5rem;
    width: 20.9rem;
    height: 14.8rem;
  }
  .p-topMedical__inner::after {
    bottom: -18.5rem;
    left: calc(50% + 11.5rem);
    width: 48.4rem;
    height: 27rem;
  }
  .p-topMedical__hibari {
    margin-bottom: 15.6rem;
    padding: 4rem 5.5rem;
    gap: 5.5rem;
  }
  .p-topMedical__hibari::before {
    top: 1.5rem;
    left: 1.5rem;
    width: calc(100% - 3rem);
    height: calc(100% - 3rem);
  }
  .p-topMedical__hibari::after {
    top: -12.3rem;
    left: 9rem;
    width: 39.4rem;
    height: 13.2rem;
  }
  .p-topMedical__subTitle {
    top: -20.7rem;
    left: calc((100% - 120rem) / 2 + 27.2rem);
    padding: 1.7rem 2.8rem;
    font-size: 1.8rem;
  }
  .p-topMedical__subTitle::before {
    top: calc(100% - 1.9rem);
    left: 1.4rem;
    width: 2.8rem;
    height: 2.9rem;
  }
  .p-topMedical__hibariImage {
    width: 49.6rem;
  }
  .p-topMedical__hibariTextWrapper {
    flex: 1;
    padding-top: 1.8rem;
  }
  .p-topMedical__hibariTitle {
    margin-bottom: 2.8rem;
    font-size: 3.6rem;
  }
  .p-topMedical__hibariText {
    margin-bottom: 1.4rem;
    font-size: 2.4rem;
    line-height: 1.46;
  }
  .p-topMedical__hibariButtonWrapper {
    justify-content: space-between;
  }
  .p-topMedical__hibariIconList {
    margin-top: -0.8rem;
    margin-right: -0.7rem;
    gap: 2.5rem;
  }
  .p-topMedical__heading {
    margin-bottom: 5.2rem;
    font-size: 3.6rem;
  }
  .p-topMedical__heading::before {
    top: -10.4rem;
    right: -3rem;
    width: 18.2rem;
    height: 25rem;
  }
  .p-topMedical__text01 {
    font-size: 2.4rem;
  }
  .p-topMedical__boxWrapper {
    margin-top: 7rem;
  }
  .p-topMedical__box {
    border-radius: 8.2rem;
  }
  .p-topMedical__box.--01 {
    margin-top: 9.2rem;
    padding: 2rem 10rem 6.9rem;
  }
  .p-topMedical__box.--01::before {
    top: -9.2rem;
    width: 126.5rem;
    height: 26.1rem;
    background-image: url("../../img/top/bg_menu11.svg");
  }
  .p-topMedical__box.--01::after {
    top: -64rem;
    right: -58rem;
    width: 76.2rem;
    height: 76.2rem;
  }
  .p-topMedical__box.--02, .p-topMedical__box.--03 {
    width: 58rem;
    min-height: 30rem;
    margin-top: 16.3rem;
    padding: 0 11.4rem 2.6rem;
  }
  .p-topMedical__box.--02::before, .p-topMedical__box.--03::before {
    top: -10.3rem;
    width: 57.9rem;
    height: 25.2rem;
  }
  .p-topMedical__box.--02 {
    margin-right: 4rem;
  }
  .p-topMedical__box.--02::after {
    position: absolute;
    top: -8rem;
    left: -13.5rem;
    width: 20.9rem;
    height: 14.8rem;
    background: url("../../img/top/bg_menu05.svg") no-repeat center/cover;
    content: "";
  }
  .p-topMedical__box.--04, .p-topMedical__box.--05, .p-topMedical__box.--06 {
    width: 46.8rem;
    height: 14.3rem;
    margin-top: 11rem;
    padding: 1.4rem 6rem 2.6rem 3rem;
  }
  .p-topMedical__box.--04::before, .p-topMedical__box.--05::before, .p-topMedical__box.--06::before {
    top: -6rem;
    width: 30.2rem;
    height: 15.5rem;
  }
  .p-topMedical__box.--05 {
    order: 1;
    margin-top: 3.5rem !important;
    margin-right: auto;
    margin-left: auto;
    transform: translateX(-0.5rem);
  }
  .p-topMedical__box.--06 {
    margin-left: auto;
    padding-right: 8rem !important;
  }
  .p-topMedical__box.--06::after {
    top: -4.4rem;
    right: -10.5rem;
    width: 20.9rem;
    height: 14.8rem;
  }
  .p-topMedical__box.--01 .p-topMedical__icon {
    margin-top: -3rem;
    margin-right: 0.2rem;
    margin-left: 3.5rem;
  }
  .p-topMedical__box.--02 .p-topMedical__icon {
    margin-top: -4rem;
  }
  .p-topMedical__box.--03 .p-topMedical__icon {
    margin-top: -4.8rem;
    margin-bottom: 0.8rem;
  }
  .p-topMedical__box.--04 .p-topMedical__icon, .p-topMedical__box.--05 .p-topMedical__icon, .p-topMedical__box.--06 .p-topMedical__icon {
    margin-right: 1rem;
  }
  .p-topMedical__icon img {
    width: 10rem;
  }
  .p-topMedical__textWrapper {
    flex: 1;
  }
  .p-topMedical__box.--04 .p-topMedical__textWrapper, .p-topMedical__box.--05 .p-topMedical__textWrapper, .p-topMedical__box.--06 .p-topMedical__textWrapper {
    flex: none;
  }
  .p-topMedical__title {
    margin-bottom: 0.8rem;
    font-size: 2.4rem;
  }
  .p-topMedical__box.--02 .p-topMedical__title, .p-topMedical__box.--03 .p-topMedical__title {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
  }
  .p-topMedical__title a {
    margin-top: 1rem;
    margin-bottom: 1.4rem;
    margin-left: 2.4rem;
    padding-bottom: 0.2rem;
    gap: 1rem;
  }
  .p-topMedical__title a::before {
    width: 1.2rem;
    height: 1.2rem;
    margin-left: -2.4rem;
  }
  .p-topMedical__box.--02 .p-topMedical__title a, .p-topMedical__box.--03 .p-topMedical__title a {
    margin-right: 1.6rem;
    gap: 1.8rem;
  }
  .p-topMedical__box.--04 .p-topMedical__title a, .p-topMedical__box.--05 .p-topMedical__title a, .p-topMedical__box.--06 .p-topMedical__title a {
    padding-bottom: 0.6rem;
  }
  .p-topMedical__box.--04 .p-topMedical__title a::before, .p-topMedical__box.--05 .p-topMedical__title a::before, .p-topMedical__box.--06 .p-topMedical__title a::before {
    margin-right: 0.5rem;
  }
  .p-topMedical__box.--01 .p-topMedical__text02 {
    margin-right: 1.6rem;
  }
  .p-topMedical__buttonWrapper {
    width: 100%;
    margin-top: 2.8rem;
    gap: 1.2rem;
  }
  .p-topMedical__influenza {
    top: -10rem;
    right: 1.8rem;
    padding: 2.2rem 1.6rem 2.6rem;
    font-size: 2.4rem;
  }
  .p-topMedical__influenza::before {
    top: -5.6rem;
    right: -0.6rem;
    width: 10rem;
    height: 10rem;
  }
  .p-topMedical__influenza::after {
    bottom: -1.5rem;
    left: 2.2rem;
    width: 2.7rem;
    height: 2.4rem;
  }
  .p-topView {
    padding-top: 26rem;
  }
  .p-topView::before {
    width: 160rem;
    height: 13rem;
    background-image: url("../../img/top/bg_menu02_pc.svg");
  }
  .p-topView::after {
    bottom: -33.9rem;
    left: calc(50% + 41.5rem);
    width: 41.9rem;
    height: 53.6rem;
  }
  .p-topView__scroll {
    gap: 4.7rem;
  }
  .p-topViewList {
    gap: 4.7rem;
    animation: infinity-scroll 30s infinite linear 0.5s both;
  }
  .p-topViewListItem {
    width: 37.1rem;
    height: 37.1rem;
    padding: 0.8rem;
  }
  .p-topViewListItem:not(.is-offset) {
    margin-top: 5.7rem;
  }
  .p-topNews {
    margin-top: 5.5rem;
    padding-top: 24.7rem;
    padding-bottom: 14rem;
  }
  .p-topNews::before {
    bottom: 0;
    left: calc(50% - 84rem);
    width: 41.9rem;
    height: 53.6rem;
  }
  .p-topNews::after {
    right: calc(50% - 87.3rem);
    bottom: -8.2rem;
    width: 55.5rem;
    height: 33.5rem;
    background-image: url("../../img/top/bg_news04_pc.svg");
  }
  .p-topNews .c-contentBlock01 {
    display: flex;
    min-height: 30rem;
    padding: 8.2rem 5.2rem 8.2rem 5.1rem;
    gap: 6.5rem;
  }
  .p-topNews__heading {
    flex: 1;
    margin-left: 0.9rem;
    font-size: 3.6rem;
  }
  .p-topNews__boxWrapper {
    width: 77.1rem;
  }
  .p-topNewsList {
    margin-top: -0.6rem;
  }
  .p-topNewsList dt {
    position: absolute;
    padding-left: 2.1rem;
  }
  .p-topNewsList dt:not(:first-of-type) {
    padding-top: 2.1rem;
  }
  .p-topNewsList dd {
    padding-bottom: 2rem;
    padding-left: 13.6rem;
  }
  .p-topNewsList dd:not(:first-of-type) {
    padding-top: 2.1rem;
    background-image: repeating-linear-gradient(90deg, #025c27, #025c27 0.4rem, transparent 0.4rem, transparent 0.8rem);
    background-position: left top;
    background-size: 100% 1px;
    background-repeat: repeat-x;
  }
  .p-topNewsList dd.continuous {
    margin-top: -2.4rem;
    background: none;
  }
  .p-topNews__button {
    position: absolute;
    top: 16.5rem;
    left: 5.1rem;
  }
  .p-topNews__balloon {
    left: calc(50% - 42.9rem);
    width: 21.9rem;
    padding: 1.8rem 2rem 1.5rem;
    border-radius: 2.5rem;
    font-size: 1.8rem;
  }
  .p-topNews__balloon::before {
    top: 4.8rem;
    left: -44.6rem;
    width: 55.5rem;
    height: 36.2rem;
  }
  .p-topNews__balloon::after {
    bottom: -1rem;
    left: 2.2rem;
    width: 1.5rem;
    height: 1rem;
  }
}
@media not all and (min-width: 768px) {
  html {
    font-size: 2.6666vw;
  }
  body {
    font-size: 4vw !important;
  }
  .l-header {
    z-index: 999;
  }
  .l-header::before {
    width: 37.5rem;
    height: 15.2rem;
    background-image: url("../../img/common/bg_header01_sp.svg");
  }
  .l-header.js-fixed {
    background-color: #f3e9df;
  }
  .l-header__inner {
    width: 100%;
    padding-top: 1.6rem;
    padding-left: 1.2rem;
  }
  .l-header.js-fixed .l-header__inner {
    padding-bottom: 1rem;
  }
  .l-header__naviWrapperInner .l-header__logo {
    margin-top: 1.6rem;
    margin-left: 1.2rem;
  }
  .l-header__logoImage.--02 {
    width: 26rem;
  }
  .l-header__spMenu {
    z-index: 1001;
    position: absolute;
    top: 0.4rem;
    right: 2rem;
  }
  body.menu-open .l-header__spMenu {
    position: fixed;
  }
  .l-header__naviButton {
    display: block;
    position: relative;
    width: 5rem;
    height: 5rem;
    border: none;
    border-radius: 0.8rem 0.8rem;
    background-color: transparent;
    cursor: pointer;
  }
  .l-hamburgerMenu__bar, .l-hamburgerMenu__bar::before, .l-hamburgerMenu__bar::after {
    position: absolute;
    right: 0;
    left: 0;
    width: 3rem;
    height: 0.2rem;
    margin: auto;
    background-color: #fff;
    transition: transform 0.25s;
  }
  .l-header.js-fixed .l-hamburgerMenu__bar, .l-header.js-fixed .l-hamburgerMenu__bar::before, .l-header.js-fixed .l-hamburgerMenu__bar::after {
    background-color: #176a5d;
  }
  .l-hamburgerMenu__bar::before, .l-hamburgerMenu__bar::after {
    content: "";
  }
  .l-hamburgerMenu__bar {
    top: 2.4rem;
  }
  .l-hamburgerMenu__bar::before {
    top: 0.8rem;
    right: 0;
  }
  .l-hamburgerMenu__bar::after {
    right: 0;
    bottom: 0.8rem;
  }
  .u-hamburgerMenu__animated .l-hamburgerMenu__bar, .l-header.js-fixed .u-hamburgerMenu__animated .l-hamburgerMenu__bar {
    background-color: transparent;
  }
  .u-hamburgerMenu__animated .l-hamburgerMenu__bar::before {
    top: -0.1rem;
    left: -0.3rem;
    width: 3.6rem;
    transform: rotate(38deg);
    background-color: #176a5d;
  }
  .u-hamburgerMenu__animated .l-hamburgerMenu__bar::after {
    top: -0.1rem;
    bottom: auto;
    left: -0.3rem;
    width: 3.6rem;
    transform: rotate(-38deg);
    background-color: #176a5d;
  }
  .l-hamburgerMenu__text {
    display: block;
    position: absolute;
    right: 0;
    bottom: -0.4rem;
    left: 0;
    margin: auto;
    color: #fff;
    font-size: 1.4rem;
  }
  .l-header.js-fixed .l-hamburgerMenu__text, .u-hamburgerMenu__animated .l-hamburgerMenu__text {
    color: #176a5d;
  }
  .l-header__naviWrapper {
    z-index: 1000;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s;
  }
  .l-header__naviWrapper.is-show {
    opacity: 1;
    pointer-events: auto;
  }
  .l-header__naviWrapperInner {
    -webkit-overflow-scrolling: touch;
    display: flex;
    position: absolute;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: #f3e9df;
  }
  @supports (-webkit-touch-callout: none) {
    .l-header__naviWrapperInner {
      /* Safari用のハック */
      height: -webkit-fill-available;
    }
  }
  .l-header__navi {
    margin-top: 2.2rem;
    margin-right: 2.2rem;
    margin-left: 2.2rem;
  }
  .l-header__naviItem:not(:first-of-type) {
    margin-top: 0.8rem;
  }
  .l-header__naviItem > a {
    min-height: 4.8rem;
    padding: 1.2rem 5rem 1.2rem 9.1rem;
    border-radius: 3rem;
    background-position: left 1.8rem center;
    background-size: 4rem auto;
    background-color: #fff;
    font-size: 4vw;
  }
  .l-header__naviItem > a:hover {
    opacity: 1;
  }
  .l-header__naviItem.is-have-subMenu > a.is-active {
    border-radius: 2rem 2rem 0 0;
  }
  .l-header__naviItem.--03 > a {
    background-size: 4rem auto;
  }
  .l-header__naviItem.--07 > a {
    background-position: left 2rem center;
    background-size: 4.2rem auto;
  }
  .l-header__naviItem.--08 > a {
    background-size: 4.6rem auto;
  }
  .l-header__naviItem.is-have-subMenu > a::before {
    position: absolute;
    top: 1rem;
    right: 1.6rem;
    width: 3rem;
    height: 3rem;
    background: url("../../img/common/icon_plus02.svg") no-repeat center/cover;
    content: "";
  }
  .l-header__naviItem.is-have-subMenu > a.is-active::before {
    background-image: url("../../img/common/icon_minus02.svg");
  }
  .l-header__subMenuList {
    margin-top: -0.5rem;
    padding-bottom: 0.3rem;
    padding-left: 8.2rem;
    border-radius: 0 0 2rem 2rem;
    background-color: #fff;
  }
  .l-header__subMenu li {
    margin-right: 1.8rem;
    background-image: repeating-linear-gradient(90deg, #572a06, #572a06 0.4rem, transparent 0.4rem, transparent 0.7rem);
    background-position: left top;
    background-size: 100% 1px;
    background-repeat: repeat-x;
  }
  .l-header__subMenu li a {
    padding: .6rem 0 .6rem 3rem;
    font-size: 3.8vw;
  }
  .l-header__spNavi {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.8rem;
    margin-right: 2.2rem;
    margin-left: 2.2rem;
    gap: 0.8rem;
  }
  .l-header__spNaviItem a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.6rem;
    border-radius: 3rem;
    color: #fff !important;
    font-size: 4vw;
  }
  .l-header__spNaviItem.--01 {
    width: 100%;
  }
  .l-header__spNaviItem.--01 a {
    background-color: #176a5d;
  }
  .l-header__spNaviItem.--02 {
    width: calc((100% - 0.8rem) / 2);
  }
  .l-header__spNaviItem.--02 a {
    background-color: #fbaa33;
  }
  .l-header__spNaviItem.--03 {
    width: calc((100% - 0.8rem) / 2);
  }
  .l-header__spNaviItem.--03 a {
    background-color: #572a06;
  }
  .l-header__naviBottomImage {
    margin-top: -6rem;
  }
  .l-header__naviBottomImage img {
    width: 37.5rem;
  }
  .l-header__sns {
    position: relative;
    margin-top: 4.3rem;
    margin-left: 15rem;
    opacity: 0;
    pointer-events: none;
  }
  .l-header__naviWrapper.is-show .l-header__sns {
    opacity: 1;
    pointer-events: all;
  }
  .l-header__snsTitle {
    position: absolute;
    top: 0.3rem;
    right: 4.6rem;
    color: #176a5d;
  }
  .l-header__snsTitle::before {
    position: absolute;
    top: -0.4rem;
    left: 0;
    width: 6.8rem;
    height: 1px;
    transform: rotate(-5deg);
    background-color: #176a5d;
    content: "";
  }
  .l-header__snsTitle::after {
    position: absolute;
    bottom: -0.6rem;
    left: 0;
    width: 6.8rem;
    height: 1px;
    transform: rotate(5deg);
    background-color: #176a5d;
    content: "";
  }
  .l-header__snsList {
    gap: 2.4rem;
  }
  .l-footer {
    margin-top: 6.7rem;
  }
  .l-footer__inner {
    margin-top: 6.5rem;
  }
  .l-footer__inner::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 21rem;
    background-color: #18665a;
    content: "";
  }
  .l-footer__infoWrapper {
    flex-direction: column;
    padding-bottom: 2.5rem;
  }
  .l-footer__logo {
    margin-bottom: 2.4rem;
    text-align: center;
  }
  .l-footer__logoImage {
    width: 34rem;
  }
  .l-footer__address {
    margin-bottom: 2.5rem;
    line-height: 1.5;
  }
  .l-footer__tel {
    margin-bottom: 2.3rem;
  }
  .l-footer__access {
    line-height: 1.5;
  }
  .l-footer__infoButtonWrapper {
    flex-direction: column;
    align-items: center;
    margin-top: 3.2rem;
    gap: 0.8rem;
  }
  .l-footer__bannerWrapper {
    flex-direction: column;
    margin-top: 5.5rem;
    margin-right: 2rem;
    margin-left: 2rem;
    padding-top: 5.5rem;
    gap: 2.8rem;
  }
  .l-footer__bannerItem {
    order: 1;
    margin-right: -2rem;
    margin-left: -2rem;
  }
  .l-footer__bannerItem.--02 {
    order: 3;
  }
  .l-footer__bannerItem.--03 {
    order: 5;
    margin-top: -2.8rem;
  }
  .l-footer__bannerItem.--04 {
    order: 2;
  }
  .l-footer__bannerItem.--05 {
    order: 4;
  }
  .l-footer__bannerItem.--06 {
    order: 6;
  }
  .l-footer__bannerItem.--07 {
    order: 7;
  }
  .l-footer__bannerItem.--08 {
    order: 8;
  }
  .l-footer__calendar {
    margin-top: 3.2rem;
    padding: 3.2rem 2.8rem 2.8rem;
  }
  div.cal_wrapper table.cal tr.headline td {
    padding: 0.5rem 0.2rem;
    font-size: 1.5rem;
  }
  .l-footer__map iframe {
    height: 43.7rem;
  }
  .l-footer__bottomImageWrapper {
    min-height: 43.5rem;
    padding-top: 5.2rem;
  }
  .l-footer__bottomImageWrapper::before {
    top: -2.4rem;
    height: 2.4rem;
    background-image: url("../../img/common/bg_footer02_sp.svg");
  }
  .l-footer__bottomImageWrapper::after {
    top: 11.5rem;
    left: 0;
    width: 37.5rem;
    height: 9.5rem;
    background-image: url("../../img/common/bg_footer05_sp.svg");
  }
  .l-footer__bottomImage {
    width: 21.8rem;
    margin-bottom: 2.6rem;
  }
  .l-footer__bottomParts::before {
    top: 4rem;
    left: 0;
    width: 100%;
    height: 13.8rem;
    background-image: url("../../img/common/bg_footer04_sp.svg");
  }
  .l-footer__bottomParts::after {
    top: 7rem;
    left: 0;
    width: 100%;
    height: 4.2rem;
    background-image: url("../../img/common/bg_footer01_sp.svg");
  }
  .l-footer__bottomParts img {
    width: 37.5rem;
    margin-bottom: 22.5rem;
  }
  .l-footer__copyright {
    bottom: 13.5rem;
    left: 3rem;
    text-align: left;
  }
  .l-footer__copyright small {
    font-size: 1.2rem;
    line-height: 1.42;
  }
  .l-footer__pageTop {
    top: -3.6rem;
    right: 1.5rem;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 50%;
    background-color: #fff;
  }
  .l-footer__pageTop::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #572a06;
    font-size: 3.8rem;
    font-variation-settings: "wght"300;
  }
  .l-footer__pageTop .--text {
    display: none;
  }
  .l-footer__buttonWrapper {
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 0.5rem 0.9rem;
    gap: 0.6rem;
    background-color: rgba(255, 255, 255, 0.89);
  }
  .l-footer__buttonItem {
    width: calc((100% - 0.6rem) / 2);
  }
  .l-footer__buttonItem a {
    padding-top: 3.6rem;
    padding-bottom: 1rem;
    border-radius: 0.5rem;
    background-position: top 0.8rem center;
    font-size: 4vw;
  }
  .l-footer__button.--web {
    background-size: 2rem auto;
  }
  .l-footer__button.--childcare {
    background-size: 2.6rem auto;
  }
  .l-footer__chatBot {
    right: 0.7rem;
    bottom: 10.3rem;
  }
  .l-footer__chatBotImage {
    width: 8.5rem;
    height: 11rem;
  }
  .l-footer__chatBotText a {
    width: 10.2rem;
    height: 3.7rem;
    margin-top: -2rem;
    font-size: 1.2rem;
    line-height: 1.17;
  }
  .l-footer__chatBotClose {
    top: -0.8rem;
    width: 2rem;
    height: 2rem;
  }
  .c-button01 {
    width: 15.5rem;
    height: 4.4rem;
    padding: 0.4rem 0.8rem;
    border-radius: 0.5rem;
    font-size: 3.6vw;
  }
  .c-button01::before {
    margin-top: 0.1rem;
    margin-right: -0.4rem;
    margin-left: -0.6rem;
    font-size: 1.9rem;
  }
  .c-button01::after {
    top: 0.3rem;
    left: 0.3rem;
    width: calc(100% - 0.6rem);
    height: calc(100% - 0.6rem);
    border-radius: 0.5rem;
  }
  .c-button01.--space01::before {
    margin-right: 0;
    margin-left: -0.5rem;
  }
  .c-button01.--space03::before {
    margin-right: 0.2rem;
    margin-left: -1.3rem;
  }
  .c-footerRecruit {
    margin-right: 1.8rem;
    margin-left: 1.8rem;
  }
  .c-footerRecruit__inner {
    flex-direction: column;
    padding: 4.1rem 2.9rem 4.7rem;
    background-image: url("../../img/common/bg_recruit01_sp.jpg");
  }
  .c-footerRecruit__title {
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
  }
  .c-footerRecruit__text {
    margin-right: -1.2rem;
    font-size: 4vw;
    line-height: 1.44;
  }
  .c-footerRecruit__buttonWrapper {
    width: 100%;
    margin-top: 9.1rem;
    padding-right: 1rem;
    padding-left: 1rem;
    gap: 1.8rem 1rem;
  }
  .c-contentBlock01 {
    padding-right: 1.8rem;
    padding-left: 1.8rem;
  }
  .p-mainVisual {
    height: 48rem;
    margin-top: 8.1rem;
  }
  .p-mainVisual::after {
    bottom: -13.2rem;
    height: 19.1rem;
    background-image: url("../../img/top/bg_mv01_sp.svg");
  }
  .p-mainVisual__textWrapper {
    top: 7.4rem;
    left: 0;
  }
  .p-mainVisual__title {
    margin-left: 3.6rem;
    font-size: 2.4rem;
    line-height: 1.46;
  }
  .p-mainVisual__buttonWrapper {
    margin-top: 2.6rem;
    gap: 0.8rem 0.7rem;
  }
  .p-mainVisual__buttonItem .c-button01 {
    width: 15.5rem;
    height: 4.4rem;
  }
  .p-mainVisual__image {
    height: 48rem;
  }
  .pointWrap {
    margin-top: 9rem;
    margin-right: 1.8rem;
    margin-left: 1.8rem;
    padding-bottom: 4rem;
  }
  .pointWrap h2 {
    top: -9.4rem;
    margin-bottom: 0.8rem;
    font-size: 2.2rem;
  }
  .pointWrap h2::before {
    top: 3.9rem;
    left: 3.8rem;
    width: 6.4rem;
    height: 6rem;
  }
  .pointWrap h2::after {
    top: 6.6rem;
    right: 4.8rem;
    width: 10rem;
    height: 2.9rem;
  }
  .point {
    margin-right: 2rem;
    margin-left: 2rem;
  }
  .point:not(:first-of-type) {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    background-image: repeating-linear-gradient(90deg, rgba(87, 42, 6, 0.57), rgba(87, 42, 6, 0.57) 0.4rem, transparent 0.4rem, transparent 0.8rem);
  }
  .point h3, .p-topInfoVaccine__body h3 {
    margin-bottom: 0.8rem;
    font-size: 2rem;
  }
  .point h3:not(:first-of-type), .p-topInfoVaccine__body h3:not(:first-of-type) {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    background-image: repeating-linear-gradient(90deg, rgba(87, 42, 6, 0.57), rgba(87, 42, 6, 0.57) 0.4rem, transparent 0.4rem, transparent 0.8rem);
  }
  .point p, .p-topInfoVaccine__body p {
    margin-bottom: 1.6rem;
  }
  table.schedule {
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
  }
  .c-button02 {
    font-size: 4.6vw;
  }
  .p-topInfoVaccine {
    margin-top: 2.7rem;
    margin-bottom: 5.5rem;
    padding: 2.5rem 2rem 2.8rem 2.7rem;
  }
  .p-topInfoVaccine__heading {
    gap: 1.1rem;
    font-size: 4vw;
  }
  .p-topInfoVaccine__heading::after {
    width: 3rem;
    height: 3rem;
    background-image: url("../../img/common/icon_plus01_sp.svg");
  }
  .p-topInfoVaccine details[open] .p-topInfoVaccine__heading::after {
    background-image: url("../../img/common/icon_minus01_sp.svg");
  }
  .p-topInfoMenu {
    margin-bottom: 8rem;
    gap: 0.6rem;
  }
  .p-topInfoMenuItem {
    width: calc((100% - 1.2rem) / 3);
  }
  .p-topInfoMenuItem a {
    background-size: contain;
  }
  .p-topInfoMenuItem.--01 a {
    background-image: url("../../img/top/img_button01_sp.svg");
  }
  .p-topInfoMenuItem.--02 a {
    background-image: url("../../img/top/img_button02_sp.svg");
  }
  .p-topInfoMenuItem.--03 a {
    background-image: url("../../img/top/img_button03_sp.svg");
  }
  .p-topInfoMenuItem__text {
    width: 100%;
    height: 5.2rem;
    margin-top: 9.6rem;
    padding: 0.6rem 0.6rem 0.6rem 0.4rem;
    gap: 0.6rem;
    font-size: 1.4rem;
    line-height: 1.3;
  }
  .p-topInfoMenuItem__text::before {
    width: 0.8rem;
    height: 0.8rem;
    border-top: 0.2rem solid #fff;
    border-right: 0.2rem solid #fff;
  }
  .p-topInfoMenuItem.--02 .p-topInfoMenuItem__text {
    font-size: 3.6vw;
  }
  .p-topInfection {
    flex-direction: column;
    padding: 2.1rem 2.5rem;
    gap: 1.8rem;
  }
  .p-topInfection__image {
    width: 100%;
  }
  .p-topInfection__heading {
    margin-bottom: 1rem;
    font-size: 2.4rem;
    text-align: center;
  }
  .p-topInfection__text {
    padding-right: 0.8rem;
    padding-left: 0.8rem;
    font-size: 4vw;
  }
  .p-topInfection__list {
    flex-direction: column;
    margin-top: 2.2rem;
    margin-bottom: 2rem;
    padding: 2.6rem 1.9rem;
  }
  .p-topInfection__listTitle {
    width: 9rem;
    margin-right: auto;
    margin-bottom: 0.6rem;
    margin-left: auto;
    font-size: 4.6vw;
  }
  .p-topInfection__listTitle:not(:first-of-type) {
    margin-top: 1.8rem;
  }
  .p-topInfection__listBody {
    font-size: 4vw;
  }
  .p-topDoctor {
    margin-top: 20rem;
    padding-top: 12.2rem;
    padding-bottom: 12.7rem;
  }
  .p-topDoctor::before {
    width: 37.5rem;
    height: 6.6rem;
    background-image: url("../../img/top/bg_message01_sp.svg");
    background-size: 100% 6.6rem;
  }
  .p-topDoctor::after {
    top: -15.2rem;
    left: 53%;
    width: 37.5rem;
    height: 23.6rem;
    background-image: url("../../img/top/bg_message02_sp.svg");
  }
  .p-topDoctor__inner::before {
    right: 0.8rem;
    bottom: 2rem;
    width: 9.9rem;
    height: 13.6rem;
  }
  .p-topDoctor__heading {
    margin-bottom: 3.8rem;
    font-size: 2.4rem;
  }
  .p-topDoctor__boxWrapper {
    flex-direction: column;
    gap: 4.8rem;
  }
  .p-topDoctor__imageCaption {
    margin-top: -3.6rem;
    padding: 2.5rem 0.9rem 0.8rem 5.2rem;
  }
  .p-topDoctor__text {
    padding-right: 1rem;
    padding-left: 1rem;
    line-height: 1.75;
  }
  .p-topDoctor__button {
    margin-top: 4.8rem;
    margin-right: auto;
    margin-left: auto;
  }
  .p-topMedical {
    padding-top: 24.9rem;
    padding-bottom: 19.6rem;
  }
  .p-topMedical::before {
    width: 37.5rem;
    height: 5.4rem;
    background-image: url("../../img/top/bg_menu01_sp.svg");
  }
  .p-topMedical::after {
    top: 98rem;
    width: 37.5rem;
    height: 238.5rem;
    background-image: url("../../img/top/bg_menu03_sp.svg");
  }
  .p-topMedical__inner::before {
    top: 11.5rem;
    left: -6.7rem;
    width: 12.3rem;
    height: 8.7rem;
  }
  .p-topMedical__inner::after {
    z-index: 1;
    bottom: -7.2rem;
    left: 11.6rem;
    width: 28.3rem;
    height: 15.8rem;
  }
  .p-topMedical__hibari {
    flex-direction: column;
    margin-bottom: 13.1rem;
    padding: 2.3rem 2.6rem 5.2rem;
    gap: 2.4rem;
  }
  .p-topMedical__hibari::before {
    top: 1rem;
    left: 1rem;
    width: calc(100% - 2rem);
    height: calc(100% - 2rem);
  }
  .p-topMedical__hibari::after {
    top: -7.3rem;
    left: 6rem;
    width: 22.9rem;
    height: 7.7rem;
  }
  .p-topMedical__subTitle {
    top: -16.4rem;
    right: 3.2rem;
    padding: 1.7rem 1.3rem;
  }
  .p-topMedical__subTitle::before {
    top: calc(100% - 1.2rem);
    left: 0.8rem;
    width: 1.7rem;
    height: 1.7rem;
  }
  .p-topMedical__hibariTitle {
    margin-bottom: 2rem;
    font-size: 2.4rem;
    text-align: center;
  }
  .p-topMedical__hibariText {
    margin-bottom: 2.4rem;
    padding-right: 0.6rem;
    padding-left: 0.6rem;
    font-size: 4vw;
  }
  .p-topMedical__hibariButtonWrapper {
    flex-direction: column;
    gap: 3rem;
  }
  .p-topMedical__hibariIconList {
    gap: 2.5rem;
  }
  .p-topMedical__heading {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
  .p-topMedical__heading::before {
    top: -11.4rem;
    right: -1.2rem;
    width: 9.9rem;
    height: 13.6rem;
  }
  .p-topMedical__text01 {
    font-size: 1.8rem;
  }
  .p-topMedical__boxWrapper {
    margin-top: 5rem;
  }
  .p-topMedical__box {
    border-radius: 8.5rem;
  }
  .p-topMedical__box.--01 {
    margin-top: 7rem;
    padding: 0 4rem 6.9rem;
  }
  .p-topMedical__box.--01::before {
    top: -6.5rem;
    width: 34rem;
    height: 14.8rem;
    background-image: url("../../img/top/bg_menu12_sp.svg");
  }
  .p-topMedical__box.--01::after {
    top: -36rem;
    right: -22rem;
    width: 44rem;
    height: 44rem;
  }
  .p-topMedical__box.--02, .p-topMedical__box.--03 {
    margin-top: 11rem;
    padding: 0 4rem 4rem;
  }
  .p-topMedical__box.--02::before, .p-topMedical__box.--03::before {
    top: -6.5rem;
    width: 34rem;
    height: 14.8rem;
  }
  .p-topMedical__box.--03::after {
    position: absolute;
    top: -4rem;
    left: -8.5rem;
    width: 12.3rem;
    height: 8.7rem;
    background: url("../../img/top/bg_menu05.svg") no-repeat center/cover;
    content: "";
  }
  .p-topMedical__box.--04, .p-topMedical__box.--05, .p-topMedical__box.--06 {
    width: 100%;
    height: 10.4rem;
    margin-top: 10rem;
    padding-bottom: 0.8rem;
  }
  .p-topMedical__box.--04::before, .p-topMedical__box.--05::before, .p-topMedical__box.--06::before {
    top: -4.4rem;
    left: 47%;
    width: 22rem;
    height: 11.2rem;
  }
  .p-topMedical__box.--05 {
    margin-top: 10rem;
  }
  .p-topMedical__box.--05::before {
    left: 52%;
  }
  .p-topMedical__box.--06 {
    margin-top: 10rem;
  }
  .p-topMedical__box.--06::after {
    top: -3.8rem;
    right: -6rem;
    width: 12.3rem;
    height: 8.7rem;
  }
  .p-topMedical__box.--04 .p-topMedical__icon {
    margin-left: -4.5rem;
  }
  .p-topMedical__box.--05 .p-topMedical__icon {
    margin-left: -3rem;
  }
  .p-topMedical__box.--06 .p-topMedical__icon {
    margin-left: -8rem;
  }
  .p-topMedical__box.--01 .p-topMedical__icon, .p-topMedical__box.--02 .p-topMedical__icon, .p-topMedical__box.--03 .p-topMedical__icon {
    margin-top: -2rem;
    margin-right: auto;
    margin-left: auto;
  }
  .p-topMedical__box.--04 .p-topMedical__icon, .p-topMedical__box.--05 .p-topMedical__icon, .p-topMedical__box.--06 .p-topMedical__icon {
    margin-right: 2rem;
  }
  .p-topMedical__icon img {
    width: 8.4rem;
  }
  .p-topMedical__box.--02 .p-topMedical__icon img {
    width: 7.2rem;
  }
  .p-topMedical__box.--03 .p-topMedical__icon img {
    width: 6.2rem;
    margin-bottom: 1rem;
  }
  .p-topMedical__box.--04 .p-topMedical__icon img, .p-topMedical__box.--05 .p-topMedical__icon img {
    width: 7.8rem;
  }
  .p-topMedical__title {
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
  .p-topMedical__title a {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 0.4rem;
    gap: 0.8rem;
  }
  .p-topMedical__title a::before {
    width: 1.1rem;
    height: 1.1rem;
    margin-left: -1.6rem;
  }
  .p-topMedical__box.--01 .p-topMedical__title a {
    transform: translateX(0.8rem);
  }
  .p-topMedical__text02 {
    line-height: 1.5;
  }
  .p-topMedical__buttonWrapper {
    margin-top: 3.2rem;
    margin-right: -3.2rem;
    margin-left: -3.2rem;
    gap: 0.6rem 0.5rem;
  }
  .p-topMedical__influenza {
    top: -8rem;
    right: 0rem;
    padding: 1.9rem 1.5rem 1.8rem;
  }
  .p-topMedical__influenza::before {
    top: -4.8rem;
    right: -1rem;
    width: 8.8rem;
    height: 8.8rem;
  }
  .p-topMedical__influenza::after {
    bottom: -0.7rem;
    left: 0.8rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  .p-topView {
    padding-top: 13.7rem;
  }
  .p-topView::before {
    width: 37.5rem;
    height: 5.4rem;
    background-image: url("../../img/top/bg_menu02_sp.svg");
  }
  .p-topView::after {
    right: -7rem;
    bottom: -17rem;
    width: 17.2rem;
    height: 22rem;
  }
  .p-topView__scroll {
    gap: 2rem;
  }
  .p-topViewList {
    gap: 2rem;
    animation: infinity-scroll 20s infinite linear 0.5s both;
  }
  .p-topViewListItem {
    width: 15.3rem;
    height: 15.3rem;
    padding: 0.3rem;
  }
  .p-topViewListItem:not(.is-offset) {
    margin-top: 2.5rem;
  }
  .p-topNews {
    margin-top: 6rem;
    margin-right: 1.8rem;
    margin-left: 1.8rem;
    padding-top: 17rem;
  }
  .p-topNews::before {
    top: 17rem;
    left: -8.8rem;
    width: 17.2rem;
    height: 22rem;
  }
  .p-topNews::after {
    right: -1.8rem;
    bottom: -5.4rem;
    width: 12.6rem;
    height: 10.7rem;
    background-image: url("../../img/top/bg_news04_sp.svg");
  }
  .p-topNews .c-contentBlock01 {
    padding: 3.4rem 2.2rem 7rem;
  }
  .p-topNews__heading {
    margin-bottom: 2.6rem;
    margin-left: 0.7rem;
    font-size: 2.4rem;
  }
  .p-topNewsList dt {
    padding-right: 0.6rem;
    padding-bottom: 0.2rem;
    padding-left: 0.6rem;
  }
  .p-topNewsList dt:not(:first-of-type) {
    padding-top: 2.4rem;
  }
  .p-topNewsList dd {
    padding-right: 0.5rem;
    padding-bottom: 2.4rem;
    padding-left: 0.5rem;
    line-height: 1.5;
  }
  .p-topNewsList dd.continuous {
    margin-top: -1rem;
  }
  .p-topNews__button {
    margin-top: 5rem;
    margin-right: auto;
    margin-left: auto;
  }
  .p-topNews__balloon {
    left: 7.2rem;
    width: 11.5rem;
    padding: 0.8rem;
    border-radius: 1.4rem;
  }
  .p-topNews__balloon::before {
    top: 4.2rem;
    left: -21.7rem;
    width: 26.6rem;
    height: 17.4rem;
  }
  .p-topNews__balloon::after {
    bottom: -0.6rem;
    left: 1.4rem;
    width: 1rem;
    height: 0.6rem;
  }
}
@media (min-width: 768px) and (max-width: 1600px) {
  .l-header.js-fixed .l-header__naviItem > a {
    font-size: clamp(1.4rem, 1.13vw, 1.8rem);
  }
}
@media (min-width: 768px) and (max-width: 1320px) {
  html {
    font-size: 0.75757575vw;
  }
}
@media (min-width: 768px) {
  table.schedule td br {
    display: none;
  }
  table.schedule th br.sp_br {
    display: none !important;
  }
}
@media screen and (min-width: 1600px) {
  .l-header::before {
    width: 100%;
    height: clamp(84px, 11vw, 330px);
  }
  .l-header.js-fixed .l-header__inner {
    width: 160rem;
  }
  .l-header__sns {
    left: calc((100% - clamp(576px, 75vw, 2250px)) / 2);
  }
  .l-header__infoWrapper {
    right: calc((100% - clamp(576px, 75vw, 2250px)) / 2);
  }
  .l-footer__bottomImageWrapper {
    min-height: clamp(284px, 36.938vw, 1108px);
    padding-top: clamp(42px, 5.5vw, 165px);
  }
  .l-footer__bottomImageWrapper::after {
    bottom: clamp(66px, 8.625vw, 259px);
    left: calc(50% - clamp(183px, 23.813vw, 714px));
    width: clamp(363px, 47.313vw, 1419px);
    height: clamp(106px, 13.75vw, 413px);
  }
  .l-footer__bottomImage {
    width: clamp(244px, 31.813vw, 954px);
    margin-bottom: clamp(19px, 2.5vw, 75px);
  }
  .l-footer__bottomParts::before {
    width: clamp(768px, 100vw, 3000px);
    height: clamp(139px, 18.125vw, 544px);
  }
  .l-footer__bottomParts::after {
    width: clamp(768px, 100vw, 3000px);
    height: clamp(101px, 13.125vw, 394px);
  }
  .l-footer__bottomParts img {
    width: clamp(363px, 47.313vw, 1419px);
    margin-bottom: clamp(65px, 8.438vw, 253px);
  }
  .l-footer__pageTop {
    right: calc((100% - clamp(576px, 75vw, 2250px)) / 2);
  }
  .p-mainVisual::after {
    width: clamp(768px, 100vw, 3000px);
    height: clamp(383px, 49.875vw, 1496px);
  }
  .p-topDoctor::before {
    width: 100%;
    background-size: 100% clamp(68px, 8.875vw, 266px);
  }
  .p-topMedical::before {
    width: 100%;
    height: clamp(62px, 8.125vw, 244px);
  }
  .p-topView::before {
    width: 100%;
    height: clamp(62px, 8.125vw, 244px);
  }
}
@media (hover: none) {
  .c-link:active {
    opacity: 0.8;
  }
  .c-link--bright:active {
    filter: brightness(1.1);
  }
}
.point_tbl {
  width: 70%;
  border-collapse: collapse;
  line-height: 1.5;
  margin-top: 15px;
}
.point_tbl th, .point_tbl td {
  padding: 0.4em 0.75em;
  border: 1px solid #ccc;
  vertical-align: top;
}
.point_tbl th {
  background: #f7f7f7;
  font-weight: 700;
}
.point_tbl td {
  background: #fff;
}
.point_tbl td a , .p-topInfoVaccine a {
  color: #176a5d;
}
    
@media screen and (max-width: 767px) {
  .point_tbl {
    width: 100%;
    font-size: 4vw;
  }
  .point_tbl th, .point_tbl td {
    padding: 0.35em 0.6em;
  }
  .point_tbl th {
    width: 30% !important;
  }
}