@charset "UTF-8";
/*
Theme Name: mystyle.css
Description: 
* 
* Bootstrap Grid v5.3.0 (https://getbootstrap.com/)
*/

body {
  padding-top: 70px;
  font-size: 1.8rem;
}
.post-list .headline {
  font-size: 1.8rem;
}
#the_content {padding-top: 0!important;}

/* header
----------------------------------------- */
header {
  height: 70px;
}
.nav-area {
  margin: 0;
}
.utt-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 2rem;
}
.utt-box em {
  font-style: normal;
}

header .search input {
  border: 1px solid #86bfa9;
}
header .search button {
  background-color: #86bfa9;
}

header .tel {
  margin: 0;
}
header .tel a {
  display: flex;
  align-items: center;
}
header .tel a .tel-text-wrap {
  display: flex;
  flex-direction: column;
  text-align: center;
}
header .tel a::before {
  background: url(../images/asset10.webp) no-repeat center/ contain;
  content: "";
  display: flex;
  align-items: center;
  margin-right: .5rem;
  height: 50px;
  width: 50px;
}
header .tel a .tel-text {
  letter-spacing: -.04em;
}
@media only screen and (max-width: 767.98px) {
  header .tel a {
    display: flex;
    flex-direction: column;
  }
}
header .tel .tel-num {
  font-size: clamp(2.6rem, 1.4rem + 3vw, 3.2rem);
  font-weight: 700;
  letter-spacing: -.05rem;
  line-height: 1;
}

header .help a {
  display: flex;
  align-items: center;
  margin: 0;
}
header .help a::before {
  background: url(../images/asset13.webp) no-repeat center/ contain;
  content: "";
  display: block;
  margin-right: .5rem;
  height: 20px;
  width: 20px;
}

#hamburgerMenu .hambNav ul li a {
  display: flex;
  align-items: center;
  font-size: 2rem;
}
#hamburgerMenu .hambNav ul li a::before {
  background-color: #ff9933;
  border-radius: 100vw;
  content: "";
  margin-right: .5rem;
  height: 12px;
  width: 12px;
}


@media (min-width: 1090px) {
  body {
      padding-top: 133.2px;
  }
  header {
    height: auto;
  }
  .hambInner {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 1400px) and (min-width: 1090px) {
  body {
      padding-top: 143.2px;
  }
  header #nav-bar .brand {
    padding-top: 1rem;
  }
  #hamburgerMenu {
    position: fixed;
    top: 0;
    left: 0;
    height: auto;
    width: 100vw;
  }

  .hambInner {
    background: #fff;
    padding-left: 4rem;
    padding-right: 4rem;
    width: 100%;
    height: auto;
  }

  .hambNav {
    justify-content: center;
    margin-top: 1rem;
    width: 100%;
  }
}

@media only screen and (max-width: 1090px) {
  header .site-logo a {
    display: flex;
  }
  .toggler-wrap {
    background: #ff9933;
    border-radius: 1rem;
    width: 40px;
    height: 40px;
  }
  .nav-area nav .navbar-toggler {
    right: 1rem;
  }
  .navbar-toggler .navbar-toggler-icon,
  .navbar-toggler .navbar-toggler-icon:before,
  .navbar-toggler .navbar-toggler-icon:after {
    height: .35rem;
    width: 2rem;
    background: #fff;
  }

  header .toggler-wrap {
    background: #ff9933!important;
  }

  #hamburgerMenu {
    padding-top: 0;
    top: 100%;
  }
  header .hambInner {
    background-color: #fff9f0;
    border-color: #ff9933;
    border-width: 2px;
    display: flex;
    flex-direction: column;
  }
  header #hamburgerMenu .utt-box {
    order: 2;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0;
    padding: 1.25rem;
  }
  header #hamburgerMenu .utt-box>* {
    padding: 1.25rem;
  }
  header #hamburgerMenu .hambNav {
    order: 1;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  header .hambNav>ul li a::after {
    background: url(../images/arrow-right.webp) no-repeat center/ contain;
    height: 19px;
    width: 12px;
    top: 0;
    left: auto;
    right: 2rem;
    bottom: 0;
    margin: auto;
  }
  header .hambNav>ul {
    width: 100%;
  }
  header .hambNav>ul li a {
    border-bottom: 2px solid #ff9933;
    padding: .75rem 0;
    padding-left: 1.25rem;
  }
}

@media only screen and (max-width: 819.98px) {
  header #hamburgerMenu .utt-box>* {
    padding-left: .6rem;
    padding-right: .6rem;
  }
  header .help a,
  header .tel a {
    display: flex;
    flex-direction: column;
  }
  header .tel .tel-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
  }
  header .tel .tel-text em {
    height: 0;
    visibility: hidden;
  }

  header #hamburgerMenu .utt-box {
    align-items: stretch;
  }
  header .search {
    order: 1;
    flex: 0 0 100%;
    margin-top: 1rem;
    padding: 0!important;
  }
  .input-button input,
  .input-button button {
    height: 55px;
  }

  header .help {
    order: 2;
  }
  header .tel .tel-num {
    display: none;
  }
  header .tel {
    order: 3;
    flex: 0 0 50%;
    text-align: center;
  }
  header .search input {
    width: calc(100% - 85px);
  }
  header .help,
  header .tel {
    width: 50%;
    max-width: 250px;
  }
  header .help a,
  header .tel a {
    background: #fff;
    border: 2px solid #ff9933;
    border-radius: 1rem;
    align-items: stretch;
    height: 100%;
    text-align: center;
    padding: 3rem 1.25rem;
  }

  header .help a::before,
  header .tel a::before {
    margin: 0 auto 1rem;
    height: 40px;
    width: 40px;
  }
}

@media only screen and (max-width: 479.98px) {
  header .hambInner {
    padding-bottom: clamp(4rem, 4rem + 4vw, 8rem);
  }
  header #hamburgerMenu .utt-box {
    font-size: 1.6rem;
  }
  header .help a, header .tel a {
    padding: 1rem;
  }
}


/* #page_header
----------------------------------------- */
#page_header {
  margin-bottom: 1rem;
  /*aspect-ratio: 1918/430;*/
  height: 270px;
}
@media (min-width: 768px) {
  #page_header {
    height: 430px;
  }
}
#page_header::before {
  background: url(../images/bg-sub.webp) repeat-x center;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

#page-title {
  /*aspect-ratio: 858/149;*/
  height: 120px;
  background-color: #fffefc;
  border-radius: 100vw;
  display: flex;
    align-items: center;
    justify-content: center;
  position: absolute;
    top: 50%;
    left: 50%;
  transform: translate(-50%,-50%);
  width: min(858px, 90%);
}
@media (min-width: 768px) {
  #page-title {
    height: 150px;
  }
}
#page-title .title {
  color: #7d6652;
  font-size: clamp(2.6rem, 1.6rem + 2vw, 3.2rem);
  font-weight: 700;
  line-height: 1.3;
}

.post-title {
  font-size: clamp(2.6rem, 1.6rem + 2vw, 3.2rem);
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .single .post-title {
    margin-bottom: 10rem;
  }
}
.post-title .title {
  display: flex;
    align-items: center;
    justify-content: center;
  font-size: clamp(2.4rem, 1.6rem + 2vw, 2.8rem);
  line-height: 1.3;
}

.tax-title {
  background-color: #f7f2ed!important;
  border-bottom: 3px solid #ff9933;
  border-radius: 1rem 1rem 0 0;
  padding: 0 10px 5px;
}
.tax-title h1 {
  color: #333;
  font-size: clamp(2rem, 1.6rem + 2vw, 2.4rem);
  font-weight: 500;
  letter-spacing: .1em;
}

/* ページ タイトルの bg-image */
.page #page-title .title,
.archive #page-title .title,
.single #page-title .title,
.news #page-title .title,
.search #page-title .title {
  display: flex;
    align-items: center;
    justify-content: center;
  height: 100%;
  width: 100%;
  position: relative;
}

@media (min-width: 576px) {
  .news #page-title .title::before,
  .archive #page-title .title::before,
  .single #page-title .title::before,
  .page #page-title .title::before,
  .search #page-title .title::before {
    content: "";
    position: absolute;
      left: 0;
    transform: translateX(calc(-100% + 95px));
  }
  /* お知らせ・その他 事業案内 以外 */
  .news #page-title .title::before,
  .archive:not(.archive-services) #page-title .title::before,
  .single:not(.single-services) #page-title .title::before,
  .page #page-title .title::before,
  .search #page-title .title::before {
    aspect-ratio: 175/226;
    background: url(../images/figure-news.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* 地域福祉・地域活動 */
  .term-community #page-title .title::before {
    aspect-ratio: 243/234;
    background: url(../images/figure-community.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* ボランティア・寄付 */
  .term-volunteer #page-title .title::before {
    aspect-ratio: 311/222;
    background: url(../images/figure-volunteer.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* 生活相談 */
  .term-consult #page-title .title::before {
    aspect-ratio: 283/209;
    background: url(../images/figure-consult.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* 介護 */
  .term-care #page-title .title::before {
    aspect-ratio: 217/200;
    background: url(../images/figure-care.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* 障害福祉 */
  .term-disability #page-title .title::before {
    aspect-ratio: 217/195;
    background: url(../images/figure-disability.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }

  /* 保育・子育て */
  .term-childcare #page-title .title::before {
    aspect-ratio: 226/197;
    background: url(../images/figure-childcare.webp) no-repeat center/ contain;
    width: min(clamp(130px, 20vw, 175px), 100%);
  }
}

/* #bread_crumb
-----------------------------------------*/
#bread_crumb {
    margin-bottom: 4rem;
}

/* .link .btn
-----------------------------------------*/
.link .btn {
  background-color: #fff;
  border: 1px solid #777;
  color: #333;
  display: inline-block;
  font-size: 1.6rem;
  padding: 2rem 4rem;
  transition: color .3s;
}
.link .btn:hover {
  background-color: #fff;
  color: #b3b3b3;
}


/* single
-----------------------------------------*/
h2.wp-block-heading {
  border-color: #ff9933;
}
h3.wp-block-heading {
  background-color: #f7f2ed;
  border-color: #bab6b3;
}
h4.wp-block-heading::before {
  background-color: #ff9933;
}

.single .eyecatch {
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .single .eyecatch {
    margin-top: -6rem;
  }
}
.single .eyecatch img {
  border-radius: 1rem;
  display: block;
  margin: 0 auto;
}
.single .meta [class^=cat-] {
  color: #fff;
  text-decoration: none;
}
.single .meta .date {
  padding-right: 1.25rem;
}


/* archive
-----------------------------------------*/
.archive #the_content {
  padding: 0!important;
}
/*.archive .post .post-cards>* {
  padding-top: 2rem;
  padding-bottom: 2rem;
}*/
.archive .post [class^=cat-],
.archive .post .headline a,
.archive .post a {
  text-decoration: none;
}

.archive #services article figure {
  margin-bottom: 1.25rem;
}
.archive #services article a .headline {
  color: #876d5b;
  display: flex;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.archive #services article a p {
  color: #333;
}
.archive #services article a .headline,
.archive #services article a p {
  transition: opacity .35s;
}
.archive #services article a:hover .headline,
.archive #services article a:hover p {
  opacity: .7;
}
/* .archive #news */
.archive #news  {
  padding: 6rem 0 6rem;
}
.archive #news .nav  {
  margin-bottom: 8rem;
}
.archive #news .post-cards  {
  position: relative;
}
.archive #news .post-cards::before {
  content: "";
  width: 100vw;
  background: #f7f2ee;
  position: absolute;
    top: -6rem;
    left: 50%;
    bottom: -6rem;
  transform: translateX(-50%);
  z-index: -1;
}
@media only screen and (max-width: 479.98px) {
  .archive #news  {
    padding-top: 2rem;
  }
  .archive #news .nav {
    margin-bottom: 3rem;
  }
  .archive #news .post-cards {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .archive #news .post-cards::before {
    top: 0rem;
    bottom: 0rem;
  }
}

/* .archive #overview */
.archive #overview a {
  color: #876d5b;
}
.archive #overview a:hover {
  color: #b3b3b3;
}


/* footer
-----------------------------------------*/
.pagetop a {
  background: url(../images/asset7.webp) no-repeat center / contain;
  /*aspect-ratio: 1 / 1;*/
  height: 40px;
  width: 40px;
  right: 2rem;
  bottom: 1rem;
}
.pagetop a.static {
  top: -30px;
  bottom: auto;
}
@media (min-width: 768px) {
  .pagetop a.static {
    top: -40px;
  }
}
.pagetop a span {
  display: none;
}
@media only screen and (max-width: 479.98px) {
  .pagetop a.static {
    top: -24px;
    bottom: auto;
  }
}

footer {
  margin-top: clamp(6rem, 4rem + 4vw, 12rem);
}
footer .section-1 {
  background-color: #f6f1ed;
  margin-bottom: 6rem;
  padding: 4rem 0;
  position: relative;
}
@media only screen and (max-width: 479.98px) {
  footer .section-1 {
    margin-bottom: 4rem;
  }
}
footer .section-1::before,
footer .section-1::after {
  background: url(../images/asset9.webp) no-repeat center / contain;
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 2880/54;
  position: absolute;
}
footer .section-1::before {
  background: url(../images/fut-bg1.webp) no-repeat center / contain;
  bottom: 99%;
}
footer .section-1::after {
  background: url(../images/fut-bg2.webp) no-repeat center / contain;
  top: 99%;
}

footer .contact-us>p {
  text-align: center;
  /*font-size: clamp(2.4rem, 1.6rem + 2vw, 3rem);*/
  font-size: clamp(2.2rem, 1.6rem + 2vw, 2.6rem);
  margin-bottom: 6rem;
}
footer .contact-us .inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}
@media (min-width: 768px) {
  footer .contact-us>p br {
    display: none;
  }
  footer .tel {
    padding-right: 3rem;
  }
}
@media (min-width: 992px) {
  footer .contact-us .inner::before {
    background: url(../images/asset9.webp) no-repeat center / contain;
    content: "";
    display: block;
    /*height: 226px;*/
    width: 291px;
    aspect-ratio: 291/226;
    margin-right: 4rem;
    transform: translateY(-20%);
  }
}
footer .contact-us figure {
  /*position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);*/
  padding-right: 4rem;
  transform: translateY(-20%);
}
footer .contact-us figure img {
  width: clamp(200px, 15vw, 290px);
}

footer .mail a {
}
footer .mail a:hover {
  opacity: .75;
}
footer .tel img,
footer .mail img {
  width: 100%;
  max-width: clamp(340px, 60vw, 546px);
}
@media only screen and (max-width: 767.98px) {
  footer .contact-us .inner {
    gap: 3rem 0;
    flex-direction: column;
  }
  footer .tel img,
  footer .mail img {
    width: 80%;
    display: block;
    margin: 0 auto;
    max-width: 400px;
  }
}

/*
footer .tel {
  display: flex;
  align-items: center;
  margin: 0;
  padding-right: 2rem;
}
footer .tel a {
  display: flex;
  flex-direction: column;
}
footer .tel::before {
  background: url(../images/asset10.webp) no-repeat center / contain;
  content: "";
  display: block;
  margin-right: .5rem;
  /*
  height: 92px;
  width: 92px; * /
  height: 72px;
  width: 72px;
}
footer .tel .tel-num {
  font-size: clamp(4.2rem, 3.2rem + 3vw, 6.3rem);
  /*font-size: clamp(2.8rem, 3.2rem + 3vw, 4.3rem);* /
  font-weight: 700;
  letter-spacing: -.05rem;
  line-height: 1;
}
footer .tel em {
  font-style: normal;
}
footer .tel .tel-text {
  /*font-size: clamp(2rem, 1.6rem + 1.8vw, 2.6rem);* /
  font-size: clamp(2rem, 1.6rem + 2vw, 2.3rem);
}

footer .mail a {
  background-color: #fff;
  border: 2px solid #ff9933;
  border-radius: 1rem;
  color: #ff9933;
  display: inline-flex;
  align-items: center;
  /*font-size: clamp(2.4rem, 1.6rem + 2vw, 3rem);* /
  font-size: clamp(2.2rem, 1.6rem + 2vw, 2.6rem);
  padding: 1.25rem 3rem;
}
footer .mail a:hover {
  opacity: .75;
}
footer .mail a::before {
  background: url(../images/asset11.webp) no-repeat center / contain;
  content: "";
  display: block;
  margin-right: .5rem;
  /*height: 43px;
  width: 63px;* /
  height: 33px;
  width: 53px;
}
*/

.footer-nav {
  display: flex;
    justify-content: center;
  margin-bottom: 4rem;
}
@media (min-width: 576px) {
  .footer-nav ul>li {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 479.98px) {
  .footer-nav {
    margin-bottom: 3rem;
  }
}
.footer-nav ul>li a {
  display: flex;
  align-items: center;
}
.footer-nav ul>li a::before {
  background-color: #ff9933;
  border-radius: 100vw;
  content: "";
  margin-right: .5rem;
  height: 10px;
  width: 10px;
}

footer .brand {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 991.98px) {
  footer .brand {
    margin-bottom: 1rem;
  }
}
footer .section-3 {
  padding-bottom: 2rem;
}
footer .address,
footer .copyright {
  text-align: center;
}
footer .address p,
footer .copyright p {
  margin: 0;
}
footer .section-3:nth-of-type(3) {
  margin-bottom: 2rem;
}
footer .address {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
footer .wrap-1,
footer .wrap-2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  line-height: 1.428;
}
@media only screen and (max-width: 575.98px) {
  footer .section-2,
  footer .section-3 {
    font-size: 1.6rem;
  }
}
footer .wrap-1,
footer .address span {
  padding: 0 0.5rem;
}


/* front-page
-----------------------------------------*/
.home h2 {
  color: #876d5b;
  font-size: clamp(2.8rem, 2rem + 3vw, 4.5rem);
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 3rem;
  text-align: center;;
}
.home h2 span {
  color: #ff6915;
  font-size: 2rem;
  display: block;
}
.home .link>.btn {
  background-color: #ff9933;
  border: none;
  color: #fff;
  font-size: 2.2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  transition: opacity .35s;
  width: clamp(210px, 276px, 100%);
}
.home .link>.btn:hover {
  opacity: .7;
}
/* #hero-slider */
@media (min-width: 992px) {
  #hero-slider img {
    display: block;
    margin: 0 auto;
    height: calc(100vh - 143.2px);
    width: auto;
    object-fit: contain;
  }
}

/* .home #notice */
#notice .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home #notice h2 {
  background-color: #f78d98;
  border-radius: 1rem;
  color: #fff;
  display: inline-flex;
  font-size: 2.2rem;
  margin-bottom: 1rem;
  padding: .5rem 2rem;
}
@media (min-width: 576px) {
  #notice .more {
    font-size: 2.2rem;
  }
}
.home #notice .more a {
  text-decoration: underline;
}
.home #notice h3 {
  position: relative;
}
.home #notice h3::after {
  background: url(../images/arrow-right1.webp) no-repeat center/ contain;
  content: "";
  aspect-ratio: 20/33;
  width: 10px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width: 1199.98px) {
  .home #notice {
    padding-top: 4rem;
  }
}
@media only screen and (max-width: 575.98px) {
  .home #notice article {
    flex-wrap: wrap;
  }
  .home #notice h3 {
    flex: 0 0 100%;
  }
}
@media only screen and (max-width: 479.98px) {
  .home #notice {
    padding-bottom: 0;
  }
  .home #notice .post-list .date {
    margin-bottom: 0;
  }
}


/* .home #services */
.home #services {
  background: url(../images/bg02.webp) repeat-y top center;
  margin-top: 6rem;
  padding-top: 6rem;
  padding-bottom: clamp(4rem, 4rem + 4vw, 8rem);
  position: relative;
  overflow: visible;
}
.home #services::before {
  background: url(../images/bg01.webp) no-repeat top center/ contain;
  content: "";
  aspect-ratio: 2882/128;
  width: 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  transform: translateY(1px);
}
@media only screen and (max-width: 479.98px) {
  .home #services {
    padding-top: 4rem;
  }
}

.home #services .row>* {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.home #services .card {
  background-color: #fff;
  border-radius: 2rem;
  padding: 3rem 1.25rem 1.75rem;
}
.home #services .card-body figure {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 2rem;
  overflow: visible;
}
.home #services .card-body figure img {
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.home #services .card-body .card-title {
  color: #4f4f4f;
  font-weight: normal;
  text-align: center;
}


/* .home #news */
.home #news {
  padding-bottom: 0;
}
#news .nav {
  flex-wrap: nowrap;
  padding: 0 3rem 3rem 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 576px) {
  #news .nav {
    margin-bottom: 4rem;
  }
}
@media (min-width: 992px) {
  #news .nav {
    padding-right: 0;
    justify-content: center;
  }
}
.nav::-webkit-scrollbar { height: 6px; }
.nav-item {
  flex: 0 0 auto;
}
#news .nav li {
  font-size: 2rem;
  padding: 0 1.25rem;
}
#news .nav li a {
  background-color: #f7f2ee;
  border-radius: 3.3rem;
  color: #333;
  padding: 1.5rem 4rem;
  text-align: center;
  width: 182px;
  transition: .35s;
  cursor: pointer;
}
#news .nav li .active {
  background-color: #ff9933;
  color: #fff;
  position: relative;
  cursor: auto;
}
.cards-row {
  opacity: 1;
  transition: opacity .35s ease;
}

.cards-row.fade-out {
  opacity: 0;
}

.cards-row.fade-in {
  opacity: 1;
}


/* 逆三角形（active の真下に出す） */
#news .nav li .active::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 37px;
  height: 20px;
  margin-top: -1px;
  background-color: #ff9933;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
#news .nav li a:hover {
  background-color: #ff9933;
  color: #fff;
}
/* ▲ End */

.home #news figure {
  aspect-ratio: 3/2;
}
/* 画像サイズが違っても範囲内いっぱいに表示する（サイズが合わなければトリミングする） */
.home .post-cards figure img {
  height: 100%;
  object-fit: cover;
}
#news figure,#news figure img {
  border-top-left-radius: 1.75rem;
  border-top-right-radius: 1.75rem;
}
#news .cat-recruit {background-color: #26a4c6;}
#news .cat-event {background-color: #ea7d7d;}
#news .cat-info {background-color: #64bc8a;}
#news [class^=cat-]:hover {
  opacity: .7;
}

#news .headline {
  font-size: 2rem;
  font-weight: 500;
}
#news .headline a {
  color: #876d5b;
}

#news .btn-row {
  padding-bottom: 6rem;
}
/**
 * News背景色の設定 JSと連動する
 * レスポンシブ対応の場合に cssだけでは不可能なデザインのためJSを使う
 */
.news-bg {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  overflow: visible;
}
.news-bg::before {
  border-radius: 6rem;
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(96%, 1674px); /* 背景の最大幅（デザインに合わせて調整） */
  background: #f7f2ee;
  height: var(--bg-height, 400px);
  top: var(--bg-top, 0px);
  transition: background-color 0.6s ease, height 0.6s ease, top 0.6s ease;
  z-index: -1;
}
@media (min-width: 992px) {
  .home #news .container::before {
    background: url(../images/asset16.webp) no-repeat center/ contain;
    content: "";
    position: absolute;
    top: 4%;
    left: 1.25rem;
    aspect-ratio: 307/139;
    width: clamp(140px, 204px, 100%);
  }
}
/* 念の為の保険 */
.cards-wrap {
  padding-bottom: 3rem;
}
@media (min-width: 576px) {
  .cards-wrap {
    padding-bottom: 4rem;
  }
}
.linkbtn-wrap {
  position: relative;
}
.linkbtn-wrap::after {
  border-radius: 0 0 6rem 6rem;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(96%, 1674px);
  background: #f7f2ee;
  height: 100%;
  transition: background-color 0.6s ease, height 0.6s ease, top 0.6s ease;
  z-index: -1;
}
@media (min-width: 480px) {
  .linkbtn-wrap .link {
    margin-top: 0;
  }
}

@media only screen and (max-width: 479.98px) {
  .news-bg::before {
    border-radius: 3rem;
  }

  .home .cards-wrap {
    padding-bottom: 0;
  }
  .home .cards-wrap .post-cards>*:last-child {
    padding-bottom: 0;
  }

  .home .linkbtn-wrap::after {
    border-radius: 0 0 3rem 3rem;
  }

  #news .btn-row {
    padding-bottom: 4rem;
  }
}

/* .home #facilities */
#facilities {
  background-color: #cee8df;
  overflow: visible;
  padding-bottom: 25rem;
  position: relative;
}
@media (min-width: 576px) {
  #facilities {
    padding-bottom: clamp(250px, 250px + 5vw, 280px);
  }
  #facilities .facilities-bg {
    padding-top: 2rem;
  }
}
@media only screen and (max-width: 479.98px) {
  #facilities {
    padding-bottom: 24rem;
  }
}
.home #facilities::before {
  background: url(../images/bg04.webp) no-repeat top center / contain;
  content: "";
  aspect-ratio: 1920 / 300;
  width: 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  transform: translateY(1px);
  z-index: -1;
}
#facilities h2 {
  color: #468e6d;
}
#facilities h2 span {
  color: #fff;
}

.facilities-list li {
  background-color: #fff;
  border-radius: 2rem;
  padding: 2rem;
}
.facilities-list li article {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.facilities-list figure {
  background: #f0f0f0;
  margin-bottom: 1rem;
  /*aspect-ratio: 307/205;*/
  aspect-ratio: 4/3;
  width: 100%;
}
.facilities-list figure a {
  display: block;
  height: 100%;
  position: relative;
}
.facilities-list figure a::before,
.facilities-list figure a::after {
  content: "";
  width: 101%;
  position: absolute;
  left: -.5px;
  right: -.5px;
  z-index: 1;
}
.facilities-list figure .frame1::before {
  background: url(../images/frame1-top.webp) no-repeat left top/ contain;
  top: -.5px;
  aspect-ratio: 543/86;
}
.facilities-list figure .frame1::after {
  background: url(../images/frame1-bottom.webp) no-repeat left bottom/ contain;
  bottom: -.5px;
  aspect-ratio: 543/86;
}
.facilities-list figure .frame2::before {
  background: url(../images/frame2-top.webp) no-repeat left top/ contain;
  top: -.5px;
  aspect-ratio: 543/140;
}
.facilities-list figure .frame2::after {
  background: url(../images/frame2-bottom.webp) no-repeat left bottom/ contain;
  bottom: -.5px;
  aspect-ratio: 543/140;
}
.facilities-list img {
  height: 100%;
  object-fit: contain;
}
.facilities-list h3 {
  font-size: clamp(2.2rem, 1rem + 1vw, 2.6rem);
  font-weight: 500;
  color: #876d5b;
  margin: 0 0 1rem;
}
.facilities-list p {
  font-size: 1.8rem;
  margin: 0 0 3rem;
}
.btn-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1.8rem;
  margin-top: auto;
}

.btn-instagram,
.btn-detail {
  display: inline-block;
}
.btn-instagram {
  order: 2;
  height: 40px;
  width: 40px;
}
.btn-detail {order: 1;}

#facilities .link .btn {
  background-color: #fff;
  border: 2px solid #ff9933;
  color: #ff9933;
  font-size: 1.8rem;
  max-width: 100%;
}

#facilities .splide__arrow--prev {
  background-image: url("../images/arr-left.webp");
}
#facilities .splide__arrow--next {
  background-image: url("../images/arr-right.webp");
}
#facilities .splide__arrow {
  background-color: transparent;
  border-radius: 0;
  width: 70px;
  aspect-ratio: 122/37;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
}
#facilities .splide__arrow:hover {
  opacity: .6;
}
#facilities .splide__arrow svg {
  display: none;
}
#facilities .splide__arrow--prev {
  left: -5em;
}
#facilities .splide__arrow--next {
  right: -5em;
}
#facilities .splide__pagination {
  bottom: -4rem;
}
#facilities .splide__pagination__page {
  border: 3px solid #fff;
  margin: .3rem .75rem;
  opacity: .95;
  transform: scale(1.75);
}
#facilities .splide__pagination__page:not(.is-active):hover {
  opacity: .6;
}
#facilities .splide__pagination__page:not(.is-active) {
  background: transparent;
  border: 3px solid #fff;
}
/* 背景画像 */
#facilities .container {
  position: relative;
  z-index: 1;
}
#facilities h2 {
  position: relative;
}
#facilities h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  margin: 0 0 0 110px;
  aspect-ratio: 217/159;
  width: clamp(150px, 20vw, 207px);
  background: url("../images/asset4.webp") no-repeat center/ contain;
}
.facilities-bg::before,
.facilities-bg::after {
  content: "";
  position: absolute;
  aspect-ratio: 181/183;
  width: clamp(120px, 20vw, 183px);
}
.facilities-bg::before {
  top: 10rem;
  left: 0;
  margin-left: calc(50% - 50vw);
  background: url("../images/asset2.webp") no-repeat center/ contain;
}
.facilities-bg::after {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 19rem;
  margin-right: calc(50% - 50vw);
  background: url("../images/asset2.webp") no-repeat center/ contain;
}
#facilities::after {
  content: "";
  aspect-ratio: 131/198;
  width: clamp(100px, 20vw, 131px);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 19rem;
  margin-left: calc(50% - 50vw);
  background: url("../images/asset3.webp") no-repeat center/ contain;
  z-index: 0;
}


/* .home #reports */
#reports {
  padding-top: 10rem;
  position: relative;
}
#facilities + #reports {
  margin-top: -13rem;
  padding-top: 0;
}
/*
#reports::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: min(100%, 200px);
  width: 100%;
  background: #cee8df;
} */
.reports-bg {
  padding-bottom: 14.64%;
  position: relative;
}
.reports-bg::before {
  border-radius: 6rem 6rem 0 0;
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: min(96%, 1674px);
  background: #f7f2ee;
}
.reports-bg::after {
  background: url(../images/asset6.webp) no-repeat bottom center/ contain;
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  aspect-ratio: 1674/245;
  width: min(96%, 1674px);
}
#reports .container {
  padding-top: 4rem;
}
@media (min-width: 576px) {
  #reports .container {
    padding-top: 8rem;
  }
}
.repo-block {
  display: flex;
  flex-direction: column;
  margin-bottom: 8rem;
}

.repo-block>.row {
  position: relative;
}
.repo-block>.row>.col {
  display: flex;
  justify-content: center;
}
@media (min-width: 1200px) {
  .repo-block {
    margin-bottom: 0;
  }
  .repo-block>.row>.col {
    justify-content: flex-start;
  }
  #reports h2 {
    margin-left: calc(clamp(240px, 20vw, 380px) + 1rem);
  }
  .repo-block>.row::before {
    background: url(../images/asset5.webp) no-repeat bottom center/ contain;
    content: "";
    position: absolute;
    left: 0;
    transform: translateX(0);
    bottom: 2rem;
    aspect-ratio: 380/240;
    width: clamp(240px, 20vw, 380px);
  }
}

.repo-block .link {
  margin-top: 4rem;
}
.bull-block figure {
  aspect-ratio: 400/535;
  background-color: #f0f0f0;
  margin: 0 auto;
  max-width: 400px;
}

@media only screen and (max-width: 479.98px) {
  .reports-bg::before {
    border-radius: 3rem 3rem 0 0;
  }
  .repo-block {
    margin-bottom: 6rem;
  }
  .repo-block .link {
    margin-top: 2.5rem;
  }
}


/* .home #overview */
#overview {
  padding-top: 2rem;
}
.home #overview th {
  width: 8em;
}
.home #overview .overview-img {
  margin-bottom: 2rem;
}

@media (min-width: 992px) {
  .home #overview .overview-img {
    margin-bottom: 0;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-1 {
    order: 1;
  }
}

@media only screen and (max-width: 479.98px) {
  .home #overview {
    padding-bottom: 0;
  }
}

/* table */
.table {
  border-top: 1px solid #dee2e6;
}
.table td {
  padding: 1.25rem 2rem;
}
.table th {
  padding: 1.25rem;
}
@media (min-width: 768px) {
  .table td {
    border-bottom: 1px solid #dee2e6;
  }
  .table th {
    border-bottom: 1px solid #dee2e6;
    width: 24rem;
  }
}
@media only screen and (max-width: 767.98px) {
  .table td, .table th {
    border: none;
    padding: 0;
  }
  .table tbody,
  .table tr,
  .table td {
    display: block;
  }
  .table th {
    font-size: 2rem;
    padding-bottom: .25rem;
  }
  .table td {
    border-bottom: 1px solid #dee2e6;
    padding-top: .25rem;
  }
  .home #overview th {
    padding-top: 1rem;
    width: 100%;
  }
  .home #overview td {
    padding-bottom: 1rem;
  }
}

.home #overview .gmap {
  margin-top: 5rem;
}
/* ▲ end front-page */


/* page
----------------------------------------- */
/* #contact */
#contact .submit-btn {
  background-color: rgba(255, 153, 51, 1);
}
#contact .submit-btn:hover {
  background-color: rgba(255, 153, 51, .7);
}

/* .contact */
.contact #contact-tel {
  font-size: clamp(3.3rem, 1.6rem + 2.2vw, 3.6rem);
}


/* 特定のページだけcontainerのmax幅を小さくする
----------------------------------------- */
.page.help #the_content .container,
.page.policy #the_content .container,
.page.contact #the_content .container,
.single.notice #the_content .container,
.single.news #the_content .container,
.single.report #the_content .container,
.single.services #the_content .container {
  max-width: 1100px;
}


