@charset "UTF-8";
body, div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, figure {
  margin: 0;
  padding: 0; }

img {
  border: 0;
  vertical-align: bottom; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ul {
  list-style: none; }

caption, th {
  text-align: left; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* html
------------------------------------------------- */
html {
  overflow-y: scroll;
  height: 100%;
  scroll-behavior: smooth; }

/* body
------------------------------------------------- */
body {
  width: 100%;
  height: 100%;
  color: #000;
  font-size: 16px;
  font-family: 'noto sans';
  line-height: 1.6;
  _display: inline;
  _zoom: 1; }
  body img {
    width: 100%;
    height: auto; }
  body .pc {
    display: block; }
  body .sp {
    display: none; }

@media (max-width: 640px) {
  body {
    font-size: 13px; }
    body .pc {
      display: none; }
    body .sp {
      display: block; } }
/* left right
------------------------------------------------- */
#left, #right {
  width: calc((100vw - 640px)/2);
  height: 100vh;
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  z-index: 0;
  overflow: hidden; }

#left {
  left: 0;
  background: url("../img/common/bg_cloud01.png") no-repeat center top #fbc82b;
  background-size: 100% auto; }
  #left .inner {
    width: 50%;
    padding-top: 10%; }
    #left .inner .logo {
      margin-bottom: 50%; }
    #left .inner ul li {
      margin-bottom: 10%; }
      #left .inner ul li a {
        font-size: min(1vw, 24px);
        font-family: 'noto sans bold';
        position: relative; }
        #left .inner ul li a:after {
          content: "";
          position: absolute;
          left: 0;
          bottom: -7px;
          background: #000;
          width: 40px;
          height: 3px;
          transform: scale(0, 1);
          transform-origin: left top;
          transition: transform 0.3s; }
        #left .inner ul li a:hover {
          text-decoration: none; }
          #left .inner ul li a:hover:after {
            transform: scale(1, 1); }

#right {
  right: 0;
  background: url("../img/common/bg_cloud02.png") no-repeat center top #f2972c;
  background-size: 100% auto; }
  #right .inner {
    width: 60%; }
    #right .inner .english {
      margin: 10% 0; }
    #right .inner .insta {
      border-radius: 20px;
      background: #fff;
      width: 70%;
      margin: 0 auto 5%;
      padding: 5% 5%; }
      #right .inner .insta dl {
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
        #right .inner .insta dl dt {
          width: 60%;
          margin-right: 5%;
          font-size: min(0.8vw, 20px); }
        #right .inner .insta dl dd {
          width: 30%;
          margin-right: 5%; }
    #right .inner .link {
      width: 80%;
      margin: 0 auto; }
      #right .inner .link .btn01 {
        width: 100%;
        margin-bottom: 6%; }
        #right .inner .link .btn01 a {
          display: block;
          border-radius: 50px;
          border: 2px solid #fff;
          background: #fbc82b;
          padding: 5% 0;
          text-align: center;
          color: #fff;
          font-size: min(0.8vw, 18px);
          font-family: 'noto sans bold';
          position: relative; }
          #right .inner .link .btn01 a:after {
            content: "●";
            position: absolute;
            top: 38%;
            right: 8%;
            font-size: min(0.5vw, 10px); }
          #right .inner .link .btn01 a:hover {
            text-decoration: none; }
      #right .inner .link .btn02 {
        width: 100%; }
        #right .inner .link .btn02 a {
          display: block;
          border-radius: 50px;
          border: 2px solid #fff;
          background: #fff;
          padding: 5% 0;
          text-align: center;
          color: #e99330;
          font-size: min(0.8vw, 18px);
          font-family: 'noto sans bold';
          position: relative; }
          #right .inner .link .btn02 a:after {
            content: "●";
            position: absolute;
            top: 38%;
            right: 8%;
            font-size: min(0.5vw, 10px); }
          #right .inner .link .btn02 a:hover {
            text-decoration: none; }

.mountain {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }

.kids li:first-child {
  position: fixed;
  z-index: 10000;
  bottom: 4%;
  left: 5%;
  width: 18%; }
.kids li:nth-child(2) {
  position: fixed;
  z-index: 10000;
  bottom: 4%;
  right: 8%;
  width: 14%; }

/* wrapper
------------------------------------------------- */
#wrapper {
  z-index: 100;
  background: #fff;
  max-width: 640px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  position: relative; }

@media (max-width: 640px) {
  #wrapper {
    width: 100%; } }
/* header
------------------------------------------------- */
.header {
  position: fixed;
  width: 80px;
  margin: 20px 0 0 540px;
  z-index: 9999; }
  .header__inner {
    width: 100%; }
    .header__inner ul.smenu_sp {
      overflow: hidden; }
      .header__inner ul.smenu_sp li:first-child {
        width: 100%;
        margin-bottom: 20px; }
        .header__inner ul.smenu_sp li:first-child #panel-btn #panel-btn-icon {
          display: block;
          background: url("../img/common/btn_menu.png") no-repeat center center;
          background-size: 100% auto;
          width: 100%;
          height: 100%;
          padding: 36% 0;
          position: relative;
          text-indent: -9999px;
          transition: 0.3s;
          cursor: pointer; }
          .header__inner ul.smenu_sp li:first-child #panel-btn #panel-btn-icon.close {
            background: url("../img/common/btn_menu_close.png") no-repeat center center;
            background-size: 100% auto;
            transition: 0.3s; }

@media (max-width: 640px) {
  .header {
    width: 10%;
    margin: 2% 0 0 87%; }
    .header__inner ul.smenu_sp li:first-child {
      margin-bottom: 20%; } }
/* nav
------------------------------------------------- */
nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.9);
  width: 640px;
  margin: 0 auto;
  height: calc(100vh);
  padding: 5% 0;
  z-index: 9998;
  transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0); }
  nav ul.gnav {
    position: relative;
    left: 0;
    padding: 0 20%; }
    nav ul.gnav li {
      border-bottom: 1px dashed #e99330;
      margin: 0;
      text-align: center; }
      nav ul.gnav li a {
        display: block;
        padding: 8% 0;
        color: #e99330;
        font-size: 18px;
        font-family: 'noto sans bold';
        letter-spacing: 0.05em; }
        nav ul.gnav li a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  nav {
    width: 100%;
    padding: 20% 0 0; }
    nav ul.gnav {
      padding: 0 12%; }
      nav ul.gnav li a {
        padding: 8% 0;
        font-size: 14px; } }
/* breadcrumb
------------------------------------------------- */
.breadcrumb {
  padding-top: 5%; }
  .breadcrumb.bgy {
    background: #fbc82b; }
  .breadcrumb ul {
    max-width: 86%;
    margin: 0 auto;
    overflow: hidden; }
    .breadcrumb ul li {
      float: left;
      color: #e99330; }
      .breadcrumb ul li a {
        color: #e99330;
        text-decoration: none; }
        .breadcrumb ul li a:hover {
          text-decoration: underline; }
      .breadcrumb ul li a::after {
        display: inline-block;
        content: 'ー';
        margin: 0 0.8em;
        color: #e99330;
        font-size: 12px; }

/* article
------------------------------------------------- */
.mv {
  padding-bottom: 0;
  position: relative; }
  .mv .logo {
    position: absolute;
    top: 40%;
    left: 30%;
    width: 40%;
    z-index: 999; }
  .mv .logo_low {
    position: absolute;
    top: 5%;
    left: 5%;
    width: 40%;
    z-index: 999; }
  .mv .slider {
    overflow: hidden; }
    .mv .slider img {
      width: 100%;
      height: auto; }
    .mv .slider .add-animation {
      animation: zoomUp 10s linear 0s normal both; }
  .mv .mountain {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 999; }
    .mv .mountain .title {
      position: absolute;
      top: 80px;
      left: 30px;
      color: #fff;
      font-size: 28px;
      font-family: 'noto sans bold'; }
  .mv .scroll {
    position: absolute;
    bottom: -50px;
    left: 44%;
    width: 12%;
    z-index: 999; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
@media (max-width: 640px) {
  .mv {
    padding-bottom: 18%; }
    .mv .mountain .title {
      top: 48%;
      left: 5%;
      font-size: 18px; }
    .mv .scroll {
      bottom: -40px;
      left: 45%;
      width: 10%; } }
/* pageTop */
#pageTop {
  position: fixed;
  bottom: 150px;
  width: 40px;
  height: 40px;
  margin-left: 590px;
  z-index: 900; }

@media (max-width: 640px) {
  #pageTop {
    width: 8%;
    height: auto;
    right: 3%;
    bottom: 1%;
    z-index: 9997; } }
/* footer
------------------------------------------------- */
.footer {
  background: url("../img/common/bg_footer.png") no-repeat center top;
  background-size: 100% auto;
  width: 100%;
  margin-top: -10px; }
  .footer__inner {
    width: 86%;
    margin: 0 auto;
    padding: 12% 0 10%; }
    .footer__inner h1 {
      width: 50%;
      margin: 0 auto 10%; }
    .footer__inner--fnav {
      margin-bottom: 10%; }
      .footer__inner--fnav li a {
        display: block;
        padding: 2.5% 0;
        text-align: center;
        color: #fff;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        .footer__inner--fnav li a:hover {
          text-decoration: none; }
    .footer__inner--profile {
      display: flex;
      flex-wrap: wrap; }
      .footer__inner--profile dt {
        width: 55%;
        margin-right: 3%; }
        .footer__inner--profile dt .name {
          margin-bottom: 5%;
          color: #fff;
          font-size: 20px;
          font-family: 'noto sans bold'; }
        .footer__inner--profile dt .add {
          color: #fff;
          font-size: 18px;
          font-family: 'noto sans bold'; }
      .footer__inner--profile dd {
        width: 42%; }
        .footer__inner--profile dd .btn01 {
          width: 100%;
          margin-bottom: 6%; }
          .footer__inner--profile dd .btn01 a {
            display: block;
            border-radius: 50px;
            border: 2px solid #fff;
            background: #fbc82b;
            padding: 7% 0;
            text-align: center;
            color: #fff;
            font-size: 18px;
            font-family: 'noto sans bold';
            position: relative; }
            .footer__inner--profile dd .btn01 a:after {
              content: "●";
              position: absolute;
              top: 22px;
              right: 20px;
              font-size: 10px; }
            .footer__inner--profile dd .btn01 a:hover {
              text-decoration: none; }
        .footer__inner--profile dd .btn02 {
          width: 100%; }
          .footer__inner--profile dd .btn02 a {
            display: block;
            border-radius: 50px;
            border: 2px solid #fff;
            background: #fff;
            padding: 7% 0;
            text-align: center;
            color: #e99330;
            font-size: 18px;
            font-family: 'noto sans bold';
            position: relative; }
            .footer__inner--profile dd .btn02 a:after {
              content: "●";
              position: absolute;
              top: 22px;
              right: 20px;
              font-size: 10px; }
            .footer__inner--profile dd .btn02 a:hover {
              text-decoration: none; }
  .footer .copy {
    background: #fff;
    padding: 3% 0 25%;
    text-align: center;
    color: #e99330; }

@media (max-width: 640px) {
  .footer__inner {
    padding: 12% 0 10%; }
    .footer__inner h1 {
      width: 45%;
      margin: 0 auto 8%; }
    .footer__inner--fnav {
      margin-bottom: 10%; }
      .footer__inner--fnav li a {
        padding: 2.5% 0;
        font-size: 14px; }
    .footer__inner--profile dt {
      width: 55%;
      margin-right: 3%; }
      .footer__inner--profile dt .name {
        margin-bottom: 5%;
        font-size: 15px; }
      .footer__inner--profile dt .add {
        font-size: 13px; }
    .footer__inner--profile dd {
      width: 42%; }
      .footer__inner--profile dd .btn01 {
        margin-bottom: 6%; }
        .footer__inner--profile dd .btn01 a {
          padding: 7% 0;
          font-size: 14px; }
          .footer__inner--profile dd .btn01 a:after {
            top: 17px;
            right: 10px;
            font-size: 8px; }
      .footer__inner--profile dd .btn02 a {
        padding: 7% 0;
        font-size: 14px; }
        .footer__inner--profile dd .btn02 a:after {
          top: 17px;
          right: 10px;
          font-size: 8px; }
  .footer .copy {
    padding: 3% 0; } }
/* link
------------------------------------------------- */
a:link,
a:visited {
  color: #000;
  text-decoration: none; }

a:hover,
a:active {
  color: #000;
  text-decoration: underline; }

/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

/* clearfix
------------------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     トップ
******************************************* */
#top .news {
  padding: 15% 0 8%; }
  #top .news__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .news__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .news__inner .en img {
        width: auto;
        height: 17px; }
    #top .news__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 5%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .news__inner--list li {
      border-bottom: 1px dashed #e99330;
      padding: 3% 0;
      font-size: 16px; }

@media (max-width: 640px) {
  #top .news {
    padding: 15% 0 10%; }
    #top .news__inner {
      max-width: 90%; }
      #top .news__inner .en {
        margin-bottom: 2%; }
        #top .news__inner .en img {
          height: 15px; }
      #top .news__inner h2 {
        margin-bottom: 6%;
        padding-bottom: 3%;
        font-size: 20px; }
      #top .news__inner--list li {
        padding: 3% 0;
        font-size: 13px; }
        #top .news__inner--list li .date {
          margin-bottom: 1%; } }
#top .about {
  background: url("../img/top/bg_about.jpg") no-repeat center top #eb9e44;
  background-size: 100% auto;
  margin-top: 16%;
  padding: 38% 0 10%; }
  #top .about__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .about__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .about__inner .en img {
        width: auto;
        height: 24px; }
    #top .about__inner h2 {
      background: url("../img/common/img_line_ttl_w.png") no-repeat center bottom;
      margin-bottom: 5%;
      padding-bottom: 3%;
      text-align: center;
      color: #fff;
      font-size: 28px; }
    #top .about__inner--read {
      margin-bottom: 10%;
      text-align: center;
      color: #fff;
      line-height: 1.8; }
    #top .about__inner .btn {
      width: 80%;
      margin: 0 auto; }
      #top .about__inner .btn a {
        display: block;
        background: url("../img/common/bg_btn_type01.png") no-repeat center center;
        padding: 5.5% 0 8%;
        text-align: center;
        color: #e99330;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        #top .about__inner .btn a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .about {
    padding: 40% 0 10%; }
    #top .about__inner {
      max-width: 86%; }
      #top .about__inner .en {
        margin-bottom: 2%; }
        #top .about__inner .en img {
          height: 22px; }
      #top .about__inner h2 {
        margin-bottom: 7%;
        font-size: 20px; }
      #top .about__inner--read {
        margin-bottom: 8%; }
      #top .about__inner .btn {
        width: 90%; }
        #top .about__inner .btn a {
          background-size: 100% auto;
          font-size: 16px; } }
#top .life {
  background: url("../img/top/bg_life.jpg") no-repeat center bottom #e1787c;
  background-size: 100% auto;
  padding: 10% 0 30%; }
  #top .life__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .life__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .life__inner .en img {
        width: auto;
        height: 17px; }
    #top .life__inner h2 {
      background: url("../img/common/img_line_ttl_w.png") no-repeat center bottom;
      margin-bottom: 5%;
      padding-bottom: 3%;
      text-align: center;
      color: #fff;
      font-size: 28px; }
    #top .life__inner--read {
      width: 70%;
      margin: 0 auto 10%;
      text-align: center;
      color: #fff;
      line-height: 1.8; }
    #top .life__inner .btn {
      width: 80%;
      margin: 0 auto; }
      #top .life__inner .btn.mb {
        margin: 0 auto 2%; }
      #top .life__inner .btn a {
        display: block;
        background: url("../img/common/bg_btn_type02.png") no-repeat center center;
        padding: 5.5% 0 8%;
        text-align: center;
        color: #e1787c;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        #top .life__inner .btn a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .life {
    padding: 8% 0 28%; }
    #top .life__inner {
      max-width: 86%; }
      #top .life__inner .en {
        margin-bottom: 2%; }
        #top .life__inner .en img {
          height: 15px; }
      #top .life__inner h2 {
        margin-bottom: 7%;
        font-size: 20px; }
      #top .life__inner--read {
        width: 100%;
        margin: 0 auto 8%; }
      #top .life__inner .btn {
        width: 90%; }
        #top .life__inner .btn.mb {
          margin: 0 auto 2%; }
        #top .life__inner .btn a {
          background-size: 100% auto;
          padding: 5.5% 0 8%;
          font-size: 16px; } }
#top .guide {
  background: url("../img/top/bg_guide.jpg") no-repeat center bottom;
  background-size: 100% auto;
  padding: 17% 0 5%;
  position: relative; }
  #top .guide .kids {
    position: absolute;
    top: -18%;
    right: 1%;
    width: 30%; }
  #top .guide__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .guide__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .guide__inner .en img {
        width: auto;
        height: 22px; }
    #top .guide__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .guide__inner--read {
      width: 100%;
      margin: 0 0 10%;
      text-align: center;
      line-height: 1.8; }
    #top .guide__inner--link {
      display: flex;
      flex-wrap: wrap; }
      #top .guide__inner--link dt {
        width: 48%;
        margin-right: 7%;
        padding-top: 5%; }
        #top .guide__inner--link dt ul {
          background: url("../img/top/bg_bou.png") no-repeat center bottom;
          padding-bottom: 50%; }
          #top .guide__inner--link dt ul li {
            margin-bottom: 4%; }
            #top .guide__inner--link dt ul li:last-child {
              margin-bottom: 0; }
      #top .guide__inner--link dd {
        width: 45%; }

@media (max-width: 640px) {
  #top .guide {
    padding: 14% 0 5%; }
    #top .guide .kids {
      top: -12%;
      right: 1%;
      width: 25%; }
    #top .guide__inner {
      max-width: 86%; }
      #top .guide__inner .en {
        margin-bottom: 2%; }
        #top .guide__inner .en img {
          height: 20px; }
      #top .guide__inner h2 {
        margin-bottom: 8%;
        font-size: 20px; }
      #top .guide__inner--read {
        width: 100%;
        margin: 0 0 10%; } }
#top .insta {
  padding: 15% 0 10%; }
  #top .insta__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .insta__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .insta__inner .en img {
        width: auto;
        height: 24px; }
    #top .insta__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .insta__inner--block {
      margin-bottom: 8%; }
    #top .insta__inner .btn {
      width: 100%; }

@media (max-width: 640px) {
  #top .insta {
    padding: 15% 0 10%; }
    #top .insta__inner .en {
      margin-bottom: 2%; }
      #top .insta__inner .en img {
        height: 22px; }
    #top .insta__inner h2 {
      margin-bottom: 8%;
      font-size: 20px; }
    #top .insta__inner--block {
      margin-bottom: 8%; } }
#top .youtube {
  padding: 10% 0 10%; }
  #top .youtube__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .youtube__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .youtube__inner .en img {
        width: auto;
        height: 22px; }
    #top .youtube__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .youtube__inner--block {
      margin-bottom: 8%; }
      #top .youtube__inner--block iframe {
        width: 100%; }
    #top .youtube__inner .kids {
      width: 45%;
      margin: 0 auto; }
    #top .youtube__inner .btn {
      width: 80%;
      margin: 0 auto; }
      #top .youtube__inner .btn a {
        display: block;
        background: url("../img/common/bg_btn_type03.png") no-repeat center center;
        padding: 5.5% 0 8%;
        text-align: center;
        color: #e99330;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        #top .youtube__inner .btn a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .youtube {
    padding: 10% 0 12%; }
    #top .youtube__inner .en {
      margin-bottom: 2%; }
      #top .youtube__inner .en img {
        height: 20px; }
    #top .youtube__inner h2 {
      margin-bottom: 7%;
      font-size: 20px; }
    #top .youtube__inner--block {
      margin-bottom: 8%; }
      #top .youtube__inner--block iframe {
        height: 210px; }
    #top .youtube__inner .kids {
      width: 45%; }
    #top .youtube__inner .btn {
      width: 90%; }
      #top .youtube__inner .btn a {
        background-size: 100% auto;
        padding: 5% 0 8%;
        font-size: 16px; } }
#top .recruit {
  border-radius: 80px 80px 0 0;
  background: url("../img/top/bg_recruit.png") repeat center top;
  padding: 15% 0 10%;
  position: relative; }
  #top .recruit .kids {
    position: absolute;
    bottom: -15%;
    left: 3%;
    width: 27%; }
  #top .recruit__inner .en {
    margin-bottom: 1%;
    text-align: center; }
    #top .recruit__inner .en img {
      width: auto;
      height: 24px; }
  #top .recruit__inner h2 {
    background: url("../img/common/img_line_ttl_b.png") no-repeat center bottom;
    margin-bottom: 8%;
    padding-bottom: 3%;
    text-align: center;
    color: #40210f;
    font-size: 28px; }
  #top .recruit__inner--block {
    background: url("../img/top/bg_recruit_block.png") no-repeat right bottom;
    background-size: 90% auto;
    position: relative; }
    #top .recruit__inner--block figure {
      width: 80%;
      margin-bottom: 8%; }
      #top .recruit__inner--block figure + div {
        width: 55%;
        margin-left: 40%; }
        #top .recruit__inner--block figure + div .txt {
          margin-bottom: 8%;
          line-height: 2.0; }
        #top .recruit__inner--block figure + div .btn {
          width: 100%;
          margin: 0 auto;
          padding-bottom: 15%; }
          #top .recruit__inner--block figure + div .btn a {
            display: block;
            background: url("../img/common/bg_btn_type04.png") no-repeat center center;
            background-size: 100% auto;
            padding: 5.5% 0 8%;
            text-align: center;
            color: #fff;
            font-size: 20px;
            font-family: 'noto sans bold'; }
            #top .recruit__inner--block figure + div .btn a:hover {
              text-decoration: none; }

@media (max-width: 640px) {
  #top .recruit {
    border-radius: 50px 50px 0 0;
    padding: 12% 0 10%; }
    #top .recruit .kids {
      bottom: -8%;
      left: 3%;
      width: 24%; }
    #top .recruit__inner .en {
      margin-bottom: 2%; }
      #top .recruit__inner .en img {
        height: 20px; }
    #top .recruit__inner h2 {
      margin-bottom: 8%;
      font-size: 20px; }
    #top .recruit__inner--block {
      background-size: 90% auto; }
      #top .recruit__inner--block figure {
        width: 80%;
        margin-bottom: 6%; }
        #top .recruit__inner--block figure + div {
          width: 70%;
          margin-left: 25%; }
          #top .recruit__inner--block figure + div .txt {
            margin-bottom: 7%;
            line-height: 1.8; }
          #top .recruit__inner--block figure + div .btn {
            width: 90%;
            padding-bottom: 15%; }
            #top .recruit__inner--block figure + div .btn a {
              padding: 5% 0 8%;
              font-size: 16px; } }
#top .faq {
  padding: 15% 0 10%; }
  #top .faq__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .faq__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .faq__inner .en img {
        width: auto;
        height: 22px; }
    #top .faq__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .faq__inner--list dl {
      border-bottom: 1px dashed #e99330;
      padding: 3% 0;
      font-size: 16px; }
      #top .faq__inner--list dl dt {
        padding-left: 24px;
        cursor: pointer;
        position: relative; }
        #top .faq__inner--list dl dt:before {
          content: "Q.";
          position: absolute;
          top: 0;
          left: 0; }
        #top .faq__inner--list dl dt:after {
          content: "";
          position: absolute;
          top: 5px;
          right: 10px;
          width: 10px;
          height: 10px;
          border-top: 1.5px solid #e99330;
          border-right: 1.5px solid #e99330;
          transform: rotate(135deg); }
        #top .faq__inner--list dl dt.open:after {
          top: 8px;
          transform: rotate(315deg); }
      #top .faq__inner--list dl dd {
        margin-top: 2%;
        padding-left: 24px;
        position: relative; }
        #top .faq__inner--list dl dd:before {
          content: "A.";
          position: absolute;
          top: 0;
          left: 3px; }

@media (max-width: 640px) {
  #top .faq {
    padding: 15% 0 8%; }
    #top .faq__inner {
      max-width: 86%; }
      #top .faq__inner .en {
        margin-bottom: 2%; }
        #top .faq__inner .en img {
          height: 18px; }
      #top .faq__inner h2 {
        margin-bottom: 8%;
        font-size: 20px; }
      #top .faq__inner--list dl {
        padding: 3% 0;
        font-size: 13px; }
        #top .faq__inner--list dl dt:after {
          top: 5px;
          right: 10px;
          width: 8px;
          height: 8px; }
        #top .faq__inner--list dl dd {
          margin-top: 2%; } }
#top .summary {
  padding: 10% 0 15%; }
  #top .summary__inner {
    max-width: 86%;
    margin: 0 auto; }
    #top .summary__inner .en {
      margin-bottom: 1%;
      text-align: center; }
      #top .summary__inner .en img {
        width: auto;
        height: 22px; }
    #top .summary__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #top .summary__inner figure {
      margin-bottom: 5%; }
    #top .summary__inner--address {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 10%; }
      #top .summary__inner--address dt {
        width: 75%;
        font-size: 18px; }
      #top .summary__inner--address dd {
        width: 25%; }
        #top .summary__inner--address dd .btn a {
          padding-left: 40px;
          font-size: 18px;
          position: relative; }
          #top .summary__inner--address dd .btn a:before {
            content: "";
            position: absolute;
            top: -2px;
            left: 0;
            background: url("../img/common/icon_arrow_btn01.png") no-repeat center center;
            background-size: 30px 30px;
            width: 30px;
            height: 30px; }
          #top .summary__inner--address dd .btn a:hover {
            text-decoration: none; }
    #top .summary__inner--map iframe {
      width: 100%;
      height: 400px; }

@media (max-width: 640px) {
  #top .summary {
    padding: 10% 0 15%; }
    #top .summary__inner .en {
      margin-bottom: 2%; }
      #top .summary__inner .en img {
        height: 20px; }
    #top .summary__inner h2 {
      margin-bottom: 8%;
      font-size: 20px; }
    #top .summary__inner figure {
      margin-bottom: 5%; }
    #top .summary__inner--address {
      margin-bottom: 10%; }
      #top .summary__inner--address dt {
        width: 70%;
        font-size: 13px; }
      #top .summary__inner--address dd {
        width: 30%; }
        #top .summary__inner--address dd .btn a {
          padding-left: 28px;
          font-size: 13px; }
          #top .summary__inner--address dd .btn a:before {
            top: 0;
            background-size: 20px 20px;
            width: 20px;
            height: 20px; }
    #top .summary__inner--map iframe {
      height: 320px; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     保育園について
******************************************* */
#about .greeting {
  background: url("../img/about/bg_greeting.jpg") no-repeat center bottom;
  background-size: 100% auto;
  padding: 15% 0 8%; }
  #about .greeting__box {
    border-radius: 15px;
    background: #eb9e44;
    max-width: 84%;
    margin: 0 auto;
    padding: 1%; }
    #about .greeting__box--inner {
      border-radius: 12px;
      border: 2px solid #fff;
      padding: 15% 5%;
      text-align: center;
      color: #fff;
      position: relative; }
      #about .greeting__box--inner h2 {
        margin-bottom: 8%;
        font-size: 24px; }
      #about .greeting__box--inner p {
        line-height: 2.2; }
      #about .greeting__box--inner .ill01 {
        position: absolute;
        top: -100px;
        right: -30px;
        width: 40%; }
      #about .greeting__box--inner .ill02 {
        position: absolute;
        bottom: -120px;
        left: -30px;
        width: 35%; }

@media (max-width: 640px) {
  #about .greeting {
    padding: 15% 0 8%; }
    #about .greeting__box--inner {
      padding: 10% 5%; }
      #about .greeting__box--inner h2 {
        margin-bottom: 6%;
        font-size: 20px; }
      #about .greeting__box--inner .ill01 {
        top: -60px;
        right: -30px;
        width: 40%; }
      #about .greeting__box--inner .ill02 {
        bottom: -70px;
        left: -30px;
        width: 32%; } }
#about .rinen {
  background: url("../img/about/bg_rinen.jpg") no-repeat center -50px #f3c84d;
  background-size: 100% auto;
  padding: 12% 0 10%; }
  #about .rinen__inner {
    max-width: 60%;
    margin: 0 auto; }
    #about .rinen__inner ul {
      background: url("../img/about/bg_circle.png") repeat-y center top; }
      #about .rinen__inner ul li {
        border-radius: 50%;
        background: #fff;
        width: 350px;
        height: 350px;
        margin: 0 auto 160px;
        position: relative; }
        #about .rinen__inner ul li:first-child .kids {
          position: absolute;
          bottom: -50px;
          left: -110px;
          width: 55%; }
        #about .rinen__inner ul li:nth-child(2) .kids {
          position: absolute;
          bottom: -50px;
          right: -40px;
          width: 50%; }
        #about .rinen__inner ul li:last-child {
          margin: 0 auto; }
          #about .rinen__inner ul li:last-child .kids {
            position: absolute;
            bottom: -40px;
            left: -55px;
            width: 70%; }
        #about .rinen__inner ul li .icon {
          position: absolute;
          top: -30px;
          left: 32%;
          width: 36%; }
        #about .rinen__inner ul li h3 {
          margin-bottom: 20px;
          padding-top: 110px;
          text-align: center;
          color: #e99330;
          font-size: 28px;
          font-family: 'noto sans bold'; }
        #about .rinen__inner ul li .txt_jp {
          text-align: center;
          color: #e99330;
          font-size: 24px;
          line-height: 1.4; }
        #about .rinen__inner ul li .txt_en {
          text-align: center;
          color: #e99330; }

@media (max-width: 640px) {
  #about .rinen {
    background: url("../img/about/bg_rinen.jpg") no-repeat center top #f3c84d;
    background-size: 100% auto;
    padding: 12% 0 10%; }
    #about .rinen__inner {
      max-width: 80%; }
      #about .rinen__inner ul li {
        width: 280px;
        height: 280px;
        margin: 0 auto 120px; }
        #about .rinen__inner ul li:first-child .kids {
          bottom: -50px;
          left: -50px;
          width: 45%; }
        #about .rinen__inner ul li:nth-child(2) .kids {
          bottom: -40px;
          right: -20px;
          width: 45%; }
        #about .rinen__inner ul li:last-child .kids {
          bottom: -20px;
          left: -20px;
          width: 60%; }
        #about .rinen__inner ul li .icon {
          top: -35px;
          left: 35%;
          width: 30%; }
        #about .rinen__inner ul li h3 {
          margin-bottom: 5%;
          padding-top: 25%;
          font-size: 20px; }
        #about .rinen__inner ul li .txt_jp {
          margin-bottom: 2%;
          font-size: 16px;
          line-height: 1.4; } }
#about .foodedu {
  background: url("../img/about/bg_foodedu.jpg") no-repeat center top;
  background-size: 100% auto;
  padding: 15% 0 5%; }
  #about .foodedu h2 {
    background: url("../img/common/img_line_ttl_w.png") no-repeat center bottom;
    margin-bottom: 8%;
    padding-bottom: 3%;
    text-align: center;
    color: #fff;
    font-size: 28px; }
  #about .foodedu__dish {
    background: url("../img/about/img_foodedu01.png") no-repeat center top;
    background-size: 100% auto;
    margin-bottom: 5%; }
    #about .foodedu__dish p {
      width: 55%;
      margin: 0 auto;
      padding: 27% 0;
      text-align: center;
      line-height: 2.2; }
  #about .foodedu__inner {
    max-width: 86%;
    margin: 0 auto; }
    #about .foodedu__inner ul li {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-bottom: 3%; }
      #about .foodedu__inner ul li figure {
        width: 42%; }
        #about .foodedu__inner ul li figure + div {
          width: 53%; }
          #about .foodedu__inner ul li figure + div h3 {
            background: url("../img/about/img_line01.png") no-repeat left bottom;
            margin-bottom: 5%;
            padding-bottom: 3%; }
          #about .foodedu__inner ul li figure + div p {
            line-height: 1.8; }
      #about .foodedu__inner ul li:nth-child(odd) figure {
        margin-right: 5%; }
      #about .foodedu__inner ul li:nth-child(even) figure {
        order: 2; }
        #about .foodedu__inner ul li:nth-child(even) figure + div {
          order: 1;
          margin-right: 5%; }

@media (max-width: 640px) {
  #about .foodedu {
    padding: 15% 0 5%; }
    #about .foodedu h2 {
      margin-bottom: 8%;
      font-size: 20px; }
    #about .foodedu__dish {
      background: url("../img/about/img_foodedu01.png") no-repeat center top;
      background-size: 110% auto;
      margin-bottom: 5%; }
      #about .foodedu__dish p {
        width: 65%;
        padding: 27% 0; }
    #about .foodedu__inner ul li {
      margin-bottom: 6%; }
      #about .foodedu__inner ul li figure {
        width: 40%; }
        #about .foodedu__inner ul li figure + div {
          width: 55%; }
          #about .foodedu__inner ul li figure + div h3 {
            margin-bottom: 5%;
            padding-bottom: 5%; }
      #about .foodedu__inner ul li:last-child {
        margin-bottom: 0; } }
#about .message {
  padding: 15% 0 10%; }
  #about .message h2 {
    background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
    margin-bottom: 8%;
    padding-bottom: 3%;
    text-align: center;
    color: #e99330;
    font-size: 28px; }
  #about .message ul li {
    display: flex;
    flex-wrap: wrap; }
    #about .message ul li figure {
      position: relative;
      width: 30%; }
      #about .message ul li figure.change_img01 {
        transition: all 1s; }
        #about .message ul li figure.change_img01 .door-close {
          display: block; }
        #about .message ul li figure.change_img01 .door-open {
          display: none; }
        #about .message ul li figure.change_img01.act .door-close {
          display: none; }
        #about .message ul li figure.change_img01.act .door-open {
          display: block; }
      #about .message ul li figure.change_img02 .door-close {
        display: block; }
      #about .message ul li figure.change_img02 .door-open {
        display: none; }
      #about .message ul li figure.change_img02.act .door-close {
        display: none; }
      #about .message ul li figure.change_img02.act .door-open {
        display: block; }
      #about .message ul li figure + div {
        width: 58%; }
        #about .message ul li figure + div .name {
          margin-bottom: 20px;
          color: #e99330;
          font-size: 18px;
          font-family: 'noto sans bold'; }
          #about .message ul li figure + div .name span {
            border-radius: 50px;
            background: #e99330;
            margin-right: 20px;
            padding: 5px 20px;
            color: #fff; }
        #about .message ul li figure + div .txt {
          line-height: 2.2; }
    #about .message ul li:first-child {
      margin-bottom: 5%; }
      #about .message ul li:first-child figure {
        margin-right: 5%; }
        #about .message ul li:first-child figure + div {
          padding-top: 40px; }
    #about .message ul li:last-child figure {
      order: 2; }
      #about .message ul li:last-child figure + div {
        order: 1;
        margin: 0 7% 0 5%;
        padding-top: 50px; }

@media (max-width: 640px) {
  #about .message {
    padding: 15% 0 8%; }
    #about .message h2 {
      margin-bottom: 6%;
      font-size: 20px; }
    #about .message ul li figure {
      width: 30%; }
      #about .message ul li figure + div {
        width: 58%; }
        #about .message ul li figure + div .name {
          margin-bottom: 5%;
          font-size: 16px; }
          #about .message ul li figure + div .name span {
            margin-right: 5%;
            padding: 3px 20px;
            font-size: 14px; }
        #about .message ul li figure + div .txt {
          line-height: 2.0; }
    #about .message ul li:first-child {
      margin-bottom: 5%; }
      #about .message ul li:first-child figure + div {
        padding-top: 5%; }
    #about .message ul li:last-child figure + div {
      padding-top: 6%; } }
#about .outline {
  padding: 10% 0 15%; }
  #about .outline__inner {
    max-width: 86%;
    margin: 0 auto; }
    #about .outline__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #about .outline__inner figure {
      margin-bottom: 5%; }
    #about .outline__inner .add {
      margin-bottom: 10%; }
    #about .outline__inner--list dl {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px dashed #e99330;
      padding: 3% 0; }
      #about .outline__inner--list dl dt {
        width: 35%;
        color: #e99330; }
      #about .outline__inner--list dl dd {
        width: 65%; }

@media (max-width: 640px) {
  #about .outline {
    padding: 10% 0 15%; }
    #about .outline__inner h2 {
      margin-bottom: 8%;
      font-size: 20px; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     保育園の生活
******************************************* */
#life .flow {
  padding: 15% 0 8%; }
  #life .flow__inner {
    max-width: 86%;
    margin: 0 auto; }
    #life .flow__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 10%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #life .flow__inner .icon_sun {
      width: 13%;
      margin: 0 auto 2%; }
    #life .flow__inner .icon_moon {
      width: 13%;
      margin: 0 auto; }
    #life .flow__inner ul {
      background: url("../img/life/bg_flow.png") repeat-y center top; }
      #life .flow__inner ul li {
        display: flex;
        flex-wrap: wrap; }
        #life .flow__inner ul li:nth-child(odd) .time {
          background: url("../img/life/img_line01.png") no-repeat left 17px; }
        #life .flow__inner ul li:nth-child(even) figure {
          order: 2; }
        #life .flow__inner ul li:nth-child(even) .time {
          order: 1;
          background: url("../img/life/img_line01.png") no-repeat right 17px;
          margin-left: 35%; }
        #life .flow__inner ul li figure {
          width: 35%;
          position: relative; }
          #life .flow__inner ul li figure img {
            border-radius: 20px; }
          #life .flow__inner ul li figure .caption {
            position: absolute;
            top: 115px;
            left: 0;
            line-height: 1.4; }
            #life .flow__inner ul li figure .caption span {
              font-size: 12px; }
            #life .flow__inner ul li figure .caption a {
              padding-right: 30px;
              position: relative; }
              #life .flow__inner ul li figure .caption a:after {
                content: "";
                position: absolute;
                top: 0;
                right: 0;
                background: url("../img/common/icon_link_down.png") no-repeat center center/cover;
                width: 25px;
                height: 25px; }
              #life .flow__inner ul li figure .caption a:hover {
                text-decoration: none; }
        #life .flow__inner ul li .time {
          width: 30%;
          margin-top: 35px;
          text-align: center;
          color: #e99330;
          font-family: 'noto sans bold'; }
          #life .flow__inner ul li .time > span {
            background: #fff;
            padding: 5px 10px; }
            #life .flow__inner ul li .time > span > span {
              padding-left: 5px;
              font-size: 22px; }

@media (max-width: 640px) {
  #life .flow {
    padding: 15% 0 8%; }
    #life .flow__inner h2 {
      font-size: 20px; }
    #life .flow__inner ul li:nth-child(n+2) {
      margin-top: -30px; }
    #life .flow__inner ul li:nth-child(odd) .time {
      background: url("../img/life/img_line01_sp.png") no-repeat left 15px; }
    #life .flow__inner ul li:nth-child(even) .time {
      background: url("../img/life/img_line01_sp.png") no-repeat right 14px;
      margin-left: 35%; }
    #life .flow__inner ul li figure {
      width: 35%; }
      #life .flow__inner ul li figure img {
        border-radius: 10px;
        margin-bottom: 2%; }
      #life .flow__inner ul li figure .caption {
        position: relative;
        top: 0;
        left: 0;
        font-size: 11px; }
        #life .flow__inner ul li figure .caption span {
          font-size: 10px; }
        #life .flow__inner ul li figure .caption a {
          padding-right: 20px; }
          #life .flow__inner ul li figure .caption a:after {
            top: 2px;
            width: 15px;
            height: 15px; }
    #life .flow__inner ul li .time {
      width: 30%;
      margin-top: 18px;
      font-size: 10px; }
      #life .flow__inner ul li .time > span {
        padding: 5px 5px; }
        #life .flow__inner ul li .time > span > span {
          padding-left: 3px;
          font-size: 16px; } }
#life .program {
  background: #eb9130; }
  #life .program__inner {
    display: flex; }
    #life .program__inner dt {
      background: #e85464;
      width: 5%;
      padding: 7% 5%; }
    #life .program__inner dd {
      width: 75%;
      padding: 10% 5% 0; }
      #life .program__inner dd h3 {
        margin-bottom: 5%;
        text-align: center;
        color: #fff;
        font-size: 20px; }
      #life .program__inner dd .box {
        border-radius: 20px;
        background: #fff;
        padding: 10% 7%; }
        #life .program__inner dd .box ul {
          display: flex;
          flex-wrap: wrap; }
          #life .program__inner dd .box ul li {
            width: 50%;
            margin-bottom: 50px; }
            #life .program__inner dd .box ul li:nth-child(n+5) {
              margin-bottom: 0; }
            #life .program__inner dd .box ul li span {
              border-radius: 50px;
              background: #eb9130;
              margin-right: 10px;
              padding: 10px 15px;
              color: #fff;
              font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  #life .program__inner {
    align-items: center; }
    #life .program__inner dt {
      width: 4%;
      padding: 7% 5%; }
    #life .program__inner dd {
      width: 76%;
      padding: 5% 5%; }
      #life .program__inner dd h3 {
        margin-bottom: 4%;
        font-size: 16px; }
      #life .program__inner dd .box {
        padding: 5% 5%; }
        #life .program__inner dd .box ul li {
          margin-bottom: 30px; }
          #life .program__inner dd .box ul li span {
            margin-right: 5px;
            padding: 2px 5px;
            font-size: 11px; } }
#life .english {
  background: url("../img/life/bg_english.png") no-repeat center top;
  background-size: 100% auto; }
  #life .english__inner {
    width: 48%;
    margin-left: 52%;
    padding: 20% 0 5%; }
    #life .english__inner h3 {
      background: #e99330;
      margin-bottom: 20px;
      padding: 5px 20px;
      color: #fff; }
    #life .english__inner .txt {
      width: 85%;
      margin-bottom: 10px;
      line-height: 2.0; }
    #life .english__inner .img {
      width: 50%;
      margin-left: 40%; }

@media (max-width: 640px) {
  #life .english__inner {
    width: 48%;
    margin-left: 52%;
    padding: 12% 0 5%; }
    #life .english__inner h3 {
      margin-bottom: 5%;
      padding: 5px 10px; }
    #life .english__inner .txt {
      width: 90%;
      margin-bottom: 3%;
      line-height: 1.8; }
    #life .english__inner .img {
      width: 40%;
      margin-left: 40%; } }
#life .event {
  background: #fbc82b;
  padding: 15% 0 15%; }
  #life .event__inner {
    width: 86%;
    margin: 0 auto; }
    #life .event__inner h2 {
      background: url("../img/common/img_line_ttl_w.png") no-repeat center bottom;
      margin-bottom: 8%;
      padding-bottom: 3%;
      text-align: center;
      color: #fff;
      font-size: 28px; }
    #life .event__inner .box {
      border-radius: 20px;
      background: #fff;
      margin-bottom: 20px;
      padding: 10% 5% 5%; }
      #life .event__inner .box dl dt {
        border-bottom: 2px solid #e99330;
        margin-bottom: 10px;
        padding-bottom: 3px;
        color: #e99330;
        font-family: 'noto sans bold'; }
        #life .event__inner .box dl dt span {
          margin-right: 5px;
          font-size: 20px; }
      #life .event__inner .box dl dd {
        margin-bottom: 30px; }
    #life .event__inner .kome {
      color: #fff; }

@media (max-width: 640px) {
  #life .event {
    padding: 15% 0 15%; }
    #life .event__inner h2 {
      margin-bottom: 8%;
      font-size: 20px; }
    #life .event__inner .box {
      margin-bottom: 5%;
      padding: 8% 5% 5%; }
      #life .event__inner .box dl dt {
        margin-bottom: 2%;
        padding-bottom: 1%; }
        #life .event__inner .box dl dt span {
          margin-right: 1%;
          font-size: 16px; }
      #life .event__inner .box dl dd {
        margin-bottom: 6%; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     採用情報
******************************************* */
#recruit .job {
  padding: 15% 0 18%; }
  #recruit .job__inner {
    max-width: 86%;
    margin: 0 auto; }
    #recruit .job__inner--read {
      margin-bottom: 10%;
      text-align: center;
      line-height: 2.0; }
    #recruit .job__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 12%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #recruit .job__inner h3 {
      margin-bottom: 20px; }
      #recruit .job__inner h3 span {
        border-radius: 50px;
        background: #e99330;
        padding: 5px 20px;
        color: #fff;
        font-size: 16px; }
    #recruit .job__inner--detail {
      margin-bottom: 80px; }
      #recruit .job__inner--detail dl {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px dashed #e99330;
        padding: 3% 0; }
        #recruit .job__inner--detail dl dt {
          width: 25%;
          color: #e99330;
          font-family: 'noto sans bold'; }
        #recruit .job__inner--detail dl dd {
          width: 75%; }
    #recruit .job__inner .btn {
      width: 80%;
      margin: 0 auto; }
      #recruit .job__inner .btn a {
        display: block;
        background: url("../img/common/bg_btn_type05.png") no-repeat center center;
        padding: 5.5% 0 8%;
        text-align: center;
        color: #fff;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        #recruit .job__inner .btn a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #recruit .job {
    padding: 15% 0 18%; }
    #recruit .job__inner h2 {
      margin-bottom: 10%;
      font-size: 20px; }
    #recruit .job__inner h3 {
      margin-bottom: 5%; }
      #recruit .job__inner h3 span {
        padding: 5px 15px;
        font-size: 12px; }
    #recruit .job__inner--detail {
      margin-bottom: 12%; }
      #recruit .job__inner--detail dl dt {
        width: 23%; }
      #recruit .job__inner--detail dl dd {
        width: 77%; }
    #recruit .job__inner .btn {
      width: 90%; }
      #recruit .job__inner .btn a {
        background-size: 100% auto;
        font-size: 16px; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     入園のご案内
******************************************* */
#guide .plink {
  background: #fbc82b;
  padding: 10% 0 0;
  position: relative; }
  #guide .plink .ill {
    position: absolute;
    top: -20px;
    right: 2%;
    width: 20%; }
  #guide .plink__inner {
    max-width: 86%;
    margin: 0 auto; }
    #guide .plink__inner ul {
      display: flex;
      flex-wrap: wrap; }
      #guide .plink__inner ul li {
        background: url("../img/guide/bg_cloud.png") no-repeat center center/100% auto;
        width: 40%;
        margin-bottom: 3%; }
        #guide .plink__inner ul li:first-child {
          margin-right: 5%; }
        #guide .plink__inner ul li:nth-child(3) {
          margin-left: 10%;
          margin-right: 5%; }
        #guide .plink__inner ul li a {
          display: block;
          padding: 21% 0 23%;
          text-align: center;
          color: #e99330;
          position: relative; }
          #guide .plink__inner ul li a:after {
            content: "";
            position: absolute;
            bottom: 22px;
            left: 45%;
            width: 8px;
            height: 8px;
            border-top: 1.5px solid #e99330;
            border-right: 1.5px solid #e99330;
            transform: rotate(135deg); }
          #guide .plink__inner ul li a:hover {
            text-decoration: none; }

#guide .comdri {
  background: url("../img/guide/bg_guide.png") repeat-x center top; }
  #guide .comdri__inner {
    border-radius: 20px;
    background: #fff;
    max-width: 86%;
    margin: 0 auto;
    padding: 10% 0 8%; }
    #guide .comdri__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 10%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #guide .comdri__inner--read {
      margin-bottom: 12%;
      text-align: center;
      line-height: 2.0; }

@media (max-width: 640px) {
  #guide .comdri__inner {
    padding: 10% 0 5%; }
    #guide .comdri__inner h2 {
      font-size: 20px; } }
#guide .price {
  padding: 15% 0 10%; }
  #guide .price__inner {
    max-width: 86%;
    margin: 0 auto; }
    #guide .price__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 12%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #guide .price__inner .table_price {
      border-top: 1px solid #000;
      width: 100%; }
      #guide .price__inner .table_price th {
        border-bottom: 1px solid #000;
        width: 6.5%;
        vertical-align: middle; }
        #guide .price__inner .table_price th span {
          padding: 3% 0;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          letter-spacing: -0.1em; }
      #guide .price__inner .table_price td {
        border-left: 1px solid #000;
        border-bottom: 1px solid #000;
        padding: 3% 3%;
        vertical-align: top; }
        #guide .price__inner .table_price td.bgy {
          background: #fdf4ea; }
          #guide .price__inner .table_price td.bgy h3 {
            border-bottom: 1px dashed #eb9130;
            margin-bottom: 10px;
            padding-bottom: 5px;
            text-align: center;
            color: #eb9130;
            font-size: 18px; }
            #guide .price__inner .table_price td.bgy h3 + p {
              text-align: center;
              color: #eb9130; }
        #guide .price__inner .table_price td.bgp {
          background: #fdecee; }
          #guide .price__inner .table_price td.bgp h3 {
            border-bottom: 1px dashed #e8485a;
            margin-bottom: 10px;
            padding-bottom: 5px;
            text-align: center;
            color: #e8485a;
            font-size: 18px; }
            #guide .price__inner .table_price td.bgp h3 + p {
              text-align: center;
              color: #e8485a; }
        #guide .price__inner .table_price td .type01 {
          display: flex;
          flex-wrap: wrap; }
          #guide .price__inner .table_price td .type01 dt {
            background: url("../img/guide/img_dot.png") repeat-x left center;
            width: 45%;
            margin-right: 1%; }
            #guide .price__inner .table_price td .type01 dt span {
              background: #fff;
              padding-right: 5px; }
          #guide .price__inner .table_price td .type01 dd {
            width: 54%; }
        #guide .price__inner .table_price td .type02 {
          display: flex;
          flex-wrap: wrap; }
          #guide .price__inner .table_price td .type02 dt {
            background: url("../img/guide/img_dot.png") repeat-x left center;
            width: 24%;
            margin-right: 1%; }
            #guide .price__inner .table_price td .type02 dt span {
              background: #fff;
              padding-right: 5px; }
          #guide .price__inner .table_price td .type02 dd {
            width: 75%; }
        #guide .price__inner .table_price td.vam {
          vertical-align: middle; }
        #guide .price__inner .table_price td .mb {
          margin-bottom: 10px; }
        #guide .price__inner .table_price td .indent {
          text-indent: -1.0em;
          margin-left: 1.0em; }

@media (max-width: 640px) {
  #guide .price {
    padding: 13% 0 5%; }
    #guide .price__inner h2 {
      margin-bottom: 10%;
      font-size: 20px; }
    #guide .price__inner .table_price th span {
      font-size: 11px;
      white-space: pre; }
    #guide .price__inner .table_price td {
      font-size: 11px; }
      #guide .price__inner .table_price td.bgy h3 {
        font-size: 14px; }
      #guide .price__inner .table_price td.bgp h3 {
        font-size: 14px; }
      #guide .price__inner .table_price td .mb {
        margin-bottom: 5%; } }
#guide .tour {
  padding: 10% 0 10%; }
  #guide .tour__inner {
    max-width: 86%;
    margin: 0 auto; }
    #guide .tour__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 10%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #guide .tour__inner--read {
      margin-bottom: 12%;
      text-align: center;
      line-height: 2.0; }
    #guide .tour__inner .tel {
      margin-bottom: 6%;
      text-align: center; }
      #guide .tour__inner .tel a {
        color: #e99330;
        font-size: 32px;
        font-family: 'noto sans bold';
        pointer-events: none; }
    #guide .tour__inner .btn {
      width: 80%;
      margin: 0 auto; }
      #guide .tour__inner .btn a {
        display: block;
        background: url("../img/common/bg_btn_type05.png") no-repeat center center;
        padding: 5.5% 0 8%;
        text-align: center;
        color: #fff;
        font-size: 20px;
        font-family: 'noto sans bold'; }
        #guide .tour__inner .btn a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #guide .tour {
    padding: 13% 0 5%; }
    #guide .tour__inner h2 {
      margin-bottom: 10%;
      font-size: 20px; }
    #guide .tour__inner--read {
      margin-bottom: 8%; }
    #guide .tour__inner .tel {
      margin-bottom: 6%; }
      #guide .tour__inner .tel a {
        font-size: 28px;
        pointer-events: auto; }
    #guide .tour__inner .btn {
      width: 90%; }
      #guide .tour__inner .btn a {
        background-size: 100% auto;
        font-size: 16px; } }
#guide .voice {
  padding: 10% 0 5%; }
  #guide .voice__inner {
    max-width: 86%;
    margin: 0 auto; }
    #guide .voice__inner h2 {
      background: url("../img/common/img_line_ttl.png") no-repeat center bottom;
      margin-bottom: 15%;
      padding-bottom: 3%;
      text-align: center;
      color: #e99330;
      font-size: 28px; }
    #guide .voice__inner ul li {
      border-radius: 20px;
      box-shadow: 4px 4px #e99330;
      background: #fffae8;
      margin-bottom: 22%;
      padding: 7% 5%;
      position: relative; }
      #guide .voice__inner ul li figure {
        position: absolute;
        top: -80px;
        left: -10px;
        width: 30%; }
      #guide .voice__inner ul li .name {
        margin-bottom: 5%;
        text-align: center;
        color: #e99330;
        font-size: 20px;
        font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  #guide .voice {
    padding: 13% 0 5%; }
    #guide .voice__inner h2 {
      margin-bottom: 14%;
      font-size: 20px; }
    #guide .voice__inner ul li {
      margin-bottom: 18%;
      padding: 5% 5%; }
      #guide .voice__inner ul li figure {
        top: -40px;
        left: -10px;
        width: 25%; }
      #guide .voice__inner ul li .name {
        font-size: 18px; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
/* *******************************************
     お問い合わせ
******************************************* */
#contact .cform {
  background: #fbc82b;
  padding: 15% 0 18%; }
  #contact .cform__inner {
    border-radius: 20px;
    background: #fff;
    max-width: 76%;
    margin: 0 auto;
    padding: 10% 5%; }
    #contact .cform__inner--read {
      margin-bottom: 10%;
      text-align: center;
      line-height: 2.0; }
    #contact .cform__inner h3 {
      margin-bottom: 5%;
      color: #e99330;
      font-size: 24px; }
    #contact .cform__inner--input {
      margin-bottom: 10%; }
      #contact .cform__inner--input dt {
        margin-bottom: 2%; }
        #contact .cform__inner--input dt.mb {
          margin-bottom: 3%; }
        #contact .cform__inner--input dt span {
          padding-right: 50px;
          position: relative; }
        #contact .cform__inner--input dt.required span:after {
          content: "必須";
          position: absolute;
          top: 2px;
          right: 0;
          border-radius: 50px;
          border: 1px solid #e99330;
          padding: 1px 8px;
          color: #e99330;
          font-size: 12px; }
      #contact .cform__inner--input dd {
        margin-bottom: 8%; }
        #contact .cform__inner--input dd input[type=text] {
          border-radius: 5px;
          border: 1px solid #e99330;
          padding: 3% 3%;
          font-size: 16px; }
          #contact .cform__inner--input dd input[type=text].text01 {
            width: 80%; }
          #contact .cform__inner--input dd input[type=text].text02 {
            width: 15%; }
          #contact .cform__inner--input dd input[type=text].text03 {
            width: 7%; }
          #contact .cform__inner--input dd input[type=text].text04 {
            width: 23%; }
          #contact .cform__inner--input dd input[type=text].text05 {
            width: 28%; }
          #contact .cform__inner--input dd input[type=text].text06 {
            width: 93.5%; }
        #contact .cform__inner--input dd select {
          border-radius: 5px;
          border: 1px solid #e99330;
          width: 50%;
          padding: 3% 3%;
          font-size: 16px; }
        #contact .cform__inner--input dd ul.radio li {
          margin-bottom: 3%; }
          #contact .cform__inner--input dd ul.radio li:last-child {
            margin-bottom: 0; }
          #contact .cform__inner--input dd ul.radio li input[type=radio] {
            display: none; }
          #contact .cform__inner--input dd ul.radio li label {
            display: inline-block;
            border-radius: 2px;
            position: relative;
            margin-left: 20px;
            padding: 5px 0 5px 20px;
            text-align: center;
            cursor: pointer;
            line-height: 1; }
            #contact .cform__inner--input dd ul.radio li label:before {
              content: "";
              position: absolute;
              top: 50%;
              left: -10px;
              border-radius: 50%;
              border: 1px solid #e99330;
              background: #fff;
              width: 18px;
              height: 18px;
              margin-top: -10px; }
          #contact .cform__inner--input dd ul.radio li input[type="radio"]:checked + label:after {
            content: "";
            position: absolute;
            top: 50%;
            left: -6px;
            border-radius: 50%;
            background: #e99330;
            width: 12px;
            height: 12px;
            margin-top: -6px; }
        #contact .cform__inner--input dd textarea {
          border-radius: 5px;
          border: 1px solid #e99330;
          width: 93.5%;
          height: 200px;
          padding: 2% 3%;
          font-size: 16px; }
        #contact .cform__inner--input dd .ex {
          display: block;
          margin-top: 2%;
          font-size: 15px; }
        #contact .cform__inner--input dd .sub1 {
          margin: 0 2%;
          font-size: 15px; }
        #contact .cform__inner--input dd .sub2 {
          margin: 0 1%;
          color: #e99330;
          font-size: 15px; }
    #contact .cform__inner .txt_privacy {
      margin-bottom: 8%; }
    #contact .cform__inner .box_privacy {
      border-radius: 10px;
      border: 1px solid #e99330;
      height: 200px;
      margin-bottom: 8%;
      padding: 5% 5%;
      overflow-y: scroll; }
    #contact .cform__inner .check {
      margin-bottom: 8%;
      padding-right: 30px;
      text-align: center; }
      #contact .cform__inner .check span {
        padding-right: 50px;
        position: relative; }
        #contact .cform__inner .check span:after {
          content: "必須";
          position: absolute;
          top: 2px;
          right: 0;
          border-radius: 50px;
          border: 1px solid #e99330;
          padding: 1px 8px;
          color: #e99330;
          font-size: 12px; }
      #contact .cform__inner .check input[type=checkbox] {
        display: none; }
        #contact .cform__inner .check input[type=checkbox]:checked + .check_css:after {
          background: #e99330; }
        #contact .cform__inner .check input[type=checkbox]:checked + .check_css:before {
          opacity: 1.0; }
      #contact .cform__inner .check .check_css {
        position: relative;
        display: inline-block;
        padding: 0 0 0 33px;
        vertical-align: middle;
        cursor: pointer; }
        #contact .cform__inner .check .check_css:after {
          content: "";
          position: absolute;
          top: 40%;
          left: 0;
          display: block;
          border-radius: 3px;
          border: 1px solid #e99330;
          background: #fff;
          width: 20px;
          height: 20px;
          margin-top: -8px; }
        #contact .cform__inner .check .check_css:before {
          content: "";
          position: absolute;
          top: 30%;
          left: 6px;
          display: block;
          border-right: 3px solid #fff;
          border-bottom: 3px solid #fff;
          width: 6px;
          height: 8px;
          margin-top: -2px;
          opacity: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          z-index: 9999; }
    #contact .cform__inner .button01 {
      display: block;
      border-radius: 50px;
      background: #fff;
      border: 1px solid #e99330;
      width: 80%;
      margin: 0 auto;
      padding: 25px 0;
      text-align: center;
      color: #e99330;
      font-size: 24px;
      letter-spacing: 0.1em;
      cursor: pointer; }
  #contact .cform.bgno {
    background: #fff; }
    #contact .cform.bgno .cform__inner {
      border-radius: 0;
      max-width: 86%;
      padding: 0; }
      #contact .cform.bgno .cform__inner .cform__inner--conf {
        margin-bottom: 10%; }
        #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 {
          margin-bottom: 8%; }
          #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li {
            margin-bottom: 3%; }
            #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li:last-child {
              margin-bottom: 0; }
            #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li input[type=radio] {
              display: none; }
            #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li label {
              display: inline-block;
              border-radius: 2px;
              position: relative;
              margin-left: 20px;
              padding: 5px 0 5px 20px;
              text-align: center;
              cursor: pointer;
              line-height: 1; }
              #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li label:before {
                content: "";
                position: absolute;
                top: 50%;
                left: -10px;
                border-radius: 50%;
                border: 1px solid #e99330;
                background: #fff;
                width: 18px;
                height: 18px;
                margin-top: -10px; }
            #contact .cform.bgno .cform__inner .cform__inner--conf .cont01 ul.radio li input[type="radio"]:checked + label:after {
              content: "";
              position: absolute;
              top: 50%;
              left: -6px;
              border-radius: 50%;
              background: #e99330;
              width: 12px;
              height: 12px;
              margin-top: -6px; }
        #contact .cform.bgno .cform__inner .cform__inner--conf dl {
          display: flex;
          flex-wrap: wrap;
          border-bottom: 1px dashed #e99330;
          padding: 5% 0; }
          #contact .cform.bgno .cform__inner .cform__inner--conf dl dt {
            width: 40%; }
          #contact .cform.bgno .cform__inner .cform__inner--conf dl dd {
            width: 60%; }
      #contact .cform.bgno .cform__inner .button02 {
        display: block;
        border-radius: 50px;
        background: #e99330;
        border: none;
        width: 80%;
        margin: 0 auto 5%;
        padding: 25px 0;
        text-align: center;
        color: #fff;
        font-size: 24px;
        letter-spacing: 0.1em;
        cursor: pointer; }
      #contact .cform.bgno .cform__inner .button03 {
        display: block;
        border-radius: 50px;
        background: #fff;
        border: 1px solid #e99330;
        width: 50%;
        margin: 0 auto;
        padding: 20px 0;
        text-align: center;
        color: #e99330;
        font-size: 20px;
        letter-spacing: 0.1em;
        cursor: pointer; }
      #contact .cform.bgno .cform__inner .btn_top {
        width: 80%;
        margin: 0 auto; }
        #contact .cform.bgno .cform__inner .btn_top a {
          display: block;
          border-radius: 50px;
          background: #fff;
          border: 1px solid #e99330;
          width: 100%;
          padding: 20px 0;
          text-align: center;
          color: #e99330;
          font-size: 24px;
          letter-spacing: 0.1em;
          cursor: pointer; }
          #contact .cform.bgno .cform__inner .btn_top a:hover {
            text-decoration: none; }

@media (max-width: 640px) {
  #contact .cform {
    padding: 15% 0 18%; }
    #contact .cform__inner h3 {
      margin-bottom: 5%;
      font-size: 16px; }
    #contact .cform__inner--input {
      margin-bottom: 12%; }
      #contact .cform__inner--input dt {
        margin-bottom: 3%; }
        #contact .cform__inner--input dt.mb {
          margin-bottom: 3%; }
        #contact .cform__inner--input dt.required span:after {
          top: 1px;
          padding: 0 8px;
          font-size: 11px; }
      #contact .cform__inner--input dd {
        margin-bottom: 8%; }
        #contact .cform__inner--input dd input[type=text] {
          padding: 3% 3%;
          font-size: 13px; }
          #contact .cform__inner--input dd input[type=text].text04 {
            width: 20%; }
          #contact .cform__inner--input dd input[type=text].text05 {
            width: 25%; }
        #contact .cform__inner--input dd select {
          width: 50%;
          padding: 3% 3%;
          font-size: 13px; }
        #contact .cform__inner--input dd textarea {
          height: 200px;
          padding: 2% 3%;
          font-size: 13px; }
        #contact .cform__inner--input dd .ex {
          font-size: 12px; }
        #contact .cform__inner--input dd .sub1 {
          font-size: 12px; }
        #contact .cform__inner--input dd .sub2 {
          font-size: 12px; }
    #contact .cform__inner .box_privacy {
      height: 200px;
      margin-bottom: 10%;
      padding: 5% 5%; }
    #contact .cform__inner .check {
      margin-bottom: 10%;
      padding-right: 10px; }
      #contact .cform__inner .check span:after {
        top: 1px;
        padding: 0 8px;
        font-size: 11px; }
    #contact .cform__inner .button01 {
      width: 90%;
      padding: 4% 0;
      font-size: 14px; }
    #contact .cform.bgno .cform__inner .button02 {
      width: 90%;
      padding: 4% 0;
      font-size: 14px; }
    #contact .cform.bgno .cform__inner .button03 {
      padding: 4% 0;
      font-size: 14px; }
    #contact .cform.bgno .cform__inner .btn_top {
      width: 90%; }
      #contact .cform.bgno .cform__inner .btn_top a {
        padding: 4% 0;
        font-size: 14px; } }
