@charset "shift_JIS";
/* CSS Document */
/*
---------------------------------------------------共通
*/
article {
  display: block;
  position: relative;
  margin-bottom: 60px;
  clear: both;
}
section {
  display: block;
}
main h1.pageTitle {
  width: 100%;
  height: 5rem;
  text-align: center;
  background: repeating-linear-gradient(45deg, #ede9e8, #ede9e8 5px, rgba(237, 233, 232, 0.5) 0, rgba(237, 233, 232, 0.5) 10px);
  padding: 1.5rem 0;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 2rem;
  margin-bottom: 50px;
}
main h1.pageTitle img {
  vertical-align: -4px;
}
#service h2, #careTime h2, #dailyProgram h2, #year h2, #event h2, #info h2, #trblshoot h2 {
  display: block;
  position: relative;
  width: 60%;
  min-width: 280px;
  height: 60px;
  font-family: "RocknRoll One", sans-serif;
  font-size: 24px;
  font-weight: 300;
  background-image: url("../images/headline_l.png"), url("../images/headline_r.png"), url("../images/headline_bg.png");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left center, right center, center center;
  color: #fff;
  text-align: center;
  line-height: 60px;
  margin: 40px auto;
}
.split {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.photo img {
  width: 100%;
  height: auto;
}
/*
---------------------------------------------------ホーム
*/
/* 20250601修正 */
#topv {
  width: 100%;
  max-width: 100%;
  height: auto;
  overflow: hidden;
  padding-bottom: 40px;
}
#topv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 2/1;
}
/* 20250601修正ここまで */
.slick {
  display: none;
}
.slick.slick-initialized {
  display: block; /*slick-initializedが付与されたら表示*/
}
#topv::after {
  display: block;
  position: absolute;
  content: url("../images/topv_frame.png");
  width: 15vw;
  height: auto;
  bottom: 0;
  left: 0;
  z-index: 10;
}
#news {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  color: #534741;
}
#news .frame {
  border: 5px solid #F8B551;
  border-radius: 0 0 20px 20px;
  padding: 1em;
  background: repeating-linear-gradient(45deg, rgba(248, 181, 81, 0.1), rgba(248, 181, 81, 0.1) 5px, rgba(248, 181, 81, 0.2) 0, rgba(248, 181, 81, 0.2) 10px);
}
#news h3 {
  display: block;
  text-align: center;
  color: #fff;
  border-radius: 20px 20px 0 0;
  background-color: #F8B551;
}
#news dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  height: 200px;
  padding-bottom: 1em;
  margin: 0 auto;
  overflow-y: scroll;
}
#news dl dt {
  width: 20%;
  padding: 0.5em 0;
  border-bottom: 1px dashed #ddd;
  text-align: center;
}
#news dl dd {
  width: 80%;
  padding: 0.5em 0;
  border-bottom: 1px dashed #ddd;
}
#catch {
  width: 60%;
  margin: 0 auto 20px;
}
#catch div {
  text-align: center;
}
#catch .mb {
  display: none;
}
#banner {
  width: 90%;
  margin: 0 auto 60px;
}
#banner .frame {
  width: 32%;
  position: relative;
}
#banner .frame .maru img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  border: 10px solid #7FCEF4;
}
#banner .frame .moji {
  text-align: center;
  position: absolute;
  top: 5%;
  left: 50%;
  -webkit-transform: translate(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%) rotate(-5deg);
}
#aim {
  width: 80%;
  margin: 0 auto 80px;
}
#aim section {
  width: 48%;
  height: auto;
  background-color: #FFFBD9;
  padding: 1em 2em;
  border-radius: 2em;
  border: 5px solid #F8B551;
}
#aim h2 {
  font-size: 1.5em;
  font-weight: normal;
  letter-spacing: 0.25em;
  color: #F78C00;
  padding-bottom: 0.25em;
  border-bottom: 2px dashed #F8B551;
  margin-bottom: 0.5em;
}
#aim ul {
  margin: 1em 0;
}
#aim .aim1 ul li {
  font-size: 1.2em;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #534741;
}
#aim .aim2 ul li {
  padding-left: 24px;
  margin-bottom: 0.5em;
  background-image: url("../images/icon.png");
  background-repeat: no-repeat;
  background-position: left top;
}
#gaiyou {
  width: 100%;
  background: repeating-linear-gradient(45deg, #ede9e8, #ede9e8 5px, rgba(237, 233, 232, 0.5) 0, rgba(237, 233, 232, 0.5) 10px);
  padding: 40px 0;
}
#gaiyou .frame {
  width: 80%;
  margin: 0 auto;
}
#gaiyou table {
  width: 48%;
  background-color: rgba(255, 255, 255, 0.80);
  padding: 1em;
  border-radius: 1em;
}
#gaiyou table th {
  font-weight: bold;
  text-align: left;
  vertical-align: top;
  padding: 0.5em;
  white-space: nowrap;
}
#gaiyou table td {
  padding: 0.5em;
}
#gaiyou table tr:nth-child(2n+1) {
  background-color: rgba(237, 233, 232, 0.8);
}
#gaiyou .gmap {
  width: 48%;
}
#gaiyou .gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  background-color: rgba(255, 255, 255, 0.80);
  padding: 0.5em;
  border-radius: 1em;
}
/*
---------------------------------------------------園について
*/
#policy {
  width: 60%;
  height: auto;
  margin: 0 auto 80px;
  background-color: #FFFBD9;
  padding: 1em 2em;
  border-radius: 2em;
  border: 5px solid #F8B551;
}
#policy::after {
  display: inline-block;
  content: '';
  width: 12%;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: auto;
  bottom: -30px;
  left: 90%;
  background-image: url("../images/policy_cut.png");
  background-size: cover;
}
#policy h2 {
  font-size: 1.5em;
  font-weight: normal;
  letter-spacing: 0.25em;
  color: #F78C00;
  padding-bottom: 0.25em;
  border-bottom: 2px dashed #F8B551;
  margin-bottom: 0.5em;
}
#policy section p {
  text-align: center;
}
#policy section p:first-child {
  font-family: "RocknRoll One", sans-serif;
  font-size: 2rem;
  line-height: 3rem;
}
#policy section .lf {
  display: none;
}
#policy section ul {
  margin: 0 auto 1rem;
}
#policy section ul li {
  padding: 0.5rem 0 0.5rem 1rem;
  vertical-align: middle;
  text-indent: -1em;
}
#policy section ul li::before {
  content: url("../images/icon03.png");
  padding-right: 1rem;
}
#policy section ol {
  margin: 0 auto 1rem;
  list-style-position: inside;
}
/* 20250601修正 */
#policy section ol li {
  padding: 0.5rem 0 0.5rem 2rem;
  vertical-align: middle;
  text-indent: -1em;
}
/* 20250601修正ここまで */
#policy section ol li::marker {
  color: #DD0000;
}
#policy section table {
  width: 100%;
  border: 2px solid #666;
  border-collapse: collapse;
}
#policy section table tr th {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
  text-align: left;
}
#policy section table tr td {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
}
#service {
  width: 80%;
  margin: 0 auto;
}
#service section {
  width: 48%;
  margin: 0 0 40px;
  padding: 1rem;
  box-shadow: 1px 1px 8px 0 #EDE9E8;
}
#service section h3 {
  width: 100%;
  height: auto;
  font-size: 1.2rem;
  padding: 1.5rem 0 0 3rem;
  margin-bottom: 1rem;
  background-image: url("../images/service_h3_bg.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
#service section .photo {
  width: 30%
}
#service section .photo img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
}
#service section .text {
  width: 66%
}
/* 20250601修正*/
#service section .text ul {
  margin: 0 auto 1rem;
}
#service section .text ul li {
  padding: 0.5rem 0 0.5rem 1rem;
  vertical-align: middle;
  text-indent: -1em;
}
#service section .text ul li::before {
  content: url("../images/icon.png");
  padding-right: 1rem;
}
#service section .text ol {
  margin: 0 auto 1rem;
  list-style-position: inside;
}
#service section .text ol li {
  padding: 0.5rem 0 0.5rem 2rem;
  vertical-align: middle;
  text-indent: -1em;
}
#service section .text ol li::marker {
  color: #DD0000;
}
/* 20250601修正ここまで */
#service .pdfLink a {
  padding-left: 0.5rem;
  color: #00B7EE;
}
#service .pdfLink a:hover {
  text-decoration: underline;
}
#service .pdfLink::before {
  font-family: "Font Awesome 5 Free";
  content: "\f15c";
  color: #00B7EE;
  margin-left: 0.5rem;
}
/*
---------------------------------------------------デイリープログラム
*/
#careTime {
  width: 80%;
  margin: 0 auto 80px;
}
#careTime .photo {
  width: 50%;
  margin: 0 auto 1rem;
}
#careTime section {
  width: 60%;
  margin: auto auto 2rem;
}
#careTime section:nth-child(2n) {
  margin-left: 10%;
}
#careTime section:nth-child(2n+1) {
  margin-right: 10%;
}
#careTime section h3 {
  border-bottom: 2px dotted #F78C00;
  margin-bottom: 0.5rem;
  padding: 0.5rem 0 0.5rem 2rem;
  background-image: url("../images/icon.png");
  background-repeat: no-repeat;
  background-position: left center;
}
#dailyProgram {
  width: 80%;
  margin: 0 auto;
}
#dailyProgram .program {
  width: fit-content;
  margin: 0 auto 2rem;
}
#dailyProgram .program div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
#dailyProgram .program div h4 {
  color: #00B7EE;
  padding: 0.5rem 1rem;
  border-bottom: 1px dotted #736357;
}
#dailyProgram .program div p {
  padding: 0.5rem 1rem;
  border-bottom: 1px dotted #736357;
}
#dailyProgram .photo ul li {
  width: 18%;
}
#dailyProgram .photo ul li:nth-child(2n) {
  margin-top: 30px;
}
/* 20250601修正 */
#dailyProgram .photo img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border: 6px solid #00B7EE;
}
/* 20250601修正ここまで */
/*
---------------------------------------------------年間行事
*/
#year {
  width: 80%;
  margin: 0 auto 80px;
}
#year section {
  position: relative;
  width: 30%;
  margin: 30px 0;
}
#year h3 {
  width: 100%;
  height: auto;
  text-align: right;
  font-family: "RocknRoll One", sans-serif;
}
#year h3 span {
  font-size: 2rem;
  padding-left: 1rem;
}
#year .photo img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
  aspect-ratio: 3/2;
  object-fit: cover;
}
#event {
  width: 80%;
  margin: 0 auto;
}
#event section {
  width: 30%;
  margin: 30px 0;
}
#event section img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
  aspect-ratio: 3/2;
  object-fit: cover;
}
/*
---------------------------------------------------苦情解決公表
*/
#info {
  width: 80%;
  margin: 0 auto 120px;
}
#info .btn {
  text-align: center;
  font-size: 1.2em;
}
#info .btn a {
  padding: 0.5em 2em;
  color: #F78C00;
  background: linear-gradient(transparent 60%, #FFFBD9 60%);
}
#info .btn a:hover {
  padding: 0.5em 2em;
  color: #534741;
  background: linear-gradient(transparent 60%, #FFFBD9 60%);
}
#trblshoot {
  width: 80%;
  margin: 0 auto 80px;
}
#trblshoot .trblNotice {
  width: 60%;
  margin: 0 auto 80px;
  background-color: rgba(237, 233, 232, 0.5);
  padding: 2rem;
  border: 4px solid #EDE9E8;
  border-radius: 0.5rem;
}
#trblshoot .trblNotice .notice {
  font-size: 1.1rem;
  text-align: justify;
}
#trblshoot .trblNotice .pdfLink {
  margin-left: 2rem;
}
#trblshoot .trblNotice .pdfLink ul li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f15c";
  color: #00B7EE;
  margin-right: 0.5rem;
}
#trblshoot .trblNotice .pdfLink ul li a {
  color: #00B7EE;
}
#trblshoot .trblNotice .pdfLink ul li a:hover {
  color: #7FCEF4;
}
#trblshoot .frame {
  width: 80%;
  margin: 50px auto;
}
#trblshoot h3 {
  border-bottom: 2px dotted #F78C00;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
}
#trblshoot h4 {
  float: left;
  font-size: 0.9rem;
  color: #00B7EE;
}
#trblshoot .date + p {
  clear: both;
}
#trblshoot .date {
  text-align: right;
}
#trblshoot .kujou {
  margin-bottom: 1rem;
}
#trblshoot .kujou h4::before {
  font-family: "Font Awesome 5 Free";
  content: "\f06a";
  color: #00B7EE;
  margin-right: 0.5rem;
}
#trblshoot .kujou p {
  text-align: justify;
}
#trblshoot .kaiketu h4::before {
  font-family: "Font Awesome 5 Free";
  content: "\f004";
  color: #00B7EE;
  margin-right: 0.5rem;
}
#trblshoot .kaiketu p {
  text-align: justify;
}
/*
---------------------------------------------------最新情報
*/
#blog {
  width: 80%;
  margin: 0 auto 80px;
}
#blogFrame {
  width: 75%;
}
#blogFrame section {
  margin-bottom: 100px;
}
#blogFrame section:last-child {
  margin-bottom: 0;
}
#blogFrame section h2 {
  padding: 0.5rem;
  border-bottom: 2px dotted #F78C00;
}
#blogFrame section h2::before {
  font-family: "Font Awesome 5 Free";
  content: "\f024";
  color: #00B7EE;
  margin-right: 0.5rem;
}
#blogFrame .date {
  text-align: right;
  margin-bottom: 1rem;
}
#blogFrame .blogKiji {
  text-align: justify;
  margin-bottom: 1rem;
}
#blogFrame .blogKiji ul {
  margin: 0 auto 1rem;
}
/* 20250601修正 */
#blogFrame .blogKiji ul li {
  padding: 0.5rem 0 0.5rem 2rem;
  vertical-align: middle;
  text-indent: -1em;
}
/* 20250601修正ここまで */
#blogFrame .blogKiji ul li::before {
  content: url("../images/icon.png");
  padding-right: 1rem;
}
#blogFrame .blogKiji ol {
  margin: 0 auto 1rem;
  list-style-position: inside;
}
/* 20250601修正 */
#blogFrame .blogKiji ol li {
  padding: 0.5rem 0 0.5rem 2rem;
  vertical-align: middle;
  text-indent: -1em;
}
/* 20250601修正ここまで */
#blogFrame .blogKiji ol li::marker {
  color: #DD0000;
}
#blogFrame .blogKiji table {
  width: 100%;
  border: 2px solid #666;
  border-collapse: collapse;
}
#blogFrame .blogKiji table tr th {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
  text-align: left;
}
#blogFrame .blogKiji table tr td {
  padding: 0.5rem 1rem;
  border: 1px solid #666;
}
#blogFrame .blogPhoto figure {
  width: 30%;
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 1rem;
  line-height: 1rem;
}
#blogFrame .blogPhoto img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
#blogFrame .blogPhoto figcaption {
  font-size: 0.8rem;
  line-height: 1.5rem;
}
#blogFrame .blogPdf {
  margin-left: 1rem;
  margin-bottom: 1rem;
}
#blogFrame .blogPdf li {
  padding: 0.25rem 0;
}
#blogFrame .blogPdf li::before {
  font-family: "Font Awesome 5 Free";
  content: "\f15c";
  color: #00B7EE;
  margin-right: 0.5rem;
}
#blogFrame .blogPdf li a {
  color: #00B7EE;
}
#blogFrame .blogPdf a:hover {
  color: #7FCEF4;
}
#blogFrame .youtube {
  padding: 0.5rem;
  border-radius: 10px;
  background-color: #fff;
  line-height: 0;
}
#blogFrame .youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
#categoly {
  width: 20%;
  height: auto;
}
#categoly h3 {
  display: block;
  text-align: center;
  color: #fff;
  border-radius: 20px 20px 0 0;
  background-color: #F8B551;
}
#categoly .categolyFrame {
  border: 5px solid #F8B551;
  border-radius: 0 0 20px 20px;
  padding: 1em;
  background: repeating-linear-gradient(45deg, rgba(248, 181, 81, 0.1), rgba(248, 181, 81, 0.1) 5px, rgba(248, 181, 81, 0.2) 0, rgba(248, 181, 81, 0.2) 10px);
}
#categoly ul {
  margin-top: 2rem;
}
#categoly ul li {
  margin: 0.5rem auto;
  border-bottom: 1px dashed #F8B551;
}
#categoly ul li a {
  color: #534741;
}
#categoly ul li a:hover {
  color: #00B7EE;
}
#blog .number {
  width: 100%;
  position: relative;
  clear: both;
  font-size: 0.8rem;
  border-top: 2px dotted #F78C00;
  display: inline-block;
  padding: 1rem 0 0;
}
#blog .number ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#blog .number ul li {}
#blog .number a {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  background-color: #534741;
  color: #EDE9E8;
  border-radius: 1rem;
  text-align: center;
  margin: 0.25rem;
}
#blog .number a:hover {
  background-color: #F78C00;
}
/*
---------------------------------------------------レスポンシブ1366
*/
@media screen and (max-width:1366px) {
  /*
---------------------------------------------------1366ここまで
*/
}
/*
---------------------------------------------------レスポンシブ768
*/
@media screen and (max-width:768px) {
  #service h2, #careTime h2, #dailyProgram h2, #year h2, #event h2, #info h2, #trblshoot h2 {
    width: 80%;
  }
  #topv::after {
    display: block;
    content: "";
    background-image: url("../images/topv_frame.png");
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: cover;
    width: 70vw;
    height: 100%;
  }
  #news {
    width: 80%;
    margin-top: 40px;
  }
  #news dl dt {
    width: 30%;
  }
  #news dl dd {
    width: 70%;
  }
  #catch {
    width: 90%;
    margin: 0 auto 20px;
  }
  #catch img {
    width: 100%;
    height: auto;
  }
  #banner .frame {
    width: 60%;
    position: relative;
    margin: 0 auto;
  }
  #aim section {
    width: 100%;
  }
  #aim section:first-child {
    margin-bottom: 40px;
  }
  #gaiyou table {
    width: 100%;
    margin-bottom: 20px;
  }
  #gaiyou .gmap {
    width: 100%;
    height: 320px;
  }
  #policy {
    width: 90%;
  }
  #service {
    width: 90%;
  }
  #service section {
    width: 100%;
    margin: 0 0 40px;
  }
  #careTime {
    width: 90%;
  }
  #careTime section {
    width: 100%;
    margin: auto auto 2rem;
  }
  #year section {
    width: 45%;
  }
  #event section {
    width: 45%;
  }
  #info {
    width: 80%;
  }
  #trblshoot {
    width: 80%;
  }
  #trblshoot .trblNotice {
    width: 90%;
  }
  #trblshoot .frame {
    width: 100%;
  }
  #blog.split {
    flex-direction: column-reverse;
  }
  #blogFrame {
    width: 100%;
  }
  #categoly {
    width: fit-content;
    margin: 0 auto;
  }
  #blogFrame .blogPhoto figure {
    width: 45%;
  }
  /*
---------------------------------------------------768ここまで
*/
}
/*
---------------------------------------------------レスポンシブ480
*/
@media screen and (max-width:480px) {
  .lf::after {
    content: "\A";
    white-space: pre;
  }
  #service h2, #careTime h2, #dailyProgram h2, #year h2, #event h2, #info h2, #trblshoot h2 {
    width: 100%;
  }
  #news .frame {
    padding: 0.5em;
  }
  #news dl {
    height: 300px;
  }
  #news dl dt {
    width: 90%;
    border-bottom: none;
    text-align: left;
  }
  #news dl dd {
    width: 96%;
  }
  #catch .pc {
    display: none;
  }
  #catch .mb {
    display: block;
  }
  #banner .frame {
    width: 100%;
    position: relative;
    margin: 0 auto;
  }
  #policy {
    padding: 1em 1rem 4rem;
  }
  #policy::after {
    width: 30%;
    height: auto;
    bottom: -30px;
    left: 65%;
  }
  #policy section p {
    text-align: left;
  }
  #policy section .lf {
    display: block;
  }
  #service section .photo {
    width: 100%
  }
  #service section .text {
    width: 100%
  }
  #careTime .photo {
    width: 100%;
  }
  #careTime section {
    width: 100%;
    margin: auto auto 2rem;
  }
  #careTime section:nth-child(2n) {
    margin-left: 0;
  }
  #careTime section:nth-child(2n+1) {
    margin-right: 0;
  }
  #dailyProgram {
    width: 90%;
  }
  #dailyProgram .program {
    width: 100%;
  }
  #dailyProgram .program div {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  #dailyProgram .program div h4 {
    width: 20%;
  }
  #dailyProgram .program div p {
    width: 80%;
  }
  #dailyProgram .photo ul li {
    width: 100%;
    margin-bottom: 1rem;
  }
  #dailyProgram .photo ul li:nth-child(2n) {
    margin-top: 0;
  }
  #year {
    width: 90%;
  }
  #year section {
    width: 100%;
  }
  #event {
    width: 90%;
  }
  #event section {
    width: 100%;
  }
  #info {
    width: 90%;
  }
  #info .btn a {
    padding: 0.5em 0em;
  }
  #info .btn a:hover {
    padding: 0.5em 0em;
  }
  #trblshoot {
    width: 90%;
  }
  #blog {
    width: 90%;
  }
  #blogFrame {
    width: 100%;
  }
  #blogFrame .blogPhoto figure {
    width: 100%;
  }
  #categoly {
    width: 100%;
  }
  .kazari {
    display: none;
  }
  /*
---------------------------------------------------480ここまで
*/
}