@charset "utf-8";

header .sp-btn {
    display: none;
}
.pc .side-nav {
    display: block !important;
}

@media screen and (max-width: 640px) {

  /* -----------------------------------------------
    ヘッダー
  ----------------------------------------------- */
  header {
      width: 100%;
      padding: 15px 10px;
      box-sizing: border-box;

  }
  hgroup.mypage-hd {
      width: 100%;
      float: none;
  }
  h1.logo a {
      width: 150px;
      padding-top: 33px;
      margin: 0;
  }
  h2.mypage-tit {
      margin: 8px 0 0 8px;
      width: 90px;
      height: 17px;
  }
  h2.mypage-tit a {
      padding-top: 17px;
      width: 90px;
      background-size: contain;
  }
  header dl {
      float: none;
      margin-top: 20px;
  }
  header dl > * {
      line-height: 150%;
  }
  header dl dt {
      padding: 0;
  }
  header dl dd strong {
      font-size: 150%;
  }
  header .sp-btn {
      display: block;
      position: absolute;
      background-color: #ffa800;
      width: 30px;
      height: 30px;
      top: 15px; right: 10px;
      border-radius: 3px;
  }
  header .sp-btn div {
      background-color: #fff;
      width: auto;
      height: 2px;
      margin: 3px 6px;
  }
  header .sp-btn span {
      display: block;
      width: 40px;
      position: absolute;
      color: #ffa800;
      bottom: -12px;
      left: -5px;
      font-size: 10px;
      line-height: 10px;
      white-space: nowrap;
      text-align: center;
  }

  /* -----------------------------------------------
    フッター
  ----------------------------------------------- */
  footer {
      width: 100%;
      text-align: center;
  }
  .mypage-ft-nav {
      width: auto;
      display: inline-block;
      float: none;
  }
  footer.ft-mypage small {
      text-align: center;
      padding: 10px 0 0;
      float: none;
  }
  /* -----------------------------------------------
    レイアウト
  ----------------------------------------------- */
  .apply, .mypage {
      width: auto;
      font-size: 90%;
      margin-left: 10px;
      margin-right: 10px;
  }

  /* -----------------------------------------------
    ログイン
  ----------------------------------------------- */
  .login {
      width: auto;
      float: none;
  }
  .login dl dt {
      text-align: left;
      margin-right: 0;
  }
  .w-300 {
      width: 100%;
  }

  /* -----------------------------------------------
    サイドメニュー
  ----------------------------------------------- */
  .side-nav {
      display: none;
      margin-left: -10px;
      margin-right: -10px;
  }
  .side-menu {
      width: 100%;
      float: none;
  }
  .customer {
      padding: 8px 5px 7px 5px;
      margin: 0 0 10px;
      box-sizing: border-box;
  }

  /* -----------------------------------------------
    コンテンツ
  ----------------------------------------------- */
  .contents {
      width: auto;
      float: none;
      margin-top: 10px;
      padding-bottom: 30px;
  }

  /* タブ */
  .month-tab {
      height: auto;
      border: none;
  }
  .month-tab li {
      width: 32%;
      height: auto;
      font-size: 100%;
      line-height: 120%;
      margin-left: 2% !important;
      box-sizing: border-box;
  }
  .month-tab li:first-child {
      margin-left: 0 !important;
  }
  .month-tab li a {
      width: 100%;
      padding: 8px 5px;
      height: auto;
      box-sizing: border-box;
      border-bottom: none;
  }
  .month-tab li.active {
      padding: 8px 5px;
      box-sizing: border-box;
      position: relative;
      z-index: 2;
  }

  /* デバイス用タブ */
  .device-tab {
      height: auto;
      border: none;
  }
  .device-tab li {
      width: 83px;
      height: 33px;
      font-size: 100%;
      line-height: 100%;
      margin-left: 2% !important;
      box-sizing: border-box;
  }
  .device-tab li:first-child {
      margin-left: 0 !important;
  }
  .device-tab li a {
      width: 100%;
      /*padding: 8px 5px;*/
      height: 25px;
      box-sizing: border-box;
      border-bottom: 1px solid #FFD666;
  }
  .device-tab li.active {
      padding: 8px 5px;
      box-sizing: border-box;
      position: relative;
      z-index: 2;
      height: 33px;
  }

  .customer-info .tab-frame {
      margin: -1px -10px 0 -10px;
      padding: 15px 10px;
      border: none;
      border-top: solid 1px #ffd666;
      border-bottom: solid 1px #ffd666;
      position: relative;
      z-index: 1;
  }

  .customer-info .tab-frame-device {
  	padding: 4px;
  }

  /* テーブル */
  th, td {
      padding: 10px 5px;
  }
  .fl-form th,
  .customer-info th {
      width: 30%;
  }
  .customer-info th.c-info {
      width: auto;
  }
  .charge th,
  .charge td {
      font-size: 110%;
  }
  .customer-info .detail th,
  .customer-info .detail td {
      padding: 10px 5px;
  }
  .customer-info .detail th {

  }

  /* -----------------------------------------------
    フォーム
  ----------------------------------------------- */
  input#card_lastkana,
  input#card_firstkana {
    width: 36%;
  }

  /* -----------------------------------------------
    フォームボタン
  ----------------------------------------------- */
  form input[type="submit"]:hover {
      opacity: 1;
  }

  /* -----------------------------------------------
    お客様情報の確認
  ----------------------------------------------- */
  #customer .name {
    width: 100%;
    display: block;
    vertical-align: top;
    font-weight: bold;
    margin-top: 5px;
    color: #ffba00;
  }
  #customer .name:first-child {
    margin-top: ;
  }

  #customer .data {
    width: 100%;
    text-indent: 0;
    display: block;
    word-wrap: break-word;
    word-break: break-all;
    margin-left: 0;
  }
  #customer .data:before {
    content: '';
    margin-right: 0;
  }
  th.required {
    padding-right: 45px;
  }
  td img {
    width: 100% !important;
    margin: 3px 0 0 !important;
  }
  #table_comment img {
    width: 100% !important;
    margin: 3px 0 0 !important;
  }

  /* -----------------------------------------------
    pagetop
  ----------------------------------------------- */
  .pagetop {
    width: 100%;
    text-align: center;
  }
  .pagetop.fixed {
    left: 0;
  }
  .pagetop a {
    margin: 0;
  }
  .pagetop a:hover {
    opacity: 1;
  }

  .service {
    width: 100%;
  }
}
