/* screenwidth less than or equal 1000px
--------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {

   .w50 {
      width: 100%;
   }  

   #logo {
      background-size: 100px;
   }
   .nav_btn {
      position: absolute;
      margin-top: 22px;
      right: 40px;
      width: 30px;
      height: 21px;
      z-index: 910;
      cursor: pointer;
   }
   .nav_btn span {
      position: absolute;
      width: 30px;
      height: 2px;
      background: #653013;
      -webkit-transition: all 400ms;
      transition: all 400ms;
   }
   .nav_btn span:nth-child(1) {
       top: 0;
   }
   .nav_btn span:nth-child(2) {
       top: 9px;
   }
   .nav_btn span:nth-child(3) {
       top: 18px;
   }
   .nav_btn.is_active span:nth-child(1) {
      -webkit-transform: translateY(9px) rotate(-45deg);
      transform: translateY(9px) rotate(-45deg);
     }
   .nav_btn.is_active span:nth-child(2) {
      opacity: 0;
   }
   .nav_btn.is_active span:nth-child(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg);
   }


   nav {
      margin-right: 0;
   }
   nav>ul {
      position: absolute;
      top: 0;
      right: 0;
      width: 320px;
      height: auto;
      flex-wrap: wrap;
      padding: 70px 0 40px;
      background: rgba(221, 196, 157, 0.9);
      -webkit-transition: all 400ms ease;
      transition: all 400ms ease;
      pointer-events: none;
      opacity: 0;
      box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px 0px;
      border-bottom-color: rgba(0, 0, 0, 0.06);
   }
   nav>ul.is_active {
      pointer-events: auto;
      opacity: 1;
   }
   nav>ul li {
      width: 100%;
      padding: 0 20px;
      text-align: center;
   }
   nav>ul li a {
      padding: 15px;
   }
   nav>ul li a.header_hotpepper {
      padding: 15px;
   }   
   nav>ul li a.header_hotpepper span {
      border-radius: 15px;
      padding: 10px 30px;
   }
   .for_kids_content {
      width: 570px;
      height: 700px;
   }
   .for_kids_point_2 {
      top: 160px;
      left: 125px;
   }
   .for_kids_point_3 {
      top: 0px;
      left: 250px;
   }
   .for_kids_point_4 {
      top: 160px;
      left: 375px;
   }
   .for_kids_point_5 {
      top: 340px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
   }

}

/* screenwidth less than or equal 930px
--------------------------------------------------------------------- */
@media only screen and (max-width: 930px) {

   #top {
      height: 800px;
   }
   .top_kid1_box {
      top: 430px;
      right: 150px;
   }
   .top_kid2_box {
      top: 360px;
   }
   .top_info {
      top: 530px;
   }
   .concept_text {
      width: 100%;
      margin-top: 40px;
      text-align: center;
   }
   .for_kids_link {
      margin: 25px auto;
   }
   .feature_content {
      max-width: 350px;
   }
   .feature_box {
      width: 100%;
   }
   .feature_box:not(:last-child) {
      margin-bottom: 40px;
   }
   #for_kids h2 {
      padding-top: 10px;
      line-height: 1.5em;
   }

}


/* screenwidth less than 768px - mobile/smaller tablets
---------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {

   @keyframes hovering {
       0% { transform:translateY(0px); }
     100% { transform:translateY(-5px); }
   }

   #logo {
      margin-left: 20px;
   }
   .nav_btn {
      right: 20px;
   }
   #top {
      height: 770px;
   }
   .top_logo {
      left: 50px;
   }
   .top_main_box {
      right: 60px;
   }
   .top_main {
      width: 375px;
      height: 450px;
      -webkit-clip-path: url(#top_mask_main_375);
      clip-path: url(#top_mask_main_375);
   }
   .top_info {
      top: 460px;
   }
   .top_announce {
      margin: 20px;
   }

   #feature h2 {
      max-width: 360px;
      height: 170px;
      padding-top: 110px;
      background-image: url(../images/title_line_320.svg);
   }
   #feature h2 img {
      width: 320px;
   }
   #for_kids h2 {
      max-width: 360px;
      font-size: 20px;
      padding-top: 15px;
      background-image: url(../images/title_line_red_320.svg);
   }
   #page_header h1 {
      width: 320px;
      height: 200px;
      padding: 90px 0;
      font-size: 32px;
      background-size: 320px;
   }
   #menu_page h2 {
      max-width: 375px;
      background-image: url(../images/title_line_320.svg);
      font-size: 26px;
   }
   #menu_page h2>span {
      font-size: 12px;
   }
   #menu_page h3 {
      font-size: 16px;
   }
   .gallery a {
      width: 33%;
   }
   .modal-inner {
      padding: 60px 20px 35px;
   }
   .modal-content h4 {
      background-image: url(../images/title_line_320.svg);
   }
}


/* screenwidth less than 600px - mobile/smaller tablets
---------------------------------------------------------------------- */
@media only screen and (max-width: 600px) {
   body {
      font-size: 14px;
   }
   .top_logo {
      width: 220px;
      top: 50px;
      left: 10px;
   }
   .top_main_box {
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);   
   }
   .top_kid {
      width: 100px;
      height: 100px;
      -webkit-clip-path: url(#top_mask_kid_100);
      clip-path: url(#top_mask_kid_100);
   }
   .top_kid1_box {
      top: 380px;
      right: 135px;
   } 
   .top_kid2_box {
      top: 340px;
      right: 50px;
   } 
   .top_info {
      text-align: center;
      width: 100%;
      top: 510px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      line-height: 1.5em;
   }
   .top_info_links {
      justify-content: center;
   }
   #concept {
      padding: 60px 10px;
   }
   #concept h1 {
      font-size: 18px;
      padding: 120px 0 30px;
   }
   #concept h1 .balloon {
      top: 0;
      left: calc(50% - 42px);
   }
   #feature {
      padding: 60px 10px;
   }
   .feature_content {
      max-width: 320px;
   }
   .feature_box img {
      width: 240px;
      height: 190px;
      -webkit-clip-path: url(#feature_mask_240);
      clip-path: url(#feature_mask_240);
   }
   .feature_box a {
      top: 110px;
      right: 25px;
   }
   #menu_summary h2 {
      font-size: 34px;
   }
   .top_menu_caption {
      font-size: 12px;
   }
   .top_menu_title {
      font-size: 22px;
   }
   .hotpepper_l {
      margin: 100px 10px;
      font-size: 20px;
   }
   #for_kids {
      padding: 20px 10px;
   }
   .for_kids_content {
      width: 300px;
      height: 860px;
   }
   .for_kids_point {
      width: 160px;
      height: 160px;
      background-size: 160px;
      padding-top: 50px;
   }
   .for_kids_point_2 {
      top: 110px;
      left: 135px;
   }
   .for_kids_point_3 {
      top: 220px;
      left: 0px;
   }
   .for_kids_point_4 {
      top: 330px;
      left: 135px;
      padding-top: 63px;
   }
   .for_kids_point_5 {
      top: 490px;
      width: 300px;
      height: 290px;
      background-size: 300px;
   }
   #access iframe {
      height: 400px;
   }
   .access_map_info a {
      margin-right: 10px;
   }
   footer {
      font-size: 13px;
   }
   .footer_logo {
      background-size: 150px;
   }
   #menu_page {
      padding: 0 10px;
   }
   #menu_page>div>span {
      font-size: 12px;
      letter-spacing: 0.02em;
   }
   .comment_box {
      font-size: 13px;
   }
   .comment_box>p>span {
      font-size: 12px;
      margin-left: 10px;
   }
   #subpage_header h1 {
      font-size: 36px;
   }
   #subpage_header h1>span {
      font-size: 14px;
   }
   .page_description {
      max-width: 320px;
      height: 230px;
      background-size: 320px;
      margin: 0 auto;
      padding: 95px 0;
   }
   .subpage_title_comment {
      margin: 0 auto;
   }
}

/* screenwidth less than or equal 480px - mobile wide
  -------------------------------------------------------------------------- */
@media only screen and (max-width: 480px) {   

   .top_main {
      width: 320px;
      height: 450px;
      -webkit-clip-path: url(#top_mask_main_320);
      clip-path: url(#top_mask_main_320);
   }
   .top_kid1_box {
      top: 380px;
      right: 95px;
   }
   .top_kid2_box {
      top: 340px;
      right: 10px;
   }
   .concept_photo {
      max-width: 350px;
      height: 220px;
      background-size: 100px, 300px;
      background-position: right bottom, center top;
   }
   .top_menu_link {
      width: 280px;
   }
   .menu_img_m {
      width: 100vw;
      margin: 0 -10px 25px;
   }
   .menu_img_s {
      width: 120px;
      margin: 10px 0 15px 10px;
   }
   .gallery a {
      width: 50%;
   }
   .modal-content {
      max-height: 550px;
   }
}

/* screenwidth less than or equal 420px - mobile narrow
  -------------------------------------------------------------------------- */
@media only screen and (max-width: 420px) { 

   .for_kids_link {
      width: 100%;
      height: 55px;
      background-position: center bottom 10px;
      font-size: 13px;
   }
   #feature h2 {
      width: 100%;
   }
   .menu_summary_text img {
      width: 100px;
   }
}
/* screenwidth less than or equal 340px - mobile narrow
  -------------------------------------------------------------------------- */
@media only screen and (max-width: 340px) { 

   #concept h1 {
      font-size: 17px;
   }
   .concept_photo {
      background-size: 100px, 280px;
   }
   .for_kids_link {
      line-height: 1.3em;
      height: 70px;
   }
   #feature h2 img {
       width: 100%;
   }
   .menu_summary_text img {
      width: 90px;
   }
   .top_menu_link {
      width: 230px;
   }
   #for_kids h2 .balloon {
      right: -50px;
   }   
   #menu_page h2 .balloon {
      right: -50px;
   }   
}

/* make sure the menu is visible on larger screens
  -------------------------------------------------------------------------- */

@media only screen and (min-width: 900px) {
   
   #nav-wrap ul#nav { display: block !important; }

}









