/**/

* {
  font-size: 18px;
}
body {
  background-color: #fff7ef;
}
/* ヘッダー */
.bar-custom {
  border: none;
  background-size: 100% 1px;
  background-repeat: no-repeat;
  border-color: #0c60ee;
  background-color: #336699;/*201709 S2add*/
  color: #fff;

  color: #ffffff !important;
  font-size: 16px !important;
}
.bar-custom h1 {
  color: #fff;
}

.no-data{
  margin-top: 50px;
  width: 100%;
  text-align: center;
}

.title-small {
  font-size: 14px;
  color: #444;
}

.label-short {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pulldown {
  max-width: 90%;
}

/* リスト系のCSS */
.ion-list-title {
  height: 30px;
  /*background: #474b42;*/
  background: #808080;
  color: #ffffff !important;
  font-size: 14px !important;;
  vertical-align: bottom;
  line-height: 30px;
  padding-left: 10px;
}

/* ion-itemの中 */
ion-item.item {
  padding: 10px;
}
.item[ng-click]:hover {
  border-color: #ccc;
  background-color: #D9D9D9;
}
.list-items {
  width: 100%;
  /*display: inline-flex;*/
  display: inline-block;
  padding-top: 10px;
  padding-bottom: 10px;
  /*margin: 0px;*/
  border-left: none;/*201709 S2add*/
  border-right: none;/*201709 S2add*/
}
.list-items .list-date {
  display: inline-block;
  font-size: 14px;
  color: gray;
}
.list-items .list-title {
  display: inline-block;
  color: #333;/*201709 S2add*/
}
.list-item {
  max-height: 50px;
  min-height: 50px;
  line-height: 45px;
}

.list-top-title{
  overflow: hidden;
  vertical-align: top;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.type {
  display: inline-block;
  margin-bottom: 2px;
  padding: 2px 5px;
  border-radius: 2px;
  color: white;
  font-size:12px;
}
.type.notify {
  /*background-color: #e6b422;*/
  background-color: #4ca5ff;/*201709 S2add*/
}
.type.circular {  /* 回覧板 */
  /*background-color: #4cffa5;*/
  background-color: #4ca5ff;/*201709 S2add*/
}
.type.info {  /* お役立ち情報 */
  /*background-color: #ff4cff;*/
  background-color: #4ca5ff;/*201709 S2add*/
}
.type.question {  /* アンケート */
  background-color: #4ca5ff;
}
.type.document {  /* 資料閲覧 */
  /*background-color: #a54cff;*/
  background-color: #4ca5ff;/*201709 S2add*/
}
.type.demand {    /* ご意見・ご要望 */
  /*background-color: #a54cff;*/
  background-color: #4ca5ff;/*201709 S2add*/
}
.type.reservation { /* 施設予約 */
  /*background-color: #a54cff;*/
  background-color: #4ca5ff;
}
.type.resolution { /* 総会決議 */
  background-color: #4ca5ff;
}
.type.reservation.lost { /* 施設予約(当選) */
  /*background-color: #a54cff;*/
  background-color: #aaaaaa;
}
.type.reservation.lottery { /* 施設予約(当選) */
  /*background-color: #a54cff;*/
  background-color: tomato;
}
.type.reservation.unsettled { /* 未決済 */
  background-color: #fcaf17;
}

/* メニュー系のCSS */
/* Phone用 */
#square-menu {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
#square-menu button {
  width: calc(50% - 10px);
  margin: 5px;
  /*padding: 0px 5px;*/
  font-weight: bold;
  text-align: left;
  border: none;
}
#square-menu button:before {
    content:"";
    display: block;
    padding-top: 90%; /* 高さを幅の75%に固定 */
}

.list-title {
  font-size: 14px;
}

/* 決済 */
.payment_menu {
  display:flex;
  flex-wrap: wrap;
  justify-content:center;
}
.payment_item {
  border: solid #ddd 1px;
}
.payment_item label{
  font-weight: normal;
  width:100%
}
.payment_item_full {
  flex-basis: 90%;
}
.payment_item_half {
  flex-basis: 45%;
}
.payment_content, .payment_content_card{
  height:60px;
  line-height:60px;
  display:flex;
  font-size:12px;
}
.payment_comment{
  padding-left:25px;
  color: #000;
  font-size:10px;
}
.payment_ul {
  padding: 0;
  margin-bottom: 0;
}
.payment_ul li{
  position: relative;
  list-style-type: none!important;
  padding: 0 0.5em 0 2em;
  line-height: 1.5;
  vertical-align: middle;
  color: #333333;
  text-indent: -1.5em;
}
.payment_ul li:before{ 
  display:inline-block; 
  vertical-align: middle;
  content:'';
  width: 8px;
  height: 8px;
  background: #333333;
  border-radius: 50%;
  margin-right: 8px;
  margin-bottom: 2px;
}
.brands {
  display: grid;
  grid-template-columns: repeat(auto-fit, 60px);
  grid-gap: 0.1rem;
}
.brands_item img {
    display: block;
    max-width: 100%;
    width: 60px;
    height: 60px;
    object-fit: contain;
    padding: 5px 0px;
}
.brands_item div,
.brands_item_x2 div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.brands_x2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, 120px);
  grid-gap: 0.1rem;
}
.brands_item_x2 img {
  display: block;
  max-width: 100%;
  width: 120px;
  height: 55px;
  object-fit: contain;
  padding: 5px 0px;
}

.explanation-header {
  color: #fff;
  background-color: #999;
  border: solid #ddd 1px;
  font-size: 14px;
}
.explanation-body {
  border: solid #ddd 1px;
}
.payment-title {
  font-size: 14px;
  margin-left: 0.5em;
}
.payment-explanation {
  font-size: 12px;
  margin-left: 1.5em;
  margin-right: 1em;
}
.payment-item-comment {
  font-size: 12px;
  margin:16px auto;
  text-align: center;
  display: block;
}
.payment-item-comment .explanation {
  text-align: left;
	display: inline-block;
  padding: 0 20px;
}
.payment-item-explanation{
  font-size: 12px;
}
.payment-item-explanation select,
.payment-item-explanation option {
  font-size: 18px;
}
#payment-info .item_title,
#payment-info .content  {
  height:37px;
  line-height:37px;
}
#payment-info .item-input {
  height:37px;
}
.receipt-explanation {
  font-size: 14px;
  margin-left: 0.5em;
}

/* 会費・お支払 */
#feeListDetail .list-title {
  border-bottom: 3px double #333;
  margin: 0px auto 20px;
  padding: 20px 5px 0;
  font-weight: bold;
}
#feeListDetail .list-detail {
  border-bottom: 1px solid #333;/*201709 S2add*/
  font-size: 14px;
  white-space: pre-wrap;
  padding-left: 5px;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

/* QRコード */
#img-qr {
  text-align: center;
}

/* ロゴ */
#logo {
  max-height: 200px;
  width: 100%;
  display: flex;
  justify-content: center;
  margin:10px 0px 20px 0px;
}
img.logo_image {
  max-height:200px;
  max-width:100%;
}

/* 画像 */
#preview {
  display: flex;
  align-items: center;
  justify-content: center;
}
.attached_file {
  width: 600px;
  align-items: center;
  justify-content: center;
  display: flex;
  background-color: #CCCCCC;
}
.image {
  max-width: 600px;
  max-height: 500px;
}
.facilty_attached_file {
  width: 220px;
  align-items: center;
  justify-content: center;
  display: flex;
  background-color: #CCCCCC;
}
.facilty_image {
  max-width: 220px;
  max-height: 160px;
}

/* レスポンシブルレイアウト対応 Phone */
@media screen and (max-width: 414px) {
  .isPC-Disable { /* PC 非表示 Phone 表示*/
    display: inline-block;
  }
  .isPhone-Disable {
    display: none;
  }
  .list-title {
    font-size: 14px;
  }
  .list-item {
    font-size: 14px;
  }
  #list-top .item-block-top{
    max-width: calc(100% - 250px) !important;
  }
  #list-notification .item-block-top{
    max-width: 92% !important;
  }
  #list-circular .item-block-top{
    max-width: 88% !important;
  }
  #list-question .item-block-top{
    max-width: 88% !important;
  }
  #list-document .item-block-top{
    max-width: 70% !important;
  }
  #list-info .item-block-top{
    max-width: 92% !important;
  }
  #list-demand .item-demand{
    max-width: 100% !important;
  }
  #list-demand .item-demand-return{
    max-width: 90% !important;
  }
  /* 施設予約 */
  #list-reservation .item-block-top{
    max-width: calc(100% - 200px) !important;
  }
  #list-reservation .list-top-title{
    max-width: 130px !important;
  }
  /* スケジュール一覧 */
  #list-schedule .item-block-top{
    max-width: 98% !important;
  }
  /* 決済 */
  .payment_item_half {
    flex-basis: 90%;
  }
  .payment_content_card {
    height:120px;
    line-height:120px;
    display:flex;
    font-size:12px;
  }
  .attached_file {
    width: 100%;
  }
  .image {
    max-width: 100%;
  }

  #payment-info .item_title_min {
    height:74px;
  }
}

/* レスポンシブルレイアウト対応 PC Tab */
@media screen and (min-width: 415px) {
  .isPC-Disable { /* PC 非表示 Phone 表示*/
    display: none;
  }
  .isPhone-Disable {
    display: inline-block;
  }
  #square-menu button {
    width: calc(33% - 10px);
  }
  .base-layout {
    max-width: 880px;
    margin: auto;
  }
  .list-item-block {
    display: inline-block;
  }
  .top-article-box {
    max-height: 315px;
    overflow-y: auto;
  }
  .top-article-box .list-top-title {
    padding-top:4px;
  }
  #list-top .item-block-top{
    max-width: calc(100% - 250px) !important;
  }
}

/* メニューカラー */
#square-menu1 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu2 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu3 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu4 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu5 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu6 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu7 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}
#square-menu8 {
  background: none;/*201709 S2add*/
  color: #999;/*201709 S2add*/
}

/* お知らせ詳細 */
#notifiedListDetail .contents{
  margin: auto 10px;
}
#notifiedListDetail .list-date {
  margin: 10px auto 0;
  /*201709 S2add*/
  font-size: 14px;
  color: gray;
}
#notifiedListDetail .list-title {
  /*background-color: #ffecb3;
  padding: 5px 10px; 201709 S2add*/
  border-bottom: 3px double #333;/*201709 S2add*/
  margin: 0px auto 20px;
  padding: 5px 0;/*201709 S2add*/
  font-weight: bold;
}
#notifiedListDetail .list-detail {
  font-size: 14px;
  white-space: pre-wrap;
  margin-bottom: 30px;/*201709 S2add*/
}
#notifiedListDetail .list-attach {
  /*background-color: #ffecb3;
  padding: 5px 10px; 201709 S2add*/
  border-bottom: 1px solid #ddd;/*201709 S2add*/
  margin: 10px auto;
  padding: 5px 0;/*201709 S2add*/
  font-size: 14px;
}
#notifiedListDetail .list-attach-file {
  font-size: 14px;
  padding: 5px 0;/*201709 S2add*/
}
#notifiedListDetail .list-attach-file a {
  cursor: pointer;/*201709 S2add*/
}
#notifiedListDetail .list-print {
  font-size: 14px;
  padding-top: 10px;
  cursor: pointer;
  /* display: none; */
}

/* ご意見ご要望 */
#demandList .list-reaction {
  padding-left: 6px;
}
#demandList .list-reaction.not-start {
  display: none;
}

/* ご意見ご要望詳細 */
#demandListDetail .contents{
  margin: auto 10px;
}
#demandListDetail .demand-date {
  color: #444;
  font-size: 14px;
  margin-left: 10px;
}
#demandListDetail .demand-title {
  margin-top: 5px;
  padding: 5px 10px;
  font-weight: bold;
  margin-left: 10px;
}
#demandListDetail .demand-detail {
  font-size: 14px;
  margin-left: 10px;
  white-space: pre-wrap;
}
#demandListDetail .message-user {
  background-color: #4cffa5;
  border-radius: 20px;
  margin-top: 30px;
  margin-left: 20px;/*201709 S2add*/
  margin-right: 20px;/*201709 S2add*/
  position: relative;/*201709 S2add*/
  padding: 5px;
}
/*201709 S2add ▼*/
#demandListDetail .message-user:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -10px;
  height: 0;
  width: 0;
  border-width: 0 20px 35px 6px;
  border-style: solid;
  border-color: transparent transparent #4cffa5;
}
/*201709 S2add ▲*/
#demandListDetail .message-admin {
  background-color: #ffecb3;
  border-radius: 20px;
  margin-top: 30px;
  margin-left: 20px;/*201709 S2add*/
  margin-right: 20px;/*201709 S2add*/
  position: relative;/*201709 S2add*/
  padding: 5px;
}
/*201709 S2add ▼*/
#demandListDetail .message-admin:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -10px;
  height: 0;
  width: 0;
  border-width: 0 6px 35px 20px;
  border-style: solid;
  border-color: transparent transparent #ffecb3;
}
/*201709 S2add ▲*/
#demandListDetail .message-admin.not-start {
  margin-right: auto;
  width: 150px;
}
/*201709 S2add ▼*/
#demandListDetail .demand-ld-state {
  margin-top: 10px;
}
.demand-bg-none {
  background: none;
}
#demandListDetail .list-attach-file {
  font-size: 14px;
  padding: 5px 10px;/*201709 S2add*/
}
#demandListDetail .list-attach-file a {
  cursor: pointer;/*201709 S2add*/
}
#square-menu7.demand-backtop {
  background-color: #999;
  color: #fff;
  cursor: pointer;
}
/*201709 S2add ▲*/

#demandListNewPreview .demand-title {
  font-size: 14px;
  margin-top: 20px;
  margin-bottom: 5px;
  margin-left: 10px;
  border-bottom: 1px solid #ddd;
}
#demandListNewPreview .demand-detail {
  font-size: 14px;
  margin-left: 10px;
  margin-bottom: 5px;
}
#demandListNewPreview .attach-file {
  font-size: 12px;
  padding: 5px 10px;
}

/* 戻るボタン */
#btn-back {
  background-color: #999;
  min-width: 150px;/*201709 S2add*/
}

/* アンケート回答フォーム */
.question-input {
  border: 1px solid #999;
  width: 100%;
  font-size: 16px;
  padding: 4px;
}
#notifiedListDetail .list-title.mt10 {
  margin-top: 10px;
}

/* コンテンツのタイトル */
#content-title {
  margin: 30px auto;
  text-align: center;
}

/* エラー時のテキスト */
.ErrorTxt{
  color: #f00;
  margin-top: 2%;
  font-size: 13px;
}

/* カレンダー表示 */
.fc-sat{
  color: blue;
}
.fc-sun{
  color: red;
}
.fc-content, a.fc-more{
  font-size: 12px;
}
/* 施設予約カレンダー○×用 */
.simple {
  text-align: center;
}
.simple .fc-title {
  font-size: 25px;
}
.fc-body .status-text {
  font-size: 12px;
}

/* スケジュールリスト */
#schedule-list-title{
  padding-top: 15px;
  padding-bottom: 0px;
}

/* スケジュール詳細 */
#scheduleDetail{
  font-size: 16px;
}
.item_title{
  font-size: 14px;
  color: #808080;
  min-width: 140px;
}
.item_text{
  font-size: 14px;
}
.item_comment {
  white-space: pre-wrap;
}

/* 施設予約 */
#facilityList .button{
  min-height: initial;
  line-height: 30px;
}
#facilityList .way{
  background-color: #6699cc;/*201709 S2add*/
}
#facilityList .screen{
  background-color: #387ef5;/*201709 S2add*/
}
#facilityTitle{
  width: 100%;
  text-align: center;
}
/*201709 S2add*/
.rd .col-30 {
  flex: 0.3;
}
.rd .col-70 {
  flex: 0.7;
}
.col-offset-30 {
  margin-left: 32%;
}
#resHist .rh-date {
  font-size: 14px;
  padding-bottom: 0;
}
#resHist .rh-title {
  color: #333;
  padding-top: 0;
}
#resHist .ng-binding {
  padding-top: 0;
}
.res-detail-title {
  margin: 20px 0;
}
.button.button-positive.res-detail-btn {
  background: #000099;
}
/*201709 S2add ここまで*/

/* スケジュール設定 */
.page-title{
  width: 100%;
  text-align: center;
  color: #444;
  padding: 10px;
  font-size: 16px;
}
.reservation-title-row {
  display: flex;
  padding: 5px;
  width: 100%;
  height: 42px;
  flex-direction: row;
  justify-content: space-between;
}
.reservation-genre-title{
  max-width: 100%;
  text-align: left;
  color: #fff;
  padding: 6px;
  font-size: 14px;
  font-weight: bold;
  background:#385723; 
}
.reservation-facility-title{
  max-width: 100%;
  text-align: left;
  color: #fff;
  padding: 6px;
  font-size: 14px;
  font-weight: bold;
  background:#548235; 
}
.reservation-facility-button {
  font-size: 14px;
  min-height: 100%;
  max-height: 100%;
  line-height: 1em;
}

#scheduleSettingsList .item{
  border-width: 0px;
}
.schedule_settings_item .color{
  background-color: #808080;
  border-radius: 5px;
  width:16px;
  height: 16px;
  display: inline-block;
}
.schedule_settings_item .check{
  display: inline-block;
}
.reservationTable {
  width: 100%;
  text-align: center;
}
table.reservationTable {
  border-spacing: 5px;
  border-collapse: separate;
}
table.reservationTable td {
  width: 33%;
  vertical-align: middle;
}
#list-reservation .list-date.lost {
  max-width: 100%;
  color:red;
  text-decoration: line-through;
}

#list-reservation .list-date.lost span {
  color: gray;
}

/* ログイン画面 */
.login-title {
  margin-top: 20px;
}

/*代理入力設定*/
/*201709 S2add*/
.as .list.list-inset.name-list {
  margin: 10px 10px 60px;
}
.as .login-title.title-small {
  margin: 0 0 10px;
}
/*201709 S2add ここまで*/

/* module rue-is-read */
.rue-unread {
    color: #ffffff;
    font: bold;
    background-color: #999999;
    border-radius: 5px;
    margin: 0px;
    padding: 1px;
    display: inline-block;
    width: 35px;
    text-align: center;
    font-size: 13px;
}
.rue-readed {
    opacity: 0;
    color: #ffffff;
    font: bold;
    background-color: #ffffff;
    border-radius: 5px;
    margin: 0px;
    padding: 1px;
    display: inline-block;
    width: 35px;
    text-align: center;
}
/* module rue-important */
.rue-important {
    color: #ffffff;
    font: bold;
    background-color: #ff3232;
    border-radius: 5px;
    margin: 0px;
    padding: 1px;
    display: inline-block;
    width: 24px;
    text-align: center;
}
/* module rue-type
.rue-type {
    margin: 0px;
    padding: 2px 5px;
    display: inline-block;
    width: 100px;
} */
.rue-unpay {
  color: #ffffff;
  font: bold;
  background-color: tomato;
  border-radius: 5px;
  margin: 0px;
  padding: 1px;
  display: inline-block;
  width: 45px;
  text-align: center;
  font-size: 13px;
}
.rue-payed {
  color: #ffffff;
  font: bold;
  background-color: #4ca5ff;
  border-radius: 5px;
  margin: 0px;
  padding: 1px;
  display: inline-block;
  width: 55px;
  text-align: center;
  font-size: 13px;
}
.rue-expired {
  color: #ffffff;
  font: bold;
  background-color: #999999;
  border-radius: 5px;
  margin: 0px;
  padding: 1px;
  display: inline-block;
  width: 55px;
  text-align: center;
  font-size: 13px;
}
/* フッターロゴ */
.footer-logo{
  text-align: center;
}
.footer-logo::after{
  content: url(../img/logo.png);
}

/* flex-item */
.flex-item-side{
  width: 175px;
  flex-shrink: 0;
}
.flex-item-content{
  flex-grow: 1;
  min-width: 0;
  max-width: 800px;
}

/* メニューボタン */
#btnMenu{
  display: none;
}

/* ウィンドウ幅が0〜639pxの場合に適用するCSS（スマホ） */
@media screen and ( max-width:639px )
{
  #btnMenu{
    display: block;
  }
  /* カレンダーの凡例 */
  #calendarLegend{
    font-size: 11px;
  }
  /* カレンダーの曜日、タイムラインの施設名 */
  .fc-head-container {
    font-size: 12px;
  }
  /* タイムラインの時刻 */
  td.fc-time {
    font-size: 12px;
  }
  /*.base-layout {
    max-width: 880px;
  }*/
  .fc-content, a.fc-more{
    font-size: 11px;
  }
  .reserv_calendar .fc-body .status-text {
    font-size: 8px;
    overflow-x: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: calc(100% - 2.2em);
    display:inline-block;
  }
  .reserv_calendar .fc-day-number {
    font-size: 12px;
  }
  .reserv_calendar .fc-body .calendar_detail {
    font-size: 8px;
  }
  .col-20 select {
    font-size:12px;
  }
}
@media screen and ( max-width:439px )
{
  .reserv_calendar .fc-body .calendar_detail {
    display: none;
  }
}
/* ウィンドウ幅が640〜799pxの場合に適用するCSS（タブレット） */
@media screen and ( max-width:799px )
{
  #btnMenu{
    display: block;
  }
  #sideMenu{
    display: none;
  }
  #adjustment{
    display: none;
  }
}
/* bootstrap.min.css にて margin-left が指定されており表示がおかしくなるのでリセットする*/
.row{
  margin-left: 0px;
  margin-right: 0px;
}
/* 日付入力カレンダー用（baselineだと表示がずれるので調整） */
th{
  vertical-align: middle;
}
/* ご意見　ファイル添付ボタン */
.btn-primary {
  color: #fff;
  background-color: #387ef5;
  border-color: #387ef5;
}
.btn-primary:hover {
  color: #fff;
  background-color: #387ef5;
  border-color: #387ef5;
}
.btn-primary:active,
.btn-primary.active
{
  color: #fff;
  background-color: #387ef5;
  border-color: #387ef5;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.btn-primary:active.focus,
.btn-primary.active.focus
{
  color: #fff;
  background-color: #387ef5;
  border-color: #387ef5;
}


/*201709 S2add ここから*/
input.ng-pristine {
  /* padding-left: 5px; */
  /* padding-right: 5px; */
}
@media screen and ( min-width:800px ) {
 .flex-item-content {
  margin-left: 10px;
  margin-right: 10px;
  max-width: 684px;
 }
 #facilityList .button {
  width: 100%;
 }
}
/*201709 S2add ここまで*/

/* メニュー整列用 */
div.iconBox {
  display:inline-block;
  width:20px;
  margin-right: 5px;
  text-align: center;
}

/* ユーザー情報画面用 */
#settings .input-box{
  padding-top: 1px;
  padding-left: 16px;
  padding-bottom: 0px;
}
#settings .group-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start ;
}
#settings .group-line {
  padding: 0 0.5em;
  max-width: 100%;
  min-width: 160px;
}

/* お知らせ表示 */
.top-article-box .list-top-title {
  padding-top:2px;
}

.top-article-box .list-item-block {
  display: inline-block;
  max-width: 200px;
}
.top-article-box .list-items {
  padding-top: 1px;
  padding-bottom: 1px;
  margin-bottom: -5px;
}

.check_label {
  display:inline-block;
  height: 1.2em;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#settings .group-line .check_label {
  max-width: calc(100% - 25px);
}

.no-wrap {
  display: inline-block;
}

.bold-hr {
  border: none;
  border-top: 2px solid #000000;
  margin: 1px auto; /* 上下の余白 */
}
.normal-hr {
  margin: 1px auto; /* 上下の余白 */
}
.option-select-header {
  margin-top: 20px;
}
