/*
**
** Header
**
*/

/* .c-header__page */

.c-header__page {
  position: relative;
  z-index: -1;
  margin-bottom: 1rem;
}

.c-header__page:not(.c-header__page--special) {
  padding-bottom: 5rem;
}

.c-header__page--special {
  padding-bottom: 8rem;
}

.c-header__page::before,
.c-header__page::after {
  content: '';
  position: absolute;
  bottom: 0;
  display: block;
  background-size: contain;
}

.c-header__page::before {
  left: 1rem;
  z-index: -1;
  width: 4rem;
  height: 2rem;
  background-image: url(../../image/common/illust_flower.png);
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(-1, 1);
}

.c-header__page::after {
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background-image: url(../../image/corp/bg_pattern.jpg);
  background-repeat: repeat;
  mask-repeat: no-repeat;
  mask-position: bottom center;
  mask-size: 100%;
}

.c-header__page:not(.c-header__page--special)::after {
  mask-image: url(../../image/common/bg_header-bg-mask_m.svg);
}

.c-header__page--special::after  {
  mask-image: url(../../image/common/bg_header-bg-mask_s.svg);
}

.c-header__page--special .c-header__page-inner {
  position: relative;
}

.c-header__page--special .c-header__page-inner::before {
  content: '';
  position: absolute;
  bottom: -3rem;
  left: 1rem;
  z-index: var(--z-index--low);
  display: block;
  width: 15rem;
  height: 11.3rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.c-header__page--special.c-header__page--corp .c-header__page-inner::before,
.c-header__page--special.c-header__page--children_center_yamashiro .c-header__page-inner::before,
.c-header__page--special.c-header__page--children_center_nogi .c-header__page-inner::before {
  background-image: url(../../image/children_center/illust_business.png);
}

.c-header__page--special.c-header__page--sick_child_care .c-header__page-inner::before {
  background-image: url(../../image/sick_child_care/illust_business.png);
}

.c-header__page--special.c-header__page--support_centers .c-header__page-inner::before {
  background-image: url(../../image/support_centers/illust_business.png);
}

.c-header__page--special.c-header__page--consultation .c-header__page-inner::before {
  background-image: url(../../image/consultation/illust_business.png);
}

.c-header__page--special.c-header__page--clinic_yamashiro .c-header__page-inner::before,
.c-header__page--special.c-header__page--clinic_nogi .c-header__page-inner::before {
  background-image: url(../../image/clinic/illust_business.png);
}

.c-header__page-contents {
  display: flex;
  justify-content: center;
  align-items: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.c-header__page:not(.c-header__page--special) .c-header__page-contents {
  min-height: 15rem;
}

.c-header__page--special .c-header__page-contents {
  min-height: 25rem;
  mask-image: url(../../image/common/bg_header-mask@sm.svg);
  mask-repeat: no-repeat;
  mask-position: bottom center;
  mask-size: 100%;
}

.c-header__page--corp .c-header__page-contents {
  background-image: url(../../image/corp/bg_header.jpg);
}

.c-header__page--children_center_yamashiro .c-header__page-contents {
  background-image: url(../../image/children_center/yamashiro/bg_header.jpg);
}

.c-header__page--children_center_nogi .c-header__page-contents {
  background-image: url(../../image/children_center/nogi/bg_header.jpg);
}

.c-header__page--sick_child_care .c-header__page-contents {
  background-image: url(../../image/sick_child_care/bg_header.jpg);
}

.c-header__page--support_centers .c-header__page-contents {
  background-image: url(../../image/support_centers/bg_header.jpg);
}

.c-header__page--consultation .c-header__page-contents {
  background-image: url(../../image/consultation/bg_header.jpg);
}

.c-header__page--clinic_yamashiro .c-header__page-contents {
  background-image: url(../../image/clinic/yamashiro/bg_header.jpg);
}

.c-header__page--clinic_nogi .c-header__page-contents {
  background-image: url(../../image/clinic/nogi/bg_header.jpg);
}

.c-header__page-headline {
  font-weight: 700;
  color: var(--main);
  line-height: 1.25;
  text-align: center;
}

.c-header__page:not(.c-header__page--special) .c-header__page-headline {
  font-size: 2.5rem;
}

.c-header__page--special .c-header__page-headline {
  font-size: 3rem;
}

.c-header__page-headline span {
  position: relative;
  z-index: 0;
  display: inline-block;
}

.c-header__page-headline span::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  color: transparent;
  inset: 0;
  -webkit-text-stroke: 0.4rem #fff;
  text-stroke: 0.4rem #fff;
  paint-order: stroke;
}


/*
**
** Contents
**
*/

/* .c-contents__main */

.c-contents__main {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 9rem;
}

/* .c-contents__2columns */

.c-contents__2columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto, 35rem));
  grid-auto-rows: max-content;
  justify-content: center;
}

/* .c-contents__introduction */

.c-contents__introduction {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 2rem;
}

.c-contents__introduction-lead {
  font-family: var(--mplus);
  font-size: 2rem;
  font-weight: 500;
  color: var(--main);
  line-height: 1.25;
}

.c-contents__introduction-lead span {
  display: inline-block;
}

.c-contents__introduction-body {
  text-align: justify;
}



/*
**
** Headline
**
*/

/* .c-headline__center */

.c-headline__center {
  display: grid;
  grid-template-columns: auto;
  grid-auto-rows: max-content;
  grid-row-gap: 0.3rem;
  justify-content: center;
  text-align: center;
  line-height: 1;
}

.c-headline__center-body {
  position: relative;
  font-family: var(--mplus);
  font-weight: 500;
  color: var(--main);
  padding: 0.5rem 1.8rem;
}

.c-headline__center--corp .c-headline__center-body {
  color: var(--corp-main);
}

.c-headline__center--children_center .c-headline__center-body {
  color: var(--children_center-main);
}

.c-headline__center--sick_child_care .c-headline__center-body {
  color: var(--sick_child_care-main);
}

.c-headline__center--support_centers .c-headline__center-body {
  color: var(--support_centers-main);
}

.c-headline__center--consultation .c-headline__center-body {
  color: var(--consultation-main);
}

.c-headline__center--clinic .c-headline__center-body {
  color: var(--clinic-main);
}

.c-headline__center-body::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 0.6em;
  background-color: var(--light);
}

.c-headline__center--corp .c-headline__center-body::before {
  background-color: var(--corp-light);
}

.c-headline__center--children_center .c-headline__center-body::before {
  background-color: var(--children_center-light);
}

.c-headline__center--sick_child_care .c-headline__center-body::before {
  background-color: var(--sick_child_care-light);
}

.c-headline__center--support_centers .c-headline__center-body::before {
  background-color: var(--support_centers-light);
}

.c-headline__center--consultation .c-headline__center-body::before {
  background-color: var(--consultation-light);
}

.c-headline__center--clinic .c-headline__center-body::before {
  background-color: var(--clinic-light);
}

.c-headline__center-body-main {
  font-size: 2.5rem;
}

.c-headline__center-body-sub {
  font-size: 2rem;
  line-height: 1.25;
  margin-top: 0.25em;
}

.c-headline__center-body span {
  display: inline-block;
}

.c-headline__center-en {
  font-family: var(--mansalva);
  font-size: 1.3rem;
  color: #B9965F;
}

/* .c-headline__line */

.c-headline__line {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: max-content;
  font-family: var(--mplus);
  font-size: 2rem;
  font-weight: 500;
  color: var(--main);
  margin-bottom: 2rem;
}

.c-headline__line::after {
  content: '';
  border-bottom: 0.2rem solid #c8c8c8;
}

.c-headline__line-body {
  border-bottom: 0.2rem solid var(--main);
  padding-bottom: 0.3rem;
}

.c-headline__line-body span {
  display: inline-block;
}



/*
**
** Button
**
*/

/* .c-button__general */

.c-button__general {
  position: relative;
  width: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  margin-left: auto;
  margin-right: auto;
}

.c-button__general > * {
  display: block;
  font-family: var(--mplus);
  font-weight: 500;
  color: var(--main);
  line-height: 1;
  background-color: #fff;
  border: 0.1rem solid var(--main);
  border-radius: 2em;
  padding: 0.83em 4.45em 0.83em 1em;
}

.c-button__general--corp > * {
  color: var(--corp-main);
  border-color: var(--corp-main);
}

.c-button__general--children_center > * {
  color: var(--children_center-main);
  border-color: var(--children_center-main);
}

.c-button__general--sick_child_care > * {
  color: var(--sick_child_care-main);
  border-color: var(--sick_child_care-main);
}

.c-button__general--support_centers > * {
  color: var(--support_centers-main);
  border-color: var(--support_centers-main);
}

.c-button__general--consultation > * {
  color: var(--consultation-main);
  border-color: var(--consultation-main);
}

.c-button__general--clinic > * {
  color: var(--clinic-main);
  border-color: var(--clinic-main);
}

.c-button__general > *::after {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 1.1em;
  font-weight: 400;
}

.c-button__general:not(.c-button__general--return) > *::after {
  content: '\f0a9';
}

.c-button__general.c-button__general--return > *::after {
  content: '\f0a8';
}

@media (hover: hover) and (pointer: fine) {
  .c-button__general a:hover {
    color: #fff;
    background-color: var(--main);
  }

  .c-button__general--corp a:hover {
    background-color: var(--corp-main);
  }

  .c-button__general--children_center a:hover {
    background-color: var(--children_center-main);
  }

  .c-button__general--sick_child_care a:hover {
    background-color: var(--sick_child_care-main);
  }

  .c-button__general--support_centers a:hover {
    background-color: var(--support_centers-main);
  }

  .c-button__general--consultation a:hover {
    background-color: var(--consultation-main);
  }

  .c-button__general--clinic a:hover {
    background-color: var(--clinic-main);
  }
}

/* .c-button__simple */

.c-button__simple > * span {
  text-decoration: underline;
}

.c-button__simple:not(.c-button__simple--return) > *::after {
  content: '\f0a9';
}

.c-button__simple.c-button__simple--return > *::before {
  content: '\f0a8';
}

.c-button__simple > *::before,
.c-button__simple > *::after {
  font-weight: 700;
  color: var(--main);
}

.c-button__simple--corp > *::before,
.c-button__simple--corp > *::after {
  color: var(--corp-main);
}

.c-button__simple--children_center > *::before,
.c-button__simple--children_center > *::after {
  color: var(--children_center-main);
}

.c-button__simple--sick_child_care > *::before,
.c-button__simple--sick_child_care > *::after {
  color: var(--sick_child_care-main);
}

.c-button__simple--support_centers > *::before,
.c-button__simple--support_centers > *::after {
  color: var(--support_centers-main);
}

.c-button__simple--consultation > *::before,
.c-button__simple--consultation > *::after {
  color: var(--consultation-main);
}

.c-button__simple--clinic > *::before,
.c-button__simple--clinic > *::after {
  color: var(--clinic-main);
}

@media (hover: hover) and (pointer: fine) {
  .c-button__simple:not(.c-button__simple--return) a:hover {
    color: var(--link);
  }
}



/*
**
** List
**
*/

/* .c-list__circle */
/* .c-list__square */

.c-list__circle,
.c-list__square {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
}

.c-list__circle-contents,
.c-list__square-contents {
  padding-left: 1.25em;
}

.c-list__circle-contents::before,
.c-list__square-contents::before {
  font-weight: bold;
  margin-left: -1.25em;
}

.c-list__circle-contents::before {
  content: '\f111';
}

.c-list__square-contents::before {
  content: '\f0c8';
  font: var(--fa-font-solid);
}


/* .list__number */

/* .list__number {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  counter-reset: number 0;
}

.list__number-contents {
  padding-left: 1.5em;
}

.list__number-contents::before {
  content: counter(number)'.';
  counter-increment: number 1;
  display: inline-block;
  min-width: 1.2em;
  color: var(--headline);
  margin-left: -1.5em;
} */



/*
**
** Table
**
*/

/* .c-table__general */

.c-table__general {
  border: 0.1rem solid #969696;
}

.c-table__general tr:not(:last-child) {
  border-bottom: 0.1rem solid #969696;
}

.c-table__general th,
.c-table__general td {
  font-size: 1.3rem;
  line-height: 1.25;
  padding: 1rem;
}

.c-table__general th {
  font-weight: 500;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  border-right: 0.1rem solid #969696;
  background-color: #FFFAE6;
}


/* .table__scroll(スクロール可能なtable要素) */

/* .table__scroll-container {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  border-bottom: 0.1rem solid #AFAFAF;
}

.table__scroll-container.scroll table::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: var(--z-index-mid);
  width: min(20vw, 10rem);
  height: min(20vw, 10rem);
  background-color: hsla(0,0%,2%,0.32);
  background-image: url(../../image/common/icon_table-scroll.svg);
  background-position: center;
  background-size: 70%;
  background-repeat: no-repeat;
  border-radius: 0.5em;
  transition: var(--transition);
}

.table__scroll-container.scroll.usage table::before {
  visibility: hidden;
  opacity: 0;
}

.table__scroll-container table th,
.table__scroll-container table td {
  vertical-align: middle !important;
  word-break: keep-all;
  white-space: nowrap;
  border-top: 0.1rem solid #AFAFAF;
  border-right: 0.1rem solid #AFAFAF;
}

.table__scroll-container:not(.scroll) table tr th:first-child,
.table__scroll-container:not(.scroll) table tr td:first-child {
  border-left: 0.1rem solid #AFAFAF;
}

.table__scroll-container.scroll table *.fixed {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  min-width: max-content;
}

.table__scroll-container.scroll table *.fixed::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: -1;
}

.table__scroll-container table th.fixed::before,
.table__scroll-container table td.fixed::before {
  border-left: 0.1rem solid #AFAFAF;
}

.table__scroll-container.scroll table *.fixed::after {
  content: '';
  position: absolute;
  top: 0;
  right: -1rem;
  width: 1rem;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.1) 15%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.1) 15%, rgba(0, 0, 0, 0) 100%);
  background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.1) 15%, rgba(0, 0, 0, 0) 100%);
  z-index: -1;
} */



/*
**
** Text
**
*/

/* .c-text__nothing */

.c-text__nothing {
  font-size: inherit;
  margin-top: 2em;
  margin-bottom: 2em;
}

/* .c-text__attention */
/* .c-text__remark */

.c-text__attention,
.c-text__remark {
  padding-left: 1em;
}

.c-text__attention::before,
.c-text__remark::before {
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

.c-text__attention::before {
  content: '\0203b';
}

.c-text__remark::before {
  content: '\0ff0a';
}



/*
**
** Image
**
*/

/* .c-image__rnd */

.c-image__rnd {
  border-radius: 0.6rem;
}



/*
**
** Modal
**
*/

#global-modal {
  position: fixed;
  top: 0;
  z-index: var(--z-index--max);
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.c-modal__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.c-modal__bg {
  position: relative;
  width: calc((var(--wrap-size) * 100%) + (0.5rem * 2));
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.15);
  margin-left: auto;
  margin-right: auto;
}

.c-modal__close {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  z-index: var(--z-index--low);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  color: #969696;
  line-height: 1;
  background-color: #fff;
  border: 0.1rem solid #969696;
  border-radius: 50%;
  outline: none;
}

@media (hover: hover) and (pointer: fine) {
  .c-modal__close:hover {
    cursor: pointer;
  }
}

.c-modal__container {
  width: 100%;
  max-height: calc(100vh - (7rem * 2));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.c-modal__contents {
  width: 100%;
  padding: 1rem;
}

.c-modal__post-contents {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.c-modal__detail-contents {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.c-modal__post-date {
  display: block;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1rem;
}

.c-modal__post-title {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--main);
  line-height: 1.25;
  border-bottom: 0.1rem dashed #969696;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}

.c-modal__loading,
.c-modal__error {
  text-align: center;
}



/*
**
** Badge
**
*/

/* .grecaptcha-badge */

.grecaptcha-badge {
  bottom: 7rem !important;
}