.contents-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 990px;
  max-width: 100%;
  min-height: 350px;
  margin: 0 auto;
}

.contents-wrapper > *:first-child {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.contents-wrapper--app-link {
  display: block;
  min-width: 0;
  padding-right: 4%;
  padding-left: 4%;
}

@media (min-width: 990px) {
  .contents-wrapper--app-link {
    min-width: 990px;
  }
}

.main {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

@media (min-width: 1140px) {
  .main {
    max-width: calc(100% - 260px);
  }
  .main:only-child {
    max-width: 100%;
  }
}

.aside {
  position: relative;
  z-index: 50;
  display: block;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.aside .side-menu {
  display: none;
  width: 260px;
}

.aside--show {
  z-index: 50;
  margin-left: -260px;
  background: #f5f5f5;
  -webkit-box-shadow: -10px 0 15px -10px rgba(0, 0, 0, 0.2);
  box-shadow: -10px 0 15px -10px rgba(0, 0, 0, 0.2);
}

.aside--show .show-aside-btn {
  display: none;
}

.aside--show .side-menu {
  display: block;
}

@media (min-width: 1140px) {
  .aside {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    background: #f5f5f5;
    -webkit-box-shadow: -10px 0 15px -10px rgba(0, 0, 0, 0.2);
    box-shadow: -10px 0 15px -10px rgba(0, 0, 0, 0.2);
  }
  .aside .show-aside-btn {
    display: none;
  }
  .aside .side-menu {
    display: block;
  }
}

.container {
  width: 970px;
  margin-right: auto;
  margin-left: auto;
}


/* コンテナ幅 */
@media (min-width: 1010px) {
  .container {
    width: calc(100% - 20px);
  }
}

@media (min-width: 1140px) {
  .container {
    width: 850px;
  }
}

@media (min-width: 1274px) {
  .container {
    width: 984px;
  }
}

@media (min-width: 1360px) {
  .container {
    width: 1070px;
  }
}

@media (min-width: 1410px) {
  .container {
    width: 1120px;
  }
}

.container__gutter {
  padding-right: 0;
  padding-left: 0;
}

.container__gutter-offset {
  margin-right: 0;
  margin-left: 0;
}
