body {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  font-family: 'Zen Maru Gothic', sans-serif
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in .1s
}

.drawer-nav.header__nav.sp{
  display: none;
}

@media screen and (min-width: 1025px) {
  .container {
      max-width: 1170px
  }

  
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .container {
      max-width: 970px
  }
}

@media screen and (max-width: 767px) {
  .container {
      max-width: 750px
  }
}

.spDisp {
  display: none
}

@media screen and (max-width: 767px) {
  .spDisp {
      display: inline
  }
}

.pcDisp {
  display: inline
}

@media screen and (max-width: 767px) {
  .pcDisp {
      display: none
  }
}

@media screen and (min-width: 1025px) {
  a:hover {
      opacity: .8
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  a:hover {
      opacity: 1
  }
}

@media screen and (max-width: 767px) {
  a:hover {
      opacity: 1
  }
}

@media screen and (min-width: 1025px) {
  .outsidePadding {
      padding-left: 45px;
      padding-right: 45px
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .outsidePadding {
      padding-left: 15px;
      padding-right: 15px
  }
}

#header {
  position: relative;
  z-index: 99999;
  width: 100%;
  background-color: #fff;
  height: 80px;
  padding: 0
}

#header #headerCnt {
  width: 100%;
  height: 100%;
  padding-right: 50px;
  display: flex;
  align-items: center
}

#header #headerCnt #logoArea {
  flex-basis: 230px;
  max-width: 230px;
  width: 100%;
  height: 210px;
  text-align: center;
  border-bottom-right-radius: 20px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background-color: #EE98BF;
  transition: all ease .3s
}

#header #headerCnt #logoArea #logo {
  margin: 0 auto;
  max-width: 190px;
  width: 100%;
  height: 100%;
  transition: all ease .3s
}

#header #headerCnt #logoArea #logo img {
  width: 100%;
  height: auto
}

#header #headerCnt #logoArea a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: all ease .3s
}

#header #headerCnt #logoArea img {
  transition: all ease .3s
}

#header #headerCnt #logoArea img.spDisp {
  max-width: 94px
}

#header #headerCnt #logoArea img.pcDisp {
  max-width: 190px
}

#header #headerCnt #logoArea img.spFixed {
  display: none
}

#header #headerCnt .headerLeadWrap {
  flex-basis: auto;
  width: auto;
  padding-left: 255px
}

#header #headerCnt .headerLeadWrap .headerLead {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  color: #ac8952
}

#header #headerCnt .headerLeadWrap br {
  display: none
}

#header #headerCnt #headerContact {
  max-width: 20px;
  flex-basis: 411px;
  max-width: 411px;
  width: 100%;
  margin: 0 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between
}

#header #headerCnt #headerContact .tel {
  flex-basis: 183px;
  max-width: 183px;
  width: 100%;
  font-size: 14px
}

#header #headerCnt #headerContact .contactBtn {
  flex-basis: 200px;
  max-width: 200px;
  width: 100%;
  height: 50px
}

#header #headerCnt #headerContact .contactBtn a {
  background-color: #EE98BF;
  border-radius: 30px;
  color: #ffffff;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all ease .3s
}

#header #headerCnt #headerContact .contactBtn a:before {
  content: '';
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_reserve.svg") no-repeat left center;
  background-size: 23px auto;
  width: 23px;
  height: 17px;
  margin-right: 10px;
  transition: all ease .3s
}

#header #headerCnt #headerContact .contactBtn a:hover {
  background-color: #fff;
  border: 1px solid #EE98BF;
  color: #ee98bf;
  transition: all ease .3s
}

#header #headerCnt #headerContact .contactBtn a:hover:before {
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_reserve_p.svg") no-repeat left center;
  background-size: 23px auto;
  transition: all ease .3s
}


.header__nav .header__nav-list li.children{
  position: relative;
}
.header__nav .header__nav-list li.children:hover{background-color: #EE98BF;}
.header__nav .header__nav-list li.children:hover .sub-menu {
  opacity: 1;
  animation-name: show;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

.children .sub-menu {
  opacity: 0;
  position: absolute;
  top: 62px;
  left: 0;
  width: 588px;
  padding: 50px 20px 25px 40px;
  box-sizing: content-box;
  background-color: transparent;
}
.header__nav .header__nav-list li.children:hover a,
.children .sub-menu li a:hover{
  background-color: #EE98BF;
  color: #fff;
  opacity: 1;
}
.header__nav .header__nav-list li.children:hover a span{
  color: #fff;
}
.header__nav .header__nav-list li.children:hover .sub-menu a{
  background: transparent;
  color: #333;
}
.header__nav .header__nav-list li.children:hover .sub-menu a:hover{
  background-color: #EE98BF;
  color: #fff;
  opacity: 1;
}
@keyframes hide{
  0% {
      opacity: 1;
  }
  100% {
      opacity: 0;
  }
}

@keyframes show {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

@media screen and (min-width: 1025px) {
  #header #headerCnt #headerContact .contactBtn a {
      background-color: #EE98BF;
      border-radius: 30px;
      color: #ffffff;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center
  }

  #header #headerCnt #headerContact .contactBtn a:before {
      content: '';
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_reserve.svg") no-repeat left center;
      background-size: 23px auto;
      width: 23px;
      height: 17px;
      margin-right: 10px
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #header.fixed {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%
  }

  #header.fixed+#mainCnt {
      margin-top: 80px
  }

  #header.fixed #headerCnt {
      padding: 0 15px
  }

  #header.fixed #headerCnt #logoArea {
      position: static;
      flex-basis: 293px;
      max-width: 293px;
      height: 100%;
      background-color: transparent;
      transition: none
  }

  #header.fixed #headerCnt #logoArea #logo {
      max-width: 100%;
      transition: none
  }

  #header.fixed #headerCnt #logoArea a {
      transition: none
  }

  #header.fixed #headerCnt #logoArea img {
      transition: none
  }

  #header.fixed #headerCnt #logoArea img.spDisp {
      display: none
  }

  #header.fixed #headerCnt #logoArea img.spFixed {
      display: block
  }

  #header.fixed #headerCnt .headerLeadWrap {
      display: none
  }

  #header #headerCnt {
      padding-right: 20px
  }

  #header #headerCnt #logoArea {
      flex-basis: 123px;
      max-width: 123px;
      height: 144px
  }

  #header #headerCnt #logoArea img.spDisp {
      display: block
  }

  #header #headerCnt #logoArea img.pcDisp {
      display: none
  }

  #header #headerCnt .headerLeadWrap {
      padding-left: 140px
  }

  #header #headerCnt .headerLeadWrap .headerLead {
      font-size: 10px
  }

  #header #headerCnt .headerLeadWrap br {
      display: block
  }

  #header #headerCnt #headerContact {
      display: none
  }
}

@media screen and (max-width: 767px) {
  #header {
      height: 50px
  }

  #header.fixed {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%
  }

  #header.fixed+#mainCnt {
      margin-top: 50px
  }

  #header.fixed #headerCnt {
      padding: 0 15px
  }

  #header.fixed #headerCnt #logoArea {
      position: static;
      flex-basis: 293px;
      max-width: 293px;
      height: 100%;
      background-color: transparent;
      transition: none
  }

  #header.fixed #headerCnt #logoArea #logo {
      max-width: 100%;
      transition: none;
      width: 85%;
      float: left;
  }

  #header.fixed #headerCnt #logoArea a {
      transition: none
  }

  #header.fixed #headerCnt #logoArea img {
      transition: none
  }

  #header.fixed #headerCnt #logoArea img.spDisp {
      display: none
  }

  #header.fixed #headerCnt #logoArea img.spFixed {
      display: block
  }

  #header.fixed #headerCnt .headerLeadWrap {
      display: none
  }

  #header #headerCnt {
      padding-right: 0
  }

  #header #headerCnt #logoArea {
      flex-basis: 123px;
      max-width: 123px;
      height: 144px
  }

  #header #headerCnt .headerLeadWrap {
      padding-left: 140px
  }

  #header #headerCnt .headerLeadWrap .headerLead {
      font-size: 10px
  }

  #header #headerCnt .headerLeadWrap br {
      display: block
  }

  #header #headerCnt #headerContact {
      display: none
  }
}
.header__nav {z-index: 99;}
.header__nav .header__nav-list {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.header__nav .header__nav-list li {
  position: relative
}

.header__nav .header__nav-list li::before {
  content: "";
  width: 2px;
  height: 20px;
  position: absolute;
  top: 34px;
  left: 0;
  background-image: linear-gradient(to top, #AC8952, #AC8952 2px, transparent 2px, transparent 5px);
  background-size: 1px 4px;
  background-position: left top;
  background-repeat: repeat-y;
  display: block;
  z-index: 1
}

.header__nav .header__nav-list li:last-child::after {
  content: "";
  width: 2px;
  height: 20px;
  position: absolute;
  top: 34px;
  right: 0;
  background-image: linear-gradient(to top, #AC8952, #AC8952 2px, transparent 2px, transparent 5px);
  background-size: 1px 4px;
  background-position: left top;
  background-repeat: repeat-y;
  display: block;
  z-index: 1
}

.header__nav .header__nav-list li a {
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  position: relative;
  padding: 37px 10px 10px 10px;
  display: block;
  color: #333
}

.header__nav .header__nav-list li a span {
  position: absolute;
  display: block;
  top: 18px;
  width: calc(100% - 30px);
  font-size: 12px;
  color: #EE98BF
}

.header__nav .header__nav-list li.children {
  width: 142px
}

.header__nav .header__nav-list li.children a span {
  width: 88%
}

.header__nav .header__nav-list li .sub-menu li::before {
  content: none !important
}

.header__nav .header__nav-list li .sub-menu li::after {
  content: none !important
}

.header__nav .header__nav-list li .sub-menu a {
  padding-top: 12px
}

@media screen and (min-width: 1025px) {
  .header__nav {
      position: relative;
      display: block;
      height: auto;
      padding: 0;
      width: 100%;
      top: 0 !important;
      background-color: #fff;
      transition: all .3 ease-in-out
  }

  .header__nav.fixed {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 6000 !important;
      width: 100% !important;
      height: 70px;
      box-shadow: 0px -69px 107px 0px;
  }

  .header__nav.fixed+#aboutArea {
      margin-top: 110px !important
  }

  .header__nav .header__nav-list {
      flex-wrap: nowrap;
      max-width: 1170px;
      margin: 0 auto;
      height: 70px
  }

  .header__nav .header__nav-list>li>i {
      pointer-events: none
  }

  .header__nav .header__nav-list>li>a:hover {
      opacity: 1;
      background: #EE98BF;
      color: #fff;
  }

  .header__nav .header__nav-list>li>a:hover span{
      color: #fff;
  }

  .header__nav .header__nav-list li {
      flex: 1 0 auto;
      text-align: center
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .header__nav {
      display: none
  }

  .header__nav .header__nav-list li::before {
      content: none !important
  }

  .header__nav .header__nav-list li::after {
      content: none !important
  }

  .header__nav .header__nav-list li a {
      padding-top: 15px;
      margin-right: 25px
  }

  .header__nav .header__nav-list li a span {
      display: none
  }
}

@media screen and (max-width: 767px) {
  .header__nav {
      margin-top: 0;
      display: none;
  }

  .header__nav .header__nav-list{
      padding: 0;
  }

  .header__nav .header__nav-list li {
      flex-basis: 100%;
      max-width: 100%;
      width: 100%;
      background-color: transparent;
      border-bottom: 1px solid #fff;
  }

  .drawer-nav.header__nav.sp .sub-menu a {
      border-bottom: none;
  }

  .header__nav .header__nav-list li.top {
      display: none
  }

  .header__nav .header__nav-list li:nth-child(n+4) {
      margin-top: 10px
  }

  .header__nav .header__nav-list li::before {
      content: none !important
  }

  .header__nav .header__nav-list li::after {
      content: none !important
  }

  .header__nav .header__nav-list li a {
      padding: 14px;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column
  }

  .header__nav .header__nav-list li a:after {
    content: '▼';
    display: block;
    color: #ee98bf
  }

  .header__nav .header__nav-list li a span {
      display: none
  }
  .drawer-nav.header__nav.sp {
      touch-action: auto !important;
      position: fixed;
      top: 0;
      bottom: 0;
      overflow-y: auto;
      display: block;
      right: -80%;
      background: #AC8952;
      width: 80%;
      height: 100%;
      padding: 80px 20px 40px;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li.children>a::after {
      content: none;
  }
  .drawer-nav.header__nav.sp .sub-menu {
      display: none;
  }
  .drawer-nav.header__nav.sp .fa.fa-angle-down {
      position: absolute;
      top: 0px !important;
      right: 0;
      z-index: 100;
      width: 100%;
      height: 50px;
  }
  .drawer-nav.header__nav.sp .fa.fa-angle-down:before {
      content: "\f107";
      margin-left: auto;
      margin-top: 13px;
      font-size: 26px;
      display: block;
      width: 26px;
      color: #fff;
  }
  .drawer-nav.header__nav.sp .sub-menu a {
      border-bottom: none;
      width: 100%;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li a {
      display: block;
      position: relative;
      z-index: 10;
      margin-right: 0;
      line-height: 1.5;
      color: #fff;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li>a::after {
      position: absolute;
      top: 20px;
      left: 0;
      border-right: 6px solid transparent;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid #fff;
      content: "";
  }
  .js_nav_close-btn {
      position: absolute;
      top: 20px;
      right: 10px;
      z-index: 10000;
      width: 60px;
      height: 60px;
  }
  .js_nav_close-btn::before,
  .js_nav_close-btn::after {
      position: absolute;
      top: 30px;
      right: 10px;
      z-index: 10;
      width: 40px;
      height: 2px;
      border-top: 2px solid #fff;
      transform: rotate(-45deg);
      content: "";
  }
  .js_nav_close-btn::after {
      border-top: 2px solid #fff;
      transform: rotate(45deg);
  }
  .js_menu_move {
      position: relative;
      animation-name: menuLeft;
      animation-duration: .3s;
      animation-fill-mode: forwards;
  }

  @keyframes menuLeft {
      0% {
          left: 0;
      }
      100% {
          left: -80%;
      }
  }

  .js_menu_reset {
      position: relative;
      animation-name: menuReset;
      animation-duration: .3s;
      animation-fill-mode: forwards;
  }

  .drawer-nav.header__nav.sp .sub-menu a {
      border-bottom: none;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li a {
      display: block;
      position: relative;
      z-index: 10;
      margin-right: 0;
      line-height: 1.5;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li>a::after {
      position: absolute;
      top: 20px;
      left: 0;
      border-right: 6px solid transparent;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid #fff;
      content: "";
  }
  .children .sub-menu {
      opacity: 1;
      position: unset;
      top: 62px;
      left: 0;
      width: 100%;
      padding: 0;
      box-sizing: content-box;
      background-color: transparent;
  }
  .header__nav .header__nav-list li a::after {
      display: none;
  }
}

.mainImg {
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/main_pc.jpg") no-repeat center center;
  background-size: cover;
  height: 540px;
  position: relative;
  padding-right: 12%;
  padding-top: 40px
}

.mainImg .mainPhotoWrap {
  max-width: 572px;
  width: 100%;
  height: 440px;
  position: relative;
  margin-left: auto
}

.mainImg .mainPhotoWrap img {
  position: absolute;
  width: 100%
}

.mainImg .mainPhotoWrap .mainPhoto1 {
  max-width: 219px;
  top: 60px;
  left: 0;
  transform-origin: center bottom;
  animation: fuwafuwa 4s infinite ease-in-out .8s alternate
}

.mainImg .mainPhotoWrap .mainPhoto2 {
  max-width: 313px;
  top: 0;
  right: 0;
  transform-origin: center center;
  animation: fuwafuwa2 3s infinite ease-in-out .8s alternate
}

.mainImg .mainPhotoWrap .mainPhoto3 {
  max-width: 254px;
  right: 180px;
  bottom: 0;
  transform-origin: center bottom;
  animation: fuwafuwa 5s infinite ease-in-out .8s alternate
}

.mainImg .mainPhotoWrap .mainPhoto4 {
  max-width: 115px;
  left: 40px;
  bottom: 10px;
  transform-origin: center bottom;
  animation: fuwafuwa2 3s infinite ease-in-out .8s alternate
}

@keyframes fuwafuwa {
  0% {
      transform: translate(0, 0) rotate(-5deg)
  }

  50% {
      transform: translate(0, -5deg) rotate(0deg)
  }

  100% {
      transform: translate(0, 0) rotate(5deg)
  }
}

@keyframes fuwafuwa2 {
  0% {
      transform: translate(0, 0) rotate(5deg)
  }

  50% {
      transform: translate(0, 5deg) rotate(0deg)
  }

  100% {
      transform: translate(0, 0) rotate(-5deg)
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mainImg {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/main_pc.jpg") no-repeat center left -440px;
      background-size: cover;
      padding-right: 5%
  }

  .mainImg .mainPhotoWrap {
      max-width: 57%;
      height: 100%
  }

  .mainImg .mainPhotoWrap .mainPhoto1 {
      max-width: 38%;
      top: 13%;
      left: 0
  }

  .mainImg .mainPhotoWrap .mainPhoto2 {
      max-width: 54%;
      top: 0;
      right: 0
  }

  .mainImg .mainPhotoWrap .mainPhoto3 {
      max-width: 44%;
      right: 30%;
      top: 244px
  }

  .mainImg .mainPhotoWrap .mainPhoto4 {
      max-width: 20%;
      left: 7%;
      top: 335px
  }
}

@media screen and (max-width: 767px) {
  .mainImg {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/main_pc.jpg") no-repeat center left -440px;
      background-size: cover;
      height: 550px;
      padding-right: 0
  }

  .mainImg .mainPhotoWrap {
      max-width: 300px;
      height: 60%;
      margin: 0 10px 0 auto
  }

  .mainImg .mainPhotoWrap .mainPhoto1 {
      max-width: 133px;
      right: 13%;
      left: auto;
      top: auto;
      bottom: 10px
  }

  .mainImg .mainPhotoWrap .mainPhoto2 {
      max-width: 164px
  }

  .mainImg .mainPhotoWrap .mainPhoto3 {
      max-width: 115px;
      top: 55px;
      bottom: auto;
      left: 0;
      right: auto
  }

  .mainImg .mainPhotoWrap .mainPhoto4 {
      max-width: 80px;
      left: 10px;
      bottom: 60px
  }
}

@media screen and (max-width: 600px) {
  .mainImg {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/main_pc.jpg") no-repeat center left -440px;
      background-size: cover;
      height: 550px;
      padding-right: 0
  }

  .mainImg .mainPhotoWrap {
      max-width: 350px;
      height: 100%;
      margin: 0 auto
  }

  .mainImg .mainPhotoWrap .mainPhoto1 {
      max-width: 133px;
      right: 13%;
      left: auto;
      top: auto;
      bottom: 10px
  }

  .mainImg .mainPhotoWrap .mainPhoto2 {
      max-width: 164px
  }

  .mainImg .mainPhotoWrap .mainPhoto3 {
      max-width: 115px;
      top: 55px;
      bottom: auto;
      left: 0;
      right: auto
  }

  .mainImg .mainPhotoWrap .mainPhoto4 {
      max-width: 80px;
      left: 10px;
      bottom: 50px
  }
}

@media screen and (max-width: 415px) {
  .mainImg {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/main_sp_bg.jpg") no-repeat center center;
      background-size: cover;
      height: 617px;
      padding-top: 30px;
      padding-right: 0
  }

  .mainImg .mainPhotoWrap {
      max-width: 77%;
      height: 560px;
      margin: 0 auto
  }

  .mainImg .mainPhotoWrap .mainPhoto1 {
      max-width: 39%;
      right: 45px;
      left: auto;
      top: auto;
      bottom: 0
  }

  .mainImg .mainPhotoWrap .mainPhoto2 {
      max-width: 56%
  }

  .mainImg .mainPhotoWrap .mainPhoto3 {
      max-width: 45%;
      top: 110px;
      bottom: auto;
      left: 0;
      right: auto
  }

  .mainImg .mainPhotoWrap .mainPhoto4 {
      max-width: 27%;
      left: 10px;
      bottom: 40px
  }
}

#mainCnt h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.6;
  color: #ee98bf;
  margin: 0 0 30px
}

#mainCnt h2 .en {
  font-size: 18px;
  display: block;
  position: relative;
  padding-left: 50px;
  color: #ac8952;
  margin-bottom: 20px
}

#mainCnt h2 .en:before {
  content: '';
  width: 40px;
  height: 2px;
  background-image: linear-gradient(to right, #EE98BF, #EE98BF 2px, transparent 2px, transparent 5px);
  background-size: 5px 2px;
  background-position: left center;
  background-repeat: repeat-x;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px
}

@media screen and (max-width: 767px) {
  #mainCnt h2 {
      font-size: 28px
  }

  #mainCnt h2 .en {
      font-size: 16px
  }
}

#mainCnt p {
  line-height: 1.8
}

#mainCnt #aboutArea {
  margin: 20px 0 70px;
  padding-top: 70px
}

#mainCnt #aboutArea .aboutWrap {
  display: flex
}

#mainCnt #aboutArea .aboutWrap .aboutBox {
  flex-basis: 50%;
  max-width: 50%;
  width: 100%
}

#mainCnt #aboutArea .aboutWrap .aboutBox.textBox {
  position: relative;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/bg_logo.svg") no-repeat bottom right;
  background-size: 302px auto;
  margin-top: 20px
}

#mainCnt #aboutArea .aboutWrap .aboutBox.imgBox {
  padding-left: 40px
}

#mainCnt #aboutArea .aboutWrap .aboutBox.imgBox ul {
  display: flex;
  justify-content: space-between
}

#mainCnt #aboutArea .aboutWrap .aboutBox.imgBox ul li {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%;
  overflow: hidden;
  border-radius: 20px
}

#mainCnt #aboutArea .aboutWrap .aboutBox.imgBox ul li:nth-child(1) {
  margin-top: 40px
}

.bnr_invisalign {
  max-width: 940px;
  margin: 0 auto 50px;
  text-align: center;
}

.bnr_invisalign img.pc {
  display: block;
}

.bnr_invisalign img.sp {
  display: none;
}

#mainCnt #featureArea {
  margin-top: -70px;
  padding-top: 70px;
  margin-bottom: 140px
}

#mainCnt #featureArea .firstHeadLine {
  color: #ee98bf;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 70px
}

#mainCnt #featureArea .bg {
  padding-top: 120px;
  background-color: #F7EDEE;
  position: relative
}

#mainCnt #featureArea .bg:before {
  content: '';
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x top center;
  background-size: auto 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  transform: scale(1, -1)
}

#mainCnt #featureArea .inner {
  position: relative;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/features.svg") no-repeat top 60px left;
  background-size: 240px
}

#mainCnt #featureArea h2.h2_1 {
  text-align: center;
  padding-bottom: 40px;
  margin-bottom: 0
}

#mainCnt #featureArea h2.h2_1 span {
  padding-left: 0;
  padding-bottom: 10px;
  margin-bottom: 10px
}

#mainCnt #featureArea h2.h2_1 span:before {
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}

#mainCnt #featureArea .featuresSlider {
  max-width: 600px;
  width: 100%;
  overflow: hidden;
  margin: -145px auto 60px
}

#mainCnt #featureArea .featuresSlider img {
  border-radius: 20px
}

#mainCnt #featureArea .featuresSlider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #EA81B0
}

#mainCnt #featureArea .featuresSlider .slick-dots li button:before {
  opacity: 1;
  color: #EDD8D8
}

#mainCnt #featureArea .featuresWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 90px
}

#mainCnt #featureArea .featuresWrap .featuresBox {
  flex-basis: 32%;
  max-width: 32%;
  width: 100%
}

#mainCnt #featureArea .featuresWrap .imgBox {
  width: 150px;
  height: 150px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 100%
}

#mainCnt #featureArea .featuresWrap .imgBox img {
  width: 80px
}

#mainCnt #featureArea .featuresWrap .headLine {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 15px;
  text-align: center;
  color: #ac8952
}

#mainCnt #featureArea .bgImg {
  width: 100%;
  height: 520px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/feature_bgimg.jpg") no-repeat center center;
  background-size: cover;
  position: relative
}

#mainCnt #featureArea .bgImg:before {
  content: '';
  width: 100%;
  height: 100%;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_pink.png") repeat-x top center, url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x bottom center;
  background-size: auto 120px, auto 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
}

#mainCnt #featureArea .bgImg:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background: linear-gradient(to right, #DF878D, #FEF0CB 60%, #FFF4CE 100%);
  opacity: 0.6
}

#mainCnt #featureArea .bgImg .outsidePadding {
  height: 100%
}

#mainCnt #featureArea .bgImg .container {
  position: relative;
  height: 100%
}

#mainCnt #featureArea .bgImg .textBox {
  max-width: 520px;
  width: 100%;
  padding: 60px;
  background-color: #faf9f0;
  position: absolute;
  bottom: -90px;
  left: 15px;
  z-index: 1
}

#mainCnt #sogoshikaArea {
  margin-bottom: 90px
}

#mainCnt #sogoshikaArea .subHeadline {
  font-size: 18px;
  color: #ac8952;
  padding-top: 70px;
  text-align: center;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_family.svg") no-repeat top center;
  background-size: 48px auto;
  font-weight: 500;
  border-bottom: 1px solid #AC8952;
  max-width: 330px;
  width: 100%;
  padding-bottom: 6px;
  margin: 0 auto 20px;
  position: relative
}

#mainCnt #sogoshikaArea .subHeadline:before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 90px;
  border: 9px solid transparent;
  border-top: 9px solid #fff;
  z-index: 2;
  transform: rotate(-135deg)
}

#mainCnt #sogoshikaArea .subHeadline:after {
  content: "";
  position: absolute;
  bottom: -11px;
  left: 90px;
  border: 10px solid transparent;
  border-top: 10px solid #AC8952;
  z-index: 1;
  transform: rotate(-135deg)
}

#mainCnt #sogoshikaArea h2 {
  text-align: center;
  margin-bottom: 120px
}

#mainCnt #sogoshikaArea h2 span {
  font-size: 26px
}

#mainCnt #sogoshikaArea .sogoshikaWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

#mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox {
  flex-basis: 32%;
  max-width: 32%;
  width: 100%;
  padding: 110px 20px 30px;
  border-radius: 20px;
  background-color: #f5f3ec;
  position: relative
}

#mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox:nth-child(n+4) {
  margin-top: 120px
}

#mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox .imgBox {
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 253px;
  width: 100%;
  border-radius: 20px;
  overflow: hidden
}

#mainCnt #sogoshikaArea .sogoshikaWrap .smallHeadline {
  font-weight: 500;
  font-size: 14px;
  color: #ac8952;
  text-align: center;
  margin-bottom: 15px
}

#mainCnt #sogoshikaArea .sogoshikaWrap .headLine {
  font-size: 18px;
  font-weight: 700;
  color: #ee98bf;
  text-align: center;
  padding-bottom: 16px;
  position: relative;
  margin-bottom: 20px
}

#mainCnt #sogoshikaArea .sogoshikaWrap .headLine:after {
  content: '';
  background-image: repeating-linear-gradient(-45deg, #EE98BF 0px, #EE98BF 1px, transparent 0%, transparent 50%);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
  width: 100%;
  height: 6px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0
}

#mainCnt #sogoshikaArea .sogoshikaWrap.w100p {
  padding: 40px;
  background-color: #f5f3ec;
  border-radius: 20px;
  margin-top: 40px;
  align-items: center
}

#mainCnt #sogoshikaArea .sogoshikaWrap.w100p.reverse {
  flex-flow: row-reverse
}

#mainCnt #sogoshikaArea .sogoshikaWrap.w100p .imgBox,
#mainCnt #sogoshikaArea .sogoshikaWrap.w100p .textBox {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%
}

#mainCnt #sogoshikaArea .sogoshikaWrap.w100p .imgBox {
  border-radius: 20px;
  overflow: hidden
}

#mainCnt #sogoshikaArea .sogoshikaWrap.w100p br {
  display: none
}

#mainCnt #staffArea {
  margin-top: -70px;
  padding-top: 70px;
  margin-bottom: 70px;
  overflow: hidden;
  position: relative
}

#mainCnt #staffArea:before {
  content: '';
  width: 100%;
  height: 120px;
  position: absolute;
  top: 60px;
  left: 0;
  display: block;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") no-repeat top center;
  background-size: auto 100%;
  transform: scale(1, -1)
}

#mainCnt #staffArea:after {
  content: '';
  width: 100%;
  height: 120px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") no-repeat bottom center;
  background-size: auto 100%
}

#mainCnt #staffArea .bg {
  padding: 25px 0 125px;
  background-color: #faf2f3
}

#mainCnt #staffArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_staff.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 1
}

#mainCnt #staffArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #staffArea p {
  text-align: center
}

#mainCnt #staffArea .staffSlider {
  margin-top: 40px
}

#mainCnt #staffArea .staffSlider .slick-slide {
  margin: 0 15px;
  max-width: 250px
}

#mainCnt #staffArea .staffSlider .slick-list {
  overflow: visible
}

#mainCnt #staffArea .staffSlider .staffImg {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
  height: 300px;
  position: relative;
  width: 100%
}

#mainCnt #staffArea .staffSlider .staffImg img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}

#mainCnt #staffArea .staffSlider .name {
  font-size: 22px;
  font-weight: 500
}

#mainCnt #staffArea .staffSlider .name span {
  font-size: 16px;
  font-weight: 700;
  color: #ee98bf;
  display: block;
  margin-bottom: 5px
}

#mainCnt #staffArea .staffSlider .slick-prev,
#mainCnt #staffArea .staffSlider .slick-next {
  z-index: 10;
  width: 40px;
  height: 40px;
  top: 40%;
  border-radius: 100%;
  background-color: #EE98BF
}

#mainCnt #staffArea .staffSlider .slick-prev {
  left: 0
}

#mainCnt #staffArea .staffSlider .slick-prev:before {
  content: "" !important;
  font-family: FontAwesome;
}

#mainCnt #staffArea .staffSlider .slick-next {
  right: 0
}

#mainCnt #staffArea .staffSlider .slick-next:before {
  content: "" !important;
  font-family: FontAwesome;
}

#mainCnt #clinicArea {
  margin-bottom: 180px
}

#mainCnt #clinicArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_clinic.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px
}

#mainCnt #clinicArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #clinicArea .headLine {
  font-size: 32px;
  font-weight: 700;
  color: #EE98BF;
  text-align: center;
  padding-bottom: 16px;
  position: relative;
  margin-bottom: 30px
}

#mainCnt #clinicArea .headLine:after {
  content: '';
  background-image: repeating-linear-gradient(-45deg, #EE98BF 0px, #EE98BF 1px, transparent 0%, transparent 50%);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center bottom;
  width: 100%;
  height: 6px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0
}

#mainCnt #clinicArea .headLine.access {
  margin-top: -10px;
  padding-top: 70px
}

#mainCnt #clinicArea #clinicLink1 {
  margin-top: -70px;
  padding-top: 70px
}

#mainCnt #clinicArea .clinicWrap {
  border-radius: 16px;
  padding: 40px 30px;
  background-color: #faf2f3
}

#mainCnt #clinicArea .clinicWrap .subHeadline {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  min-height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ee98bf;
  margin: 40px 0 30px
}

#mainCnt #clinicArea .clinicWrap .subHeadline:first-child {
  margin-top: 0
}

#mainCnt #clinicArea .clinicWrap .clinicInner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

#mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%
}

#mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox:nth-child(n+3) {
  margin-top: 40px
}

#mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox .imgBox {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px
}

#mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox .clinicBoxName {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #ee98bf;
  margin-bottom: 20px
}

#mainCnt #clinicArea .clinicWrap .clinicInner.w100p {
  display: block
}

#mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox {
  display: flex;
  justify-content: space-between;
  max-width: 100%
}

#mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox .imgBox,
#mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox .textBox {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%
}

#mainCnt #clinicArea .clinicWrap .clinicInner .imgBox {
  position: relative;
  width: 100%;
  overflow: hidden
}

#mainCnt #clinicArea .clinicWrap .clinicInner .imgBox:before {
  content: "";
  display: block;
  padding-top: 66.666666%
}

#mainCnt #clinicArea .clinicWrap .clinicInner .imgBox img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}

#mainCnt #clinicArea .clinicWrap .clinicInner .imgBox.equipmentBg {
  background-color: #F4F4F4
}

#mainCnt #clinicArea .clinicWrap .clinicInner .imgBox.equipmentBg img {
  width: auto
}

#mainCnt #clinicArea .clinicName {
  font-size: 20px;
  font-weight: 700;
  color: #ac8952;
  text-align: center;
  margin: 40px 0 30px
}

#mainCnt #clinicArea table {
  margin: 0 0 30px;
  width: 100%;
  border-collapse: collapse
}

#mainCnt #clinicArea table tr th,
#mainCnt #clinicArea table tr td {
  padding: 10px;
  width: auto
}

#mainCnt #clinicArea table tr th {
  font-weight: bold;
  vertical-align: top;
  width: 150px;
  color: #EE98BF;
  position: relative;
  text-align: left
}

#mainCnt #clinicArea table tr th:after {
  content: '';
  width: 100%;
  height: 2px;
  background-color: #EE98BF;
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0
}

#mainCnt #clinicArea table tr td {
  border-bottom: 2px solid #E0DCD0
}

#mainCnt #forsafeArea {
  position: relative;
  margin-bottom: 90px
}

#mainCnt #forsafeArea:before {
  content: '';
  background-color: #f7edee;
  display: block;
  width: 100%;
  height: 90%;
  position: absolute;
  top: 0;
  left: 0
}

#mainCnt #forsafeArea .inner {
  padding: 95px 0 0;
  position: relative
}

#mainCnt #forsafeArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_safe.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  width: 100%;
  margin-top: -195px
}

#mainCnt #forsafeArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #forsafeArea .forsafeWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16)
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox:nth-child(n+3) {
  margin-top: 40px
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox .imgBox {
  flex-basis: 140px;
  max-width: 140px;
  width: 100%;
  position: relative;
  overflow: hidden
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox .imgBox img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox {
  flex-basis: calc(100% - 140px);
  max-width: calc(100% - 140px);
  width: 100%;
  padding: 30px 40px 30px 30px;
  background-color: #f5f3ec
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox .headLine {
  font-size: 18px;
  font-weight: 700;
  color: #ee98bf;
  margin-bottom: 20px
}

#mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox p {
  font-weight: 400
}

#mainCnt #flowArea {
  margin-bottom: 90px
}

#mainCnt #flowArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_flow.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  width: 100%
}

#mainCnt #flowArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #flowArea .flowBox {
  background-color: #f5f3ec;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  position: relative
}

#mainCnt #flowArea .flowBox:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  border-right: 10px solid transparent;
  border-top: 20px solid #f5f3ec;
  border-left: 10px solid transparent
}

#mainCnt #flowArea .flowBox:last-child:after {
  display: none
}

#mainCnt #flowArea .flowBox+.flowBox {
  margin-top: 20px
}

#mainCnt #flowArea .flowBox .innerL {
  flex-basis: 240px;
  width: 240px;
  display: flex;
  justify-content: space-between;
  align-items: center
}

#mainCnt #flowArea .flowBox .innerL .icon {
  flex-basis: 60px;
  width: 60px;
  text-align: center
}

#mainCnt #flowArea .flowBox .innerL .stepBox {
  flex-basis: calc(100% - 80px);
  max-width: calc(100% - 80px);
  width: 100%
}

#mainCnt #flowArea .flowBox .innerL .step {
  font-size: 18px;
  font-weight: 500;
  color: #ee98bf;
  margin-bottom: 5px
}

#mainCnt #flowArea .flowBox .innerL .headLine {
  font-size: 20px;
  font-weight: 700;
  color: #717171
}

#mainCnt #flowArea .flowBox .innerR {
  flex-basis: calc(100% - 240px);
  max-width: calc(100% - 240px);
  width: 100%;
  position: relative;
  padding-left: 20px
}

#mainCnt #flowArea .flowBox .innerR:before {
  content: '';
  width: 2px;
  height: 60px;
  background-image: linear-gradient(to bottom, #EFD9D9, #EFD9D9 2px, transparent 2px, transparent 5px);
  background-size: 2px 5px;
  background-position: left top;
  background-repeat: repeat-y;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -30px
}

#mainCnt #faqArea {
  margin-bottom: 90px
}

#mainCnt #faqArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_faq.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  width: 100%
}

#mainCnt #faqArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #faqArea .faqWrap dl {
  padding: 20px 20px 20px 20px;
  border-top: 1px solid #EFD9D9;
  position: relative
}

#mainCnt #faqArea .faqWrap dl:last-child {
  border-bottom: 1px solid #EFD9D9
}

#mainCnt #faqArea .faqWrap dt {
  font-size: 18px;
  font-weight: 700;
  padding-right: 50px
}

#mainCnt #faqArea .faqWrap dt:before {
  content: 'Q.';
  padding-right: 15px;
  font-size: 24px;
  font-weight: 700;
  color: #ac8952;
  position: relative;
  top: 2px
}

#mainCnt #faqArea .faqWrap dt:after {
  content: '＋';
  position: absolute;
  top: 50%;
  right: 20px;
  color: #ac8952;
  font-size: 28px;
  transform: translateY(-50%)
}

#mainCnt #faqArea .faqWrap dt.active:after {
  content: '－';
}

#mainCnt #faqArea .faqWrap dd {
  display: none;
  padding: 20px 50px 0 0
}

#mainCnt #menuArea {
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x bottom center, url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/dot.png") top center;
  background-size: auto 120px, auto auto;
  padding: 100px 0 140px;
  margin-bottom: 80px;
  position: relative
}

#mainCnt #menuArea:before {
  content: '';
  width: 100%;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x top center;
  background-size: auto 100%;
  transform: scale(1, -1);
  z-index: 1
}

#mainCnt #menuArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_menu.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  width: 100%
}

#mainCnt #menuArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #menuArea dl+dl {
  margin-top: 20px
}

#mainCnt #menuArea dt {
  background-color: #ee98bf;
  min-height: 60px;
  width: 100%;
  font-size: 24px;
  color: #fff;
  display: flex;
  align-items: center;
  font-weight: 700;
  padding: 10px 60px 10px 20px;
  position: relative
}

#mainCnt #menuArea dt:after {
  content: '＋';
  position: absolute;
  top: 6px;
  right: 20px;
  color: #fff;
  font-size: 28px
}

#mainCnt #menuArea dt.active:after {
  content: '－';
}

#mainCnt #menuArea dd {
  display: none;
  padding: 30px 30px 50px;
  background-color: #fff
}

#mainCnt #menuArea .headLine {
  font-size: 22px;
  font-weight: 700;
  color: #ac8952;
  margin-bottom: 30px;
  padding-left: 10px;
  border-left: 3px solid #AC8952
}

#mainCnt #menuArea .subHeadline {
  font-size: 18px;
  font-weight: 700;
  color: #ee98bf;
  margin-bottom: 20px
}

#mainCnt #menuArea .menuWrap {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  padding: 30px 0 0;
  border-top: 1px solid #C9C9C9
}

#mainCnt #menuArea .menuWrap:last-of-type {
  border-bottom: 1px solid #C9C9C9;
  padding-bottom: 30px;
  margin-bottom: 20px
}

#mainCnt #menuArea .menuWrap .menuBox:nth-child(odd) {
  flex-basis: 250px;
  max-width: 250px;
  width: 100%
}

#mainCnt #menuArea .menuWrap .menuBox:nth-child(even) {
  flex-basis: calc(100% - 290px);
  max-width: calc(100% - 290px);
  width: 100%
}

#mainCnt #menuArea .price {
  margin-top: 15px;
  font-weight: 700;
  font-size: 18px
}

#mainCnt #menuArea .attText {
  font-size: 14px;
  font-weight: 400;
  color: #999
}

#mainCnt #menuArea .attText br {
  display: none
}

#mainCnt #groupArea {
  margin-bottom: 60px
}

#mainCnt #groupArea h2 {
  padding-top: 75px;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_logo.svg") no-repeat top center;
  text-align: center;
  margin-bottom: 40px;
  width: 100%
}

#mainCnt #groupArea h2 span {
  font-size: 18px;
  display: block;
  color: #ac8952;
  margin-top: 5px
}

#mainCnt #groupArea h2+p {
  text-align: center
}

#mainCnt #groupArea h3 {
  margin: 60px 0 0;
  position: relative;
  font-size: 28px;
  font-weight: 700;
  color: #ac8952;
  padding-bottom: 10px;
  text-align: center
}

#mainCnt #groupArea h3:before {
  content: '';
  width: 40px;
  height: 2px;
  background-image: linear-gradient(to right, #AC8952, #AC8952 2px, transparent 2px, transparent 5px);
  background-size: 5px 2px;
  background-position: left center;
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}

#mainCnt #groupArea .groupWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 70px 0 60px
}

#mainCnt #groupArea .groupWrap .groupBox {
  flex-basis: 48%;
  max-width: 48%;
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  padding: 40px 20px 30px;
  border-radius: 20px;
  background-color: #f5f3ec;
  position: relative
}

#mainCnt #groupArea .groupWrap .groupBox:nth-child(n+3) {
  margin-top: 60px
}

#mainCnt #groupArea .groupWrap .groupBox .num {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  background-color: #f5f3ec;
  border-radius: 100%;
  font-size: 30px;
  color: #ee98bf;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center
}

#mainCnt #groupArea .groupWrap .groupBox .num span {
  padding-bottom: 3px;
  border-bottom: 3px solid #ee98bf
}

#mainCnt #groupArea ul {
  margin: 40px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

#mainCnt #groupArea ul li {
  padding: 0;
  list-style-type: none;
  flex-basis: 23%;
  max-width: 23%;
  width: 100%
}

#mainCnt #bnrArea {
  margin-bottom: 90px
}

#mainCnt #bnrArea a {
  display: flex
}

#mainCnt #bnrArea a .imgBox {
  flex-basis: 50%;
  max-width: 50%;
  width: 100%
}

#mainCnt #bnrArea a .imgBg {
  position: relative;
  width: 100%;
  overflow: hidden
}

#mainCnt #bnrArea a .imgBg:before {
  content: "";
  display: block;
  padding-top: 50%
}

#mainCnt #bnrArea a .imgBg img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}

#mainCnt #news_blogArea {
  padding: 140px 0 140px;
  background-color: #f5f3ec;
  position: relative
}

#mainCnt #news_blogArea:before {
  content: '';
  width: 100%;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x top center;
  background-size: auto 100%;
  transform: scale(1, -1);
  z-index: 1
}

#mainCnt #news_blogArea:after {
  content: '';
  width: 100%;
  height: 120px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x bottom center;
  background-size: auto 100%;
  transform: scale(-1, 1);
  z-index: 1
}

#mainCnt #news_blogArea .news_blogInner {
  display: flex;
  justify-content: space-between
}

#mainCnt #news_blogArea .news_blogInner h2 {
  margin: 0 0 30px
}

#mainCnt #news_blogArea #newsArea,
#mainCnt #news_blogArea #blogArea {
  flex-basis: 48%;
  max-width: 48%
}

#mainCnt #news_blogArea .newsHeadline,
#mainCnt #news_blogArea .blogHeadline {
  font-size: 32px;
  font-weight: 700;
  padding-left: 45px;
  color: #ee98bf;
  display: flex;
  align-items: center
}

#mainCnt #news_blogArea .newsHeadline span,
#mainCnt #news_blogArea .blogHeadline span {
  font-size: 14px;
  margin-left: 15px
}

#mainCnt #news_blogArea .newsHeadline {
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_news.svg") no-repeat center left;
  background-size: 30px auto
}

#mainCnt #news_blogArea .blogHeadline {
  background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_blog.svg") no-repeat center left;
  background-size: 30px auto
}

#mainCnt #news_blogArea .post_list-list .listInner {
  margin-bottom: 20px;
  padding-bottom: 20px;
  transition: ease-in .3s;
  border-bottom: 1px solid #EFD9D9
}

#mainCnt #news_blogArea .post_list-list .listInner:first-child {
  border-top: 1px solid #EFD9D9;
  padding-top: 20px
}

#mainCnt #news_blogArea .post_list-list .listInner time {
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
  color: #AC8952;
  padding-right: 10px
}

#mainCnt #news_blogArea .post_list-list .listInner .cat {
  font-size: 12px;
  font-weight: 500;
  background-color: #AC8952;
  display: inline-block
}

#mainCnt #news_blogArea .post_list-list .listInner .cat a {
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-width: 75px;
  min-height: 20px
}

#mainCnt #news_blogArea .post_list-list .listInner .cat a:hover,
#mainCnt #news_blogArea .post_list-list .listInner .cat a:focus {
  background-color: #ee98bf
}

#mainCnt #news_blogArea .post_list-list .listInner .post_list-link {
  text-decoration: none;
  font-size: 14px;
  color: #333;
  margin: 10px 0 0;
  font-weight: 400;
  display: block
}

#mainCnt #news_blogArea .post_list-list .listInner .post_list-link:hover,
#mainCnt #news_blogArea .post_list-list .listInner .post_list-link:focus {
  color: #ac8952
}

#mainCnt #news_blogArea .btn {
  border: 2px solid #EE98BF;
  max-width: 200px;
  width: 100%;
  min-height: 40px;
  background-color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 30px;
  font-weight: 400;
  color: #ee98bf;
  margin: 20px 0 0 auto;
  position: relative
}

#mainCnt #news_blogArea .btn::after {
  position: absolute;
  content: "";
  right: 25px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-bottom: 2px solid #ee98bf;
  border-right: 2px solid #ee98bf;
  transform: translateY(-50%) rotate(-45deg);
  z-index: 1
}

#mainCnt #news_blogArea .btn:hover,
#mainCnt #news_blogArea .btn:focus {
  background-color: #ee98bf;
  color: #ffffff
}

#mainCnt #news_blogArea .btn:hover::after,
#mainCnt #news_blogArea .btn:focus::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff
}

#mainCnt #recruitArea {
  margin-top: -120px;
  position: relative;
  z-index: 1
}

#mainCnt #recruitArea h2 {
  color: #ffffff;
  margin-bottom: 20px
}

#mainCnt #recruitArea h2 .en {
  color: #ffffff;
  margin-bottom: 10px
}

#mainCnt #recruitArea h2 .en:before {
  background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 5px);
  background-size: 5px 2px;
  background-position: left center;
  background-repeat: repeat-x
}

#mainCnt #recruitArea a {
  text-decoration: none;
  display: flex;
  color: #ffffff
}

#mainCnt #recruitArea a .textBox {
  flex-basis: 50%;
  max-width: 50%;
  width: 100%;
  padding: 50px 60px;
  background-color: #ee98bf
}

#mainCnt #recruitArea a .imgBg {
  position: relative;
  flex-basis: 50%;
  max-width: 50%;
  width: 100%;
  overflow: hidden
}

#mainCnt #recruitArea a .imgBg:before {
  content: "";
  display: block;
  padding-top: 50%
}

#mainCnt #recruitArea a .imgBg img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}
#btn-spmenu{
  display: none;
}

@media screen and (max-width: 767px) {
  .drawer-nav.header__nav.sp{
      display: block;
  }
  #btn-spmenu {
      padding: 0;
      width: 34px;
      height: 60px;
      display: block;
      cursor: pointer;
      position: fixed;
      top: 4px;
      right: 10px;
      display: none;
      z-index: 8;
  }

  #header.fixed #btn-spmenu{
      display: block;
  }

  #btn-spmenu span {
      display: block;
      width: 30px;
      height: 2px;
      background-color: #AC8952;
      margin: 0 auto;
      transition: all .3s ease-in-out;
  }

  #btn-spmenu span:nth-of-type(1) {
      margin-top: 3px;
  }

  #btn-spmenu span:nth-of-type(2),
  #btn-spmenu span:nth-of-type(3) {
      margin-top: 8px;
  }

  #btn-spmenu .sp-btn_txt {
      padding-top: 0px;
      color: #AC8952;
      font-size: 10px;
      text-align: center;
  }

  #mainCnt #aboutArea {
      margin: -10px 0 90px;
      padding-top: 50px
  }

  #mainCnt #aboutArea .aboutWrap {
      display: block
  }

  #mainCnt #aboutArea .aboutWrap .aboutBox {
      max-width: 100%
  }

  #mainCnt #aboutArea .aboutWrap .aboutBox.textBox {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/bg_logo.svg") no-repeat bottom 20px right;
      background-size: 193px auto;
      padding-bottom: 60px;
      font-size: 14px
  }

  #mainCnt #aboutArea .aboutWrap .aboutBox.imgBox {
      padding-left: 0
  }

  .bnr_invisalign {
    margin-bottom: 30px;
    max-width: 90%;
}

.bnr_invisalign img.pc {
    display: none;
}

.bnr_invisalign img.sp {
    display: block;
}

  #mainCnt #featureArea {
      margin-top: -50px;
      padding-top: 50px;
      margin-bottom: 270px
  }

  #mainCnt #featureArea .firstHeadLine {
      font-size: 28px;
      margin-bottom: 70px
  }

  #mainCnt #featureArea .bg {
      padding-top: 120px
  }

  #mainCnt #featureArea .bg:before {
      height: 30px
  }

  #mainCnt #featureArea .inner {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/features.svg") no-repeat top 40px left;
      background-size: 150px
  }

  #mainCnt #featureArea .featuresSlider {
      margin: -145px auto 50px
  }

  #mainCnt #featureArea .featuresWrap {
      display: block;
      padding-bottom: 70px;
      font-size: 14px
  }

  #mainCnt #featureArea .featuresWrap .featuresBox {
      max-width: 100%
  }

  #mainCnt #featureArea .featuresWrap .featuresBox+.featuresBox {
      margin-top: 40px
  }

  #mainCnt #featureArea .featuresWrap .headLine {
      font-size: 16px
  }

  #mainCnt #featureArea .bgImg {
      height: 390px
  }

  #mainCnt #featureArea .bgImg:before {
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_pink.png") repeat-x top center, url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x bottom center;
      background-size: auto 30px, auto 30px
  }

  #mainCnt #featureArea .bgImg .textBox {
      max-width: 520px;
      width: calc(100% - 30px);
      padding: 30px;
      bottom: -200px;
      font-size: 14px
  }

  #mainCnt #featureArea .bgImg h2 {
      font-size: 26px;
      margin-bottom: 20px
  }

  #mainCnt #sogoshikaArea {
      margin-bottom: 55px
  }

  #mainCnt #sogoshikaArea .subHeadline {
      font-size: 16px;
      max-width: 290px
  }

  #mainCnt #sogoshikaArea .subHeadline:before {
      left: 80px
  }

  #mainCnt #sogoshikaArea .subHeadline:after {
      left: 80px
  }

  #mainCnt #sogoshikaArea h2 {
      font-size: 26px
  }

  #mainCnt #sogoshikaArea h2 span {
      font-size: 22px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap {
      display: block
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox {
      max-width: 100%;
      padding: 110px 15px 30px;
      font-size: 14px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox:nth-child(n+4) {
      margin-top: 0
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox+.sogoshikaBox {
      margin-top: 120px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .sogoshikaBox .imgBox {
      top: -80px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .smallHeadline {
      font-size: 14px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap .headLine {
      font-size: 16px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap.w100p {
      padding: 30px 15px;
      margin-top: 40px;
      display: block;
      font-size: 14px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap.w100p .imgBox,
  #mainCnt #sogoshikaArea .sogoshikaWrap.w100p .textBox {
      max-width: 100%
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap.w100p .imgBox {
      margin-bottom: 20px
  }

  #mainCnt #sogoshikaArea .sogoshikaWrap.w100p br {
      display: block
  }

  #mainCnt #staffArea {
      margin-top: -50px;
      margin-bottom: 70px;
      padding: 65px 0 0;
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") no-repeat bottom center;
      background-size: auto 30px
  }

  #mainCnt #staffArea:before {
      height: 30px;
      top: 80px
  }

  #mainCnt #staffArea:after {
      height: 30px
  }

  #mainCnt #staffArea .bg {
      margin-top: 15px;
      padding-bottom: 90px
  }

  #mainCnt #staffArea h2 {
      margin-bottom: 25px;
      top: -40px
  }

  #mainCnt #staffArea h2 span {
      font-size: 18px;
      margin-top: 5px
  }

  #mainCnt #staffArea p {
      font-size: 14px
  }

  #mainCnt #staffArea .staffSlider .name {
      font-size: 20px
  }

  #mainCnt #staffArea .staffSlider .name span {
      font-size: 14px
  }

  #mainCnt #clinicArea {
      margin-bottom: 160px
  }

  #mainCnt #clinicArea h2 {
      font-size: 24px
  }

  #mainCnt #clinicArea h2 span {
      font-size: 14px
  }

  #mainCnt #clinicArea .headLine {
      font-size: 24px
  }

  #mainCnt #clinicArea .clinicWrap {
      border-radius: 16px;
      padding: 30px 15px
  }

  #mainCnt #clinicArea .clinicWrap .subHeadline {
      font-size: 16px
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner {
      display: block
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox {
      max-width: 100%;
      font-size: 14px
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox:nth-child(n+3) {
      margin-top: 0
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox+.clinicBox {
      margin-top: 40px
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner .clinicBox .clinicBoxName {
      font-size: 16px;
      margin-bottom: 15px
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox {
      display: block
  }

  #mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox .imgBox,
  #mainCnt #clinicArea .clinicWrap .clinicInner.w100p .clinicBox .textBox {
      max-width: 100%
  }

  #mainCnt #clinicArea .clinicName {
      font-size: 18px
  }

  #mainCnt #clinicArea table tr:first-child th {
      padding-top: 0
  }

  #mainCnt #clinicArea table tr th,
  #mainCnt #clinicArea table tr td {
      display: block;
      font-size: 14px;
      width: 100%
  }

  #mainCnt #clinicArea table tr th {
      min-width: 1px;
      color: #EE98BF;
      text-align: left;
      padding: 15px 0 10px
  }

  #mainCnt #clinicArea table tr th:after {
      display: none
  }

  #mainCnt #clinicArea table tr td {
      padding: 0 0 15px
  }

  #mainCnt #forsafeArea {
      margin-bottom: 70px
  }

  #mainCnt #forsafeArea h2 {
      font-size: 24px
  }

  #mainCnt #forsafeArea h2 span {
      font-size: 14px
  }

  #mainCnt #forsafeArea .forsafeWrap {
      display: block
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox {
      max-width: 100%;
      display: block
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox:nth-child(n+3) {
      margin-top: 0
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox+.forsafeBox {
      margin-top: 40px
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .imgBox {
      max-width: 100%;
      height: 100px
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .imgBox .forsafeImg01 {
      height: auto;
      top: -25px;
      transform: translate(-50%, 0)
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .imgBox .forsafeImg02 {
      height: auto;
      top: auto;
      bottom: -120px;
      transform: translate(-50%, 0)
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox {
      max-width: 100%;
      padding: 20px 15px
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox .headLine {
      font-size: 16px;
      margin-bottom: 15px;
      text-align: center
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox .headLine br {
      display: none
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox .headLine br.spDisp {
      display: block
  }

  #mainCnt #forsafeArea .forsafeWrap .forsafeBox .textBox p {
      font-size: 14px
  }

  #mainCnt #flowArea {
      margin-bottom: 70px
  }

  #mainCnt #flowArea h2 {
      font-size: 24px
  }

  #mainCnt #flowArea h2 span {
      font-size: 14px
  }

  #mainCnt #flowArea .flowBox {
      display: block;
      padding: 20px 15px
  }

  #mainCnt #flowArea .flowBox .innerL {
      width: 100%;
      padding-bottom: 15px
  }

  #mainCnt #flowArea .flowBox .innerL .icon {
      flex-basis: 75px;
      width: 75px;
      text-align: left;
      padding-left: 20px
  }

  #mainCnt #flowArea .flowBox .innerL .stepBox {
      flex-basis: calc(100% - 75px);
      max-width: calc(100% - 75px);
      width: 100%
  }

  #mainCnt #flowArea .flowBox .innerL .step {
      font-size: 16px;
      margin-bottom: 5px;
      display: inline
  }

  #mainCnt #flowArea .flowBox .innerL .headLine {
      font-size: 18px;
      display: inline;
      padding-left: 10px
  }

  #mainCnt #flowArea .flowBox .innerR {
      max-width: 100%;
      padding-top: 15px;
      padding-left: 0;
      font-size: 14px
  }

  #mainCnt #flowArea .flowBox .innerR:before {
      width: 100%;
      height: 2px;
      background-image: linear-gradient(to right, #EFD9D9, #EFD9D9 2px, transparent 2px, transparent 5px);
      background-size: 5px 2px;
      background-position: left top;
      background-repeat: repeat-x;
      top: 0;
      margin-top: 0
  }

  #mainCnt #faqArea {
      margin-bottom: 70px
  }

  #mainCnt #faqArea h2 {
      font-size: 24px
  }

  #mainCnt #faqArea h2 span {
      font-size: 14px
  }

  #mainCnt #faqArea .faqWrap dl {
      padding: 20px 10px
  }

  #mainCnt #faqArea .faqWrap dl:after {
      top: 38px;
      right: 10px;
      font-size: 28px
  }

  #mainCnt #faqArea .faqWrap dt {
      font-size: 18px;
      padding-right: 40px
  }

  #mainCnt #faqArea .faqWrap dt:before {
      padding-right: 10px;
      font-size: 22px;
      top: 1px
  }

  #mainCnt #faqArea .faqWrap dd {
      padding-top: 10px
  }

  #mainCnt #menuArea {
      padding: 90px 0 100px;
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/wave_white.png") repeat-x bottom center, url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/dot.png") top center;
      background-size: auto 30px, auto auto
  }

  #mainCnt #menuArea:before {
      height: 30px
  }

  #mainCnt #menuArea h2 {
      padding-top: 75px;
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_menu.svg") no-repeat top center;
      margin-bottom: 40px
  }

  #mainCnt #menuArea h2 span {
      font-size: 18px;
      margin-top: 5px
  }

  #mainCnt #menuArea dt {
      font-size: 22px;
      padding: 10px 60px 10px 20px
  }

  #mainCnt #menuArea dt:after {
      font-size: 26px
  }

  #mainCnt #menuArea dd {
      padding: 30px 15px 30px
  }

  #mainCnt #menuArea .headLine {
      font-size: 20px;
      margin-bottom: 20px
  }

  #mainCnt #menuArea .subHeadline {
      font-size: 16px;
      margin-bottom: 15px
  }

  #mainCnt #menuArea .menuWrap {
      display: block;
      margin-top: 20px;
      padding: 20px 0 0
  }

  #mainCnt #menuArea .menuWrap:last-of-type {
      padding-bottom: 20px;
      margin-bottom: 20px
  }

  #mainCnt #menuArea .menuWrap .menuBox {
      font-size: 14px
  }

  #mainCnt #menuArea .menuWrap .menuBox:nth-child(odd) {
      max-width: 100%
  }

  #mainCnt #menuArea .menuWrap .menuBox:nth-child(even) {
      max-width: 100%
  }

  #mainCnt #menuArea .menuWrap .menuBox:nth-of-type(1) {
      margin-bottom: 20px
  }

  #mainCnt #menuArea .menuWrap .menuBox img {
      width: 100%
  }

  #mainCnt #menuArea .price {
      margin-top: 15px;
      font-size: 14px
  }

  #mainCnt #menuArea .attText br {
      display: block
  }

  #mainCnt #groupArea h2 {
      padding-top: 75px;
      background: url("https://matsuoka-shika.com/wp/wp-content/themes/base/img/mamatokodomo_lp/icon_logo.svg") no-repeat top center;
      margin-bottom: 40px
  }

  #mainCnt #groupArea h2 span {
      font-size: 18px;
      margin-top: 5px
  }

  #mainCnt #groupArea h2+p {
      font-size: 14px
  }

  #mainCnt #groupArea h3 {
      font-size: 24px
  }

  #mainCnt #groupArea .groupWrap {
      display: block
  }

  #mainCnt #groupArea .groupWrap .groupBox {
      max-width: 100%;
      font-size: 18px;
      padding: 40px 15px 30px
  }

  #mainCnt #groupArea .groupWrap .groupBox:nth-child(n+3) {
      margin-top: 0
  }

  #mainCnt #groupArea .groupWrap .groupBox+.groupBox {
      margin-top: 60px
  }

  #mainCnt #groupArea .groupWrap .groupBox .num {
      font-size: 28px
  }

  #mainCnt #groupArea ul {
      margin: 20px 0 0
  }

  #mainCnt #groupArea ul li {
      flex-basis: 48%;
      max-width: 48%
  }

  #mainCnt #groupArea ul li:nth-child(n+3) {
      margin-top: 20px
  }

  #mainCnt #bnrArea {
      margin-bottom: 60px
  }

  #mainCnt #bnrArea a {
      display: block
  }

  #mainCnt #bnrArea a .imgBox {
      max-width: 100%
  }

  #mainCnt #news_blogArea {
      padding: 90px 0 90px
  }

  #mainCnt #news_blogArea:before {
      height: 30px
  }

  #mainCnt #news_blogArea:after {
      height: 30px
  }

  #mainCnt #news_blogArea .news_blogInner {
      display: block
  }

  #mainCnt #news_blogArea .news_blogInner h2 {
      margin: 0 0 20px
  }

  #mainCnt #news_blogArea #newsArea,
  #mainCnt #news_blogArea #blogArea {
      max-width: 100%
  }

  #mainCnt #news_blogArea #blogArea {
      margin-top: 60px
  }

  #mainCnt #news_blogArea .newsHeadline,
  #mainCnt #news_blogArea .blogHeadline {
      font-size: 28px
  }

  #mainCnt #news_blogArea .post_list-list .listInner {
      margin-bottom: 15px;
      padding-bottom: 15px
  }

  #mainCnt #news_blogArea .post_list-list .listInner:first-child {
      padding-top: 15px
  }

  #mainCnt #news_blogArea .btn {
      margin: 30px auto 0
  }

  #mainCnt #recruitArea {
      margin-top: -60px;
      margin-bottom: 90px;
      font-size: 14px
  }

  #mainCnt #recruitArea a {
      display: block
  }

  #mainCnt #recruitArea a .textBox {
      max-width: 100%;
      padding: 30px 30px
  }

  #mainCnt #recruitArea a .imgBg {
      max-width: 100%
  }

  #mainCnt #recruitArea a .imgBg:before {
      padding-top: 70%
  }
}

.effectFade.effectFadeUp {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .8s linear, transform .8s linear
}

.effectFade.effectActive {
  opacity: 1;
  transform: translate(0, 0)
}

.effectFade.td1 {
  transition-delay: 0.1s
}

.effectFade.td2 {
  transition-delay: 0.2s
}

.effectFade.td3 {
  transition-delay: 0.3s
}

.effectFade.td4 {
  transition-delay: 0.4s
}

.effectFade.td5 {
  transition-delay: 0.5s
}

.effectFade.td6 {
  transition-delay: 0.6s
}

.effectFade.td7 {
  transition-delay: 0.7s
}

.effectFade.effectShow {
  opacity: 1;
  transition-delay: 0s;
  transition: .3s ease-in
}

#pagetopArea {
  width: 100%;
  height: 40px;
  background-color: #f7edee;
  margin-top: 90px
}

#pagetopArea a {
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  color: #ee98bf;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}

@media screen and (max-width: 767px) {
  #pagetopArea {
      margin-top: 60px
  }
}

.footer {
  padding: 60px 0 50px;
  background-color: #ee98bf
}

.footer .ftrCnt {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px
}

.footer .ftrCnt .logo {
  flex-basis: 110px;
  max-width: 110px;
  width: 100%
}

.footer .ftrCnt .textBox {
  flex-basis: calc(100% - 170px);
  max-width: calc(100% - 170px);
  width: 100%
}

.footer .ftrCnt .textBox .clinicName {
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff
}

.footer .ftrCnt .textBox .clinicName:before {
  content: '';
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 6px);
  background-size: 6px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  left: 0
}

.footer .ftrCnt .textBox .btnWrap {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.footer .ftrCnt .textBox .btnWrap .tel {
  flex-basis: 183px;
  max-width: 183px;
  width: 100%;
  font-size: 16px;
  color: #ffffff;
  font-weight: 500
}

.footer .ftrCnt .textBox .btnWrap .innerBtnWrap {
  flex-basis: 530px;
  max-width: 530px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btnBox {
  flex-basis: 250px;
  max-width: 250px;
  width: 100%
}

.footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btn {
  width: 100%;
  min-height: 60px;
  background-color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  border-radius: 30px;
  font-weight: 500;
  color: #AC8952;
  margin: 0;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16)
}

.footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btn img {
  margin-left: 5px
}

.footer .addrWrap {
  display: flex;
  margin-bottom: 40px
}

.footer .addrWrap .imgBox {
  flex-basis: 206px;
  max-width: 206px;
  width: 100%;
  position: relative;
  overflow: hidden
}

.footer .addrWrap .imgBox img {
  max-width: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover
}

.footer .addrWrap .textBox {
  flex-basis: calc(100% - 206px);
  max-width: calc(100% - 206px);
  width: 100%;
  background-color: #fff;
  padding: 40px 40px 40px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.footer .addrWrap .textBox .addr {
  flex-basis: calc(100% - 220px);
  max-width: calc(100% - 220px);
  width: 100%;
  font-size: 16px
}

.footer .addrWrap .textBox .addr .clinicName {
  font-size: 18px;
  font-weight: 700;
  color: #ee98bf;
  margin-bottom: 20px
}

.footer .addrWrap .textBox .btnWrap {
  flex-basis: 200px;
  max-width: 200px
}

.footer .addrWrap .textBox .btnWrap .btn {
  border: 2px solid #EE98BF;
  max-width: 200px;
  width: 100%;
  min-height: 40px;
  background-color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 30px;
  font-weight: 400;
  color: #ee98bf;
  position: relative
}

.footer .addrWrap .textBox .btnWrap .btn:hover,
.footer .addrWrap .textBox .btnWrap .btn:focus {
  background-color: #ee98bf;
  color: #ffffff
}

.footer .addrWrap .textBox .btnWrap .btn img {
  margin-left: 10px
}

.footer .copy {
  font-size: 12px;
  color: #ffffff;
  text-align: center;
  font-weight: 500
}

@media screen and (max-width: 767px) {
  .footer {
      padding-bottom: 90px
  }

  .footer .ftrCnt {
      display: block;
      margin-bottom: 50px;
      text-align: center
  }

  .footer .ftrCnt .logo {
      margin: 0 auto 30px
  }

  .footer .ftrCnt .textBox {
      max-width: 100%
  }

  .footer .ftrCnt .textBox .clinicName {
      margin-bottom: 20px;
      font-size: 18px
  }

  .footer .ftrCnt .textBox .btnWrap {
      display: block
  }

  .footer .ftrCnt .textBox .btnWrap .tel {
      max-width: 330px;
      width: 100%;
      margin: 0 auto;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: space-between
  }

  .footer .ftrCnt .textBox .btnWrap .tel img {
      flex-basis: 183px;
      max-width: 183px;
      width: 100%
  }

  .footer .ftrCnt .textBox .btnWrap .innerBtnWrap {
      flex-basis: 530px;
      max-width: 530px;
      display: block;
      margin-top: 40px
  }

  .footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btnBox {
      margin: 0 auto
  }

  .footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btnBox:nth-child(2) {
      margin-top: 30px
  }

  .footer .ftrCnt .textBox .btnWrap .innerBtnWrap .btn {
      font-size: 14px
  }

  .footer .addrWrap {
      display: block;
      margin-bottom: 30px
  }

  .footer .addrWrap .imgBox {
      max-width: 100%;
      height: 177px
  }

  .footer .addrWrap .textBox {
      max-width: 100%;
      padding: 20px 15px;
      display: block
  }

  .footer .addrWrap .textBox .addr {
      max-width: 100%;
      font-size: 14px
  }

  .footer .addrWrap .textBox .addr .clinicName {
      font-size: 16px;
      margin-bottom: 15px
  }

  .footer .addrWrap .textBox .btnWrap {
      margin: 20px auto 0
  }

  .footer .addrWrap .textBox .btnWrap .btn {
      font-size: 14px
  }
}

#fixedBtnSpArea {
  width: 100%;
  opacity: 0;
  z-index: 10;
  position: fixed;
  bottom: -50px;
  transition: .6s
}

#fixedBtnSpArea.fixedsp {
  opacity: 1;
  transition: .6s;
  bottom: 0
}

#fixedBtnSpArea ul {
  margin: 0 0 0 0;
  padding: 0;
  height: 50px;
  width: 100%;
  overflow: hidden;
  display: flex
}

#fixedBtnSpArea ul li {
  list-style: none;
  flex-basis: 50%;
  max-width: 50%;
  width: 100%
}

#fixedBtnSpArea ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #fff;
  margin: 0;
  padding: 10px 10px 10px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none
}

#fixedBtnSpArea ul li.reserve {
  background-color: #f5f3ec
}

#fixedBtnSpArea ul li.reserve a {
  color: #ac8952
}

#fixedBtnSpArea ul li.reserve img {
  width: 23px
}

#fixedBtnSpArea ul li.tel {
  background-color: #AC8952
}

#fixedBtnSpArea ul li.tel img {
  width: 16px
}

#fixedBtnSpArea ul li img {
  margin-right: 5px;
  vertical-align: middle
}

#fixedBtnSpArea ul li+li {
  border-left: 1px solid #fff
}

@media screen and (min-width: 1025px) {
  #fixedBtnSpArea {
      display: none !important
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #fixedBtnSpArea {
      display: none !important
  }
}

/*fix gnavi top*/
@media screen and (min-width:1025px) {
  .fixedBtnArea {
      display: none;
  }
  .page-template-home .fixedBtnArea {
      display: block;
  }
  .fixedBtnArea {
      position: absolute;
      top: 415px;
      right: 0;
      z-index: 5000;
  }
  .fixedBtnArea.fixedActive {
      position: fixed;
      top: 130px;
  }
  .fixedBtnArea a:hover img {
      opacity: .8;
  }
  .btn_change img {
      display: none;
      width: 140px;
      height: auto;
      margin-bottom: 10px;
      transition: .3s;
  }
  .fixedActive img {
      width: 50px;
  }
  .js_hover_slide-box {
      overflow: visible !important;
      position: relative !important;
      z-index: 1000 !important;
      right: auto !important;
      width: 100% !important;
  }
  .children {
      position: relative;
      z-index: 10;
      width: 142px;
      transition: .3s;
  }
  .children.active {
      color: #fff;
  }
  .children>a:hover {
      color: #fff;
  }
  .children.active>a {
      background: #0C428F;
      color: #fff !important;
  }
  .fa.fa-angle-down {
      position: absolute;
      bottom: 13px !important;
      right: 7px;
      font-size: 18px;
  }
  .children .fa-angle-down:before {
      color: #EE98BF;
      font-size: 20px;
  }
  .children:hover .fa-angle-down:before {
      color: #fff;
  }
  .children:hover {
      background: #0C428F;
  }
  .children:hover>a {
      color: #fff;
  }
  .children.is-active .fa-angle-down:before {
      color: #fff;
      content: "\f106";
  }
  .children.is-active {
      z-index: -1;
  }
  .sub-menu {
      opacity: 0;
      /* display: none; */
      position: absolute;
      top: 60px;
      left: -26px;
      z-index: -1;
      width: 588px;
      padding: 50px 20px 25px 40px;
      box-sizing: content-box;
  }
  @media all and (-ms-high-contrast:none) {
      _:-ms-lang(x)::-ms-backdrop,
      .children:hover .sub-menu {
          opacity: 1;
      }
  }
  .children .sub-menu {
      animation-name: hide;
      animation-duration: .3s;
      animation-fill-mode: forwards;
  }
  .children .sub-menu li{
      text-align: left;
  }
  /* .header__nav-list .children .sub-menu {
      min-height: 40px;
  }
  .header__nav-list .price.children .sub-menu {
      max-width: 240px;
      width: 100%;
  }
  .header__nav-list .price.children .sub-menu li {
      max-width: 230px;
      width: 100%;
  } */
  @keyframes hide {
      0% {
          opacity: 1;
      }
      100% {
          opacity: 0;
      }
  }
  .children:hover .sub-menu {
      animation-name: show;
      animation-duration: .3s;
      animation-fill-mode: forwards;
  }
  @keyframes show {
      0% {
          opacity: 0;
      }
      100% {
          opacity: 1;
      }
  }
  .sub-menu::before {
      position: absolute;
      top: 25px;
      left: 0;
      width: 100%;
      height: 170%;
      background: #F0F4F8;
      content: "";
  }
  .sub-menu::after {
      position: absolute;
      top: 10px;
      left: 60px;
      border-right: 10px solid transparent;
      border-bottom: 16.6025px solid #F0F4F8;
      border-left: 10px solid transparent;
      content: "";
  }
  .sub-menu li {
      width: 290px;
      margin-left: auto;
      text-align: left;
  }
  .sub-menu li:first-child,
  .sub-menu li:nth-child(2) {
      position: absolute;
      top: 52px;
      left: 40px;
  }
  .sub-menu li:nth-child(2) {
      top: 98px;
  }
  .sub-menu a {
      display: block;
      position: relative;
      z-index: 10;
      margin-right: 0;
      padding-left: 1.5em !important;
      color: #333;
      border-bottom: none;
      line-height: 1.5;
  }
  .sub-menu a::after {
      position: absolute;
      top: 16px;
      left: 5px;
      border-right: 6px solid transparent;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid #EE98BF;
      content: "";
  }
  .sub-menu.is-active a:hover::after {
      border-left-color: #fff !important;
  }
  .drawer-nav.header__nav.js_fiexd {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 6000 !important;
      width: 100% !important;
      height: auto;
      box-shadow: 0px -69px 107px 0px;
  }
  .js_scroll_on {
      display: none;
      position: fixed;
      bottom: 0;
      left: 0;
      z-index: 6000;
      max-width: none;
      width: 100%;
      margin: 0 !important;
      background: #fff;
  }
  .js_scroll_on .header__logo {
      max-width: 320px;
      margin-top: 12px;
  }
}

.js_menu_move {
  position: relative;
  animation-name: menuLeft;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

@keyframes menuLeft {
  0% {
      left: 0;
  }
  100% {
      left: -80%;
  }
}

.js_menu_reset {
  position: relative;
  animation-name: menuReset;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

@media screen and (min-width:1025px) {
  .drawer-nav.header__nav.sp {
      display: none;
  }
}

@media screen and (max-width:767px) {
  .drawer-nav.header__nav.sp {
      padding-bottom: 110px !important;
  }
  .drawer-nav.header__nav.sp .header__nav-list {
      height: auto;
  }
}

@media screen and (max-width:1024px) {
  .header__nav-list .children:nth-child(n+3) .sub-menu {
      padding: 0 !important;
  }
  .header__main_area.js_scroll_on {
      display: none !important;
  }
  .drawer-nav.header__nav.sp {
      touch-action: auto !important;
      position: fixed;
      top: 0;
      bottom: 0;
      overflow-y: auto;
      display: block;
      right: -80%;
      background: #AC8952;
      width: 80%;
      height: 100%;
      padding: 80px 20px 40px;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li.children>a::after {
      content: none;
  }
  .drawer-nav.header__nav.sp .sub-menu {
      display: none;
  }
  .drawer-nav.header__nav.sp .fa.fa-angle-down {
      position: absolute;
      top: 0px !important;
      right: 0;
      z-index: 100;
      width: 100%;
      height: 50px;
  }
  .drawer-nav.header__nav.sp .fa.fa-angle-down:before {
      content: "\f107";
      margin-left: auto;
      margin-top: 13px;
      font-size: 26px;
      display: block;
      width: 26px;
      color: #fff;
  }
  .drawer-nav.header__nav.sp .sub-menu a {
      border-bottom: none;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li a {
      display: block;
      position: relative;
      z-index: 10;
      margin-right: 0;
      line-height: 1.5;
  }
  .drawer-nav.header__nav.sp .header__nav-list>li>a::after {
      position: absolute;
      top: 20px;
      left: 0;
      border-right: 6px solid transparent;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 6px solid #fff;
      content: "";
  }
  .js_nav_close-btn {
      position: absolute;
      top: 20px;
      right: 10px;
      z-index: 10000;
      width: 60px;
      height: 60px;
  }
  .js_nav_close-btn::before,
  .js_nav_close-btn::after {
      position: absolute;
      top: 30px;
      right: 10px;
      z-index: 10;
      width: 40px;
      height: 2px;
      border-top: 2px solid #fff;
      transform: rotate(-45deg);
      content: "";
  }
  .js_nav_close-btn::after {
      border-top: 2px solid #fff;
      transform: rotate(45deg);
  }
  .header__nav-list .children:last-child .sub-menu li, .header__nav-list .children:nth-child(n+3) .sub-menu li {
      width: 100%;
  }
  .header__nav .header__nav-list li.children:hover .sub-menu a,   
  .header__nav .header__nav-list li.children:hover a, .children .sub-menu li a:hover,
  .header__nav .header__nav-list li.children:hover {
      background-color: transparent;
      color: #fff;
  }
  #header #headerCnt #logoArea a{
      justify-content: flex-start;
  }
  #header #headerCnt #logoArea #logo img {
      width: 100%;
  }
}

@keyframes menuReset {
  0% {
      left: -240px;
  }
  100% {
      left: 0;
  }
}

@media screen and (min-width:1025px) {
  .main_visual-list.pc li {
      overflow: hidden;
      height: 84vh !important;
  }
  .main_visual-list.pc li img {
      position: absolute;
      top: 0;
      left: 0;
      object-fit: cover;
      height: 740px;
  }
}

@media screen and (min-width:1600px) {
  .main_visual-list.pc li img {
      object-fit: contain;
      height: auto;
  }
}

.bx-wrapper {
  max-width: none !important;
  box-shadow: none;
  border: none;
  background: none;
  margin-bottom: 0;
}

@media screen and (min-width:1025px) {
  .slider_flow-box img {
      height: 150px !important;
  }
}

.children .sub-menu{
  display: none;
}
.children:hover .sub-menu{
  display: block;
}
.children .sub-menu:hover{
  display: block;
}
.header__nav-list .children:nth-child(n+3) .sub-menu{
  padding: 50px 20px 30px 40px;

}
@media screen and (min-width:1025px) {
.header__nav-list .children:last-child .sub-menu{
  width: 141px;
  padding: 50px 20px 52px 40px;
}
.header__nav-list .children:nth-child(n+3) .sub-menu {
  width: 141px;
}
.header__nav-list .children:last-child .sub-menu li,
.header__nav-list .children:nth-child(n+3) .sub-menu li{
  width: 65%;
}
}


/*
   FILE ARCHIVED ON 15:04:02 Nov 05, 2023 AND RETRIEVED FROM THE
   INTERNET ARCHIVE ON 07:23:03 Jul 08, 2024.
   JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

   ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
   SECTION 108(a)(3)).
*/
/*
playback timings (ms):
captures_list: 1.038
exclusion.robots: 0.104
exclusion.robots.policy: 0.087
esindex: 0.014
cdx.remote: 10.695
LoadShardBlock: 9850.823 (3)
PetaboxLoader3.datanode: 58.847 (5)
PetaboxLoader3.resolve: 284.275 (3)
load_resource: 252.778
loaddict: 35.225
*/