@charset "utf-8";


                                        @media (max-width: 974px) {

                                        }



                        @media (max-width: 771px) {


                        }



          @media (max-width: 675px) {
            section h2 {
              margin: 70px 0 50px;
            }
            .h2_subtitle::after {
              font-size: 40px;
              margin: -55px 0 0 130px;
            }
            a .btn.sp {
              margin: 140px auto 0;
            }
            header h1 {
              margin: 30px auto;
            }
            header nav {
              margin: 0;
            }
            header nav ul li:nth-child(4) a::before {
              background: none;
            }
            header nav ul li a:hover {
              /* padding: 14px 0 12px; */
            }
            #contents {
              margin: 0 auto 80px;
            }
            #contents,#about .outer,#news .outer {
              max-width: 90%;
            }
            #contents .flex ul {
              flex-wrap: wrap;
            }
            #contents .flex ul li {
              width: 100px;
              height: 100px;
            }
            #contents .flex ul li img {
              width: 50px;
              height: 50px;
            }
            #contents .flex ul a:nth-child(4) li {
              margin: 10px 0 0 45px;
            }
            #contents .flex ul a:nth-child(5) li {
              margin: 10px 45px 0;
            }
            #contents .flex ul a:nth-child(5) li img {
              width: 34px;
              height: 65px;
            }
            #contents .flex_lifestyle {
              flex-wrap: wrap;
              margin: 30px 0;
            }
            #contents .flex_lifestyle img.contents_main {
              width: 100%;
            }
            #contents .flex_lifestyle .box_right {
              margin: 0;
            }
            #contents .flex_lifestyle .box_right h3 {
              text-align: center;
              margin: 20px 0;
              margin: 50px 0 40px;
            }
            #contents .flex_lifestyle .box_right p {
              width: 95%;
              text-align: center;
              margin: 0 auto;
            }
            #contents .flex_lifestyle .box_right .flex ul a li {
              margin: 10px 20px 0 20px;
            }
            #contents .flex_lifestyle .box_right .flex ul a:nth-child(3) li {
              margin: 80px 20px 0 20px;
            }
            #contents .flex_lifestyle .box_right .flex ul a:nth-child(4) li {
              margin: 80px 20px 0 20px;
            }
            #contents .flex_lifestyle .box_right .flex ul a:first-child li {
              margin: 10px 20px 0 20px;
            }
            #about .outer {
              flex-wrap: wrap;
            }
            #about .outer p {
              text-align: center;
            }
            #about .outer .flex {
              width: 100%;
            }
            #about .outer .flex .img {
              width: 100%;
              height: auto;
              margin: 20px 0;
            }
            #about .outer .flex .inner {
              flex-wrap: wrap;
              height: auto;
            }
            #about .outer .flex .inner .box_left .about_logo {
              display: flex;
              margin: 0 auto 20px;
            }
            #about .outer .flex .box_right p {
              margin: 20px 0;
            }
            #about .outer .flex .inner .box_left,#about .outer .flex .box_right {
              width: 100%;
            }
            #about .outer .flex .time {
              margin: 15px auto;
            }
            #about .outer .googlemap {
              width: 100%;
              height: 300px;
              margin: 0;
            }
            #about .outer .googlemap figure {
              position: absolute;
              bottom: -85px;
              left: 50%;
              right: 50%;
              margin: 0 0 0 -60px;
            }
            #gallery {
              margin: 0 0 80px 0;
            }
            .shadow_box {
              height: 100px;
            }
            footer {
              max-width: 90%;
            }
            footer .flex {
              display: flex;
              flex-wrap: wrap;
              width: 100%;
              margin: 0 auto;
            }
            footer .flex a {
              width: 100%;
              /* height: 51px; */
              text-align: center;
              margin: 0 auto;
            }
            footer .flex a .logo_footer {
              margin: 30px auto;
            }
            footer .flex a img.logo_footer {
              text-align: center;
            }
            footer .flex ul {
              flex-wrap: wrap;
              margin: 0 0 10px 0;
            }
            footer .flex ul li {
              font-size: 14px;
              margin: 0 0 30px 30px
            }
            footer p {
              font-size: 10px;
              opacity: .7;
              text-align: center;
              float: none;
            }
          }

@media (max-width: 501px) {

}
