@charset "UTF-8";
/* CSS Document */
/*---------------------------------

  事業紹介 共通

---------------------------------*/
section .title {
  margin: auto;
  width: 100%;
}
section .title h2 {
  font-size: 2.2em;
  font-weight: 800;
  letter-spacing: 3px;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  section .title h2 {
    font-size: 1.7em;
    line-height: 1.2;
  }
}
/*---------------------------------

  事業紹介

---------------------------------*/
.serviceBlock {}
.serviceBlock .wrap {}
.serviceBlock .wrap .seBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.serviceBlock .wrap .seBox + .seBox {
  margin-top: 7rem;
}
.serviceBlock .wrap .seBox .txtBox {
  flex-basis: 45%;
}
.serviceBlock .wrap .seBox .txtBox .title {
  margin: 0 0 3rem;
  text-align: center;
}
.serviceBlock .wrap .seBox .txtBox ._txt {}
.serviceBlock .wrap .seBox .txtBox ._txt p {
  line-height: 1.8;
  margin-bottom: 2rem;
  text-align: justify;
}
.serviceBlock .wrap .seBox .txtBox ._txt .__seTxt {
  background: #fff;
  border-radius: 1rem;
  font-size: .9em;
  padding: 1.5rem 2rem;
}
.serviceBlock .wrap .seBox .txtBox ._txt .__seTxt dt {
  border-bottom: 2px solid #eee;
  color: var(--co-g);
  font: var(--marug);
  font-weight: 700;
  font-size: 1em;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.serviceBlock .wrap .seBox .txtBox ._txt .__seTxt dd ul {
  list-style: none;
  margin: 0;
}
.serviceBlock .wrap .seBox .txtBox ._txt .__seTxt dd ul li {
  display: inline-block;
  margin-right: 1em;
  padding-left: 1.3em;
  position: relative;
}
.serviceBlock .wrap .seBox .txtBox ._txt .__seTxt dd ul li::before {
  background: #eedda5;
  border-radius: 50%;
  content: '';
  display: block;
  position: absolute;
  top: .4em;
  left: 0;
  width: 1em;
  height: 1em;
}
.serviceBlock .wrap .seBox .txtBox .moreBtn {
  margin: 3rem auto 0;
  text-align: center;
}
.serviceBlock .wrap .seBox .txtBox .moreBtn a {
  background: url("../images/btn_arr_3_2.svg") no-repeat center right 1rem/3rem;
  color: #999;
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 2rem 0;
  padding-right: 6.5rem;
}
.serviceBlock .wrap .seBox .txtBox .moreBtn a:hover {
  background-size: 5rem;
  background-position: center right;
  color: var(--co-g);
}
.serviceBlock .wrap .seBox .txtBox .moreBtn a span {}
.serviceBlock .wrap .seBox figure {
  border-radius: 2rem;
  flex-basis: 50%;
  overflow: hidden;
}
.serviceBlock .wrap .seBox:nth-child(odd) figure {
  order: -1;
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .serviceBlock .wrap .seBox {
    display: block;
  }
  .serviceBlock .wrap .seBox .txtBox .moreBtn {
    margin: 2rem auto;
  }
}
@media screen and (max-width: 480px) {
  .serviceBlock .wrap .seBox .txtBox ._txt .__seTxt dd ul li {
    display: block;
  }
}
/*---------------------------------

  施設一覧

---------------------------------*/
.facilityBlock {}
.facilityBlock .wrap {}
.facilityBlock .wrap .title {}
.facilityBlock .wrap .title h2 {
  color: var(--co-g);
  font-size: 1.6em;
  font-weight: 600;
}
.facilityBlock .wrap .txt {
  line-height: 1.6;
  margin: 3rem 0;
}
.facilityBlock .wrap .facilityList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
}
.facilityBlock .wrap .facilityList li {
  background: #f7f6f3;
  border-radius: 1rem;
  flex-basis: 49%;
  margin-bottom: 2%;
  overflow: hidden;
}
.facilityBlock .wrap .facilityList li a {
  background: url("../images/btn_arr_3_1.svg") no-repeat center right 2rem/3rem;
  color: var(--co-bl);
  display: flex;
  align-items: center;
}
.facilityBlock .wrap .facilityList li a figure {
  flex-basis: 35%;
  overflow: hidden;
}
.facilityBlock .wrap .facilityList li a figure img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.facilityBlock .wrap .facilityList li a ._txt {
  flex-basis: 65%;
  font-weight: 600;
  padding: 1rem 2rem;
}
.facilityBlock .wrap .facilityList li a ._txt span {
  color: var(--co-g);
  border-radius: 3rem;
  font-size: .8em;
  display: inline-block;
}
.facilityBlock .wrap .facilityList li a ._txt p {}
.facilityBlock .wrap .facilityList li a:hover {
  background: url("../images/btn_arr_3_2.svg") no-repeat center right 1.8rem/3.2rem;
}
.facilityBlock .wrap .facilityList li a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  .facilityBlock section .title h2 {
    font-size: 1.5em;
  }
  .facilityBlock .wrap .facilityList li {
    flex-basis: 100%;
    margin-bottom: 2%;
  }
}
/*---------------------------------

  施設詳細

---------------------------------*/
.detailBlock {}
.detailBlock .mainImg {
  overflow: hidden;
}
.detailBlock .mainImg img {
  border-radius: 2rem 0 0 2rem;
  object-fit: cover;
  height: 50rem;
  width: 100%;
  vertical-align: bottom;
}
.detailBlock section {
  padding: 5rem 0;
}
.detailBlock section .title {
  margin-bottom: 3rem;
}
.detailBlock section .title p.ttl {
  color: var(--co-bl);
  font-size: 1.1em;
  font-weight: 600;
}
.detailBlock section .title h2 {
  color: var(--co-g);
  font-size: 1.6em;
  font-weight: 600;
}
.detailBlock section h3 {
  font-size: 1.2em;
}
.detailBlock section .wrap .txt {
  line-height: 1.8;
}
.detailBlock section .wrap .txt + .txt {
  margin-top: 3rem;
}
.detailBlock section .wrap ._flex {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
.detailBlock section .wrap ._flex + ._flex {
  margin-top: 5rem;
}
.detailBlock section .wrap ._flex .txt {
  flex: 1 0 55%;
}
.detailBlock section .wrap ._flex .txt + figure {
  flex-basis: 40%;
  margin-left: 5%;
}
.detailBlock section .wrap ._flex._fx_img figure img {
  aspect-ratio: 3/2;
  object-fit: cover;
  width: 100%;
  height: auto;
}
.detailBlock section .wrap .flowTime {}
.detailBlock section .wrap .flowTime div {
  display: flex;
  align-items: center;
  position: relative;
}
.detailBlock section .wrap .flowTime div:not(:last-child) {
  padding-bottom: 2rem;
}
.detailBlock section .wrap .flowTime div:not(:last-child)::after {
  background: #ccc;
  content: '';
  position: absolute;
  left: 7.5rem;
  bottom: 0;
  width: 2px;
  height: 2rem;
}
.detailBlock section .wrap .flowTime div dt {
  border: 1px solid #ccc;
  border-radius: 5rem;
  font: var(--marug);
  font-size: 2.8rem;
  font-weight: 700;
  flex: 0 0 15rem;
  padding: .2rem 1rem;
  text-align: center;
}
.detailBlock section .wrap .flowTime div dd {
  color: #554C4D;
  font-size: 1.1em;
  font-weight: 500;
  margin-left: 4rem;
}
.detailBlock section#flow .txt {
  margin-top: 1.5em;
}
.detailBlock section:not(#contact) .btn {
  margin: 1em 0;
}
.detailBlock section:not(#contact) .btn a {
  padding: 1.5rem 2rem;
}
.detailBlock section:not(#contact) .btn2 {
  margin: .5em 0;
}
.detailBlock section:not(#contact) .btn2 a {
  padding: .5rem 2rem;
}
.detailBlock section#contact {}
.detailBlock section#contact .conBox {
  border-radius: .5rem;
  display: flex;
  margin: 2rem 0 0;
  overflow: hidden;
}
.detailBlock section#contact ._telBox {
  background: #f3f3f3;
  flex-basis: 50%;
  line-height: 1.5;
  padding: 2.5rem 4rem;
}
.detailBlock section#contact ._telBox p.tel {
  font-size: 1.2em;
  font-weight: 600;
}
.detailBlock section#contact ._telBox p.tel span {
  font-size: 1.4em;
}
.detailBlock section#contact ._telBox p.tel span a {
  pointer-events: none;
  text-decoration: none;
}
.detailBlock section#contact ._telBox p:not(.tel) {
  font-size: .85em;
  margin: 0;
}
.detailBlock section#contact .btn {
  border-radius: 0;
  flex-basis: 50%;
  max-width: inherit;
  width: auto;
}
.detailBlock section#contact .btn a {
  display: flex;
  align-items: center;
  padding: 1rem 4rem;
  height: 100%;
}
.detailBlock section#contact .btn a span {
  width: 100%;
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .detailBlock .mainImg {
    padding-left: 2.5%;
  }
  .detailBlock .mainImg img {
    height: 35rem;
  }
  .detailBlock section#contact ._telBox {
    padding: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .detailBlock .mainImg img {
    height: 25rem;
  }
  .detailBlock section .title h2 {
    font-size: 1.5em;
  }
  .detailBlock section .wrap ._flex {
    display: block;
    margin-top: 3rem;
  }
  .detailBlock section .wrap ._flex figure {
    margin-top: 2rem;
  }
  .detailBlock section .wrap ._flex .txt + figure {
    margin-left: 0;
  }
  .detailBlock section .wrap .flowTime div:not(:last-child) {
    padding-bottom: 1rem;
  }
  .detailBlock section .wrap .flowTime div:not(:last-child)::after {
    left: 5rem;
    height: 1rem;
  }
  .detailBlock section .wrap .flowTime div dt {
    font-size: 2.5rem;
    flex: 0 0 10rem;
  }
  .detailBlock section#contact .conBox {
    display: block;
  }
  .detailBlock section#contact ._telBox p.tel span a {
    pointer-events: auto;
    text-decoration: underline;
  }
  .detailBlock section#contact .btn a {
    padding: 2rem;
  }
}
/*---------------------------------

  地域連携推進会議

---------------------------------*/
.suishinrenkeiBlock {}
.suishinrenkeiBlock .wrap {}
.suishinrenkeiBlock .wrap .title {
  margin-bottom: 5rem;
}
.suishinrenkeiBlock .wrap .txt {
  margin: 4rem auto;
}
.suishinrenkeiBlock .wrap ol {
  list-style: none;
  counter-reset: number;
  margin: 2rem 0;
}
.suishinrenkeiBlock .wrap ol li {
  line-height: 1.5;
  margin: 1.5rem 0;
  position: relative;
  padding-left: 5rem;
}
.suishinrenkeiBlock .wrap ol li::before {
  color: var(--co-g);
  counter-increment: number;
  content: '（' counter(number) '）';
  font: var(--marug);
  font-size: 1.1em;
  font-weight: 600;
  position: absolute;
  left: 0;
}
.suishinrenkeiBlock .wrap table {
  font-size: .9em;
}
.suishinrenkeiBlock .wrap table thead th {
  padding: .6rem 2rem;
}
.suishinrenkeiBlock .wrap table td .btn {
  margin-top: 1rem;
}
.suishinrenkeiBlock .wrap table td .btn a {
  padding: .8rem 1.5rem;
}