html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  background-color: #FEFCF5;
  color: #725244;
  line-height: 3.5rem;
  letter-spacing: 0.05rem;
  font-size: 1.7rem;
  /* Googleフォント */
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  overflow-x: scroll;
  overflow-y: scroll;
  font-style: normal;
  min-width: 1000px;
  transform-origin: top center;
  animation: loading 1.5s;
}

@keyframes loading {
  0% {opacity: 0;transform: scale(1.02);}
  100% {opacity: 1;transform: scale(1);}
}

main {
  overflow-x: hidden;
}

a {
  transition: .5s;
}

.hover_or {
  transition: .05s !important;
}

.hover_or:hover {
  color: #E98E34;
}

/* 横幅 */
.inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 40px;
}

.sp_fv_h1,
.tab-2, 
.tab-1 {
  display: none;
}

.pc_none {
  display: none;
}

/* アニメーションキーフレーム */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn-bottom {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateY(-10%);
    opacity: 1;
  }
}

@keyframes yurayura {
0%, 100% {
  transform: translateX(0%);
  transform: rotate(8deg);
}
50% {
  transform: rotate(-8deg);
  transform: translateX(20%);
}
}

.yurayura {
  animation: yurayura 4s linear infinite;
}

@keyframes yurayura2 {
  0%, 100% {
    transform: translateY(0%);
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(10deg);
    transform: translateY(10%);
  }
  }
  
  .yurayura2 {
    animation: yurayura2 4s linear infinite;
  }

@keyframes zoom-in {
  0% {
    transform: scale(0%);
    opacity: 0;
  }
  60% {
    transform: scale(110%);
  }
  100% {
    transform: scale(100%);
  }
  40%,100% {
    opacity: 1;
  }

}

/* スクロール時のフェードイン */
.fade-in-section {
  opacity: 0;
  transform: translate(0, 5%);
  transition: 1.5s;
}

.fade-in {
  opacity: 1 !important;
  transform: translate(0, 0);
}

/* スクロール時の右スライドイン */
.slide-in-right-img {
  opacity: 1;
  transform: translate(120%, -20%);
  transition: 1.5s;
}

.slide-in-right {
  opacity: 1;
  transform: translate(0, 0);
}

/* スクロール時の左スライドイン */
.slide-in-left-img {
  opacity: 1;
  transform: translate(-120%, -20%);
  transition: 1.5s;
}

.slide-in-left {
  opacity: 1;
  transform: translate(0, 0);
}

/* スクロール時のズームイン */
.zoom-in-img {
  opacity: 1;
  transform: scale(0, 0);
  transition: .5s;
}

.zoom-in {
  opacity: 1;
  transform: scale(1, 1);
}

/* ヘッダー */
.header {
  height: 140px;
  position: relative;
}

.sp_nav, .hamburger {
  display: none;
}

.header_logo {
  position: absolute;
  top: -10px;
  left: -20px;
  z-index: 1003;
}

.sp_header_logo,
.sp-menu, 
.sp_header_right_gr {
  display: none;
}

.header_logo img {
  max-width: 300px;
  min-width: 220px;
  width: 23vw;
}

.header_nav {
  width: 100%;
  display: flex;
  justify-content: end;
  font-size: 1.5rem;
  padding: 0px 20px 0 50px;
  position: relative;
  z-index: 1002;
}

.header_menu {
  display: flex;
  gap: 30px;
  padding-top: 20px;
  line-height: 2.8rem;
}

.header_contact:hover {
  transform: translateY(-5px);
 }

 .header_menu li {
  transition: .5s;
 }

 .header_link:hover {
  .menu_img {
    transform: rotate(5deg);
  }
 }

.menu_img {
  width: 54px;
  display: block;
  margin: 0 auto;
}

.header_contact {
  background-color: #E98E34;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 15px;
  margin-left: 30px;
  height: 100px;
  color: #fff;
  border-radius: 0 0 20px 20px;
}

.contact_icon {
  width: 22px;
  margin: 0 auto;
}

.header_insta {
  transform:rotate(90deg);
  position: absolute;
  right: -30px;
  top: 180px;
  z-index: 800;
}


/* 追従メニューボタン */
.fixed_header {
  width: 100%;
  margin: 0 0 0 auto;
  z-index: 1000;
  position: fixed;
  top: 0;
  right: 0;
  padding: 20px;
  opacity: 0;
  transition: .5s;
}


    .pc-menu{
      display: block;
      padding: 60px 25px;
      background-color: #FEFCF5;
      position: fixed;
      top: 0;
      left: 100%;
      width: 100%;
      height: 100vh;
      z-index: 999;
      transition: .5s;
      font-size: 1.5rem;
      overflow-x: hidden;
      line-height: 5rem;
    }

    .pc-menu.active{
      width: 100%;
      left: 0%;
      z-index: 1000;
    }

    .pc_hamburger {
      z-index: 1001;
      margin: 0 0 0 auto;
      position: relative;
      width: 60px; 
      height: 60px;
      background-color: #E98E34;
      color: #fff;
      font-size: 1rem;
      letter-spacing: 0.2rem;
      line-height: 8.5rem;
      font-weight: 600;
      text-align: center;
      border-radius: 15px;
      cursor: pointer;
    }
    
    .pc_hamburger span{
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background-color: #fff;
      height: 2px; 
      width: 60%; 
      border-radius: 2px;
      transition: all 0.4s ease-in-out;
    }
    .pc_hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
      top: 18px;
    }
    .pc_hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
      top: 25px;
    }

    /* メニュークリック時 */
    .pc_hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
      transform: translate(-50%, 3px) rotate(25deg);
    }
    .pc_hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
      transform: translate(-50%, -3px) rotate(-25deg);
    }

    .pc_menu_logo img {
      width: 80px;
    }
  
    .pc_menu_logo {
      position: absolute;
      top: 20px;
      left:20px;
    }

  .sp_menu_contact_btn {
    width: 100%;
    height: 70px;
    line-height: 2rem;
    padding: 1.6em 1em 1em 1em;
    display: block;
    color: #fff;
    background: #E98E34;
    font-weight: 500;
    border-radius: 100vh;
    text-align: center;
    transition: 0.3s ease-in-out;
    position: relative;
    margin: 0 auto;
    font-size: 1.6rem;
  }
  
  .sp_menu_contact_btn span {
    margin-left: 1rem;
  }

  .sp_menu_tel_gr {
    margin-top: 30px;
    color: #E98E34;
    text-align: center;
  }

  .sp_menu_tel_gr_tx {
    font-size: 1.7rem;
  }

  .sp_menu_tel {
    font-weight: 600;
    font-size: 4rem;
    line-height: 4rem;
    letter-spacing: 0.1rem;
  }

  .sp_menu_tel_gr_tx2 {
    letter-spacing: 0.1rem;
    line-height: 2rem;
  }

  .pc-menu .header_menu {
    width: 100%;
    max-width: 500px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px 20px;
    text-align: center;
    line-height: 2rem;
    margin: 40px auto 60px auto;
  }


/* ===============================================
TOPページ
=============================================== */

/* ~~~~~~~~~~~~~~ ファーストビュー ~~~~~~~~~~~~~~ */

.fv {
  width: 100%;
  position: relative;
  padding: 0 40px;
}

.fv_gr {
  padding: 0 70px;
  background-image: url(../images/main.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  border-radius: 0 80px 0 0;
  min-height: 600px;
  height: 90dvh;
  display: flex;
  justify-content: start;
  align-items: center;
}

.separator1 {
 width: 100%;
 position: absolute;
 bottom: -5px;
 left: 0; 
}

.fv_h1 {
  margin-top: -20vh;
  font-size: 2.2rem;
}

.fv_h1 span {
  background-color: #fff;
  border-radius: 10px;
  padding: 0px 8px;
  height: 3.8rem;
  margin-bottom: 1rem;
  display: inline-block;
}

.fv_h1_1, .fv_h1_2 {
  opacity: 0;
  background-color: transparent !important;
  animation: fadeIn-bottom 1s ease-out forwards;
}

.fv_h1_1 {
  animation-delay: 1s;
}

.fv_h1_2 {
  animation-delay: 2s;
}

/* ~~~~~~~~~~~~~~ 私たちの想い ~~~~~~~~~~~~~~ */

#message {
  background-color: #CBE3C1;
  padding: 100px 0;
  position: relative;
  z-index: 10;
  margin-top: -5px;
}

.h2_gr {
  text-align: center;
}

.h2 {
  font-size: 3.6rem;
  font-weight: 600;
  margin-bottom: 80px;
  letter-spacing: 0.5rem;
}

.h2_sub {
  font-family: "Chewy", system-ui;
  font-weight: 400;
  letter-spacing: 0.3rem;
  margin-bottom: 10px;
}

.message_tx_container {
  display: flex;
  justify-content: center;
  padding-bottom: 150px;
}

.message_tx_gr {
  position: relative;
  display: inline-block;
}

.message_tx {
  line-height: 5rem;
  text-align: center;
}

/* メッセージイラスト */
.message_img1 {
  position: absolute;
  width: 156px;
  left: -200px;
  top: -220px;
}

.message_img2 {
  position: absolute;
  width: 387px;
  right: -270px;
  top: -300px;
}

.message_img3 {
  position: absolute;
  width: 241px;
  left: -230px;
  top: 90px;
}

.message_img4 {
  position: absolute;
  width: 251px;
  left: -180px;
  bottom: -50px;
}

.message_img5 {
  position: absolute;
  width: 309px;
  right: -180px;
  bottom: -96px;
}

/* 療育への想い（６） */

.message_point_wrap {
  background-color: #E3D1B5;
  background-image: url(../images/separator2.svg),
  url(../images/separator3.svg),
  url(../images/kusa_bk.svg);
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 100%, 100%, 200px;
  background-position: left 50% top -10px, left 50% bottom -10px, top;
  padding: 200px 0 100px 0;
  position: relative;
  z-index: 40;
}

.message_point_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-top: -200px;
  position: relative;
}

.message_point {
  background-color: #fff;
  border-radius: 20px;
  padding: 30px;
  position: relative;
  text-align: center;
  box-shadow: 0 0px 20px rgba(61, 61, 61, 0.05);
}

.message_point_num {
  position: absolute;
  top: -20px;
  left: -20px;
  background-color: #EAE55B;
  border-radius: 100vh;
  width: 76px;
  height: 76px;
  font-size: 4rem;
  display: flex;
  justify-content: center;
  font-weight: 600;
  letter-spacing: 0.2rem;
  line-height: 7rem;
}

.point_img {
  width: 180px;
}

.message_point_h3 {
  font-weight: 600;
  font-size: 2.2rem;
  margin-bottom: 2rem;
  margin-top: 2rem;
}

.message_point_ul {
  text-align: justify;
  padding-left: 2rem;
}

.message_point_li::before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: #E98E34;
  border-radius: 50%;
  margin-right: 5px;
  margin-left: -2rem;
}

.message_point_top {
  margin-bottom: -80px;
  margin-top: 80px;
}

.message_flower_bk1 {
  position: absolute;
  width: 87px;
  left: -100px;
  top: 450px;
  z-index: -1;
}

.message_flower_bk2 {
  position: absolute;
  width: 151px;
  right: -80px;
  bottom: 400px;
  z-index: -1;
}

/* メッセージ２ */
.message2_gr {
  padding: 100px 0;
  position: relative;
  display: flex;
  gap: 40px;
  align-items: center;
  margin-top: -10px;
  z-index: 50;
}

.message2_img {
  margin-left: -80px;
}

/* メッセージ２イラスト */
.message2_leaf1 {
  position: absolute;
  width: 60px;
  left: -80px;
  top: -60px;
}

.message2_leaf2 {
  position: absolute;
  width: 60px;
  right: -20px;
  top: 80px;
}

.message2_leaf3 {
  position: absolute;
  width: 70px;
  left: 0px;
  bottom: -170px;
}

.message2_4 {
  position: absolute;
  width: 630px;
  right: -80px;
  bottom: -120px;
}

/* ~~~~~~~~~~~~~~ ブログボタン ~~~~~~~~~~~~~~ */

#blog {
  background-image: url(../images/separator2.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top -10px;
  padding: 200px 0 80px 0;
  margin-top: -50px;
}

.blog_btn {
  border-radius: 20px;
  background-color: #D7EFF3;
  display: flex;
  justify-content: end;
  padding: 50px;
  background-image: url(../images/blog_btn.webp);
  background-repeat: no-repeat;
  background-position: left;
  background-size: cover;
  box-shadow: 0 0px 20px rgba(61, 61, 61, 0.05);
}

.blog_btn_gr {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
}

.blog_inner_btn {
  margin: 0 auto;
  width: 100%;
  max-width: 320px;
  height: 80px;
  line-height: 4rem;
  padding: 1em;
  display: block;
  color: #725244;
  background: #fff;
  font-weight: 600;
  font-size: 2rem;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s ease-in-out;
  position: relative;
}

.blog_inner_btn:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/arrow.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}

.blog_btn:hover {
  .blog_inner_btn {
    background-color: #fdffd8;
    opacity: 1;
  }
}

.blog_btn:hover {
  .blog_inner_btn:after {
    right: 2rem;
    opacity: 1;
  }
}

.blog_subtx {
  position: relative;
  text-align: center;
  line-height: 4rem;
  margin-bottom: 20px;
}

.blog_subtx:before,
.blog_subtx:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #725244;
  width: 2px;
  height: 2em;
  margin: 0 2em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.blog_subtx:before {
  transform: rotate(-35deg);
}
 
.blog_subtx:after {
  transform: rotate(35deg);
}

/* ~~~~~~~~~~~~~~ 事業所案内 ~~~~~~~~~~~~~~ */

#facility {
  padding: 50px 0 200px 0;
  position: relative;
  z-index: 0;
}

.facility_contents {
  display: flex;
  align-items: center;
  gap: 50px;
}

.facility_list_container {
  width: 55%;
}

.facility_list {
  display: flex;
  padding: 1rem 0;
  border-bottom: 1px solid #725244;
}

.facility_list_title {
  width: 30%;
}

.facility_list_description {
  width: 70%;
  line-height: 3rem;
}

.schedule {
  display: inline-block;
  background-color: #F2E7DD;
  margin-top: 10px;
  padding: 10px 20px;
  border-radius: 10px;
}

.facility_img {
  width: 100%;
  margin-top: 100px;
  border-radius: 20px;
  object-fit: cover;
  height: 500px;
}

.map_gr {
  position: relative;
  width: 45%;
}

.map {
  width: 100%;
  margin-bottom: 40px;
}

.map_leaf {
  position: absolute;
  width: 60px;
  right: 0px;
  top: -130px;
}

.map_btn {
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
  height: 45px;
  line-height: 1rem;
  padding: 1em;
  display: block;
  color: #725244;
  background: #D7EFF3;
  font-weight: 500;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s ease-in-out;
  position: relative;
}

.map_btn:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/link.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}

.map_btn:hover {
  background-color: #e6f6f8;
} 

/* pdf */
.pdf_gr {
  margin-top: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.pdf_btn {
  width: 100%;
  max-width: 300px;
  height: 70px;
  line-height: 2.5rem;
  padding: 1em;
  display: block;
  color: #fff;
  background: #E98E34;
  border: 3px solid #E98E34;
  font-weight: 500;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s ease-in-out;
  position: relative;
}

.pdf_btn:after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/link_wh.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}

.pdf_btn:hover {
  background-color: #e79f56;
  border: 3px solid #e79f56;
} 

.pdf_btn span {
  font-size: 1.4rem;
  line-height: 3rem;
}

.pdf_btn_left {
  margin: 0 0 0 auto;
}

.pdf_btn_top {
  line-height: 1rem;
}

/* ~~~~~~~~~~~~~~ フッター ~~~~~~~~~~~~~~ */
#footer {
  position: relative;
}

.footer_separator {
  width: 100%;
  margin-bottom: -5px;
}

.footer_wrap {
  background-color: #CBE3C1;
  padding: 40px 0;
}

.footer_container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}

.footer_adress {
  font-size: 1.4rem;
  line-height: 2rem;
  margin-top: 20px;
}

.footer_right_gr {
  display: flex;
  gap: 40px;
}

.footer_menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
}

.footer_link {
  margin-left: 2rem;
}

.footer_insta {
  display: block;
  width: 100%;
}

.footer_insta_img {
  display: block;
  margin: 30px auto 0 auto;
}

.footer_contact_btn {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  height: 70px;
  line-height: 2rem;
  padding: 1.2em 1em 1em 1em;
  display: block;
  color: #725244;
  background: #FEFCF5;
  border: 3px solid #FEFCF5;
  font-weight: 500;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s ease-in-out;
  position: relative;
}

.footer_contact_btn span {
  margin-left: 1rem;
}

.footer_contact_btn:hover {
  background: #fdffd8;
  border: 3px solid #fdffd8;
}

.footer_tel_gr {
  margin-top: 35px;
}

.footer_tel {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
}

.footer_tel_gr_tx2 {
  font-size: 1.6rem;
}

.copy_right {
  text-align: center;
  font-size: 1.2rem;
  line-height: 2rem;
  margin-bottom: 5px;
}

.recaptcha {
  text-align: center;
  font-size: 1rem;
}

.page_top {
  position: absolute;
  top: -145px;
  right: 26px;
  transition: .5s;
  z-index: 100;
}

.page_top:hover {
 transform: translateY(-5px);
}

.page_top_img {
  width: 130px;
}

.recaptcha {
  line-height: 1rem;
}


/* ===============================================
下層：療育内容
=============================================== */

/* ~~~~~~~~~~~~~~ 下層ヘッダー ~~~~~~~~~~~~~~ */

.child_head {
  width: 100%;
  position: relative;
  padding: 0 40px;
}

.child_head_gr {
  padding: 0 70px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  border-radius: 0 80px 0 0;
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.treatment_child_head_gr {
  background-image: url(../images/treatment_head.webp);
}

.guide_child_head_gr {
  background-image: url(../images/guide_head.webp);
}

.recruit_child_head_gr {
  background-image: url(../images/recruit_head.webp);
}

.child_head_gr .h2_gr {
  color: #fff;
}

/* パンくずリスト */
.breadcrumb {
  background-color: #CBE3C1;
  font-size: 1.3rem;
  width: 100%;
  padding: 0 50px;
  margin-bottom: 100px;
  display: flex;
  letter-spacing: 0.08rem;
  flex-wrap: wrap;
}

 .breadcrumb.thanks_breadcrumb {
  background-color: #FEFCF5;
  margin-top: 80px;
 }

.breadcrumb_list + .breadcrumb_list::before {
  margin: 0 10px;
  content: ">";
}

.mark {
  font-weight: 600;
}

/* ~~~~~~~~~~~~~~ 下層メニュー ~~~~~~~~~~~~~~ */

.child_menu {
  padding-top: 10px;
  padding-bottom: 50px;
  background-color: #CBE3C1;
  margin-top: -5px;
}

.menu_btn_gr {
  display: flex;
  text-align: center;
  justify-content: center;
  gap: 20px;
}

.menu_btn {
  max-width: 250px;
  width: 100%;
  height: 70px;
  line-height: 2rem;
  padding: 1em 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  font-weight: 600;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s 
ease-in-out;
  position: relative;
}

.menu_btn:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url(../images/menu_arrow.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s 
ease-in-out;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}

.menu_btn_size {
  font-size: 1.5rem;
}

.menu_btn:hover {
  background-color: #fdffd8;
}

/* ~~~~~~~~~~~~~~ 児童発達支援とは ~~~~~~~~~~~~~~ */

#about1 {
  padding: 100px 0;
  background-color: #CBE3C1;
}

.wh_container {
  background-color: #fff;
  border-radius: 40px;
  padding: 40px;
  position: relative;
  box-shadow: 0 0px 20px rgba(61, 61, 61, 0.05);
}

.child_h2 {
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 60px;
  margin-top: 20px;
  line-height: 3rem;
}

.about_container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 40px;
}

.about_img {
  border-radius: 20px;
  width: 50%;
}

.about_tx {
  width: 50%;
  text-align: justify;
}

.about1_img1 {
  position: absolute;
  width: 108px;
  top: -100px;
  left: -80px;
}

.about1_img2 {
  position: absolute;
  width: 112px;
  top: 10px;
  right: -40px;
}

/* ~~~~~~~~~~~~~~ 児童発達支援とは ~~~~~~~~~~~~~~ */

#about2 {
  background-color: #FEFCF5;
  background-image: url(../images/separator2.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top -10px;
  padding: 100px 0 80px 0;
  margin-top: -50px;
}

.about_container2 {
  display: flex;
  align-items: center;
  gap: 40px;
}

.about2_img1 {
  position: absolute;
  width: 112px;
  top: 30px;
  left: -30px;
}

.about2_img2 {
  position: absolute;
  width: 71px;
  bottom: -30px;
  right: -30px;
}

/* ~~~~~~~~~~~~~~ 支援内容 ~~~~~~~~~~~~~~ */
#support {
  background-color: #E3D1B5;
  background-image: url(../images/separator5.svg), url(../images/kusa_bk.svg);
  background-repeat: no-repeat, repeat;
  background-size: 100%, 100px;
  background-position: left 50% top -10px, top;
  padding: 50px 0 80px 0;
  position: relative;
  z-index: 0;
}

.support_img1 {
  position: absolute;
  width: 71px;
  top: 30px;
  left: -40px;
}

.support_img2 {
  position: absolute;
  width: 598px;
  bottom: -38px;
  right: -85px;
}

.support_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.support_h3 {
  font-size: 2rem;
  font-weight: 600;
  padding-left: 2rem;
  margin-bottom: 10px;
}

.support_h3:before {
  content: "";
  width: 15px;
  height: 15px;
  display: inline-block;
  background-color: #EAE55B;
  border-radius: 50%;
  margin-right: 5px;
  margin-left: -2rem;
}

.support_gr {
  background-color: #FEF4F4;
  padding: 30px;
  border-radius: 20px;
}

.support_gr p {
  text-align: justify;
}

/* 施設写真 */
.facility_img_gr {
  display: flex;
  align-items: flex-start;
  margin: 150px 0 0px 0;
  position: relative;
}

.facility_img1 {
  border-radius: 20px;
  object-fit: cover;
  margin-left: -40px;
  width: 40%;
  aspect-ratio: 350 / 250;
}

.facility_img2 {
  border-radius: 20px;
  object-fit: cover;
  margin-top: 150px;
  margin-left: -50px;
  width: 40%;
  aspect-ratio: 350 / 250;
}

.facility_img3 {
  border-radius: 20px;
  object-fit: cover;
  margin-top: 40px;
  margin-right: -40px;
  margin-left: 40px;
  width: 40%;
  aspect-ratio: 350 / 250;
}

.facility_img4 {
  position: absolute;
  width: 71px;
  top: -40px;
  left: 310px;
  z-index: 50;
}

.facility_img5 {
  position: absolute;
  width: 71px;
  bottom: -34px;
  left: -19px;
}

.facility_img6 {
  position: absolute;
  width: 167px;
  bottom: 30px;
  right: -73px;
  z-index: 50;
}

.support_flower_bk1 {
  position: absolute;
  width: 87px;
  left: -100px;
  top: 450px;
  z-index: 1;
}

.support_flower_bk2 {
  position: absolute;
  width: 87px;
  right: -100px;
  bottom: 400px;
  z-index: 0;
}

.support_flower_bk3 {
  position: absolute;
  width: 87px;
  left: -100px;
  bottom: 450px;
  z-index: 0;
}

.support_flower_bk4 {
  position: absolute;
  width: 151px;
  right: -80px;
  bottom: -128px;
  z-index: 1;
}

.support_flower_bk5 {
  position: absolute;
  width: 87px;
  left: 100px;
  top: 450px;
  z-index: 1;
}



/* ~~~~~~~~~~~~~~ １日の流れ ~~~~~~~~~~~~~~ */
#schedule {
  background-image: url(../images/separator6.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top -10px;
  padding: 100px 0 80px 0;
}

.balloon1 {
  position: relative;
  display: block;
  margin: 1.5em auto;
  padding: 10px 20px;
  max-width: 190px;
  font-size: 2rem;
  font-weight: 600;
  background: #EAE55B;
  border-radius: 100vh;
  text-align: center;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #EAE55B;
}

.balloon2 {
  max-width: 260px;
  background: #C8E8EE;
}

.balloon2:before {
  border-top: 10px solid #C8E8EE;
}

.sch_h3 {
  display: inline-block;
}

.sch_tx {
  padding: 0 30px;
}

.time-schedule {
  background-color: #F7F0F0;
  border-radius: 20px;
  padding: 70px 50px 40px 50px;
  margin-top: -50px;
  display: flex;
  gap: 20px;
  flex-direction: column;
}

.sch_title {
  background-color: #fff;
  border-radius: 100vh;
  text-align: center;
  display: inline-block;
  padding: 10px 20px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 2rem;
}

.sch_title span {
  font-size: 1.4rem;
}

.time-schedule li {
  display: grid;
  grid-template-columns: 45fr 10fr 45fr;
  gap: 30px;
}

.time_gr {
  text-align: center;
  position: relative;
  font-size: 2.4rem;
  font-weight: 600;
}

.time_gr::after {
	position: absolute; /*--positionを追加--*/
	top: 3.5rem;
  left: 50%;
  transform: translateX(-50%);
	content: "";
	width: 8px; /*--縦線の太さ(幅)--*/
	height: 100%;
	background-color: #C8E9BA; /*--縦線の色--*/
  z-index: 2;
}

.time_last::after {
  content: none;
}

.time {
  position: relative;
  z-index: 10;
  background-color: #F7F0F0;
  display: inline-block;
  height: 3rem;
}

.time_img {
  width: 80%;
  position: relative;
  z-index: 3;
}

.sch_li_border {
  display: block;
  border-bottom: #E9D6D6 3px dotted;
  padding-bottom: 20px;
}

.sch_li_border_top {
  display: block;
  border-top: #E9D6D6 3px dotted;
  padding-top: 20px;
}

.sch_box_left, .sch_box_right {
  position: relative;
}

.sch_img1 {
  position: absolute;
  width: 93px;
  top: -118px;
  right: 63px;
  z-index: 10;
}

.sch_img2 {
  position: absolute;
  width: 240px;
  top: -40px;
  right: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img3 {
  position: absolute;
  width: 240px;
  top: 0px;
  left: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img4 {
  position: absolute;
  width: 144px;
  top: 25px;
  right: 10px;
  z-index: 10;
}

.sch_img5 {
  position: absolute;
  width: 240px;
  top: -40px;
  left: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img6 {
  position: absolute;
  width: 142px;
  bottom: -31px;
  left: 221px;
  z-index: 10;
}

.sch_img7 {
  position: absolute;
  width: 240px;
  top: -72px;
  right: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img8 {
  position: absolute;
  width: 60px;
  bottom: -59px;
  left: 63px;
  z-index: 10;
}

/* 放課後等デイサービス */
.sch_container2 {
  margin-top: 80px;
}

.sch_img9 {
  position: absolute;
  width: 80px;
  bottom: -136px;
  left: 233px;
  z-index: 10;
}

.sch_img10 {
  position: absolute;
  width: 240px;
  top: 76px;
  left: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img11 {
  position: absolute;
  width: 130px;
  top: 53px;
  left: 30px;
  z-index: 10;
}

.sch_img12 {
  position: absolute;
  width: 240px;
  top: 40px;
  right: 10px;
  z-index: 9;
  border-radius: 20px;
}

.sch_img13 {
  position: absolute;
  width: 170px;
  top: 0px;
  right: 30px;
}

/* 内部リンクボタン */
.internal_link_btn {
  width: 100%;
  max-width: 320px;
  height: 70px;
  line-height: 2.8rem;
  padding: 1em;
  display: block;
  margin: 0 auto 180px auto;
  color: #fff;
  background: #E98E34;
  border: 3px solid #E98E34;
  font-weight: 500;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s ease-in-out;
  position: relative;
}

.internal_link_btn:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../images/arrow_wh.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
}

.internal_link_btn:hover {
  background-color: #e79f56;
  border: 3px solid #e79f56;
}


/* ===============================================
下層：利用案内
=============================================== */

/* ~~~~~~~~~~~~~~ ご利用の流れ ~~~~~~~~~~~~~~ */
#flow {
  background-color: #E3D1B5;
  background-image: url(../images/separator7.svg), url(../images/kusa_bk.svg);
  background-repeat: no-repeat, repeat;
  background-size: 100%, 100px;
  background-position: left 50% top -10px, top;
  padding: 60px 0;
}

.flow li {
  display: grid;
  grid-template-columns: 1fr 5fr;
  gap: 20px;
}

.flow_container {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 40px 0;
  border-bottom: #E3D1B5 1px solid;
}

.flow_container .footer_contact_btn {
  margin: 30px auto 0 0;
  border: 1px solid #e79f56;
}

.flow_container .footer_contact_btn:hover {
  background-color: #e79f56;
  border: 1px solid #e79f56;
}

.flow_container_last {
  border-bottom: none;
}

.flow_num_gr {
  background-color: #EAE55B;
  border-radius: 100vh;
  width: 100px;
  height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 10;
}

.flow_num_gr_container {
  position: relative;
  z-index: 10;
  width: 100px;
}

.flow_num_gr_container::after {
	position: absolute;
	top: 0px;
  left: 50%;
  transform: translateX(-50%);
	content: "";
	width: 8px; /*--縦線の太さ(幅)--*/
	height: 100%;
	background-color: #EAE55B; /*--縦線の色--*/
  z-index: 0;
}

.flow_num_gr_container_last::after {
  content: none;
}

.flow_step {
  display: block;
  font-size: 1.3rem;
  line-height: 1.5rem;
  position: relative;
  z-index: 10;
}

.flow_num {
  display: block;
  font-size: 4.8rem;
  line-height: 5rem;
  font-weight: 700;
  position: relative;
  z-index: 10;
}

.flow_icon_gr {
  width: 20%;
  display: flex;
  justify-content: center;
}

.flow_container_right {
  width: 80%;
}

.flow_title {
  font-weight: 600;
  font-size: 2rem;
  margin-bottom: 10px;
}

.flow_tx {
  text-align: justify;
}

.contact_btn_or {
  max-width: 300px;
  background-color: #E98E34;
  color: #fff;
  margin-top: 20px;
}

.contact_btn_or:hover {
  background-color: #e79f56;
}

.flow_img1 {
  position: absolute;
  width: 204px;
  left: -50px;
  top: -20px;
  z-index: 20;
}

.flow_img2 {
  position: absolute;
  width: 70px;
  right: -28px;
  top: 85px;
  z-index: 20;
}

.flow_flower_bk1 {
  position: absolute;
  width: 87px;
  left: -100px;
  top: 450px;
  z-index: 1;
}

.flow_flower_bk2 {
  position: absolute;
  width: 151px;
  right: -170px;
  bottom: 400px;
  z-index: 0;
}

.flow_flower_bk3 {
  position: absolute;
  width: 87px;
  left: -100px;
  bottom: 100px;
  z-index: 0;
}

/* ~~~~~~~~~~~~~~ ご利用料金 ~~~~~~~~~~~~~~ */
#price {
  background-color: #FEFCF5;
  background-image: url(../images/separator8.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top -10px;
  padding: 60px 0;
}

/* 料金表 */
.price_table {
  border: #ECE0D8 2px solid;
  width: 100%;
  text-align: center;
  border-collapse: separate;/*collapseから変更*/
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 40px;
}

.price_th {
  background-color: #F3ECEC;
  text-align: center;
}

.price_table td, .price_th {
  padding: 10px;
  border-bottom: #ECE0D8 1px solid;
}

.border_bottom {
  border-bottom: #ECE0D8 1px solid;
}

.price_table td, 
.price_th {
  border-right: #ECE0D8 1px solid;
}

.price_table td:last-child, 
.price_th:last-child {
  border-right: none !important;
}

.border_bottom_none {
  border-bottom: none !important;
}

.price_td_title {
  background-color: #F9F6F6;
}

.price_img1 {
  position: absolute;
  width: 112px;
  right: -50px;
  top: -20px;
  z-index: 20;
}

.price_img2 {
  position: absolute;
  width: 70px;
  left: -7px;
  top: -50px;
  z-index: 20;
}

/* ~~~~~~~~~~~~~~ ご利用についてのお問い合わせ ~~~~~~~~~~~~~~ */
#contact {
  text-align: center;
  padding: 60px 0 180px 0;
}

.contact_img {
  position: absolute;
  width: 112px;
  left: -64px;
  top: 50px;
  z-index: -1;
}

.contact_3btn_gr {
  display: flex;
  text-align: center;
  justify-content: center;
  gap: 30px;
  margin: 40px 0 80px 0;
}

.contact_3btn {
  max-width: 250px;
  width: 100%;
  height: 50px;
  padding: 2em 1em;
  display: block;
  font-weight: 600;
  border-radius: 100vh;
  text-align: center;
  transition: 0.3s 
ease-in-out;
  position: relative;
}

.contact_3btn:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../images/arrow.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s 
ease-in-out;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}

.contact_tel {
  background-color: #D7EFF3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 2.3rem;
}

.contact_form {
  background-color: #F9EEE2;
  line-height: 0rem;
}

.contact_line {
  background-color: #E2F1DD;
  line-height: 0rem;
}

.contact_3btn:hover:after {
  right: 1.5rem;
}

.contact_tel_tx {
  font-size: 2.4rem;
  letter-spacing: 0.1rem;
  display: block;
}

.contact_tel_subtx {
  font-size: 1.2rem;
  font-weight: 400;
  display: block;
  margin-bottom: -10px;
}

.form_h3 {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 2.4rem;
}

.form_h3:before,
.form_h3:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #E3D1B5;
}

.form_h3:before {
  margin-right: 2rem;
}

.form_h3:after {
  margin-left: 2rem;
}

.form_tx {
  font-size: 1.4rem;
  margin-top: 40px;
  margin-bottom: 60px;
}

/*ContactForm7カスタマイズ*/
.wp-block-contact-form-7-contact-form-selector {
  padding-bottom: 120px;
}

table.CF7_table{
  text-align: left;
	width:100%;
  max-width: 800px;
	margin: 60px auto 0px auto;
	border: none;
}

.CF7_table th{
	width:30%;/*横幅*/
	background-color: transparent;
  padding-right: 30px;
}

.CF7_table p {
  margin-bottom: 30px;
  text-align: left;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: none;
  background: #F9F6F6;
  border: 1px solid #E6E6E6;
  border-radius: 10px;
  padding: 5px 10px;
  width: 100%;
}

.CF7_table input[type="radio"], .CF7_table input[type="checkbox"] {
  background: transparent !important;
  appearance: auto;
  width: 15px;
  margin-right: 5px;
}

.CF7_table ::placeholder {
	color:#797979;
}

.wpcf7-radio {
  display: flex;
}

.wpcf7-acceptance label {
  display: flex;
}

.radio .wpcf7-list-item {
  display: grid;
  grid-template-columns: 1fr 2fr;
}

.check_contents p {
  display: flex !important;
  justify-content: center !important;
}

/*「必須」文字*/
.CF7_req{
	font-size: 1.5rem;
	color: #e25333;
	margin-left:2px;
}

/* 「送信する」ボタン */
.submit_btn {
  margin: 0 auto !important;
  max-width: 300px !important;
  min-width: 240px !important;
  height: 50px !important;
  line-height: 1.5rem !important;
  padding: 1em !important;
  display: block !important;
  color: #fff !important;
  background: #E98E34 !important;
  font-weight: 500 !important;
  border-radius: 100vh !important;
  text-align:center !important;
  transition: 0.3s ease-in-out !important;
  position: relative !important;
}

.submit_btn:hover {
  background: #e79f56 !important;
}

.wpcf7-spinner {
  display: block !important;
  margin: 0 auto !important;
  background-color: #E98E34 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #E98E34 !important;
}

/* ===============================================
下層：採用情報
=============================================== */

/* ~~~~~~~~~~~~~~ 採用見出し ~~~~~~~~~~~~~~ */
#recruit_head {
  padding: 60px 0;
  background-color: #CBE3C1;
}

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

.recruit_img1 {
  position: absolute;
  width: 235px;
  left: -70px;
  top: 50%;
  transform: translateY(-50%);
}

.recruit_img2 {
  position: absolute;
  width: 217px;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
}

.recruit_head_h2 {
  font-weight: 600;
  font-size: 2.8rem;
  margin-bottom: 50px;
}

.recruit_head_tx {
  line-height: 4rem;
}

/* ~~~~~~~~~~~~~~ 募集要項 ~~~~~~~~~~~~~~ */
#job_description {
  padding: 60px 0;
  background-color: #E3D1B5;
  background-image: url(../images/separator7.svg),
  url(../images/separator9.svg),
  url(../images/kusa_bk.svg), 
  url(../images/flower_bk.webp);
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-size: 100%, 100%, 100px, 1857px;
  background-position: left 50% top -10px, left 50% bottom -10px, 50%, 50%;
}

.job_description_tx {
  text-align: center;
}

/* 募集要項テーブル */
.job_table {
  margin-top: 60px;
}

body .is-layout-flex {
  display: grid !important;
  grid-template-columns: 1fr 4fr;
  gap: 0 !important;
  line-height: 3.5rem !important;
}

.job_title {
  border-radius: 100vh;
  padding: 5px 20px !important;
  display: inline-block !important;
  font-size: 1.8rem;
  font-weight: 600;
}

.job_table_text {
  margin-top: 20px;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 20px;
  overflow: hidden;
  border: solid 1px #ECE0D8;
}

.job_table_right {
  font-weight: 500;
  border-left: solid 1px #ECE0D8;
  padding: 20px 20px;
}

.job_table_left {
  font-weight: 500;
  padding: 20px 20px;
  background-color: #F9F6F6;
}

.job_table_tr {
  line-height: 8rem;
  border-bottom: solid 1px #ECE0D8;
  margin-bottom: 0 !important;
  font-weight: 600;
}

.job_table_tr:last-child {
  border-bottom: none;
}



/* ~~~~~~~~~~~~~~ 応募のお問合せ ~~~~~~~~~~~~~~ */
#recruit_contact {
  padding: 60px 0 180px 0;
  background-color: #FEFCF5;
  text-align: center;
  margin-top: -10px;
}

#recruit_contact .contact_3btn_gr {
  margin: 40px 0;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お問い合わせ完了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.thanks_img {
  display: block;
  width: 150px;
  margin: 100px auto 60px auto;
}

.thanks-title {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
}

.thanks_container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;

}

.tanks_wrap {
  margin: 0 auto;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：404
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.wrap_404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
 margin: 0px auto 0vh auto;
 height: 100vh;
 position: relative;
}

.wrap_404 .button_bk {
  width: 100%;
}

.title404 {
  font-size: 3.6rem;
  font-weight: 500;
}

.wrap_404 p {
  margin: 50px 0;
  text-align: center;
}

.grecaptcha-badge {
  visibility: hidden;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SP版
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
    line-height: 3.5rem;
    letter-spacing: 0rem;
    min-width: auto;
  }

  .inner {
    padding: 0 24px;
  }

  .header {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    height: 70px;
  }

  .header_logo {
    display: none;
  }
  .sp_header_logo {
    display: block;
    z-index: 999;
    margin: -10px 0 0 -10px;
  }

  .sp_header_logo img {
    width: 130px;
  }

  .sp_menu_logo {
    position: absolute;
    top: 15px;
    left: 15px;
  }

  .sp_menu_logo img {
    width: 60px;
  }

  .header_insta {
    display: none;
  }

  .sp_header_right_gr {
    display: flex;
    gap: 30px;
    z-index: 1000;
    position: fixed;
    top: 10px;
    right: 10px;
  }

  .sp_header_insta {
    display: block;
    position: static;
    margin-top: 5px;
  }

  .sp_header_insta img {
    width: 90px;
  }

  .header_menu {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px 20px;
    text-align: center;
    line-height: 2rem;
    margin: 40px 0 60px 0;
  }
  .menu_img {
    margin-bottom: 5px;
  }

  .header_nav, .fixed_header {
    display: none;
  }


    /* スマホ用メニューボタン */  
    .sp-menu{
      display: block;
      padding: 60px 25px;
      background-color: #FEFCF5;
      position: fixed;
      top: 0;
      left: 100%;
      width: 100%;
      height: 100vh;
      z-index: 999;
      transition: .5s;
      font-size: 1.5rem;
      overflow-x: hidden;
      line-height: 5rem;
    }

    .sp-menu.active{
      width: 100%;
      left: 0%;
    }

    .hamburger {
      display: block; 
      position: relative;
      width: 45px; 
      height: 45px;
      background-color: #E98E34;
      color: #fff;
      font-size: 0.8rem;
      letter-spacing: 0.2rem;
      line-height: 6.5rem;
      font-weight: 600;
      text-align: center;
      border-radius: 10px;
      cursor: pointer;
      z-index: 1000;
    }
    
    .hamburger span{
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background-color: #fff;
      height: 2px; 
      width: 60%; 
      border-radius: 2px;
      transition: all 0.4s ease-in-out;
    }
    .hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
      top: 13px;
    }
    .hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
      top: 19px;
    }

    /* メニュークリック時 */
    .hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
      transform: translate(-50%, 3px) rotate(30deg);
    }
    .hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
      transform: translate(-50%, -3px) rotate(-30deg);
    }


/* ===============================================
TOPページ
=============================================== */

/* ~~~~~~~~~~~~~~ ファーストビュー ~~~~~~~~~~~~~~ */
.fv {
  padding: 0;
  height: 420px;
}

.fv_gr {
  height: 100%;
  border-radius: 0px;
  padding: 0 2vw;
  min-height: auto;
}

.fv_h1 {
  display: none;
}

.sp_fv_h1 {
  display: block;
  margin-top: -70px;
  font-size: 1.45rem;
  line-height: 2.5rem;
  white-space: nowrap;
}

.sp_fv_h1 span {
  background-color: #fff;
  padding: 0px 8px;
  border-radius: 8px;
  height: 2.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

/* ~~~~~~~~~~~~~~ 私たちの想い ~~~~~~~~~~~~~~ */
#message {
  padding: 230px 0 180px 0;
}

.head_icon {
  width: 25px;
}

.h2_sub {
  font-size: 1rem;
  line-height: 3rem;
  letter-spacing: 0.2rem;
}

.h2 {
  font-size: 2.4rem;
  margin-bottom: 40px;
  letter-spacing: 0.2rem;
}

.message_tx {
  text-align: justify;
  line-height: 3.5rem;
}

.sp_none {
  display: none;
}

.pc_none {
  display: inline-block;
}

.message_img1 {
  width: 91px;
  left: -13px;
  top: -353px;
  transform: scale(-1, 1);
}

.message_img2 {
  width: 253px;
  right: -39px;
  top: -350px;
}

.message_img3 {
  width: 183px;
  left: -6px;
  top: auto;
  bottom: -158px;
  z-index: 50;
}

.message_img4 {
  position: absolute;
  width: 158px;
  left: -63px;
  bottom: -259px;
  transform: scale(-1, 1);
  z-index: 50;
}

.message_img5 {
  position: absolute;
  width: 161px;
  right: -30px;
  bottom: -263px;
  z-index: 50;
}

.message_tx_container {
  padding-bottom: 280px;
}

/* 療育への想い */
.message_point_container {
  grid-template-columns: 1fr;
  margin-top: -150px;
}

.message_point_num {
  width: 60px;
  height: 60px;
  font-size: 2.8rem;
  line-height: 5.5rem;
}

.message_point_top {
  margin-bottom: 0px;
  margin-top: 0px;
}

.message_point_h3 {
  font-size: 2rem;
}

.point_img {
  width: 150px;
}

.message_flower_bk1 {
  width: 56px;
  left: 0px;
  top: auto;
  bottom: -49px;
}

.message_flower_bk2 {
  width: 96px;
  right: -6px;
  top: auto;
  bottom: -106px;
}

.message_point_wrap {
  padding: 200px 0 150px 0;
  background-size: 100%, 100%, 150px;
}

/* メッセージ２ */
.message2_gr {
  padding: 50px 0;
  flex-direction: column;
  margin-top: -10px;
}

.message2_img {
  margin-left: 0px;
  width: 140%;
}

.message2_4 {
  width: 386px;
  right: -29px;
  bottom: -141px;
}

.message2_leaf1 {
  position: absolute;
  width: 45px;
  left: 0px;
  top: -60px;
}

.message2_leaf2 {
  position: absolute;
  width: 53px;
  right: -14px;
  top: 60px;
}

.message2_leaf3 {
display: none;
}

/* ~~~~~~~~~~~~~~ ブログボタン ~~~~~~~~~~~~~~ */

#blog {
  padding: 60px 0 40px 0;
  margin-top: 0px;
}

.blog_btn {
  justify-content: center;
  background-image: url(../images/sp_blog_btn.webp);
  background-position: center;
  background-size: 60%;
  padding: 30px 20px;
}

.blog_btn_gr {
  width: 100%;
}

.blog_subtx {
  line-height: 1.4rem;
  margin-bottom: 20px;
  white-space: nowrap;
}

.blog_subtx:before, .blog_subtx:after {
  margin: 0 1em;
  margin-top: -.2em;
}

.blog_inner_btn {
  height: 60px;
  line-height: 2rem;
  padding: 1em;
  font-size: 2rem;
}

/* ~~~~~~~~~~~~~~ 事業所案内 ~~~~~~~~~~~~~~ */

#facility {
  padding: 50px 0 180px 0;
}

.facility_contents {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.facility_list_container {
  width: 100%;
}

.map_gr {
  width: 100%;
}

.facility_list {
  flex-direction: column;
  gap: 5px;
  padding: 2rem 0;
}

.facility_list_title,
.facility_list_description {
  width: 100%;
}

.facility_list_title {
  font-size: 1.8rem;
}

.pdf_gr {
  margin-top: 60px;
  grid-template-columns: 1fr;
  gap: 20px;
}

.pdf_btn_left,
.pdf_btn {
  margin: 0 auto;
}

.facility_img {
  height: auto;
  margin-top: 80px;
}

.map_leaf {
  position: absolute;
  width: 50px;
  right: 0px;
  top: auto;
  bottom: 46px;
}

/* ~~~~~~~~~~~~~~ フッター ~~~~~~~~~~~~~~ */
.footer_container {
  flex-direction: column;
  justify-content: center;
  gap: 40px;
  margin-bottom: 60px;
}

.footer_left_gr {
  text-align: center;
}

.footer_logo {
  width: 120px;
}

.footer_right_gr {
  flex-direction: column-reverse;
  gap: 50px;
  text-align: center;
}

.footer_menu {
  display: none;
}

.footer_tel {
  line-height: 5rem;
}

.footer_insta_img {
  width: 100px;
  margin-top: 0;
}

.page_top {
  top: -73px;
}

.page_top_img {
  width: 94px;
}

/* ===============================================
下層：療育内容
=============================================== */

/* ~~~~~~~~~~~~~~ 下層ヘッダー ~~~~~~~~~~~~~~ */
.child_head {
  padding: 0px;
}

.child_head_gr {
  padding: 0 40px;
  border-radius: 0;
  height: 300px;
}

/* パンくずリスト */
.breadcrumb {
  padding: 0 24px;
  margin-bottom: 50px;
}

.breadcrumb.thanks_breadcrumb {
  background-color: #FEFCF5;
  margin-top: 40px;
 }

/* ~~~~~~~~~~~~~~ 下層メニュー ~~~~~~~~~~~~~~ */
.menu_btn_gr {
  display: flex;
  flex-direction: column;
}

.menu_btn {
  margin: 0 auto;
  height: 60px;
}

.child_menu {
  padding: 40px 0;
}

/* ~~~~~~~~~~~~~~ 児童発達支援とは ~~~~~~~~~~~~~~ */
#about1 {
  padding: 40px 0 100px 0;
}

.wh_container {
  padding: 20px;
}

.child_h2 {
  font-size: 2.2rem;
  margin-bottom: 40px;
}

.head_icon2 {
  width: 20px;
  margin-bottom: 0.5rem;
}

.about_container,
.about_container2 {
  flex-direction: column;
  gap: 30px;
}

.about_img, .about_tx {
  width: 100%;
}

.about_img {
  border-radius: 10px;
}

.about1_img1 {
  width: 80px;
  top: -66px;
  left: -21px;
}

.about1_img2 {
  width: 73px;
  top: -25px;
  right: -34px;
}

.about2_img1 {
  width: 75px;
  top: -57px;
  left: -24px;
}

.about2_img2 {
  width: 42px;
  right: 0;
}

#about2 {
  padding: 100px 0 40px 0;
}

#about2 .wh_container {
  margin-top: -70px;
}

/* ~~~~~~~~~~~~~~ 支援内容 ~~~~~~~~~~~~~~ */
#support {
  padding: 40px 0 80px 0;
  background-size: 100%, 100px;
}

.support_container {
  grid-template-columns: 1fr;
  gap: 30px;
}

.support_gr {
  padding: 20px;
  border-radius: 10px;
}

.support_h3 {
  font-size: 1.9rem;
}

.support_img1 {
  position: absolute;
  width: 47px;
  top: -14px;
  left: -7px;
}

.support_img2 {
  width: 314px;
  bottom: -155px;
  right: -20px;
}

.facility_img_gr {
  flex-direction: column;
  align-items: center;
  margin-top: 200px;
}

.facility_img1 {
  border-radius: 10px;
  margin-left: -20%;
  width: 80%;
} 

.facility_img2 {
  border-radius: 10px;
  margin: -20px -20% 0 0;
  width: 80%;
} 

.facility_img3 {
  border-radius: 10px;
  margin: 20px 0 0 -20%;
  width: 80%;
} 

.facility_img4 {
  width: 57px;
  top: -27px;
  left: 195px;
}

.facility_img5 {
  position: absolute;
  width: 50px;
  bottom: 50%;
  left: -21px;
}

.facility_img6 {
  position: absolute;
  width: 108px;
  bottom: -21px;
  right: -21px;
}

.support_flower_bk5 {
  width: 56px;
  left: 0px;
  top: auto;
  bottom: -67px;
}

.support_flower_bk4 {
  width: 96px;
  right: -6px;
  top: auto;
  bottom: -135px;
}


/* ~~~~~~~~~~~~~~ １日の流れ ~~~~~~~~~~~~~~ */
#schedule {
  padding-bottom: 40px;
}

.balloon1, 
.balloon2 {
  font-size: 1.8rem;
}

.balloon1:before, 
.balloon2:before {
  content: none;
}

.tab-2, .tab-1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 10px;

}

.tab-2 > label, .tab-1 > label {
  flex: 1 1;
  order: -1;
  opacity: .5;
  max-width: 200px;
  min-width: 70px;
  padding: .2em 1em;
  border-radius: 100vh;
  background-color: #725244;
  color: #fff;
  font-size: .9em;
  text-align: center;
  cursor: pointer;
}

.tab-2 label, .tab-1 label {
  position: relative;
}

.tab-2 > label:hover, .tab-1 > label:hover {
  opacity: .8;
}

.tab-2 input, .tab-1 input {
  display: none;
}

.tab-2-contents, .tab-1-contents {
  background-color: #F7F0F0;
  border-radius: 20px;
  margin-top: 5px;
}

.tab-2 > div, .tab-1 > div {
  display: none;
  width: 100%;
  padding: 1em 1em 1.5em 1em;
}

.tab-2 label:has(:checked), 
.tab-1 label:has(:checked) {
  opacity: 1;
}

.tab-2 label:has(:checked)::before, 
.tab-1 label:has(:checked)::before {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 9px;
  background-color: #725244;
  content: '';
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.tab-2 label:has(:checked) + div, 
.tab-1 label:has(:checked) + div {
  display: block;
}

.sp-time-schedule,
.tab-2-title-time {
  max-width: 400px;
  display: block;
  margin: 0 auto;
}

.tab-2-title-time {
  font-weight: 600;
  margin-bottom: 20px;
}

.sp-time-schedule li {
  display: grid;
  grid-template-columns: 1fr 4fr;
  gap: 20px;
}

.time_img {
  width: 100%;
}

.time {
  font-size: 1.8rem;
  height: 3.5rem;
}

.sch_tx {
  font-size: 1.5rem;
  padding: 0;
  margin-top: 0.2rem;
}

.time_gr {
  width: 100%;
  max-width: 60px;
  margin: 0 auto;
}

.time_gr::after {
  top: 5.5rem;
}

.sch_img1 {
  width: 52px;
  top: 0;
  left: auto;
  right: -30px;
  z-index: 10;
}

.sch_img4 {
  width: 91px;
  top: 37px;
  right: -20px;
}

.sch_img6 {
  position: absolute;
  width: 105px;
  bottom: 2px;
  left: auto;
  right: -30px;
  z-index: 10;
}

.sch_img8 {
  width: 60px;
  bottom: -41px;
  left: auto;
  right: 10px;
}

.sp_sch_img8 {
  position: absolute;
  width: 60px;
  bottom: 40px;
  right: 30px;
}

.sch_img9 {
  position: absolute;
  width: 70px;
  bottom: 2px;
  left: auto;
  right: -31px;
}

.sch_img11 {
  width: 91px;
  top: auto;
  bottom: -16px;
  left: auto;
  right: -25px;
}

.sch_img13 {
  width: 117px;
  top: 0px;
  right: -24px;
}

.internal_link_btn {
  margin-bottom: 150px;
}

/* ===============================================
下層：利用案内
=============================================== */

/* ~~~~~~~~~~~~~~ ご利用の流れ ~~~~~~~~~~~~~~ */
#flow {
  padding: 60px 0;
  background-size: 100%, 100px;
}

.flow_img1 {
  width: 145px;
  left: -30px;
  top: -70px;
}

.flow_img2 {
  width: 60px;
  right: -16px;
  bottom: -10px;
  top: auto;
}

.flow_num_gr_container::after{
  content: none;
}

.flow_num_gr {
  width: 70px;
  height: 70px;
}

.flow_num {
  font-size: 3rem;
  line-height: 3rem;
}

.flow_step {
  font-size: 1rem;
}

.flow li {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0px;
  margin-top: 30px;
}

.flow_num_gr_container {
  width: 70px;
}

.flow_container {
  flex-direction: column;
  padding: 0 0 30px 0;
  gap: 20px;
}

.flow_icon_gr, .flow_container_right {
  width: 100%;
}

.flow_container .footer_contact_btn {
  margin: 30px auto 0 auto;
  border: none;
}

.flow_title {
  text-align: center;
}

/* ~~~~~~~~~~~~~~ ご利用料金 ~~~~~~~~~~~~~~ */
#price {
  padding: 40px 0;
}

.price_table {
  margin-top: 30px;
  text-align: left;
  font-size: 1.4rem;
  line-height: 2rem;
}

.price_table td, .price_th {
  padding: 8px;
}

.price_th {
  text-align: left;
}

.price_img2 {
  position: absolute;
  width: 60px;
  left: auto;
  top: auto;
  right: -10px;
  bottom: -42px;
  z-index: 20;
}

/* ~~~~~~~~~~~~~~ ご利用についてのお問い合わせ ~~~~~~~~~~~~~~ */
#contact {
  text-align: center;
  padding: 40px 0 150px 0;
}

.contact_img {
  display: none;
}

.contact_3btn_gr {
  flex-direction: column;
  gap: 20px;
  margin: 40px 0 60px 0;
}

.contact_3btn_gr a {
  margin: 0 auto;
}

.form_h3 {
  font-size: 2rem;
}

.form_h3:after {
  margin-left: 1rem;
}

.form_h3:before {
  margin-right: 1rem;
}

.form_tx {
  margin-top: 30px;
  margin-bottom: 40px;
}

/* お問い合わせフォーム */

.contact-btn {
  font-size: 1.3rem;
  width: 100% !important;
  max-width: 250px;
  height: 50px;
  line-height: 2rem;
}


.CF7_table p {
  margin-bottom: 0;
}

.CF7_table tr {
  margin-bottom: 20px;
}

.contact-btn:after {
  position: absolute;
  right: 1rem;
}

table.CF7_table{
  width:95%;
  }
  .CF7_table tr, .CF7_table td, .CF7_table th{
  display: block;
  width: 100%;
  }

/* ===============================================
下層：採用情報
=============================================== */

/* ~~~~~~~~~~~~~~ 採用見出し ~~~~~~~~~~~~~~ */
#recruit_head {
  padding: 40px 0 150px 0;
}

.recruit_head_h2 {
  font-size: 2.4rem;
  line-height: 4rem;
}

.recruit_head_tx {
  text-align: justify;
}

.recruit_img1 {
  width: 174px;
  left: -27px;
  top: auto;
  bottom: -228px;
}

.recruit_img2 {
  width: 161px;
  right: -21px;
  top: auto;
  bottom: -226px;
}

/* ~~~~~~~~~~~~~~ 募集要項 ~~~~~~~~~~~~~~ */
.flow_img1 {
  display: none;
}

#job_description {
  padding: 40px 0;
}

/* ~~~~~~~~~~~~~~ 応募のお問合せ ~~~~~~~~~~~~~~ */
#recruit_contact {
  padding: 40px 0 150px 0;
}

.price_img1 {
  width: 74px;
  right: auto;
  left: -20px;
  top: -61px;
}

.job_title {
  padding: 10px 30px !important;
  font-size: 1.6rem;
  line-height: 2.5rem;
}

body .is-layout-flex {
  grid-template-columns: 1fr;
  gap: 0 !important;
  font-size: 1.5rem;
  line-height: 3.5rem !important;
}

.job_table_left {
  border-bottom: solid 1px #ECE0D8;
  padding: 15px 20px;
}

.job_table_right {
  border-left: none;
  padding: 15px 20px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お問い合わせ完了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.thanks_img {
  width: 120px;
}

.thanks-title {
  font-size: 2.4rem;
  margin-bottom: 40px;
  text-align: left;
}

}



@media screen and (max-width: 600px) {
  .blog_btn {
    background-size: cover;
}
}