html,
body {
  height: 100%;
  /* htmlとbodyの高さを100% */
  margin: 0;
  /* デフォルトのマージンをリセット */
  display: flex;
  flex-direction: column;
  /* 縦方向のフレックスに設定 */
  overflow: auto;
  font-family: 'Meiryo';
  background-color: #ffffff;
}

/* ヘッダーの高さ */
.header-height {
  height: 56px;
}

/* ヘッダー背景色 */
.bg-light {
  background-color: #ffffff !important;
}

/* ヘッダーコンテナ */
.header-container {
  width: 100%;
  min-width: 1900px; /* min-width　フルHDサイズ1920pxを指定すると、エッジでスクロールが表示されてしまうので、最大サイズより少し小さいサイズを指定する */
  background-color: #ffffff !important;
  margin: 0px;
  padding: 0px;
}

/* メインレイアウトコンテナ - サイドメニューとコンテンツの水平配置 */
.flex-container {
  display: flex;
  flex-direction: row;
  height: calc(100vh - 56px);
  min-height: calc(100vh - 56px);
  padding-left: 0px;
}

/* サイドメニュー部 ここから */
.submenu-width {
  width: 240px;
  background-color: #000e4e !important;
  height: 100%; /* ヘッダーの高さを引いた値 */
}

/* サイドメニューコンテナ - 垂直メニューの基本構造 */
.side-menu-container {
  width: 240px; /* サイドメニューの幅を200pxに設定 */
  height: calc(100vh - 56px); /* ヘッダーの高さを引いた高さに設定 */
  background-color: #d9d9d9;
  margin-top: 20px;
}

/* サブメニュー 非表示設定*/
.submenu {
  display: none; /* 初めはサブメニューを非表示に */
}

.submenu-open {
  display: block;
}

.submenu-close {
  display: none;
}

.nav-item {
  margin-left: 0px;
  margin-right: 0px;
}

.nav-link {
  background-color: #000e4e;
  height: 40px;
}

.nav-active {
  border-left: 20px solid aqua;
  background-color: #d9d9d9;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

.nav-passive {
  border-left: 20px solid #d9d9d9;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

.nav-portal {
  border-left: 20px solid #d9d9d9;
  padding-left: 2px;
  height: 48px;
  align-items: center;
}

side-menu-item {
  margin-top: 10px;
  margin-bottom: 10px;
  padding-right: 0px;
  background-color: #050e4e;
}

.side-menu-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
}

/* サイドメニューのメニュー間の表示間隔 */
.side-menu-gap {
  height: 1px;
}

margin-top20px {
  margin-top: 20px !important;
}

/* 所属テキスト */
.navbar-upper-text {
  text-align: left;
  margin-top: 0px;
  margin-left: 200px;
  margin-right: 0px;
  margin-bottom: 0px;
  line-height: 1.1;
}

/* 氏名テキスト */
.navbar-lower-text {
  text-align: left;
  margin-top: 4px;
  margin-left: 200px;
  margin-right: 0px;
  margin-bottom: 0px;
  line-height: 1.1;
}
/* サイドメニュー部 ここまで */

/* メインコンテンツ */
.main-content {
  flex-grow: 1;
  /* メインコンテンツの幅を100VW-サイドメニューの幅に設定 */
  width: 100%;
  /* メインコンテンツの高さをヘッダーの高さを引いた高さに設定 */
  height: calc(100vh - 56px);
  background-color: #f2f2f2 !important;
}

.login-main-content {
  padding: 15px;
  /* メインコンテンツの幅を100%に設定 */
  width: 100%;
  /* メインコンテンツの高さをヘッダーの高さを引いた高さに設定 */
  height: calc(100vh - 56px);
  background-color: #d9d9d9;
}

.main-area {
  width: 100%;
  min-width: 1900px; /* min-width　フルHDサイズ1920pxを指定すると、エッジでスクロールが表示されてしまうので、最大サイズより少し小さいサイズを指定する */
  background-color: #d9d9d9 !important;
}

.user-login-area {
  width: 944px; /* 固定幅 */
  height: 666px; /* 固定高さ */
  background-color: #ffffff;
  border-radius: 40px;
}

.user-login-title-icon {
  width: 36px;
  height: 36px;
  margin-right: 16px;
  margin-bottom: 5px;
}

.user-area {
  width: 1590px; /* 1600pxで調整するとエッジでスクロールが表示されてしまうので、スクロールが表示されないサイズに調整 */
  height: 812px; /* 固定高さ */
  min-width: 1590px; /* 最小幅 */
  min-height: 812px; /* 最小高さ */
  background-color: #ffffff;
  border-radius: 6px;
  margin: 24px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); /* 影 */
}

.title-icon {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  margin-bottom: 5px;
}

/* タイトル下線 */
.boundary-line {
  margin: 0 auto;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  /* border-color: var(--pcoui-color-border-default); */
  border-color: #cccccc;
  border-top-width: 1px;
  /*border-color:rgba(0,0,0,0.9);*/
  width: 83%;
}

.boundary-line-list {
  /* border-bottom: 4px;
  border-color: #7C7C7C;
  border-style: solid;
  width:83%;
  margin: 0 auto; */
  margin: 0 auto;
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  /*border-color: var(--pcoui-color-border-default);*/
  border-top-width: 1px;
  border-color: #cccccc;
  /* border-color:rgba(0,0,0,0.9); */
}

/* フォントサイズ 36px */
.font-size-36 {
  font-size: 36px;
}

/* フォントサイズ 32px */
.font-size-32 {
  font-size: 32px;
}

/* フォントサイズ 24px */
.font-size-24 {
  font-size: 24px !important;
}

/* フォントサイズ 20px */
.font-size-20 {
  font-size: 20px;
}

/* フォントサイズ 18px */
.font-size-18 {
  font-size: 18px;
}

/* フォントサイズ 16px */
.font-size-16 {
  font-size: 16px;
}

/* フォントサイズ 15px */
.font-size-15 {
  font-size: 15px;
}

/* フォントサイズ 14px */
.font-size-14 {
  font-size: 14px;
}

/* 文字色：グレー */
.text-gray {
  color: #7c7c7c !important;
}

/* 文字色：赤 */
.alert-text {
  color: red !important;
}

/* 文字色:白 */
.text-white {
  color: #ffffff;
}

/* 文字色：基本色 */
.text-default-color {
  color: #1a1a1a;
}

/* 検索条件表示エリア */
.search-conditions-area {
  background-color: #f2f2f2;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 20px;
  margin-right: 20px;
  width: 1590px;
  min-width: 1590px; /* 最小幅 */
}

/* 検索条件入力フォーム全体 */
.search-conditions-form {
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 5px;
  margin-bottom: 0px;
}

/* 検索条件入力フォーム 項目名 */
.search-conditions-item-name {
  width: 150px;
  margin-top: 5px;
  margin-bottom: 3px;
  padding: 4px;
  height: 28px;
  align-items: center;
  font-size: 14px;
}

/* 検索条件入力フォーム 入力欄 */
.search-conditions-item {
  margin-top: 5px;
  margin-bottom: 3px;
  padding: 0px;
  height: 28px;
  font-size: 14px;
}

.search-result-area {
  background-color: #f2f2f2;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 0px;
  margin-bottom: 20px;
  /*margin: 20px;*/
  width: 1590px;
  min-width: 1590px; /* 最小幅 */
}

.search-result-record-count-area {
  margin-left: 20px;
  margin-top: 10px;
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.search-result-record-count-text-area {
  margin-bottom: 0px;
}

.search-conditions-input {
  width: 782px;
  align-items: center;
  font-size: 14px;
  height: 30px !important;
  margin-left: 18px;
  border-radius: 4px;
  border: 1px solid #7c7c7c;
}

.search-conditions-input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #7c7c7c; /* フォーカス時のボーダー色を設定（必要に応じて変更） */
}

.search-conditions-select {
  width: 180px;
  align-items: center;
  font-size: 14px;
  height: 30px !important;
  margin-left: 18px;
  border-radius: 4px;
  border: 1px solid #7c7c7c;
}

.search-conditions-select:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #7c7c7c; /* フォーカス時のボーダー色を設定 */
}

.search-conditions-select-long {
  width: 782px;
  align-items: center;
  font-size: 14px;
  height: 30px !important;
  margin-left: 10px;
  border-radius: 4px;
  border: 1px solid #7c7c7c;
}

.search-conditions-select-long:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #7c7c7c; /* フォーカス時のボーダー色を設定 */
}

.search-conditions-input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #7c7c7c; /* フォーカス時のボーダー色を設定（必要に応じて変更） */
}

.search-conditions-date-input {
  width: 130px;
  align-items: center;
  font-size: 16px;
}

.pass-summary-result-area {
  background-color: #ffffff;
  margin: 20px;
  width: 1590px;
  min-width: 1590px; /* 最小幅 */
  height: 720px;
  min-height: 720px; /* 最小高さ */
}

.item-height {
  height: 38px;
}

.input-text {
  border: 1px solid #7c7c7c;
  color: #1a1a1a;
  border-radius: 4px;
  width: 400px;
}

.input-select {
  border: 1px solid #7c7c7c;
  color: #1a1a1a;
  border-radius: 4px;
  width: 150px;
  height: 36px;
}

.input-select-short {
  width: 180;
  display: inline-block;
}

.input-text-short {
  width: 160px;
  display: inline-block;
}

.input-text-long {
  width: 480px;
  display: inline-block;
}

.input-text-authentication-code {
  width: 40px;
  display: inline-block;
  text-align: center;
}

.input-custom-file-upload {
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
  /*rder-radius: .25rem;*/
  border-radius: 4px;
}

.input-custom-file {
  display: none; /* 実際のファイル入力を非表示にする */
}

:root {
  --pcoui-radius-r4: 4px;
  --pcoui-radius-r6: 6px;
  --pcoui-radius-small: var(--pcoui-radius-r4);
  --pcoui-radius-large: var(--pcoui-radius-r6);
}

.btn-rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  width: 150px;
}

.btn-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  width: 150px;
  background-color: #e4e4e4;
  color: #8a8a8a;
}

.button-mergin-left-100 {
  margin-left: 100px;
}

.button-mergin-right-100 {
  margin-right: 100px;
}

.row-margin-6 {
  margin-top: 6px;
  margin-bottom: 6px;
}

.row-margin-8 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.row-margin-16 {
  margin-top: 16px;
  margin-bottom: 16px;
}

.row-margin-24 {
  margin-top: 24px;
  margin-bottom: 24px;
}

.row-margin-48 {
  margin-top: 48px;
  margin-bottom: 18px;
}

.table-container {
  max-height: 562px;
  /* スクロール領域の最大高さ */
  overflow-y: auto;
  /* 縦方向のオーバーフローをスクロール可能にする */
  width: 90%;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100% !important;
  /*width:auto;*/
}

thead th {
  position: sticky;
  /* ヘッダーを固定 */
  top: 0;
  /* 固定位置を設定 */
  background-color: #f8f9fa;
  /* 背景色を設定（オプション） */
  z-index: 10;
  /* ヘッダーを手前に表示 */
}

/** テーブル ヘッダ 左端 */
.th-border-start {
  border-left: solid 1px #f2f2f2;
  border-top: solid 1px #f2f2f2;
  border-bottom: solid 1px #f2f2f2;
}

/** テーブル ヘッダ 中央 */
.th-border {
  border-top: solid 1px #f2f2f2;
  border-bottom: solid 1px #f2f2f2;
}

/** テーブル ヘッダ 右端 */
.th-border-end {
  border-top: solid 1px #f2f2f2;
  border-bottom: solid 1px #f2f2f2;
  border-right: solid 1px #f2f2f2;
}

/** テーブル 左端 */
.td-border-start {
  border-left: solid 1px #ffffff;
  border-bottom: solid 1px #f2f2f2;
}

/** テーブル 中央 */
.td-border {
  border-left: solid 1px #ffffff;
  border-bottom: solid 1px #f2f2f2;
}

/** テーブル 右端 */
.td-border-end {
  border-left: solid 1px #ffffff;
  border-bottom: solid 1px #f2f2f2;
  border-right: solid 1px #ffffff;
}

.td-height {
  height: 30px !important;
}

.search-list-header {
  height: 27px;
}
.text-user-list-header-center {
  text-align: center;
  padding: 4px !important;
  font-weight: bold;
}

.text-user-list-header-left {
  text-align: left;
  padding-left: 20px !important;
  padding-right: 4px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-weight: bold;
}

.text-user-list-header-right {
  text-align: right;
  padding-left: 4px !important;
  padding-right: 20px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-weight: bold;
}

.text-user-list-row-left {
  text-align: left;
  padding-left: 20px !important;
  padding-right: 4px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  color: #000000 !important;
}

.text-user-list-row-center {
  text-align: center;
  padding: 4px !important;
  color: #000000 !important;
}

.text-user-list-row-right {
  text-align: right;
  padding-left: 4px !important;
  padding-right: 20px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  color: #000000 !important;
}

.text-user-list-row-color {
  background-color: #ffffff !important;
}

.search-result-delete-area {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 20px;
}

.text-notice-list-header-color {
  background-color: #cccccc !important;
}

.text-list-header {
  color: #1a1a1a !important;
  background-color: #cccccc !important;
}

.rounded-number {
  display: inline-block;
  border-radius: 50%;
  min-width: 24px;
  height: 24px;
  text-align: center;
  vertical-align: middle;
  line-height: 24px;
  /* 様々なフォントの配置に合わせるため */
  font-size: 14px;
  text-decoration: none;
  /* フォントサイズの調整 */
  margin-left: 4px;
  margin-right: 4px;
}

.rounded-number-text {
  background-color: #d9d9d9;
  color: #7c7c7c !important;
  border: 1px solid #7c7c7c;
}

.rounded-number-active {
  background-color: #7c7c7c;
  color: #ffffff !important;
  border: 1px solid #7c7c7c;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

/* bootstrap5の入力欄で自動入力（オートフィル）機能を使用すると入力欄の背景色が青色になるのを抑止する　ここから */
/* Autofill用のスタイルをリセット */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px white inset !important; /* 背景色を元に戻す */
  box-shadow: 0 0 0 30px white inset !important; /* 背景色を元に戻す */
  -webkit-text-fill-color: #000; /* テキストの色を設定 */
}

/* このスタイルを追加してオートフィルの選択状態を無効に */
input:-internal-autofill-selected {
  background-color: white !important; /* 指定したい背景色に変更 */
  color: #000 !important; /* 指定したいテキスト色に変更 */
}

/* 追加: フォーカス時のスタイル */
input:focus {
  box-shadow: none; /* フォーカス時のシャドウを無効化 */
  border-color: #80bdff; /* フォーカス時のボーダー色を設定（必要に応じて変更） */
}
/* bootstrap5の入力欄で自動入力（オートフィル）機能を使用すると入力欄の背景色が青色になるのを抑止する　ここまで */

/* 入力欄の非活性 ここから */
.transparent-mail-input {
  background-color: rgba(255, 255, 255, 0.5); /* 透過度 50% の背景色 */
  color: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(124, 124, 124);
}

.transparent-input {
  background-color: rgba(255, 255, 255, 0.5); /* 透過度 50% の背景色 */
  color: #1a1a1a;
  border: 1px solid rgba(124, 124, 124);
}

.transparent-input::placeholder {
  color: rgba(124, 124, 124); /* プレースホルダーの色 CACACA*/
}

.item-height-50 {
  height: 50px;
}

.btn-none {
  display: none !important;
}

/* オーバーレイのスタイル */
.overlay {
  position: fixed; /* 固定位置 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒背景 */
  display: flex; /* フレックスボックス */
  justify-content: center; /* 中央揃え（横） */
  align-items: center; /* 中央揃え（縦） */
  z-index: 9999; /* 最前面に表示 */
  display: none; /* 初期状態では非表示 */
  flex-direction: column; /* 縦に並べる */
}

/* 点滅アニメーション */
.blinking {
  animation: blink 1s infinite; /* 1秒間隔で無限に点滅 */
}
@keyframes blink {
  0%,
  100% {
    opacity: 1; /* 完全表示 */
  }
  50% {
    opacity: 0; /* 完全非表示 */
  }
}

/** ラジオボタンのグループ 非活性時もボタンの色を変更させない ここから */
/* 非活性時もボタンの色を維持 */
.btn-group .btn-outline-primary {
  background-color: #ffffff; /* 背景色: 非常に薄いグレー */
  color: #0063cc; /* テキスト色: ダークグレー */
  border: 1px solid #0063cc; /* ボーダー色: 薄いグレー */
}

.btn-group .btn-check:checked + .btn-outline-primary {
  background-color: #0063cc; /* 背景色: 紺色（サイドメニューと同じ色） */
  color: #ffffff;
  border-color: #0063cc;
}
/* カーソルを通常の矢印に */
.btn-group .btn-check:disabled + label {
  cursor: default;
}

/** ラジオボタンのグループ 非活性時もボタンの色を変更させない ここまで */

/** ボタン **/

/* ===== ボタンのカスタマイズ ここから ===== */

/* 基本ボタン（既存） */
.btn-rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  width: 150px;
  transition: all 0.3s ease; /* ✅ 追加: スムーズなホバー効果 */
}

/* プライマリボタン（青色） */
.btn-rounded.btn-primary {
  background-color: #0063cc;
  color: #ffffff;
  border: 2px solid #0063cc;
}

.btn-rounded.btn-primary:hover {
  background-color: #004a99;
  border-color: #004a99;
  /* transform: translateY(-2px); */ /* ✅ 少し浮き上がる効果 */
  box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3);
}

.btn-rounded.btn-primary:active {
  background-color: #003166;
  /* transform: translateY(0); */
  box-shadow: 0 2px 4px rgba(13, 110, 253, 0.3);
}

.btn-rounded.btn-primary:disabled {
  background-color: #b8cfe6;
  border-color: #b8cfe6;
  opacity: 0.5;
  cursor: not-allowed;
}

/* アラートリボタン（アラート） */
.btn-rounded.btn-alert {
  background-color: #ffe7e5;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
  color: #cc0e00;
  border: 2px solid #cc0e00;
}

.btn-rounded.btn-alert:hover {
  background-color: #ffa099;
}

.btn-rounded.btn-alert:active {
  background-color: #ffa099;
  color: #cc0e00;
}

.btn-rounded.btn-aler:disabled {
  background-color: #ffcfcc;
  cursor: not-allowed;
}

/* セカンダリボタン（青枠） */
.btn-rounded.btn-secondary {
  background-color: #ffffff;
  color: #0063cc;
  border: 2px solid #0063cc;
}

.btn-rounded.btn-secondary:hover {
  background-color: #e9f2fb;
  border-color: #0063cc;
  color: #0063cc;
  /* transform: translateY(-2px); */
  box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
}

.btn-rounded.btn-secondary:active {
  background-color: #9eddfa;
  border-color: #0063cc;
  color: #0063cc;
  /* transform: translateY(0); */
}

.btn-rounded.secondary-primary:disabled {
  background-color: #ffffff;
  border-color: #b8cfe6;
  color: #b8cfe6;
  opacity: 0.5;
  cursor: not-allowed;
}

/* ターシャリーボタン */
.btn-tertiary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
  vertical-align: top;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  width: 150px;
  background-color: #ffffff;
  color: #1a1a1a;
  border: 2px solid #808080; /* ✅ 追加 */
  transition: all 0.3s ease; /* ✅ 追加 */
}

.btn-tertiary:focus-visible {
  border-color: #808080;
  outline: 1px solid #a6a6a6;
  outline-offset: 1px;
  box-shadow: 0 0 0 4px rgba(138, 138, 138, 0.35);
}

.btn-tertiary:hover {
  background-color: #e6e6e6;
  border-color: #808080;
  color: #a4a4a4;
  box-shadow: 0 4px 8px rgba(138, 138, 138, 0.2);
}

.btn-tertiary:active {
  background-color: #cccccc;
  border-color: #808080;
  color: #1a1a1a;
}

.btn-tertiary:disabled {
  background-color: #ffffff;
  border-color: #cccccc;
  color: #b3b3b3;
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===== 追加のボタンバリエーション ===== */

/* アウトラインボタン（枠線のみ） */
.btn-rounded.btn-outline-primary {
  background-color: transparent;
  color: #0d6efd;
  border: 2px solid #0d6efd;
}

.btn-rounded.btn-outline-primary:hover {
  background-color: #0d6efd;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3);
}

.btn-rounded.btn-outline-secondary {
  background-color: transparent;
  color: #6c757d;
  border: 2px solid #6c757d;
}

.btn-rounded.btn-outline-secondary:hover {
  background-color: #6c757d;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
}

/* ===== サイズバリエーション ===== */

/* 小さいボタン */
.btn-rounded.btn-sm {
  width: 100px;
  font-size: 14px;
  padding: 4px 12px;
  height: 32px;
}

/* 大きいボタン */
.btn-rounded.btn-lg {
  width: 200px;
  font-size: 20px;
  padding: 12px 24px;
  height: 48px;
}

/* 幅100% */
.btn-rounded.btn-block {
  width: 100%;
}

/* カスタム幅 */
.btn-rounded.btn-w-120 {
  width: 120px;
}

.btn-rounded.btn-w-180 {
  width: 180px;
}

.btn-rounded.btn-w-200 {
  width: 200px;
}

.btn-rounded.btn-w-250 {
  width: 250px;
}

/* ===== アイコン付きボタン ===== */

/* アイコンとテキストの間隔 */
.btn-rounded .btn-icon {
  margin-right: 4px;
}

.btn-rounded .btn-icon-right {
  margin-left: 4px;
}

/* アイコンのみボタン */
.btn-rounded.btn-icon-only {
  width: 40px;
  height: 40px;
  padding: 0;
  justify-content: center;
}

/* ===== ボタングループ ===== */

.btn-group-custom {
  display: inline-flex;
  gap: 8px;
}

.btn-group-custom.btn-group-no-gap {
  gap: 0;
}

.btn-group-custom .btn-rounded:not(:last-child) {
  margin-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group-custom .btn-rounded:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -2px;
}

/* ===== 特殊エフェクト ===== */

/* グラデーションボタン */
.btn-rounded.btn-gradient-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
}

.btn-rounded.btn-gradient-primary:hover {
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(102, 126, 234, 0.4);
}

/* 影付きボタン */
.btn-rounded.btn-shadow {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-rounded.btn-shadow:hover {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* 光るボタン */
.btn-rounded.btn-glow {
  box-shadow: 0 0 10px rgba(13, 110, 253, 0.5);
}

.btn-rounded.btn-glow:hover {
  box-shadow: 0 0 20px rgba(13, 110, 253, 0.8);
}

/* パルスアニメーション */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(13, 110, 253, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
  }
}

.btn-rounded.btn-pulse {
  animation: pulse 2s infinite;
}

/* ===== 既存のマージン設定（互換性維持） ===== */

.button-mergin-left-100 {
  margin-left: 100px;
}

.button-mergin-right-100 {
  margin-right: 100px;
}

/* 追加のマージン設定 */
.btn-ml-8 {
  margin-left: 8px;
}

.btn-ml-16 {
  margin-left: 16px;
}

.btn-ml-24 {
  margin-left: 24px;
}

.btn-mr-8 {
  margin-right: 8px;
}

.btn-mr-16 {
  margin-right: 16px;
}

.btn-mr-24 {
  margin-right: 24px;
}

/* ===== ボタンのカスタマイズ ここまで ===== */

/** PCO ここから **/

/** PCO ここまで **/
