@charset "utf-8";

* {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Zen Maru Gothic", serif !important;
  font-weight: 400;
  font-style: normal;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.sp-contact {
  display: none;
}

/*共通*/

.sp_br {
  display: none;
}

.wrapper {
  width: 1200px;
  margin: 0 auto;
  padding: 60px 0;
}

.button a {
  background: #fff9d9;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  width: 40%;
  padding: 30px 25px;
  color: #000;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  transform: skew(-10deg, 0deg);
  font-size: 18px;
}
.button a span {
  transform: skewX(10deg);
}
.button a:before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: -1em;
  transform: translateY(calc(-50% - 2px)) rotate(30deg);
  width: 12px;
  height: 2px;
  background-color: #f39950;
  transition: 0.3s;
}
.button a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1em;
  transform: translateY(-50%);
  width: 40px;
  height: 2px;
  background-color: #f39950;
  transition: 0.3s;
}
.button a:hover:before,
.button016 a:hover:after {
  right: -1.2em;
}
.button a:hover {
  background: #f3dc61;
  color: #fff;
}

h1 {
  width: 1200px;
  height: 107px;
  background-image: url(../images/heading.png);
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fe7400;
  margin-bottom: 60px;
  font-weight: 800;
}

h2 {
  text-align: center;
  font-size: 24px;
}

h3 {
  text-align: center;
  font-size: 20px;
}

p {
  font-size: 16px;
  line-height: 1.5;
}

/*共通ここまで*/

.top-line {
  background-image: url(../images/line-deco.png);
  background-size: contain;
  background-repeat: no-repeat x-repeat;
  height: 10px;
}

.wave-wh-bg {
  position: absolute;
  width: 100%;
  top: -13%;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.wave-ye-bg {
  position: absolute;
  width: 100%;
  top: -30%;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.circle-bg {
  position: absolute;
  width: 100%;
  top: -20%;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.circle-ye-bg {
  position: absolute;
  width: 100%;
  top: -20%;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.target {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
@keyframes floating-y {
  0% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(10%);
  }
}

.topup {
  position: fixed;
  right: 3%;
  bottom: 5%;
  z-index: 999;
}

.topup img {
  width: 80px;
}

.top-h1 {
  position: relative;
  padding-top: 65px;
  padding-bottom: 50px;
  font-size: 26px;
  font-weight: 800;
  text-align: center;
  color: #fe7400;
}

.top-h1 span {
  position: relative;
  z-index: 2;
}
.top-h1::before {
  content: attr(data-en);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  color: rgb(229 192 70 / 17%);
  font-size: 80px;
  z-index: 1;
}

.main img {
  width: 100%;
}

.info {
  position: relative;
  background: #fff9d9;
  /* border-bottom: 8px dotted #fe7400; */
}

.info ul {
  text-align: center;
}

.info ul li {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  padding-bottom: 10px;
  border-bottom: 8px dotted #fe7400;
  display: inline-block;
}

.line-area {
  position: relative;
  margin-top: 0;
  /* border-bottom: 8px dotted #fe7400; */
  background-color: #fff9d9;
}

.line-area p {
  font-size: 26px;
  text-align: center;
  color: #fe7400;
  margin-bottom: 60px;
  font-weight: 600;
}

.line-area .line-img {
  display: block;
  width: 50%;
  max-width: 800px;
  margin: 0 auto;
}

.deco-left {
  position: absolute;
  left: 0;
  width: 10%;
  max-width: 300px;
}

.deco-right {
  position: absolute;
  right: 0;
  width: 10%;
  max-width: 300px;
}

.message {
  position: relative;
}

.m-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.m-box {
  width: 48%;
}

.m-box h5 {
  font-size: 26px;
  display: inline;
  border-bottom: 5px dotted #fe7400;
}

.message h4 {
  font-size: 28px;
  line-height: 1.5;
  text-align: center;
}

.m-box p {
  font-size: 20px;
  line-height: 1.5;
  margin-top: 30px;
}

.m-cont img {
  width: 85%;
}

.message .button a {
  width: 30%;
}

.top-policy {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

.top-p-box {
  width: 48%;
  margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
  padding: 2em; /* 内側余白 */
  border-top: solid 5px #f7c16e; /* 上辺に太い線 */
  background-color: #fdfbf6; /* 背景色 */
  box-shadow: 3px 1px 4px rgb(0 0 0 / 0.2); /* 影の効果: 右3px、下1px、ぼかし4px */
  border-radius: 0px 0px 10px 10px;
}

.top-p-box h2 {
  margin-bottom: 20px;
}

.top-p-box p {
  letter-spacing: -0.08px;
}

.tp-img {
  position: absolute;
  width: 20%;
  top: -5%;
  right: 0;
}

.animal1,
.animal2,
.animal3,
.animal4,
.animal5,
.animal6,
.animal7,
.animal8 {
  position: absolute;
  width: 10%;
  z-index: 99;
}

.animal1,
.animal2,
.animal3,
.animal4 {
  filter: drop-shadow(5px 5px 5px #aaa);
}

.animal1 {
  top: -20%;
  left: 0;
}

.animal2 {
  top: -21%;
  left: 10%;
}
.animal3 {
  top: -22%;
  left: 20%;
}

.animal4 {
  top: -21%;
  left: 30%;
}
.animal5 {
  top: 6%;
  left: 0%;
  filter: drop-shadow(5px 5px 5px #aaa);
}
.animal6 {
  top: 25%;
  left: 2%;
  filter: drop-shadow(5px 5px 5px #aaa);
}

.animal7 {
  top: 8%;
  right: 0%;
  filter: drop-shadow(5px 5px 5px #aaa);
}

.animal8 {
  top: 25%;
  right: 2%;
  filter: drop-shadow(5px 5px 5px #aaa);
}

.insta {
  position: relative;
  background-color: #fffacd4a;
  /*padding-bottom:200px;*/
  background-image: radial-gradient(circle, #fff9d97a 5px, transparent 5px);
  background-position: 0 0;
  background-size: 30px 30px;
}

.insta_feed {
  display: flex;
  flex-wrap: wrap;
}

.insta__item {
  display: flex;
  flex-direction: column;
  align-items: stretch !important;
  padding-top: 10px;
  width: 19%;
  margin: 0 10px 10px 0;
  background-color: #fff;
}

.insta__item p {
  padding: 10px;
}

.insta__item img {
  width: 90%; /* 表示したい範囲(100%) */
  display: block;
  margin: 0 auto;
  height: 230px; /* 表示したい範囲(100%) */
  object-fit: cover; /* 画像をトリミング */
}

.insta .list {
  width: 1200px;
  margin: 0 auto;
  font-size: 0;
  text-align: center;
}

.insta .list li {
  overflow: hidden;
  display: inline-block;
  width: 185px;
  height: 185px;
}

.insta .list li img {
  width: 100%;
}

.recruit {
  position: relative;
  /* border-top:8px dotted #fe7400; */
}

.recruit-cont {
  display: flex;
  justify-content: space-between;
}

.rec-box-l,
.rec-box-r {
  width: 48%;
  padding: 20px 0;
}

.rec-box-l img {
  width: 60%;
  display: block;
  margin: 0 auto;
}

.rec-box-r .re-top {
  font-size: 20px;
  line-height: 2;
  margin-bottom: 50px;
}

.rec-box-r .re-in {
  font-size: 26px;
  font-weight: 600;
  line-height: 2;
  margin-bottom: 50px;
}

.disclosure {
  background-color: #fffacd;
}

.disclosure a:hover {
  text-decoration: underline;
}

.dis-first {
  background-color: #fff;
  padding: 20px;
  margin: 30px 0 20px 0;
  font-size: 20px;
  line-height: 1.5;
}

.dis-sec {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
}

.dis-sec .dis-box {
  padding: 20px;
  width: 32%;
  background-color: #fff;
}

.dis-sec .dis-box .title {
  border-bottom: 6px dotted #fe7400;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}

.dis-third {
  background-color: #fff;
  padding: 20px;
  font-size: 20px;
  line-height: 1.5;
}

.dis-third p {
  margin-bottom: 20px;
}

.dis-third h2 {
  font-size: 20px;
  text-align: center;
}

.dis-third .title {
  border-bottom: 6px dotted #fe7400;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-weight: 600;
}

.way {
  background-color: #fffacd;
}

.way h4 {
  border-bottom: 6px dotted #fe7400;
  padding: 10px;
}

.way p {
  padding: 10px 0;
  font-weight: 600;
}

.ac_right {
  width: 100%;
  height: 60vh;
  overflow: hidden;
}

.ac_right iframe {
  width: 100%;
  height: calc(60vh + 300px);
  margin-top: -150px;
}

.overview table {
  width: 90%;
  margin: 0 auto;
}

.overview table tr {
  border-bottom: 1px solid #fe7400;
}

.overview table tr:last-child {
  border-bottom: none;
}

.overview table tr td {
  padding: 20px 0;
}

.footer-nav ul {
  display: flex;
  width: 80%;
  margin: 0 auto;
  align-items: center;
}

.footer-nav li {
  width: 20%;
  text-align: center;
  border-right: 1px solid #fff;
  font-size: 14px;
  line-height: 1.3;
  min-height: 40px;
  /* flex の指定を追加 */
  display: flex;
  align-items: center; /* 縦の中央揃え */
  justify-content: center; /* 横の中央揃え(必要なければ適宜外す) */
  position: relative;
}

.footer-nav li:last-child {
  border-right: none;
}

.footer-nav li a {
  color: #fff;
}

.footer-nav li a:hover {
  opacity: 0.5;
}

.footer-nav {
  background-color: #66adc6;
  padding: 20px 0;
}

.footer-nav .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  list-style: none;
  z-index: 1000;
  width: 100% !important;
  background-color: #66adc6;
}

.footer-nav .submenu li {
  width: 100%;
}

.footer-nav .submenu li a {
  display: block;
  padding: 5px 12px;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
}

.footer-nav .has-submenu:hover .submenu {
  display: block;
}

footer p {
  text-align: center;
  padding: 20px 0;
}

.footer-nav .submenu {
  display: none;
  /* 既存の absolute, position などはそのままでOK */
}

.footer-nav .submenu.open {
  display: block; /* .open が付いたら表示 */
}

/*こひつじ保育園について*/
.aboutus {
  background-color: #fffacd;
}

.btn-area {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}

.btn-box {
  width: 49%;
}

.s-button a {
  background: #fff9bf;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 20px 25px;
  color: #000;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  z-index: 0;
  border-left: solid 5px #feb352;
  font-size: 20px;
}
.s-button a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #feb352;
  transition: 0.3s;
  left: 0;
}
.s-button a:hover {
  color: #fff;
}
.s-button a:hover:before {
  width: 100%;
  z-index: -1;
}

.schedule {
  background-color: #fffacd;
}

.schedule .s-button a {
  background-color: #fff;
}

.schedule .insta {
  margin-top: 20px;
  background-image: none;
  background-color: #fff;
}

.schedule .insta h2 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: #feb352;
  font-weight: 600;
}

.tab1 {
  display: flex;
  flex-direction: row;
  text-align: center;
  margin: 0 !important;
}
.tab1__item {
  flex: 1;
  flex-basis: 120px;
}
.tab1__link {
  display: block;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  border-top-right-radius: 15px;
  border-top-left-radius: 15px;
  padding: 10px 0;
  font-weight: 600;
}
.item_or {
  background-color: #feb352;
}
.item_ye {
  background-color: #fedd38;
}
.tab1__link.on {
  opacity: 0.3;
}
.tab1-body {
  position: relative;
}
.tab1-body__item {
  padding: 30px;
  display: none;
  text-align: center;
  background-color: #fff;
}
.tab1-body__item.on {
  display: block;
}
.tab-tit {
  text-align: left;
  font-size: 20px;
  font-weight: 600;
  padding-bottom: 20px;
  border-bottom: 6px dotted #fe7400;
}
.tab1-body__item p {
  text-align: left;
  padding: 20px 0;
}
.entei {
  background-color: #fffacd;
  padding: 30px;
  border-radius: 10px;
}
.entei p {
  text-align: center;
}
#about .button a {
  background: #feb352;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  width: 30%;
  padding: 30px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  transform: skew(-10deg, 0deg);
  font-size: 18px;
}
#about .button a span {
  transform: skewX(10deg);
}
#about .button a:before {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: -1em;
  transform: translateY(calc(-50% - 2px)) rotate(30deg);
  width: 12px;
  height: 2px;
  background-color: #f39950;
  transition: 0.3s;
}
#about .button a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1em;
  transform: translateY(-50%);
  width: 40px;
  height: 2px;
  background-color: #f39950;
  transition: 0.3s;
}
#about .button a:hover:before,
.button016 a:hover:after {
  right: -1.2em;
}
#about .button a:hover {
  background: #f3dc61;
  color: #fff;
}
.animal16 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10%;
}

.food {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.food-point {
  width: 32%;
  background-color: #fffacd;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.food-point h3 {
  letter-spacing: -1px;
}

.imp_box {
  margin: 80px 0;
  text-align: center;
  position: relative;
}
.imp_box h2 {
  background: linear-gradient(transparent 60%, #fffacd 0%);
  display: inline;
  padding: 0 1px 0px;
  line-height: 1.5;
}

.imp_box p {
  text-align: left;
  margin-top: 30px;
}

.imp_box img {
  position: absolute;
  width: 20%;
}

.imp-img01 {
  top: -60%;
  left: 0;
}

.imp-img02 {
  top: -50%;
  right: 0;
}

.commit {
  background-color: #fffacd;
}

.commit-cont {
  display: flex;
  justify-content: space-between;
}

.commit-box {
  width: 48%;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
}

.c-box1 h3 {
  background-color: #feb352;
  color: #fff;
  padding: 15px 0;
  border-radius: 10px 10px 0 0;
}

.c-box2 h3 {
  background-color: #fedd38;
  color: #fff;
  padding: 15px 0;
  border-radius: 10px 10px 0 0;
}

.commit-box p {
  padding: 20px;
}

.policy {
  position: relative;
}

.policy img {
  position: absolute;
  width: 20%;
  bottom: 0;
  right: 1%;
}

.po-cont {
  display: flex;
  justify-content: space-between;
}

.po-box {
  width: 47%;
  text-align: center;
}

.po-box h2 {
  border-bottom: 5px dotted rgb(254, 116, 0);
  display: inline-block;
  padding: 10px 0;
}

.po-box p {
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
  margin-top: 20px;
  font-weight: 600;
}

.teach-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.teach-box {
  width: 48%;
}

.teach-box p {
  line-height: 2.5;
}

.teach-box img {
  width: 70%;
  display: block;
  margin: 0 auto;
}

.initiative {
  background-color: #fffacd;
}

.facility {
  text-align: center;
  position: relative;
}

.facility p {
  text-align: left;
  display: inline-block;
}

.facility img {
  width: 100%;
  max-width: 800px;
  margin-top: 30px;
}

.facility .target {
  width: 10%;
  position: absolute;
}

.fa-ani1 {
  top: 20%;
  left: 13%;
  filter: drop-shadow(5px 5px 5px #aaa);
}

.fa-ani2 {
  top: 77%;
  right: 13%;
  filter: drop-shadow(5px 5px 5px #aaa);
}

/*一日の流れ*/

.time {
  background-color: #fffacd;
}

.time h1 {
  width: 65%;
  margin: 0 auto;
  margin-bottom: 30px;
}

.stepbar {
  background-color: #fff;
  padding: 50px;
  width: 65%;
  margin: 0 auto;
}

.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
  font-size: 30px;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #ef7f42;
  z-index: 1;
}

.stepbar .stepbarwrap .steptitle .stepnum {
  padding-left: 1em;
  font-size: 20px;
  font-weight: 600;
  color: #ef7f42;
}

.stepbar .stepbarwrap .steptxt {
  padding-left: 2em;
}

.stepbar .stepbarwrap .steptxt .steptxt-title {
  margin: 0.5em 0;
  font-weight: bold;
  font-size: 1.3em;
  padding-left: 20px;
}

.stepbar .stepbarwrap .steptxt .steptxt-txt {
  font-size: 16px;
  line-height: 1.5;
}

.stepbar .stepbarwrap .stepline {
  width: 2px;
  height: calc(100% + 1em);
  background-color: #ef7f42;
  position: absolute;
  top: 1em;
  left: 0.8em;
  z-index: 0;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}
/*一日の流れ　ここまで*/

/*年間行事*/

.event {
  background-color: #fffacd;
}

.event-calendar {
  display: flex;
  justify-content: space-between;
  padding: 20px;
}
.event-box {
  width: 100%;
  margin-bottom: 20px;
}

.event-box h3 {
  padding-top: 20px;
}

.event-box img {
  width: 25%;
  position: absolute;
}

.sp1 {
  top: -10%;
  right: 1%;
}

.sp2 {
  top: 15%;
  right: 10%;
}

.sp3 {
  top: -10%;
  right: 0;
}

.sm1 {
  top: 0;
  right: 0;
}

.sm2 {
  top: 40%;
  right: 0;
}

.sm3 {
  top: 30%;
  right: 0;
}

.at1 {
  top: 0;
  right: 0;
}

.at2 {
  top: 70%;
  right: 0;
}

.at3 {
  top: 40%;
  right: 0;
}

.wt1 {
  top: 0;
  right: 0;
}

.wt2 {
  top: 40%;
  right: 0;
}

.wt3 {
  top: 30%;
  right: 0;
}

.spring {
  background-color: #feebff;
}

.summer {
  background-color: #d3f4ff;
}

.autumn {
  background-color: #ffebb7;
}

.winter {
  background-color: #f3fcff;
}
.calendar-area {
  margin-top: 15px;
  width: 30%;
  position: relative;
}
.calendar-area h4 {
  padding: 5px;
  padding: 5px 10px;
}

.spring .calendar-area h4 {
  border-bottom: 5px dotted #ff7bac;
  margin-bottom: 5px;
}

.summer .calendar-area h4 {
  border-bottom: 5px dotted #66adc6;
  margin-bottom: 5px;
}

.autumn .calendar-area h4 {
  border-bottom: 5px dotted #fe7400;
  margin-bottom: 5px;
}

.winter .calendar-area h4 {
  border-bottom: 5px dotted #0071bc;
  margin-bottom: 5px;
}
.flex-ul li {
  padding: 10px 0;
}
.calendar-area ul li {
  padding: 10px 0;
}
.calendar-area ul li:before {
  content: "●";
}
.calendar-area ul li span {
  font-size: 13px;
  background-color: #fffacd;
  color: #fea839;
  padding: 5px;
  margin-left: 10px;
}

.zero,
.one,
.two,
.three,
.four,
.five {
  border-radius: 30px;
  color: #fff !important;
  padding: 0 10px !important;
}
.zero {
  background-color: #0071bc !important;
}

.one {
  background-color: #8cc63f !important;
}

.two {
  background-color: #3fa9f5 !important;
}

.three {
  background-color: #fea839 !important;
}

.four {
  background-color: #22b573 !important;
}

.five {
  background-color: #ff7bac !important;
}

.age {
  line-height: 1.5;
}

/*年間行事　ここまで*/

/*入園をご検討の方へ*/

.matter {
  background-color: #fffacd;
}

.matter .btn-area {
  display: block;
}

.matter .btn-area .btn-box {
  width: 100% !important;
}

#admission .s-button a {
  background: #fff;
  font-size: 16px;
}

.flow-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #fea839;
  padding: 20px 0 0 0;
}

.flow-box .step {
  width: 5%;
}

.flow-box .step-txt {
  width: 90%;
}

.flow-box .step p {
  font-size: 60px;
  color: #fea839;
  font-weight: 600;
}

.flow-box .step-txt p span {
  font-weight: 800;
}

.nyuen {
  width: 25%;
  display: block;
  margin: 0 auto;
  padding-top: 30px;
}

.question {
  background-color: #fffacd;
}

.accordion {
  position: relative;
  width: 100%;
  background-color: #fff;
}
.accordion-container {
  padding: 0 20px;
}
.accordion-title {
  color: #4d4d4d;
  cursor: pointer;
  font-size: 18px;
  padding: 10px 0px;
  text-align: left;
}
.accordion-content {
  display: none;
  padding: 10px 0;
}
.accordion-content p {
  font-size: 18px;
  line-height: 25px;
  color: #4d4d4d;
  padding-left: 1em;
  text-indent: -1em;
}
/* タイトルの背景色 */
.accordion-item:nth-of-type(1) .accordion-title {
  background-color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}
.accordion-item:nth-of-type(2) .accordion-title {
  background-color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}
.accordion-item:nth-of-type(3) .accordion-title {
  background-color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}
.accordion-item:nth-of-type(4) .accordion-title {
  background-color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}
/* 矢印 */
.accordion-title {
  position: relative;
}
.accordion-title::after {
  border-right: solid 2px #000;
  border-top: solid 2px #000;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 0px;
  top: 38%;
  transform: rotate(135deg);
  transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
  width: 8px;
}
.accordion-title.open::after {
  top: 45%;
  transform: rotate(-45deg);
}

.accordion-item {
  border-bottom: 5px dotted #fe7400;
  padding: 20px 20px;
}

.accordion-item:last-child {
  border-bottom: none;
}

.ques {
  padding-right: 20px;
}

.answ {
  color: #fe7400;
}

.contact-num-area {
  text-align: center;
  margin-top: 30px;
}

.contact-num {
  background-color: #fe7400;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  padding: 10px 0;
  width: 25%;
  border-radius: 50px;
  font-size: 34px;
}

.visit {
  background-color: #fffacd;
}

.visit-flow {
  background-color: #fff;
}

.visit-flowbox {
  padding: 30px;
  border: 2px solid #fe7400;
}

.visit-flowbox h3 {
  text-align: left;
  color: #fe7400;
  margin-bottom: 10px;
}

.visit-flowbox p span {
  color: #fe7400;
}

.arrow {
  text-align: center;
  padding: 10px 0;
}

.arrow img {
  width: 5%;
  margin: 0 auto;
}

/*入園をご検討の方へ ここまで*/

/*保護者の皆様へ*/

.parents {
  background-color: #fffacd;
}

.parents p {
  text-align: center;
}

.parents-dw {
  background-color: #fff;
  padding: 30px;
  margin-top: 50px;
}

.p-dw-area {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}

.p-dw-box {
  width: 48%;
}

.p-dw-box p {
  text-align: left;
  background-color: #fe7400;
  color: #fff;
  padding: 10px 20px;
  margin-right: 15px;
}

.dw-area {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.p-dw-box a:hover {
  text-decoration: underline;
}

/*保護者の皆様へ ここまで*/

/*こひつじ保育園ものがたり*/

.story {
  background-color: #fffacd;
}

#story .button a {
  background-color: #fff;
}

#story .button a:hover {
  background-color: #ef7f42;
}

/*こひつじ保育園ものがたり ここまで*/

/*-----------------------------------------------------*/
/* タブレット用のCSS */
/*-----------------------------------------------------*/
@media only screen and (min-width: 479px) and (max-width: 840px) {
  .wrapper {
    width: 90%;
    padding: 30px 0;
  }

  .wave-wh-bg {
    top: -6%;
  }

  h1 {
    width: 100%;
    height: 107px;
  }

  h2 {
    text-align: center;
    font-size: 22px;
  }

  h3 {
    text-align: center;
    font-size: 18px;
  }

  p {
    font-size: 14px;
    line-height: 1.5;
  }

  .insta .list {
    width: 100% !important;
  }

  .button a {
    margin-top: 10px;
    width: 70% !important;
  }

  .m-cont {
    margin-top: 40px;
  }

  .m-box h5 {
    font-size: 20px;
  }

  .footer-nav ul {
    width: 100% !important;
  }

  .footer-nav li {
    font-size: 10px;
  }

  .topup {
    right: 3%;
    bottom: 1%;
  }

  .topup img {
    width: 60px;
  }

  .contact-num {
    width: 50%;
  }

  .p-dw-area {
    flex-direction: column;
  }

  .p-dw-box {
    width: 100%;
  }

  .p-dw-box:first-child {
    margin-bottom: 20px;
  }

  .animal5 {
    top: 6%;
    left: 0%;
    width: 15%;
  }
  .animal6 {
    top: 9%;
    left: 15%;
    width: 15%;
  }

  .animal7 {
    top: 8%;
    right: 0%;
    width: 15%;
  }

  .animal8 {
    top: 9%;
    right: 15%;
    width: 15%;
  }
}

/*-----------------------------------------------------*/
/* スマホ用のCSS */
/*-----------------------------------------------------*/
@media only screen and (max-width: 479px) {
  .sp-contact {
    display: block;
    padding-top: 46px;
  }

  .s-button a {
    font-size: 16px;
  }

  .c-txt {
    text-align: center;
    font-size: 14px;
    background-color: #ead561;
    color: #fff;
    border-radius: 30px;
    padding: 5px 0;
  }

  .sp-contact p {
    font-size: 14px;
    text-align: center;
    padding-top: 10px;
  }

  .sp-contact h2 {
    font-size: 18px;
  }

  .sp_br {
    display: block;
  }

  .wrapper {
    width: 90%;
    padding: 30px 0;
  }

  .wave-wh-bg {
    top: -2%;
  }

  .button a {
    font-size: 14px;
    padding: 20px;
    width: 80%;
  }

  .topup {
    position: fixed;
    right: 3%;
    bottom: 5%;
  }

  .topup img {
    width: 50px;
  }

  .top-policy {
    flex-direction: column;
    margin-bottom: 10px;
  }

  .top-p-box {
    width: 100%;
    padding: 1em;
  }

  .tp-img {
    display: none;
  }

  h1 {
    width: 100%;
    height: 50px;
    font-size: 18px;
    margin-bottom: 25px;
  }

  h2 {
    font-size: 17px;
  }

  h3 {
    font-size: 16px;
  }

  p {
    font-size: 12px;
  }

  .footer-nav ul {
    flex-wrap: wrap;
    justify-content: center;
  }

  .footer-nav li {
    width: 50%;
    border-right: none;
  }

  .top-line {
    /*background-size:contain;
	background-repeat:no-repeat;*/
    display: none;
  }

  footer p {
    font-size: 14px;
  }

  .message h4 {
    font-size: 20px;
  }

  .m-cont {
    flex-direction: column;
  }

  .m-box {
    width: 100%;
    text-align: center;
  }

  .m-box h5 {
    font-size: 18px;
  }

  .message h4 {
    font-size: 20px;
    margin: 20px 0;
  }

  .m-box p {
    font-size: 14px;
    text-align: left;
  }

  .m-cont img {
    width: 80%;
    display: block;
    margin: 0 auto;
  }

  .message .button a {
    width: 80%;
    margin-top: 20px;
  }

  .animal1 {
    width: 20%;
    top: -5%;
    left: 8%;
  }

  .animal2 {
    width: 20%;
    top: -7%;
    left: 28%;
  }
  .animal3 {
    width: 20%;
    top: -5%;
    left: 48%;
  }

  .animal4 {
    width: 20%;
    top: -5%;
    left: 68%;
  }

  .line-area p {
    font-size: 20px;
  }

  .top-h1 {
    font-size: 20px;
    padding-top: 40px;
  }

  .top-h1::before {
    content: attr(data-en);
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    color: rgb(229 192 70 / 17%);
    font-size: 36px;
    z-index: 1;
  }

  .insta__item {
    width: 45%;
    margin: 0 30px 0 0;
    background-color: #fff;
  }

  .insta__item:nth-child(even) {
    margin-right: 0;
  }

  .insta__item img {
    height: 200px;
  }

  .insta__item p {
    padding: 10px;
  }

  .insta .list {
    width: 100%;
  }

  .insta .list li {
    width: 25%;
    height: auto;
  }

  .animal5,
  .animal6,
  .animal7,
  .animal8 {
    width: 20%;
  }

  .animal5 {
    top: 10%;
    left: 0%;
  }
  .animal6 {
    top: 93%;
    left: 2%;
  }

  .animal7 {
    top: 10%;
    right: 0%;
  }

  .animal8 {
    top: 93%;
    right: 2%;
  }

  .deco-left {
    width: 20%;
  }

  .deco-right {
    width: 20%;
  }

  .line-area .line-img {
    width: 80%;
  }

  .recruit-cont {
    flex-direction: column;
  }

  .rec-box-l,
  .rec-box-r {
    width: 100%;
  }

  .rec-box-l img {
    width: 60%;
    display: block;
    margin: 0 auto;
  }

  .rec-box-r .re-top {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 10px;
  }

  .rec-box-r .re-in {
    font-size: 20px;
    font-weight: 600;
    line-height: 2;
    margin-bottom: 50px;
  }

  .tab-tit {
    font-size: 15px;
  }

  #about .button a {
    width: 90%;
    padding: 10px;
    font-size: 14px !important;
  }

  .imp_box {
    margin: 60px 0;
  }

  .imp_box h2 {
    position: relative;
    z-index: 10;
  }

  .imp_box img {
    width: 50%;
    z-index: 0;
  }

  .imp-img01 {
    top: -12%;
    left: -10%;
    opacity: 0.2;
  }

  .imp-img02 {
    top: -15%;
    right: 0;
    opacity: 0.2;
  }

  .food {
    flex-direction: column;
  }

  .food-point {
    width: 100%;
  }

  .commit-cont {
    flex-direction: column;
  }

  .commit-box {
    width: 100%;
  }

  .c-box1 {
    margin-bottom: 20px;
  }

  .po-cont {
    flex-direction: column;
  }

  .po-box {
    width: 100%;
  }

  .po-box:first-child {
    margin-bottom: 20px;
  }

  .po-box h2 {
    background-color: #fffacd;
    display: block;
    border-bottom: none;
  }

  .po-box p {
    font-size: 14px;
    line-height: 1.5;
  }

  .policy img {
    width: 40%;
    top: -14%;
    left: 1;
  }

  .animal16 {
    width: 20%;
  }

  .teach-cont {
    flex-direction: column;
  }

  .teach-box {
    width: 100%;
  }

  .teach-box p {
    line-height: 1.7;
    margin-top: 10px;
  }

  .teach-box img {
    width: 80%;
  }

  .facility .target {
    width: 20%;
    position: absolute;
  }

  .fa-ani1 {
    top: -4%;
    left: 0%;
  }

  .fa-ani2 {
    top: 80%;
    right: 0%;
  }

  .btn-area {
    flex-direction: column;
    margin-bottom: 30px;
  }

  .btn-box {
    width: 100%;
  }

  .btn-box:first-child {
    margin-bottom: 20px;
  }

  .event-calendar {
    flex-direction: column;
  }

  .calendar-area {
    width: 100%;
  }

  .calendar-area ul li {
    font-size: 14px;
  }

  .sp1 {
    top: -5%;
    right: 1%;
  }

  .sp2 {
    top: 15%;
    right: 20%;
  }

  .sp3 {
    top: 0%;
    right: 0;
  }

  .sm1 {
    top: 15%;
    right: 0;
  }

  .sm2 {
    top: 0%;
    right: 0;
  }

  .sm3 {
    top: 50%;
    right: -5%;
  }

  .at1 {
    top: 25%;
    right: 0;
  }

  .at2 {
    top: 20%;
    right: 0;
  }

  .at3 {
    top: -10%;
    right: 0;
  }

  .wt1 {
    top: 16%;
    right: 0;
  }

  .wt2 {
    top: 40%;
    right: 0;
  }

  .wt3 {
    top: 30%;
    right: 0;
  }

  .dis-first {
    font-size: 16px;
  }

  .dis-sec {
    font-size: 16px;
    line-height: 1.5;
    flex-direction: column;
  }

  .dis-sec .dis-box {
    width: 100%;
    padding: 0 0 20px 0;
    margin-bottom: 20px;
  }

  .dis-sec .dis-box:last-child {
    margin-bottom: 0;
  }

  .dis-sec .dis-box .title {
    padding: 20px 20px 10px 20px;
    margin: 0 20px;
  }

  .dis-sec .dis-box a {
    padding: 20px;
  }

  .dis-third {
    font-size: 14px;
  }

  .time h1 {
    width: 100%;
  }

  .stepbar {
    padding: 30px;
    width: 100%;
  }

  /*入園をご検討の方へ*/

  .flow-box {
    padding-bottom: 20px;
  }

  .flow-box .step p {
    font-size: 40px;
  }

  .flow-box .step {
    width: 15%;
  }

  .flow-box .step-txt {
    width: 80%;
  }

  .nyuen {
    width: 40%;
  }

  .ques {
    padding-right: 5px;
  }

  .accordion-container {
    padding: 0 10px;
  }

  .accordion-title {
    font-size: 14px;
  }

  .accordion-content p {
    font-size: 14px;
  }

  .accordion-title::after {
    border-right: solid 2px #000;
    border-top: solid 2px #000;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: -18px;
    top: 38%;
    transform: rotate(135deg);
    transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
    width: 8px;
  }
  .accordion-title.open::after {
    top: 35%;
    transform: rotate(-45deg);
  }

  .contact-num {
    width: 75%;
    font-size: 24px;
  }

  .arrow img {
    width: 10%;
  }

  .parents-dw {
    margin-top: 30px;
  }

  .p-dw-area {
    flex-direction: column;
    font-size: 14px;
  }

  .p-dw-box {
    width: 100%;
    margin-bottom: 20px;
  }
  /*入園をご検討の方へ ここまで*/

  /*アクセス*/
  .overview table {
    width: 100%;
  }
  .ac_right {
    height: 40vh;
  }
  .ac_right iframe {
    height: calc(40vh + 300px);
  }
  /*アクセス ここまで*/
}
