.blc_feature .box_wrapper .box .box_ttl, .blc_thought .blc_ttl {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: subpixel-antialiased;
  transform: rotate(0.028deg);
  -o-transform: rotate(0.028deg);
  -moz-transform: rotate(0.028deg);
  -webkit-transform: rotate(0.028deg)
}
.animation_swing {
  animation: swing linear 5s infinite
}
@keyframes swing {
  0% {
    transform: rotate(0deg)
  }
  25% {
    transform: rotate(10deg)
  }
  50% {
    transform: rotate(0deg)
  }
  75% {
    transform: rotate(-10deg)
  }
  100% {
    transform: rotate(0deg)
  }
}
body.home:before {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 835px;
  top: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.5) 80%, #fff 100%), #def1fc url("../../img/mainImg_bg.jpg") no-repeat left center/cover;
  z-index: -2
}
#bg_photos {
  display: none
}
@media print, screen and (min-width: 768px) {
  #bg_photos {
    display: block;
    top: 0;
    left: calc(50% - 100px);
    width: calc(50% + 100px);
    height: 835px;
    position: absolute;
    z-index: -1;
    overflow: hidden
  }
  #bg_photos img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    animation: photo 25s infinite;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0
  }
  #bg_photos img:nth-of-type(1) {
    animation-delay: 0s
  }
  #bg_photos img:nth-of-type(2) {
    animation-delay: 5s
  }
  #bg_photos img:nth-of-type(3) {
    animation-delay: 10s
  }
  #bg_photos img:nth-of-type(4) {
    animation-delay: 15s
  }
  #bg_photos img:nth-of-type(5) {
    animation-delay: 20s
  }
}
#mainimg {
  margin-bottom: 20px
}
@media print, screen and (min-width: 768px) {
  #mainimg {
    margin-bottom: 40px
  }
}
#mainimgIn {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: relative
}
@media print, screen and (min-width: 768px) {
  #mainimgIn {
    padding: 0 30px
  }
}
#mainimgIn .top_bnr {
  position: relative;
  margin-top: 40px;
  text-align: center;
  font-family: '07yasashisa', sans-serif;
  font-weight: 700;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  -ms-border-radius: 40px;
  border-radius: 40px;
  border: 5px solid #009A31;
  background: #CEFFCE;
  background-image: radial-gradient(#fff 20%, rgba(255, 255, 255, 0) 20%), radial-gradient(#fff 20%, rgba(255, 255, 255, 0) 20%);
  background-position: 0 0, 5px 5px;
  background-size: 10px 10px, 10px 10px
}
@media screen and (max-width: 767px) {
  #mainimgIn .top_bnr {
    margin: 8% auto 0;
    width: 95%
  }
}
#mainimgIn .top_bnr a {
  position: relative;
  padding: 12px 8%;
  display: block;
  width: 100%;
  color: #ff6000;
  font-size: 3.2rem
}
#mainimgIn .top_bnr a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 5.5em;
  display: block;
  width: 0.7em;
  height: 0.7em;
  margin-top: -10px;
  background: url(../img/arrow_03.png) no-repeat center/100% auto;
  transform: rotate(-90deg)
}
@media screen and (max-width: 767px) {
  #mainimgIn .top_bnr a:after {
    content: '';
    position: absolute;
    top: auto;
    right: auto;
    bottom: 5%;
    left: 50%;
    width: 1em;
    height: 1em;
    margin-top: 0;
    transform: translateX(-50%) rotate(0)
  }
}
@media screen and (max-width: 767px) {
  #mainimgIn .top_bnr a {
    padding: 2% 12% 6%;
    font-size: 5.2vw
  }
}
#mainimgIn .top_bnr a:hover {
  text-decoration: none;
  filter: brightness(150%)
}
#mainimgIn .top_bnr .top_bnr_in {
  position: relative;
  padding: 12px 8%;
  display: block;
  width: 100%;
  color: #FA0026;
  font-size: 3.2rem
}
@media screen and (max-width: 767px) {
  #mainimgIn .top_bnr .top_bnr_in {
    padding: 2% 12% 2%;
    font-size: 4.8vw
  }
}
#mainimgIn .top_bnr .hiyoko01, #mainimgIn .top_bnr .hiyoko02 {
  position: absolute;
  display: block;
  max-width: 12%;
  top: 50%;
  transform: translateY(-50%)
}
@media screen and (max-width: 767px) {
  #mainimgIn .top_bnr .hiyoko01, #mainimgIn .top_bnr .hiyoko02 {
    max-width: 12%
  }
}
#mainimgIn .top_bnr .hiyoko01 {
  left: 0
}
#mainimgIn .top_bnr .hiyoko02 {
  right: 0
}
#mainimgIn .top_bnr img {
  -webkit-backface-visibility: hidden;
  width: 100%;
  height: auto
}
#mainimgIn .box_txt {
  padding: 10% 0;
  font-size: 2.8rem;
  font-family: '07yasashisa', sans-serif;
  text-align: center;
  letter-spacing: 0
}
@media print, screen and (min-width: 768px) {
  #mainimgIn .box_txt {
    padding: 63px 0 45px;
    width: 700px
  }
}
#mainimgIn .box_txt h2 {
  margin: 0
}
#mainimgIn .box_txt .supplement {
  color: #FFF;
  text-shadow: .4px .4px 1px #FFF;
  letter-spacing: 0;
  position: relative;
  display: block
}
#mainimgIn .box_txt .supplement span {
  filter: drop-shadow(0 0 3px rgba(73, 142, 179, 0.9))
}
#mainimgIn .box_txt .supplement b {
  color: #ff3980;
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff
}
@media screen and (max-width: 767px) {
  #mainimgIn .box_txt .supplement {
    font-size: 4vw
  }
}
#mainimgIn .box_txt .catch_txt {
  color: #06a800;
  font-weight: 600;
  font-family: 'Noto Serif JP', serif;
  display: block;
  margin: 15px 0 25px;
  font-size: 4.4rem;
  line-height: 1.5
}
@media screen and (max-width: 767px) {
  #mainimgIn .box_txt .catch_txt {
    font-size: 5.8vw;
    padding: 0 4%;
    margin: 5% 0 5%
  }
}
#mainimgIn .box_txt .sub_catch {
  display: inline-block;
  background: url("../img/pattern_01.gif") repeat;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  border-radius: 15px;
  padding: 10px 2em;
  color: #FFF;
  font-size: 2.2rem
}
@media screen and (max-width: 767px) {
  #mainimgIn .box_txt .sub_catch {
    font-size: 4vw
  }
}
#mainimgIn .mainimg_sp {
  margin: 0 5%;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  padding-top: 60%
}
#mainimgIn .mainimg_sp img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  animation: photo 25s infinite;
  opacity: 0
}
#mainimgIn .mainimg_sp img:nth-of-type(1) {
  animation-delay: 0s
}
#mainimgIn .mainimg_sp img:nth-of-type(2) {
  animation-delay: 5s
}
#mainimgIn .mainimg_sp img:nth-of-type(3) {
  animation-delay: 10s
}
#mainimgIn .mainimg_sp img:nth-of-type(4) {
  animation-delay: 15s
}
#mainimgIn .mainimg_sp img:nth-of-type(5) {
  animation-delay: 20s
}
@keyframes photo {
  0% {
    opacity: 0
  }
  15% {
    opacity: 1
  }
  20% {
    opacity: 1
  }
  35% {
    opacity: 0
  }
  100% {
    opacity: 0
  }
}
.blc_service {
  margin-bottom: 30px
}
.blc_service .blc_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: relative
}
.blc_service .blc_ttl {
  font-size: 2rem;
  font-family: 'M PLUS Rounded 1c', serif;
  font-weight: 500;
  padding: 0 15px;
  margin-top: 0;
  line-height: 1.3
}
@media screen and (max-width: 767px) {
  .blc_service .blc_ttl {
    font-size: 1.8rem;
    padding: 0 5%
  }
}
.blc_service .blc_ttl b {
  font-size: 150%;
  color: #ff4e4e;
  font-weight: 500;
  display: inline-block
}
.blc_service .blc_ttl b.num {
  font-size: 200%
}
.blc_service .box_wrapper {
  overflow: hidden;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  padding-bottom: 20px
}
@media screen and (max-width: 767px) {
  .blc_service .box_wrapper {
    padding: 0 4% 30px
  }
}
.blc_service .box_wrapper:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 66px;
  background: url("../../img/obj_townscape.png") no-repeat center bottom;
  pointer-events: none
}
.blc_service .box_wrapper a.box_link {
  color: #FFF;
  width: 50%;
  margin-bottom: 15px;
  float: left
}
@media print, screen and (min-width: 768px) {
  .blc_service .box_wrapper a.box_link {
    width: 25%;
    margin-bottom: 0
  }
}
@media screen and (max-width: 500px) {
  .blc_service .box_wrapper a.box_link {
    width: 100%
  }
}
.blc_service .box_wrapper a.box_link:hover {
  text-decoration: none;
  filter: brightness(120%)
}
.blc_service .box_wrapper .box {
  background-position: center;
  background-repeat: repeat;
  text-align: center;
  height: 100%;
  padding: 20px 20px 60px;
  font-family: '07yasashisa', sans-serif;
  position: relative;
  margin: 0 10px
}
@media print, screen and (min-width: 768px) {
  .blc_service .box_wrapper .box {
    -webkit-border-top-left-radius: 20px;
    -moz-border-radius-topleft: 20px;
    border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topright: 20px;
    border-top-right-radius: 20px;
    padding: 20px 20px 90px
  }
}
@media screen and (max-width: 500px) {
  .blc_service .box_wrapper .box {
    margin: 0
  }
}
.blc_service .box_wrapper .box dt {
  font-size: 3rem;
  display: table-cell;
  width: 500px;
  height: 3.5em;
  vertical-align: middle;
  text-align: center;
  line-height: 1.3
}
@media screen and (max-width: 767px) {
  .blc_service .box_wrapper .box dt {
    font-size: 2rem
  }
}
.blc_service .box_wrapper .box dd {
  margin-bottom: 10%
}
@media screen and (max-width: 767px) {
  .blc_service .box_wrapper .box dd {
    font-size: 1.6rem;
    margin-bottom: 5%
  }
}
.blc_service .box_wrapper .box dd span {
  display: block
}
.blc_service .box_wrapper .box:before {
  content: url("../img/arrow_01.png");
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 25px;
  text-align: center;
  background-color: inherit
}
@media screen and (max-width: 767px) {
  .blc_service .box_wrapper .box:before {
    font-size: 1.6rem;
    padding: 15px
  }
}
.blc_service .box_wrapper #children {
  background-color: #eb5b2b;
  background-image: url("../../img/bg_children.jpg")
}
.blc_service .box_wrapper #day {
  background-color: #ff901b;
  background-image: url("../../img/bg_day.jpg")
}
.blc_service .box_wrapper #welfare {
  background-color: #23a742;
  background-image: url("../../img/bg_welfare.jpg")
}
.blc_service .box_wrapper #daytime {
  background-color: #0e928f;
  background-image: url("../../img/bg_daytime.jpg")
}
.blc_feature {
  background-color: #f6e7e7;
  margin-top: -130px;
  position: relative;
  z-index: -1;
  overflow: hidden
}
.blc_feature .blc_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: relative;
  padding: 150px 30px 30px
}
@media screen and (max-width: 767px) {
  .blc_feature .blc_in {
    padding: 115px 15px 30px
  }
}
.blc_feature .blc_ttl {
  font-family: 'M PLUS Rounded 1c', serif;
  font-weight: 500;
  padding: 0 15px;
  margin-top: 0;
  color: #ff4e4e
}
@media screen and (max-width: 500px) {
  .blc_feature .blc_ttl {
    font-size: 1.6rem
  }
}
.blc_feature .blc_ttl b {
  font-size: 150%;
  color: #ff4e4e;
  font-weight: 500
}
.blc_feature .box_wrapper {
  margin-left: 40px;
  counter-reset: count-number
}
@media screen and (max-width: 767px) {
  .blc_feature .box_wrapper {
    margin-left: 6vw
  }
}
.blc_feature .box_wrapper .box {
  font-size: 2rem;
  background-color: #fff;
  position: relative;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  border-radius: 10px;
  margin-bottom: 40px;
  padding: 30px 30px 30px 90px
}
@media screen and (max-width: 767px) {
  .blc_feature .box_wrapper .box {
    padding-left: 8vw;
    padding-right: 8vw;
    font-size: 1.6rem
  }
}
.blc_feature .box_wrapper .box:before {
  counter-increment: count-number;
  content: counter(count-number);
  display: block;
  position: absolute;
  background: url("../../img/num_bg.png") no-repeat center/100% auto;
  color: #FFF;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-weight: 300;
  font-style: oblique;
  padding: 0 2% 10px 0;
  font-size: 7.7rem;
  width: 120px;
  line-height: 120px;
  left: -60px;
  top: 70px;
  margin-top: -60px
}
@media screen and (max-width: 767px) {
  .blc_feature .box_wrapper .box:before {
    font-size: 10vw;
    width: 15vw;
    line-height: 15vw;
    left: -7.5vw;
    top: -.5em;
    margin-top: inherit
  }
}
.blc_feature .box_wrapper .box .box_ttl {
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 15px
}
@media screen and (max-width: 767px) {
  .blc_feature .box_wrapper .box .box_ttl {
    font-size: 2.2rem
  }
}
.blc_feature .box_wrapper .box_figure {
  position: relative;
  min-height: 240px
}
@media print, screen and (min-width: 450px) {
  .blc_feature .box_wrapper .box_figure {
    padding-right: 30%
  }
}
.blc_feature .box_wrapper .box_figure figure {
  text-align: center;
  margin-top: 1.5em
}
@media print, screen and (min-width: 450px) {
  .blc_feature .box_wrapper .box_figure figure {
    position: absolute;
    right: -20px;
    top: -20px;
    max-width: 30%;
    margin-top: 0
  }
}
.blc_feature .box_wrapper .pickup-area {
  background-color: #f6f4e7;
  margin-top: 1em;
  display: inline-block;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  border-radius: 10px;
  padding: 1em
}
.blc_feature .box_wrapper .pickup-area dt {
  margin-bottom: 10px;
  padding-left: 35px;
  background: url("../img/icon_car.svg") no-repeat left top/1.5em auto
}
.blc_feature .box_wrapper .pickup-area ul {
  overflow: hidden;
  margin-bottom: .5em
}
.blc_feature .box_wrapper .pickup-area ul li {
  float: left;
  margin-right: 1em
}
.blc_feature .box_wrapper .pickup-area ul li:before {
  background-color: #75bd40
}
.blc_feature .box_wrapper .pickup-area .notice {
  font-size: 1.6rem
}
.blc_training {
  overflow: hidden
}
.blc_training .blc_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: relative;
  padding: 30px 30px 0
}
.blc_training .blc_ttl {
  font-size: 3.4rem;
  font-family: 'M PLUS Rounded 1c', serif;
  font-weight: 500;
  color: #ff6000;
  display: inline-block
}
@media screen and (max-width: 767px) {
  .blc_training .blc_ttl {
    font-size: 2.4rem;
    margin-block-end: 0
  }
}
.blc_training .btn_item {
  float: right;
  margin: 20px 0
}
@media screen and (max-width: 455px) {
  .blc_training .btn_item {
    float: none;
    display: block
  }
}
.blc_training .box_wrapper {
  overflow: hidden;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.blc_training .box_wrapper .box {
  background-color: #fff;
  text-align: center;
  width: 100%
}
@media print, screen and (min-width: 768px) {
  .blc_training .box_wrapper .box {
    width: 33.3333%;
    width: calc(100% / 3);
    float: left
  }
}
.blc_training .box_wrapper .box img {
  width: 100%;
  height: auto
}
.blc_training .box_wrapper .box .box_ttl {
  font-size: 2.8rem;
  font-family: 'M PLUS Rounded 1c', serif;
  font-weight: 500;
  display: inline-block;
  color: #FFF;
  background-color: #ff9600;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  border-radius: 30px;
  padding: 5px 30px;
  margin: 0;
  position: relative;
  top: -25px
}
.blc_training .box_wrapper .box .box_txt {
  text-align: left;
  padding: 0 5% 30px
}
.blc_training .box_wrapper .box ul {
  border-top: dotted 1px #ccc;
  margin-top: 30px;
  padding-top: 30px;
  font-size: 1.7rem
}
.blc_training .box_wrapper .box:nth-of-type(2n) {
  background-color: #ffe6e6
}
.blc_training .box_wrapper .box:nth-of-type(2n) .box_ttl {
  background-color: #ec5555
}
.blc_training .box_wrapper .box:nth-of-type(2n) .list_item li:before {
  background-color: #ec5555
}
.blc_thought {
  background-color: #fef3c2;
  overflow: hidden
}
.blc_thought .blc_in {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: relative;
  padding: 30px
}
.blc_thought .blc_ttl {
  font-size: 2rem;
  font-weight: 600;
  font-family: '07yasashisa', sans-serif;
  margin: 20px 0;
  color: #ff6000;
  display: inline-block
}
@media print, screen and (min-width: 768px) {
  .blc_thought .blc_ttl {
    line-height: 1.7;
    font-size: 2.5rem
  }
}
.blc_thought figure {
  text-align: center
}
@media print, screen and (min-width: 768px) {
  .blc_thought figure {
    float: left
  }
}
.blc_thought figure img {
  width: 100%
}
@media print, screen and (min-width: 768px) {
  .blc_thought .box_txt {
    margin-left: 480px
  }
}
.blc_thought .box_txt p:not(:last-child) {
  margin-bottom: 1em
}
.blc_thought .signature {
  text-align: right;
  margin-top: 30px
}
/*# sourceMappingURL=top.css.map */