/*
** #pagetop
*/

#pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: var(--z-index--mid);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.5rem;
  height: 4.5rem;
  font-size: 2.2rem;
  color: #fff;
  border-radius: 0.6rem;
  background-color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  #pagetop {
    cursor: pointer;
  }

  #pagetop:hover {
    background-color: var(--bright);
  }
}


/*
** .footer
*/

.footer {
  position: relative;
  margin-top: 9rem;
}

.footer::before,
.footer::after {
  content: '';
  position: absolute;
  top: 0;
  display: block;
  background-size: contain;
}

.footer::before {
  right: 2rem;
  z-index: 0;
  width: 9rem;
  height: 4.5rem;
  background-image: url(../../image/common/illust_flower.png);
  background-position: center;
  background-repeat: no-repeat;
}

.footer::after {
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
  mask-image: url(../../image/common/bg_footer-mask@sm.svg);
  mask-repeat: no-repeat;
  mask-position: top center;
  mask-size: 100%;
}

body[data-group^="corp"] .footer::after {
  background-image: url(../../image/corp/bg_pattern.jpg);
}

body[data-group^="children_center"] .footer::after {
  background-image: url(../../image/children_center/bg_pattern.jpg);
}

body[data-group^="sick_child_care"] .footer::after {
  background-image: url(../../image/sick_child_care/bg_pattern.jpg);
}

body[data-group^="support_centers"] .footer::after {
  background-image: url(../../image/support_centers/bg_pattern.jpg);
}

body[data-group^="consultation"] .footer::after {
  background-image: url(../../image/consultation/bg_pattern.jpg);
}

body[data-group^="clinic"] .footer::after {
  background-image: url(../../image/clinic/bg_pattern.jpg);
}

.footer__inner {
  padding-top: calc((60 / var(--standard-width-sm)) * 100vw);
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: auto;
  margin-right: auto;
}


/*
** .footer__global
*/

.footer__global,
.footer__global-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 1.5rem;
}

.footer__global-summary {
  display: grid;
  grid-template-columns: minmax(auto, 25rem);
  grid-auto-rows: max-content;
  grid-row-gap: 1rem;
  justify-content: center;
  text-align: center;
}

.footer__global-logo {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 0.4rem;
}

.footer__global-menu {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  font-family: var(--mplus);
  line-height: 1;
}

.footer__global-menu > .menu-item {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.footer__global-menu > .menu-item:not(:last-child) {
  border-bottom: 0.1rem dotted #969696;
}

.footer__global-menu > .menu-item > a {
  font-size: 1.5rem;
  font-weight: 500;
  pointer-events: none;
  margin-bottom: 0.5rem;
}

.footer__global-menu .menu-item.menu-item--children_center > a,
.footer__global-menu .menu-item.menu-item--children_center .sub-menu > .menu-item::before {
  color: var(--children_center-main);
}

.footer__global-menu .menu-item.menu-item--sick_child_care > a,
.footer__global-menu .menu-item.menu-item--sick_child_care .sub-menu > .menu-item::before {
  color: var(--sick_child_care-main);
}

.footer__global-menu .menu-item.menu-item--support_centers > a,
.footer__global-menu .menu-item.menu-item--support_centers .sub-menu > .menu-item::before {
  color: var(--support_centers-main);
}

.footer__global-menu .menu-item.menu-item--consultation > a,
.footer__global-menu .menu-item.menu-item--consultation .sub-menu > .menu-item::before {
  color: var(--consultation-main);
}

.footer__global-menu .menu-item.menu-item--clinic > a,
.footer__global-menu .menu-item.menu-item--clinic .sub-menu > .menu-item::before {
  color: var(--clinic-main);
}

.footer__global-menu .sub-menu {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 0.9rem;
}

@media (hover: hover) and (pointer: fine) {
  .footer__global-menu .sub-menu a:hover {
    color: var(--link);
  }
}

.footer__global-menu .sub-menu > .menu-item {
  font-size: 1.2rem;
}

.footer__global-menu .sub-menu > .menu-item::before {
  content: '\25a0';
  margin-right: 0.1em;
}

.footer__global-related {
  display: grid;
  grid-template-columns: minmax(auto, 26.5rem);
  grid-auto-rows: max-content;
  justify-content: center;
  text-align: center;
}

.footer__global-related-label {
  font-size: 1.3rem;
  font-weight: 500;
}


/*
** .footer__local
*/

.footer__local-inner,
.footer__local-summary-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 2rem;
}

.footer__local-info {
  display: grid;
  grid-template-columns: minmax(auto, 27rem);
  grid-auto-rows: max-content;
  grid-row-gap: 1rem;
  justify-content: center;
  text-align: center;
}

.footer__local-info-group {
  font-weight: 500;
  line-height: 1.1;
}

.footer__local-info-group.footer__local-info-group--s {
  font-size: 3rem;
}

.footer__local-info-group.footer__local-info-group--l {
  font-size: 2.5rem;
}

.footer__local-info-group span {
  display: inline-block;
}

body[data-group^="children_center"] .footer__local-info-group,
body[data-group^="children_center"] .footer__local-inquiry-tel a {
  color: var(--children_center-main);
}

body[data-group^="sick_child_care"] .footer__local-info-group,
body[data-group^="sick_child_care"] .footer__local-inquiry-tel a {
  color: var(--sick_child_care-main);
}

body[data-group^="support_centers"] .footer__local-info-group,
body[data-group^="support_centers"] .footer__local-inquiry-tel a {
  color: var(--support_centers-main);
}

body[data-group^="consultation"] .footer__local-info-group,
body[data-group^="consultation"] .footer__local-inquiry-tel a {
  color: var(--consultation-main);
}

body[data-group^="clinic"] .footer__local-info-group,
body[data-group^="clinic"] .footer__local-inquiry-tel a {
  color: var(--clinic-main);
}

.footer__local-inquiry-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 0.5rem;
  text-align: center;
  line-height: 1;
}

.footer__local-inquiry-label {
  font-size: 1.8rem;
  font-weight: 500;
}

* + .footer__local-inquiry-label {
  margin-top: 1.5rem;
}

.footer__local-inquiry-tel a {
  font-size: 3.2rem;
  font-weight: 700;
}

.footer__local-inquiry-hour {
  font-size: 1.5rem;
}

.footer__local-nav {
  display: grid;
  grid-template-columns: minmax(auto, 27rem);
  grid-auto-rows: max-content;
  justify-content: center;
}

.footer__local-nav-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 0.8rem;
  border: 0.1rem solid;
  padding: 1rem;
}

body[data-group^="children_center"] .footer__local-nav-inner {
  border-color: var(--children_center-main);
}

body[data-group^="sick_child_care"] .footer__local-nav-inner {
  border-color: var(--sick_child_care-main);
}

body[data-group^="support_centers"] .footer__local-nav-inner {
  border-color: var(--support_centers-main);
}

body[data-group^="consultation"] .footer__local-nav-inner {
  border-color: var(--consultation-main);
}

body[data-group^="clinic"] .footer__local-nav-inner {
  border-color: var(--clinic-main);
}

.footer__local-logo {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-gap: 0.5rem;
}

.footer__local-home {
  width: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  margin-left: auto;
}

.footer__local-home span {
  text-decoration: underline;
}


/*
** .footer__copyright
*/

.footer__copyright {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 1rem;
}
