.trans {
  transition: all .2s;
}

@media screen and (max-width: 1024px) {
  /*
----------------------------------------
-1024
----------------------------------------
*/
  .inner {
    padding: 0 5%;
    max-width: 100%;
    margin: 0;
  }
  img {
    max-width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 650px) {
  /*
----------------------------------------
-767
----------------------------------------
*/
  html.active {
    height: 100vh;
  }
  html.active,
  body.active {
    overflow: hidden;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .center {
    text-align: left;
  }
  .wrapper {
    min-width: 100%;
  }
  .bg-fixed {
    position: fixed;
    width: 100%;
    min-height: 100%;
    height: 100%;
  }
  .inner {
    padding: 0 5%;
    max-width: 100%;
    margin: 0;
  }
  p, dt, dd, li {
    font-size: 1.5rem;
    line-height: 2;
  }
  /* layout */
  html {
    margin-top: 0 !important;
  }
  #container {
    display: block;
  }
  #contents {
    width: 100% !important;
    background: none;
  }
  /* flex */
  .flex {
    display: block;
  }
  /*
---------------------------------------
header
---------------------------------------
*/
  #header {
    min-width: 0;
    width: 100%;
  }
  #header.fixed {
    position: relative;
    background: none;
  }
  #header .header-top {
    padding: 17px 0 0;
  }
  #header .logo img {
    max-width: 80px;
  }
  #header .header-top-l {
    padding: 0;
  }
  /* sp-btn */
  html.active,
  body.active {
    overflow: hidden;
  }
  #header .overlay {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    background: rgba(0, 0, 0, 0);
    z-index: -99999;
    visibility: hidden;
    opacity: 0;
    transition: all .4s;
  }
  #header.nav-open .overlay {
    visibility: visible;
    opacity: 1;
    background: #111129;
    z-index: 99999999;
  }
  #sp-btn {
    background: #111129;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    z-index: 99999999999;
    transition: all 0.2s;
    position: fixed;
    top: 17px;
    right: 5%;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    transition: all .2s;
  }
  #sp-btn.fixed,
  .bg-fixed #sp-btn {
    visibility: visible;
    opacity: 1;
  }
  #sp-btn:hover {
    cursor: pointer;
  }
  #sp-btn #sp-btn-a,
  #sp-btn #sp-btn-a span {
    display: inline-block;
    box-sizing: border-box;
    transition: all .2s;
  }
  #sp-btn #sp-btn-a {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%);
    width: 19px;
    height: 12px;
  }
  #sp-btn #sp-btn-a:hover {
    opacity: 1;
  }
  #sp-btn #sp-btn-a span {
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  #sp-btn #sp-btn-a span:nth-of-type(1) {
    top: 0;
  }
  #sp-btn #sp-btn-a span:nth-of-type(2) {
    top: 5px;
    width: 75%;
  }
  #sp-btn #sp-btn-a span:nth-of-type(3) {
    top: 10px;
    width: 45%;
  }
  #sp-btn-a::before {
    position: absolute;
    left: -4px;
    right: 0;
    bottom: -15px;
    display: block;
    width: 100%;
    color: #111;
    font-size: 10px;
    font-weight: 200;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    line-height: 1;
  }
  #sp-btn.active {
    background: transparent;
  }
  #sp-btn.active #sp-btn-a::after {
    color: #fff;
  }
  #sp-btn.active #sp-btn-a span:nth-of-type(1) {
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
    background: #fff;
  }
  #sp-btn.active #sp-btn-a span:nth-of-type(2) {
    opacity: 0;
  }
  #sp-btn.active #sp-btn-a span:nth-of-type(3) {
    -webkit-transform: translateY(-5px) rotate(45deg);
    transform: translateY(-5px) rotate(45deg);
    background: #fff;
    width: 100%;
  }
  .sns-list.sp {
    z-index: 10;
    transition: all 0.2s;
    position: fixed;
    top: 17px;
    right: 17%;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .sns-list.sp .sns-item a {
    width: 35px;
    height: 35px;
    line-height: 35px !important;
    text-align: center;
    border-radius: 50%;
    background: #111129;
    color: #fff;
  }
  .sns-list.sp .sns-item a .icon {
    font-size: 1.7rem;
  }
  /* g-anv */
  #g-nav {
    display: block !important;
    z-index: 999999999;
    position: fixed;
    top: 0;
    color: #fff;
    transition: right 1s;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100%;
    min-width: 320px;
    height: 100%;
    right: -200%;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    background: #111129;
    padding: 80px 0 50px 0 !important;
  }
  #g-nav.active {
    right: 0;
    transition: right 0.3s;
  }
  #g-nav .logo {
    position: static;
    text-align: center;
  }
  #g-nav .logo img {
    max-width: 100%;
  }
  #g-nav .g-nav-list {
    display: block;
    padding: 0;
    padding: 40px 0 0;
    margin: 0 !important;
  }
  #g-nav .g-nav-list li {
    text-align: center;
    padding-bottom: 1rem;
  }
  #g-nav .g-nav-list li a {
    padding: 3px 15px;
    display: block;
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 2;
  }
  #g-nav .sns-list.pc {
    display: none !important;
  }
  #g-nav .sns-box {
    padding-top: 50px;
  }
  #g-nav .sns-box .ttl-sns {
    text-align: center;
    font-size: 1.2rem;
    position: relative;
    padding-bottom: 25px;
  }
  #g-nav .sns-box .ttl-sns:before {
    content: '';
    background: #fff;
    width: 1px;
    height: 15px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
  }
  #g-nav .sns-list {
    display: -ms-flexbox !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 1rem 0 4rem;
  }
  #g-nav .sns-list .sns-item {
    font-size: 2.8rem;
    padding: 0 1.3rem;
  }
  /*/750*/
}
