@media screen and (max-width: 768px) {
  section {
    padding: 16vw 0 8vw;
  }

  html,
  body {
    font-size: 3.6vw;
    line-height: 1.8em;
  }

  body {
    min-width: 100%;
  }

  .pc {
    display: none;
  }

  .sp {
    display: inline-block;
  }

  .sp\:\!whitespace-nowrap {
    white-space: nowrap !important;
  }

  .w48,
  .w50,
  .w58,
  .w52 {
    width: 100%;
  }

  h2 {
    font-size: 10.5vw;
    margin: 0 0 5.333333333vw;
  }

  h3 {
    font-size: 8vw;
  }

  .ti-sub {
    font-size: 4.5vw;
  }

  .inner {
    max-width: 100%;
    min-width: 100%;
  }

  .inner-narrow {
    padding: 0;
  }


	.btn{
		font-size: 4vw;
		padding: 0;
	}



  .left,
  .right {
    float: none;
  }

  .right.fdrg {
    float: right;
  }

  .open .nav {
    visibility: visible;
    opacity: 1;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
  }

  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
	height: 100dvh;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
  }

  .page-plain .ctn {
    padding: 0 4vw;
    width: inherit;
  }

  #top-head .inner {
    min-width: 100%;
  }

  #top-head,
  #top-head .inner {
    width: 100%;
    padding: 0;
  }

  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
  }

  #top-head.fixed {
    padding-top: 0;
    background: transparent;
  }

  #mobile-head {
    background: #fff;
    width: 100%;
    height: 17.33333333vw;
    z-index: 999;
    position: relative;
    padding: 0;
  }

  #mobile-head.wgreen {
    background: none;
  }

  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 3.2vw;
    color: #333;
    font-size: 5vw;
    width: 100%;
    text-align: center;
    width: 28%;
  }

  #top-head .logo.hide {
    display: none;
  }

  #top-head .wlogo {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 3.2vw;
    color: #333;
    font-size: 5vw;
    width: 100%;
    text-align: center;
    width: 28%;
  }

  #top-head .wlogo.show {
    display: inline-block;
  }

  #global-nav {
    position: fixed;
    background: #005E3C;
    width: 100%;
    text-align: center;
    padding: 2.666666667vw 0;
  }

  #global-nav .otbtn {
    display: block;
    position: absolute;
    bottom: 30%;
  }

  #global-nav .otbtn a {
    color: #fff;
  }

  #global-nav .otbtn .sns {
    margin: 0 auto 5.6vw;
  }

  #global-nav .otbtn .sns p {
    display: inline-block;
    margin: 0 2.666666667vw;
  }

  #global-nav ul {
    list-style: none;
    right: inherit;
    font-size: 4.5vw;
    top: 15%;
    margin: 0 auto 18.66666667vw;
  }

  #global-nav ul li {
    float: none;
    position: static;
  }

  #global-nav ul li:after {
    display: none;
  }

  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    width: 100%;
    display: block;
    color: #fff;
    padding: 4vw 0;
  }

  #nav-toggle {
    display: block;
  }

  .open #nav-toggle span {
    background: #ffffff;
  }

  .open #nav-toggle span:nth-child(1) {
    top: 2.933333333vw;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 2.933333333vw;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
    width: 100%;
  }

  .fdlf {
    margin-left: -80vw;
  }

  .fdrg {
    margin-right: -80vw;
  }




  #footer .inner {
    display: block;
  }

  #footer .ctn {
    padding: 0 4vw;
    display: block;
    font-size: 3.6vw;
  }

  #footer .footer-logo {
    text-align: center;
  }

  #footer .company p {
    font-size: 3.4vw;
  }

  #footer .nav {
    text-align: left;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 9.333333333vw auto 0;
    position: relative;
    height: inherit;
    top: inherit;
    left: inherit;
    opacity: 1 !important;
    visibility: visible;
  }

  #footer .nav li {
    width: 50%;
    margin: 0 0 2.666666667vw;
  }

  #footer .nav li a {
    display: block;
  }

  #footer .sns {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  #footer .sns li {
    margin: 0;
  }

  #footer .term {
    display: block;
    margin: 40px auto 0;
  }

  #footer .copyright {
    display: block;
  }
}
