.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: flex !important; }

.d-inline-flex {
  display: inline-flex !important; }
.margin-control {
  margin-top: 12px; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media (max-width: 575px) {
  .d-down-none {
    display: none !important; } }

@media (max-width: 767px) {
  .margin-control {
    margin-top: 6px; }
  .d-sm-down-none {
    display: none !important; }
    
  /* スマホレイアウト向けナビゲーションバーの調整 */
  .navbar-static-top {
    position: relative;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    width: 100%;
  }
  
  /* スマホでのみ表示する改行 */
  .sp-only {
    display: inline-block;
  }
  
  /* ログイン日時部分のスタイル調整 */
  .main-header .date {
    position: relative;
    z-index: 1;
    flex: 1;
    white-space: nowrap;
    overflow: visible;
    font-size: 10px;
    line-height: 1.2;
    padding-right: 0;
    max-width: 70%;
    text-align: left;
  }
  
  /* ログインラベルと日付のスタイル */
  .main-header .date .login-label,
  .main-header .date .login-date {
    display: block;
    white-space: nowrap;
  }
  
  /* ユーザー情報を右側に配置し、改行して表示 */
  .navbar-custom-menu {
    position: relative;
    float: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 5px;
  }
  
  /* ユーザーアイコン周りの調整 */
  .navbar-custom-menu .dropdown-toggle {
    padding: 10px 2px !important;
    font-size: 10px;
    text-align: right;
    white-space: normal;
    line-height: 1.2;
  }
  
  .navbar-custom-menu .dropdown-toggle i {
    margin-right: 1px;
    font-size: 12px;
  }
  
  /* サイドバートグルボタンのアイコン調整 */
  .sidebar-toggle:before {
    font-size: 16px;
  }
  
  /* ヘッダーとコンテンツの間隔を確保 */
  .content-wrapper {
    padding-top: 10px;
    margin-top: 0;
    width: 100%;
  }
  
  /* ヘッダー全体のスタイル調整 */
  .main-header {
    box-shadow: none;
    width: 100%;
  }
  
  /* ロゴ部分の調整 */
  .main-header .logo {
    border-bottom: none;
    width: 100%;
  }
  
  /* サイドバーとの間隔調整 */
  .content-wrapper, 
  .right-side {
    margin-left: 0 !important;
    width: 100%;
  }
  
  /* ページ全体の幅を調整 */
  body, html, .wrapper {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }
}

@media (max-width: 991px) {
  .d-md-down-none {
    display: none !important; } }

@media (max-width: 1199px) {
  .d-lg-down-none {
    display: none !important; 
  }
}

@media (max-width: 1346px) {
  .width-period {
    width: 100% !important;
    padding-left: 15px;
    float: left;
  }
}

@media (min-width: 1419px) {
  .width-period {
    width: 75% !important;
    float: left;
  }
}

@media (min-width: 1420px) {
  .width-period {
    width: 75% !important;
    padding-left: 15px;
    float: left;
  }
}

/* PCレイアウトでは改行を非表示 - グローバル設定 */
.sp-only {
  display: none;
}
