/* テーブルラッパー */
.price-table-wrapper {
  overflow-x: auto;
  margin: 20px 0;
}

/* メインテーブルスタイル */
.price-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
  min-width: 600px;
}

/* ヘッダー行 */
.price-table thead tr:first-child th {
  padding: 15px 10px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.header-title {
  background-color: #f5f5f5;
  color: #333 !important;
}

.plan-light {
  background-color: #3b5998;
}

.plan-standard {
  background-color: #1e3a8a;
}

.plan-premium {
  background-color: #f59e0b;
}

/* 価格行 */
.price-row {
  background-color: #f5f5f5 !important;
  color: #666 !important;
}

.price-light,
.price-standard,
.price-premium {
  font-weight: bold;
  padding: 10px !important;
}

.price-light {
 
  color: #3b5998;
}

.price-standard {
 
  color: #1e3a8a;
}

.price-premium {
  color: #d97706;
}

/* ボディセル */
.price-table td,
.price-table th {
  border: 1px solid #e0e0e0;
  padding: 12px 10px;
  text-align: center;
}

.price-table tbody td:first-child {
  text-align: left;
  font-weight: 500;
}

.sub-price {
  color: #666;
  font-size: 13px;
}

/* チェックマーク */
.check {
  color: #3b5998;
  font-size: 18px;
  font-weight: bold;
}

/* 割引テキスト */
.discount {
  color: #d97706;
  font-weight: bold;
  font-size: 14px;
}

/* センターテキスト */
.center-text {
  text-align: center;
  color: #666;
  font-size: 13px;
}

/* 注記 */
.table-note {
  margin-top: 15px;
  text-align: center;
  color: #000;
  font-size: 13px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .price-table-wrapper {
    -webkit-overflow-scrolling: touch;
  }
  
  .price-table {
    font-size: 12px;
  }
  
  .price-table td,
  .price-table th {
    padding: 8px 5px;
  }
  
  .sub-price {
    font-size: 11px;
  }
  
  .discount {
    font-size: 12px;
  }
  
  /* スクロールヒント */
  .price-table-wrapper::before {
    content: "→ 横にスクロールできます";
    display: block;
    text-align: center;
    color: #999;
    font-size: 12px;
    margin-top: 10px;
  }
}

/***********************************************/



.contact_btn{
 text-decoration:none !important;
}
.contact_btn:after{
  content:none !important;
}

.line_btn{
 text-decoration:none !important;
}
.line_btn:after{
  content:none !important;
}

.no_blank_decoration{
  text-decoration:none !important;
}
.no_blank_decoration:hover{
  text-decoration:underline !important;
}
.no_blank_decoration:after{
  content:none !important;
}
.black{
  color:#000 !important;
}
.white{
  color:#fff !important;
}
.bg-navy{
  background: #05242f !important;
}
.bg-yellow{
  background: #FDDC37 !important;
}
.bg-beige{
  background-color: #F4F0E7 !important;
}
.yellow_under{
  background: linear-gradient(transparent 72%, #ffde22 0%);
}
.after-none:after{
  content:none !important;
}
.h-auto{
  height:auto!important;
  max-height:none !important;  
}
#contents .resale_sec02 ol.influence_list li .text h3.risk-none:before {
  content: counter(risk_num, decimal-leading-zero);
}

.nego_feature_h3{
  font-size:2rem;
  font-weight:bold;
}
.text-center{
  text-align:center !important;
}
.hover_underline:hover{
  text-decoration:underline !important;
}

.btn04 a {
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;;
  display: inline-block;
}
.btn04 a:after {
    width: 23px;
    height: 23px;
    margin-left: 10px;
    content: '';
    background-image: url("../img/icon_btn_arrow03.png");
    -webkit-background-size: cover;
    background-size: cover;
    display: inline-block;
    vertical-align: -0.25em;
}



/*PC、スマホともに横2列*/
.flex-box-2{
  display: flex;
  justify-content: space-between;
}

.flex-image-2 {
  width: 48%; /* 画像を横に2つ並べるために幅を約50%に設定 */
}

/*PCは横4列スマホは横2列*/
.flex-box-4{
display: grid;
grid-template-columns: repeat(2,1fr);
gap: 10px; /* 画像間の間隔 */
}

@media (min-width: 768px) { /* PC表示用のブレークポイント */
  .flex-box-4 {
    grid-template-columns: repeat(4,1fr); /* PCでは横4列に */
  }
}

.flex-image-4 {
  width: 100%; /* 画像がコンテナの幅に合わせて拡大縮小するように */
  height: auto; /* 画像の縦横比を維持 */
}

/*attention*/
#contents section p.attention {
  margin-bottom: 60px;
  padding: 25px;
  font-size: 3.0rem;
  font-weight: 700;
  text-align: center;
  color: #c5400b;
  border: solid 3px #c5400b; }
#contents section p.attention:before {
    width: 49px;
    height: 49px;
    margin-right: 0.25em;
    content: '';
    background-image: url("../img/icon_notice01.png");
    -webkit-background-size: cover;
    background-size: cover;
    display: inline-block;
    vertical-align: -0.4em;
}


@media (max-width: 767px){
#contents section p.attention {
    margin-bottom: 30px;
    padding: 1em;
    font-size: 2.0rem; }
    #contents section p.attention:before {
      width: 30px;
      height: 30px; }
}

#contents .it1{
		max-width:300px;
		margin:1em auto;
		display:block;
	}

/*青色リスト*/
 #contents .reason_lawer .panel01 ul,
#contents .eviction_fee_case .panel01 ul{
    margin-bottom: 20px; }
    #contents .reason_lawer .panel01 ul li,
 #contents .eviction_fee_case .panel01 ul li{
      margin-bottom: 30px;
      padding: 25px 20px 25px 86px;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.85;
      background-color: #ffffff;
      background-image: url("../img/icon_check01.png");
      background-repeat: no-repeat;
      background-position: 20px center;
      border: solid 2px #d9d9d9; }




@media screen and (max-width: 768px){
#contents .reason_lawer .panel01,#contents .eviction_fee_case .panel01 {
    margin-top: 30px; }
    #contents .reason_lawer .panel01 h3,#contents .eviction_fee_case .panel01 h3 {
      font-size: 2.0rem; }
    #contents .reason_lawer .panel01 ul li,#contents .eviction_fee_case .panel01 ul li {
      margin: 0 0 15px 0 !important;
      padding: 15px 10px 15px 50px;
      -webkit-background-size: 30px auto;
      background-size: 30px auto;
      background-position: 10px center; }
   #contents .reason_lawer .panel01 .box ,#contents .eviction_fee_case .panel01 .box {
      padding: 1em; }
      #contents .reason_lawer .panel01 .box h3 ,#contents .eviction_fee_case .panel01 .box h3 {
        font-size: 1.8rem; }
      #contents .reason_lawer .panel01 .box ul ,#contents .eviction_fee_case .panel01 .box ul{
        display: block; }
        #contents .reason_lawer .panel01 .box ul li ,#contents .eviction_fee_case .panel01 .box ul li{
          width: 100%;
          margin: 0 0 15px 0 !important;
          padding: 1em; }
}








.order_flow{
  line-height:1.5;
}

/*リスト*/
#contents  dl.list_org {
  margin-bottom: 30px;
  border: solid 2px #e2e2e2; }
  #contents dl.list_org dt {
    padding: 10px 20px;
    font-size: 2rem;
    font-weight: 700;
    background-color: #e2e2e2; }
  #contents dl.list_org dd {
    padding: 20px; }
    #contents dl.list_org dd > *:last-child {
      margin-bottom: 0; }
    #contents dl.list_org dd .list01 li {
      font-size: 1.6rem; }
      #contents dl.list_org dd .list01 li .bold {
        font-size: 1.8rem; }
      #contents dl.list_org dd .list01 li .list02 {
        margin-bottom: 0; }
        #contents dl.list_org dd .list01 li .list02 li {
          padding-left: 34px;
          font-size: 1.6rem; }

#contents .price_sec01 #eviction_price .price_box dd .price .fee01 .amount:after{
    content:none;
}

.holiday_info h2 {
    font-size: 28px;
    color: #182945;
    text-align: center;
    margin-bottom: 50px;
}

.holiday_info p {
    color: #182945;
}

@media screen and (max-width: 767px) {
  .holiday_info h2 {
    width: 100%;
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.bg-white {
    background-color: #fff!important;
}

.btn03 a {
  width: 350px;
  padding: 20px 50px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #caa54c;
  background-image: url("../img/icon_btn_arrow01.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) center;
  display: inline-block;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  border-radius: 15px; }
  .btn01 a:hover {
    opacity: 0.6; }

.btn03 a:after {
  content:none;
}
.btn03 a:link,
.btn03 a:visited,
.btn03 a:hover,
.btn03 a:active{
  text-decoration:none;
}

a.blank_decoration_none[target="_blank"] {
  color:#222222;
	text-decoration:none;
}
a.blank_decoration_none[target="_blank"]:after {
  content:none;
}

@media (min-width: 768px) {
    .sp_only {
        display: none !important;
    }
}

.m-0 {
  margin: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.m-2 {
  margin: 0.5rem !important; }

.m-3 {
  margin: 1rem !important; }

.m-4 {
  margin: 1.5rem !important; }

.m-5 {
  margin: 3rem !important; }

.m-auto {
  margin: auto !important; }

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important; }

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important; }

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important; }

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important; }

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important; }

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important; }

.mt-0 {
  margin-top: 0 !important; }

.mt-1 {
  margin-top: 0.25rem !important; }

.mt-2 {
  margin-top: 0.5rem !important; }

.mt-3 {
  margin-top: 1rem !important; }

.mt-4 {
  margin-top: 1.5rem !important; }

.mt-5 {
  margin-top: 3rem !important; }

.mt-auto {
  margin-top: auto !important; }

.me-0 {
  margin-right: 0 !important; }

.me-1 {
  margin-right: 0.25rem !important; }

.me-2 {
  margin-right: 0.5rem !important; }

.me-3 {
  margin-right: 1rem !important; }

.me-4 {
  margin-right: 1.5rem !important; }

.me-5 {
  margin-right: 3rem !important; }

.me-auto {
  margin-right: auto !important; }

.mb-0 {
  margin-bottom: 0 !important; }

.mb-1 {
  margin-bottom: 0.25rem !important; }

.mb-2 {
  margin-bottom: 0.5rem !important; }

.mb-3 {
  margin-bottom: 1rem !important; }

.mb-4 {
	margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important; }

.mb-auto {
  margin-bottom: auto !important; }

.ms-0 {
  margin-left: 0 !important; }

.ms-1 {
  margin-left: 0.25rem !important; }

.ms-2 {
  margin-left: 0.5rem !important; }

.ms-3 {
  margin-left: 1rem !important; }

.ms-4 {
  margin-left: 1.5rem !important; }

.ms-5 {
  margin-left: 3rem !important; }

.ms-auto {
  margin-left: auto !important; }

.p-0 {
  padding: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.p-2 {
  padding: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

.p-4 {
  padding: 1.5rem !important; }

.p-5 {
  padding: 3rem !important; }

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important; }

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important; }

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important; }

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important; }

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important; }

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important; }

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.pt-0 {
  padding-top: 0 !important; }

.pt-1 {
  padding-top: 0.25rem !important; }

.pt-2 {
  padding-top: 0.5rem !important; }

.pt-3 {
  padding-top: 1rem !important; }

.pt-4 {
  padding-top: 1.5rem !important; }

.pt-5 {
  padding-top: 3rem !important; }

.pe-0 {
  padding-right: 0 !important; }

.pe-1 {
  padding-right: 0.25rem !important; }

.pe-2 {
  padding-right: 0.5rem !important; }

.pe-3 {
  padding-right: 1rem !important; }

.pe-4 {
  padding-right: 1.5rem !important; }

.pe-5 {
  padding-right: 3rem !important; }

.pb-0 {
  padding-bottom: 0 !important; }

.pb-1 {
  padding-bottom: 0.25rem !important; }

.pb-2 {
  padding-bottom: 0.5rem !important; }

.pb-3 {
  padding-bottom: 1rem !important; }

.pb-4 {
  padding-bottom: 1.5rem !important; }

.pb-5 {
  padding-bottom: 3rem !important; }

.ps-0 {
  padding-left: 0 !important; }

.ps-1 {
  padding-left: 0.25rem !important; }

.ps-2 {
  padding-left: 0.5rem !important; }

.ps-3 {
  padding-left: 1rem !important; }

.ps-4 {
  padding-left: 1.5rem !important; }

.ps-5 {
  padding-left: 3rem !important; }

@media (min-width: 576px) {
  

  .m-sm-0 {
    margin: 0 !important; }

  .m-sm-1 {
    margin: 0.25rem !important; }

  .m-sm-2 {
    margin: 0.5rem !important; }

  .m-sm-3 {
    margin: 1rem !important; }

  .m-sm-4 {
    margin: 1.5rem !important; }

  .m-sm-5 {
    margin: 3rem !important; }

  .m-sm-auto {
    margin: auto !important; }

  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }

  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }

  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }

  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }

  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }

  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }

  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important; }

  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }

  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }

  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }

  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }

  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }

  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }

  .mt-sm-0 {
    margin-top: 0 !important; }

  .mt-sm-1 {
    margin-top: 0.25rem !important; }

  .mt-sm-2 {
    margin-top: 0.5rem !important; }

  .mt-sm-3 {
    margin-top: 1rem !important; }

  .mt-sm-4 {
    margin-top: 1.5rem !important; }

  .mt-sm-5 {
    margin-top: 3rem !important; }

  .mt-sm-auto {
    margin-top: auto !important; }

  .me-sm-0 {
    margin-right: 0 !important; }

  .me-sm-1 {
    margin-right: 0.25rem !important; }

  .me-sm-2 {
    margin-right: 0.5rem !important; }

  .me-sm-3 {
    margin-right: 1rem !important; }

  .me-sm-4 {
    margin-right: 1.5rem !important; }

  .me-sm-5 {
    margin-right: 3rem !important; }

  .me-sm-auto {
    margin-right: auto !important; }

  .mb-sm-0 {
    margin-bottom: 0 !important; }

  .mb-sm-1 {
    margin-bottom: 0.25rem !important; }

  .mb-sm-2 {
    margin-bottom: 0.5rem !important; }

  .mb-sm-3 {
    margin-bottom: 1rem !important; }

  .mb-sm-4 {
    margin-bottom: 1.5rem !important; }

  .mb-sm-5 {
    margin-bottom: 3rem !important; }

  .mb-sm-auto {
    margin-bottom: auto !important; }

  .ms-sm-0 {
    margin-left: 0 !important; }

  .ms-sm-1 {
    margin-left: 0.25rem !important; }

  .ms-sm-2 {
    margin-left: 0.5rem !important; }

  .ms-sm-3 {
    margin-left: 1rem !important; }

  .ms-sm-4 {
    margin-left: 1.5rem !important; }

  .ms-sm-5 {
    margin-left: 3rem !important; }

  .ms-sm-auto {
    margin-left: auto !important; }

  .p-sm-0 {
    padding: 0 !important; }

  .p-sm-1 {
    padding: 0.25rem !important; }

  .p-sm-2 {
    padding: 0.5rem !important; }

  .p-sm-3 {
    padding: 1rem !important; }

  .p-sm-4 {
    padding: 1.5rem !important; }

  .p-sm-5 {
    padding: 3rem !important; }

  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }

  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }

  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }

  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }

  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }

  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }

  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }

  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }

  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }

  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }

  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }

  .pt-sm-0 {
    padding-top: 0 !important; }

  .pt-sm-1 {
    padding-top: 0.25rem !important; }

  .pt-sm-2 {
    padding-top: 0.5rem !important; }

  .pt-sm-3 {
    padding-top: 1rem !important; }

  .pt-sm-4 {
    padding-top: 1.5rem !important; }

  .pt-sm-5 {
    padding-top: 3rem !important; }

  .pe-sm-0 {
    padding-right: 0 !important; }

  .pe-sm-1 {
    padding-right: 0.25rem !important; }

  .pe-sm-2 {
    padding-right: 0.5rem !important; }

  .pe-sm-3 {
    padding-right: 1rem !important; }

  .pe-sm-4 {
    padding-right: 1.5rem !important; }

  .pe-sm-5 {
    padding-right: 3rem !important; }

  .pb-sm-0 {
    padding-bottom: 0 !important; }

  .pb-sm-1 {
    padding-bottom: 0.25rem !important; }

  .pb-sm-2 {
    padding-bottom: 0.5rem !important; }

  .pb-sm-3 {
    padding-bottom: 1rem !important; }

  .pb-sm-4 {
    padding-bottom: 1.5rem !important; }

  .pb-sm-5 {
    padding-bottom: 3rem !important; }

  .ps-sm-0 {
    padding-left: 0 !important; }

  .ps-sm-1 {
    padding-left: 0.25rem !important; }

  .ps-sm-2 {
    padding-left: 0.5rem !important; }

  .ps-sm-3 {
    padding-left: 1rem !important; }

  .ps-sm-4 {
    padding-left: 1.5rem !important; }

  .ps-sm-5 {
    padding-left: 3rem !important; }

  .text-sm-start {
    text-align: left !important; }

  .text-sm-end {
    text-align: right !important; }

  .text-sm-center {
    text-align: center !important; } }
@media (min-width: 768px) {
  
  .m-md-0 {
    margin: 0 !important; }

  .m-md-1 {
    margin: 0.25rem !important; }

  .m-md-2 {
    margin: 0.5rem !important; }

  .m-md-3 {
    margin: 1rem !important; }

  .m-md-4 {
    margin: 1.5rem !important; }

  .m-md-5 {
    margin: 3rem !important; }

  .m-md-auto {
    margin: auto !important; }

  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }

  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }

  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }

  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }

  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }

  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }

  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important; }

  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }

  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }

  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }

  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }

  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }

  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }

  .mt-md-0 {
    margin-top: 0 !important; }

  .mt-md-1 {
    margin-top: 0.25rem !important; }

  .mt-md-2 {
    margin-top: 0.5rem !important; }

  .mt-md-3 {
    margin-top: 1rem !important; }

  .mt-md-4 {
    margin-top: 1.5rem !important; }

  .mt-md-5 {
    margin-top: 3rem !important; }

  .mt-md-auto {
    margin-top: auto !important; }

  .me-md-0 {
    margin-right: 0 !important; }

  .me-md-1 {
    margin-right: 0.25rem !important; }

  .me-md-2 {
    margin-right: 0.5rem !important; }

  .me-md-3 {
    margin-right: 1rem !important; }

  .me-md-4 {
    margin-right: 1.5rem !important; }

  .me-md-5 {
    margin-right: 3rem !important; }

  .me-md-auto {
    margin-right: auto !important; }

  .mb-md-0 {
    margin-bottom: 0 !important; }

  .mb-md-1 {
    margin-bottom: 0.25rem !important; }

  .mb-md-2 {
    margin-bottom: 0.5rem !important; }

  .mb-md-3 {
    margin-bottom: 1rem !important; }

  .mb-md-4 {
    margin-bottom: 1.5rem !important; }

  .mb-md-5 {
    margin-bottom: 3rem !important; }

  .mb-md-auto {
    margin-bottom: auto !important; }

  .ms-md-0 {
    margin-left: 0 !important; }

  .ms-md-1 {
    margin-left: 0.25rem !important; }

  .ms-md-2 {
    margin-left: 0.5rem !important; }

  .ms-md-3 {
    margin-left: 1rem !important; }

  .ms-md-4 {
    margin-left: 1.5rem !important; }

  .ms-md-5 {
    margin-left: 3rem !important; }

  .ms-md-auto {
    margin-left: auto !important; }

  .p-md-0 {
    padding: 0 !important; }

  .p-md-1 {
    padding: 0.25rem !important; }

  .p-md-2 {
    padding: 0.5rem !important; }

  .p-md-3 {
    padding: 1rem !important; }

  .p-md-4 {
    padding: 1.5rem !important; }

  .p-md-5 {
    padding: 3rem !important; }

  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }

  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }

  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }

  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }

  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }

  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }

  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }

  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }

  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }

  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }

  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }

  .pt-md-0 {
    padding-top: 0 !important; }

  .pt-md-1 {
    padding-top: 0.25rem !important; }

  .pt-md-2 {
    padding-top: 0.5rem !important; }

  .pt-md-3 {
    padding-top: 1rem !important; }

  .pt-md-4 {
    padding-top: 1.5rem !important; }

  .pt-md-5 {
    padding-top: 3rem !important; }

  .pe-md-0 {
    padding-right: 0 !important; }

  .pe-md-1 {
    padding-right: 0.25rem !important; }

  .pe-md-2 {
    padding-right: 0.5rem !important; }

  .pe-md-3 {
    padding-right: 1rem !important; }

  .pe-md-4 {
    padding-right: 1.5rem !important; }

  .pe-md-5 {
    padding-right: 3rem !important; }

  .pb-md-0 {
    padding-bottom: 0 !important; }

  .pb-md-1 {
    padding-bottom: 0.25rem !important; }

  .pb-md-2 {
    padding-bottom: 0.5rem !important; }

  .pb-md-3 {
    padding-bottom: 1rem !important; }

  .pb-md-4 {
    padding-bottom: 1.5rem !important; }

  .pb-md-5 {
    padding-bottom: 3rem !important; }

  .ps-md-0 {
    padding-left: 0 !important; }

  .ps-md-1 {
    padding-left: 0.25rem !important; }

  .ps-md-2 {
    padding-left: 0.5rem !important; }

  .ps-md-3 {
    padding-left: 1rem !important; }

  .ps-md-4 {
    padding-left: 1.5rem !important; }

  .ps-md-5 {
    padding-left: 3rem !important; }

  .text-md-start {
    text-align: left !important; }

  .text-md-end {
    text-align: right !important; }

  .text-md-center {
    text-align: center !important; } }
@media (min-width: 992px) {
  
  .m-lg-0 {
    margin: 0 !important; }

  .m-lg-1 {
    margin: 0.25rem !important; }

  .m-lg-2 {
    margin: 0.5rem !important; }

  .m-lg-3 {
    margin: 1rem !important; }

  .m-lg-4 {
    margin: 1.5rem !important; }

  .m-lg-5 {
    margin: 3rem !important; }

  .m-lg-auto {
    margin: auto !important; }

  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }

  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }

  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }

  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }

  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }

  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }

  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important; }

  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }

  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }

  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }

  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }

  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }

  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }

  .mt-lg-0 {
    margin-top: 0 !important; }

  .mt-lg-1 {
    margin-top: 0.25rem !important; }

  .mt-lg-2 {
    margin-top: 0.5rem !important; }

  .mt-lg-3 {
    margin-top: 1rem !important; }

  .mt-lg-4 {
    margin-top: 1.5rem !important; }

  .mt-lg-5 {
    margin-top: 3rem !important; }

  .mt-lg-auto {
    margin-top: auto !important; }

  .me-lg-0 {
    margin-right: 0 !important; }

  .me-lg-1 {
    margin-right: 0.25rem !important; }

  .me-lg-2 {
    margin-right: 0.5rem !important; }

  .me-lg-3 {
    margin-right: 1rem !important; }

  .me-lg-4 {
    margin-right: 1.5rem !important; }

  .me-lg-5 {
    margin-right: 3rem !important; }

  .me-lg-auto {
    margin-right: auto !important; }

  .mb-lg-0 {
    margin-bottom: 0 !important; }

  .mb-lg-1 {
    margin-bottom: 0.25rem !important; }

  .mb-lg-2 {
    margin-bottom: 0.5rem !important; }

  .mb-lg-3 {
    margin-bottom: 1rem !important; }

  .mb-lg-4 {
    margin-bottom: 1.5rem !important; }

  .mb-lg-5 {
    margin-bottom: 3rem !important; }

  .mb-lg-auto {
    margin-bottom: auto !important; }

  .ms-lg-0 {
    margin-left: 0 !important; }

  .ms-lg-1 {
    margin-left: 0.25rem !important; }

  .ms-lg-2 {
    margin-left: 0.5rem !important; }

  .ms-lg-3 {
    margin-left: 1rem !important; }

  .ms-lg-4 {
    margin-left: 1.5rem !important; }

  .ms-lg-5 {
    margin-left: 3rem !important; }

  .ms-lg-auto {
    margin-left: auto !important; }

  .p-lg-0 {
    padding: 0 !important; }

  .p-lg-1 {
    padding: 0.25rem !important; }

  .p-lg-2 {
    padding: 0.5rem !important; }

  .p-lg-3 {
    padding: 1rem !important; }

  .p-lg-4 {
    padding: 1.5rem !important; }

  .p-lg-5 {
    padding: 3rem !important; }

  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }

  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }

  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }

  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }

  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }

  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }

  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }

  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }

  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }

  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }

  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }

  .pt-lg-0 {
    padding-top: 0 !important; }

  .pt-lg-1 {
    padding-top: 0.25rem !important; }

  .pt-lg-2 {
    padding-top: 0.5rem !important; }

  .pt-lg-3 {
    padding-top: 1rem !important; }

  .pt-lg-4 {
    padding-top: 1.5rem !important; }

  .pt-lg-5 {
    padding-top: 3rem !important; }

  .pe-lg-0 {
    padding-right: 0 !important; }

  .pe-lg-1 {
    padding-right: 0.25rem !important; }

  .pe-lg-2 {
    padding-right: 0.5rem !important; }

  .pe-lg-3 {
    padding-right: 1rem !important; }

  .pe-lg-4 {
    padding-right: 1.5rem !important; }

  .pe-lg-5 {
    padding-right: 3rem !important; }

  .pb-lg-0 {
    padding-bottom: 0 !important; }

  .pb-lg-1 {
    padding-bottom: 0.25rem !important; }

  .pb-lg-2 {
    padding-bottom: 0.5rem !important; }

  .pb-lg-3 {
    padding-bottom: 1rem !important; }

  .pb-lg-4 {
    padding-bottom: 1.5rem !important; }

  .pb-lg-5 {
    padding-bottom: 3rem !important; }

  .ps-lg-0 {
    padding-left: 0 !important; }

  .ps-lg-1 {
    padding-left: 0.25rem !important; }

  .ps-lg-2 {
    padding-left: 0.5rem !important; }

  .ps-lg-3 {
    padding-left: 1rem !important; }

  .ps-lg-4 {
    padding-left: 1.5rem !important; }

  .ps-lg-5 {
    padding-left: 3rem !important; }

  .text-lg-start {
    text-align: left !important; }

  .text-lg-end {
    text-align: right !important; }

  .text-lg-center {
    text-align: center !important; } }
@media (min-width: 1200px) {
 
  .m-xl-0 {
    margin: 0 !important; }

  .m-xl-1 {
    margin: 0.25rem !important; }

  .m-xl-2 {
    margin: 0.5rem !important; }

  .m-xl-3 {
    margin: 1rem !important; }

  .m-xl-4 {
    margin: 1.5rem !important; }

  .m-xl-5 {
    margin: 3rem !important; }

  .m-xl-auto {
    margin: auto !important; }

  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }

  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }

  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }

  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }

  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }

  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }

  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important; }

  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }

  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }

  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }

  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }

  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }

  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }

  .mt-xl-0 {
    margin-top: 0 !important; }

  .mt-xl-1 {
    margin-top: 0.25rem !important; }

  .mt-xl-2 {
    margin-top: 0.5rem !important; }

  .mt-xl-3 {
    margin-top: 1rem !important; }

  .mt-xl-4 {
    margin-top: 1.5rem !important; }

  .mt-xl-5 {
    margin-top: 3rem !important; }

  .mt-xl-auto {
    margin-top: auto !important; }

  .me-xl-0 {
    margin-right: 0 !important; }

  .me-xl-1 {
    margin-right: 0.25rem !important; }

  .me-xl-2 {
    margin-right: 0.5rem !important; }

  .me-xl-3 {
    margin-right: 1rem !important; }

  .me-xl-4 {
    margin-right: 1.5rem !important; }

  .me-xl-5 {
    margin-right: 3rem !important; }

  .me-xl-auto {
    margin-right: auto !important; }

  .mb-xl-0 {
    margin-bottom: 0 !important; }

  .mb-xl-1 {
    margin-bottom: 0.25rem !important; }

  .mb-xl-2 {
    margin-bottom: 0.5rem !important; }

  .mb-xl-3 {
    margin-bottom: 1rem !important; }

  .mb-xl-4 {
    margin-bottom: 1.5rem !important; }

  .mb-xl-5 {
    margin-bottom: 3rem !important; }

  .mb-xl-auto {
    margin-bottom: auto !important; }

  .ms-xl-0 {
    margin-left: 0 !important; }

  .ms-xl-1 {
    margin-left: 0.25rem !important; }

  .ms-xl-2 {
    margin-left: 0.5rem !important; }

  .ms-xl-3 {
    margin-left: 1rem !important; }

  .ms-xl-4 {
    margin-left: 1.5rem !important; }

  .ms-xl-5 {
    margin-left: 3rem !important; }

  .ms-xl-auto {
    margin-left: auto !important; }

  .p-xl-0 {
    padding: 0 !important; }

  .p-xl-1 {
    padding: 0.25rem !important; }

  .p-xl-2 {
    padding: 0.5rem !important; }

  .p-xl-3 {
    padding: 1rem !important; }

  .p-xl-4 {
    padding: 1.5rem !important; }

  .p-xl-5 {
    padding: 3rem !important; }

  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }

  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }

  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }

  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }

  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }

  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }

  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }

  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }

  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }

  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }

  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }

  .pt-xl-0 {
    padding-top: 0 !important; }

  .pt-xl-1 {
    padding-top: 0.25rem !important; }

  .pt-xl-2 {
    padding-top: 0.5rem !important; }

  .pt-xl-3 {
    padding-top: 1rem !important; }

  .pt-xl-4 {
    padding-top: 1.5rem !important; }

  .pt-xl-5 {
    padding-top: 3rem !important; }

  .pe-xl-0 {
    padding-right: 0 !important; }

  .pe-xl-1 {
    padding-right: 0.25rem !important; }

  .pe-xl-2 {
    padding-right: 0.5rem !important; }

  .pe-xl-3 {
    padding-right: 1rem !important; }

  .pe-xl-4 {
    padding-right: 1.5rem !important; }

  .pe-xl-5 {
    padding-right: 3rem !important; }

  .pb-xl-0 {
    padding-bottom: 0 !important; }

  .pb-xl-1 {
    padding-bottom: 0.25rem !important; }

  .pb-xl-2 {
    padding-bottom: 0.5rem !important; }

  .pb-xl-3 {
    padding-bottom: 1rem !important; }

  .pb-xl-4 {
    padding-bottom: 1.5rem !important; }

  .pb-xl-5 {
    padding-bottom: 3rem !important; }

  .ps-xl-0 {
    padding-left: 0 !important; }

  .ps-xl-1 {
    padding-left: 0.25rem !important; }

  .ps-xl-2 {
    padding-left: 0.5rem !important; }

  .ps-xl-3 {
    padding-left: 1rem !important; }

  .ps-xl-4 {
    padding-left: 1.5rem !important; }

  .ps-xl-5 {
    padding-left: 3rem !important; }

  .text-xl-start {
    text-align: left !important; }

  .text-xl-end {
    text-align: right !important; }

  .text-xl-center {
    text-align: center !important; } }
@media (min-width: 1400px) {
  
  .m-xxl-0 {
    margin: 0 !important; }

  .m-xxl-1 {
    margin: 0.25rem !important; }

  .m-xxl-2 {
    margin: 0.5rem !important; }

  .m-xxl-3 {
    margin: 1rem !important; }

  .m-xxl-4 {
    margin: 1.5rem !important; }

  .m-xxl-5 {
    margin: 3rem !important; }

  .m-xxl-auto {
    margin: auto !important; }

  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important; }

  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important; }

  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important; }

  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }

  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important; }

  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }

  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important; }

  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }

  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important; }

  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important; }

  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }

  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important; }

  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }

  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important; }

  .mt-xxl-0 {
    margin-top: 0 !important; }

  .mt-xxl-1 {
    margin-top: 0.25rem !important; }

  .mt-xxl-2 {
    margin-top: 0.5rem !important; }

  .mt-xxl-3 {
    margin-top: 1rem !important; }

  .mt-xxl-4 {
    margin-top: 1.5rem !important; }

  .mt-xxl-5 {
    margin-top: 3rem !important; }

  .mt-xxl-auto {
    margin-top: auto !important; }

  .me-xxl-0 {
    margin-right: 0 !important; }

  .me-xxl-1 {
    margin-right: 0.25rem !important; }

  .me-xxl-2 {
    margin-right: 0.5rem !important; }

  .me-xxl-3 {
    margin-right: 1rem !important; }

  .me-xxl-4 {
    margin-right: 1.5rem !important; }

  .me-xxl-5 {
    margin-right: 3rem !important; }

  .me-xxl-auto {
    margin-right: auto !important; }

  .mb-xxl-0 {
    margin-bottom: 0 !important; }

  .mb-xxl-1 {
    margin-bottom: 0.25rem !important; }

  .mb-xxl-2 {
    margin-bottom: 0.5rem !important; }

  .mb-xxl-3 {
    margin-bottom: 1rem !important; }

  .mb-xxl-4 {
    margin-bottom: 1.5rem !important; }

  .mb-xxl-5 {
    margin-bottom: 3rem !important; }

  .mb-xxl-auto {
    margin-bottom: auto !important; }

  .ms-xxl-0 {
    margin-left: 0 !important; }

  .ms-xxl-1 {
    margin-left: 0.25rem !important; }

  .ms-xxl-2 {
    margin-left: 0.5rem !important; }

  .ms-xxl-3 {
    margin-left: 1rem !important; }

  .ms-xxl-4 {
    margin-left: 1.5rem !important; }

  .ms-xxl-5 {
    margin-left: 3rem !important; }

  .ms-xxl-auto {
    margin-left: auto !important; }

  .p-xxl-0 {
    padding: 0 !important; }

  .p-xxl-1 {
    padding: 0.25rem !important; }

  .p-xxl-2 {
    padding: 0.5rem !important; }

  .p-xxl-3 {
    padding: 1rem !important; }

  .p-xxl-4 {
    padding: 1.5rem !important; }

  .p-xxl-5 {
    padding: 3rem !important; }

  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important; }

  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important; }

  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important; }

  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }

  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important; }

  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }

  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }

  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; }

  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important; }

  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; }

  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; }

  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; }

  .pt-xxl-0 {
    padding-top: 0 !important; }

  .pt-xxl-1 {
    padding-top: 0.25rem !important; }

  .pt-xxl-2 {
    padding-top: 0.5rem !important; }

  .pt-xxl-3 {
    padding-top: 1rem !important; }

  .pt-xxl-4 {
    padding-top: 1.5rem !important; }

  .pt-xxl-5 {
    padding-top: 3rem !important; }

  .pe-xxl-0 {
    padding-right: 0 !important; }

  .pe-xxl-1 {
    padding-right: 0.25rem !important; }

  .pe-xxl-2 {
    padding-right: 0.5rem !important; }

  .pe-xxl-3 {
    padding-right: 1rem !important; }

  .pe-xxl-4 {
    padding-right: 1.5rem !important; }

  .pe-xxl-5 {
    padding-right: 3rem !important; }

  .pb-xxl-0 {
    padding-bottom: 0 !important; }

  .pb-xxl-1 {
    padding-bottom: 0.25rem !important; }

  .pb-xxl-2 {
    padding-bottom: 0.5rem !important; }

  .pb-xxl-3 {
    padding-bottom: 1rem !important; }

  .pb-xxl-4 {
    padding-bottom: 1.5rem !important; }

  .pb-xxl-5 {
    padding-bottom: 3rem !important; }

  .ps-xxl-0 {
    padding-left: 0 !important; }

  .ps-xxl-1 {
    padding-left: 0.25rem !important; }

  .ps-xxl-2 {
    padding-left: 0.5rem !important; }

  .ps-xxl-3 {
    padding-left: 1rem !important; }

  .ps-xxl-4 {
    padding-left: 1.5rem !important; }

  .ps-xxl-5 {
    padding-left: 3rem !important; }

  .text-xxl-start {
    text-align: left !important; }

  .text-xxl-end {
    text-align: right !important; }

  .text-xxl-center {
    text-align: center !important; }
}
.ttl_org{
  margin: 0.75em 0;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.sp_only{
  display:block;
}
.pc_only{
  display:none;
}

@media screen and (min-width: 767.98px){
  .sp_only{
    display:none;
  }
  .pc_only{
    display:block;
  }
}

@media screen and (max-width: 768px){
  .ttl_org{
    margin: 0.75em 0;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
  }
 
}

.fs_075em{
  font-size:0.75rem;
}

.text-danger {
  color: #dc3545 !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }

  .fs-2 {
    font-size: 2rem !important;
  }

  .fs-3 {
    font-size: 1.75rem !important;
  }

  .fs-4 {
    font-size: 1.5rem !important;
  }
}

#contents .column_sec01 .editor_content_body img, #contents .dictionary_sec01 .editor_content_body img{
  margin-bottom: 5px;
}

.yarpp-thumbnails-horizontal .yarpp-thumbnail{
  border:none;
}

#contents .nightwork_sec01 .attention {
  margin-bottom: 2rem;
  padding: 25px;
  font-size: 3.0rem;
  font-weight: 700;
  text-align: center;
  border: solid 3px #c5400b;
}

@media (max-width: 767px){
  #contents .nightwork_sec01 .attention {
    font-size: 1.85rem;
  }
}

#contents section .nightwork_txt1{
  font-size:2.0rem;
  text-align:center;
}

@media (max-width: 767px){
  #contents section .nightwork_txt1{
    font-size: 1.65rem;
  }
}

.arch_red{
  color: #c5400b;
}
.arch_blue{
  color: #0b307b;
}



.nightwork_hanzai_list{
  --item-max: 170px;   /* PC: ボックス最大幅 */
  --img-h:   170px;    /* PC: 画像エリア高さ */
  --label-h: 3.2em;    /* PC: テキストエリア高さ（約2行分） */
  display: grid;
  grid-template-columns: repeat(5, minmax(0, var(--item-max))); /* PC: 固定幅×5 */
  justify-content: center;   /* 余白は左右へ寄せて間延び防止 */
  column-gap: 24px;
  row-gap: 0;
  align-items: start;
  margin-bottom:2rem;
}

.nightwork_sec01 .grid-template-columns-4{
  grid-template-columns: repeat(4, minmax(0, var(--item-max))); 
}

@media (max-width: 767px){
  .nightwork_sec01 .grid-template-columns-4{
    grid-template-columns: repeat(2, minmax(0, var(--item-max))); 
  }
}


.nightwork_hanzai_list > div{
  width: 100%;
  max-width: var(--item-max);                   /* div単位で上限を指定 */
  display: grid;
  grid-template-rows: var(--img-h) var(--label-h); /* 画像・テキストの高さを揃える */
  justify-items: center;
  row-gap: 8px;
  text-align: center;
}

.trouble_img{
  width: 100%;
  height: var(--img-h);   /* 画像枠の高さを固定して横並びを揃える */
  object-fit: contain;    /* 比率維持で枠内に収める */
  display: block;
}

.nightwork_hanzai_list > div > span{
  display: flex;          /* テキストを上下左右中央に */
  align-items: center;
  justify-content: center;
  line-height: 1.6;
  padding: 0 4px;
  word-break: break-word;
  overflow-wrap: anywhere;
  color:#0b307b;
  font-weight:bold;
  font-size:1.8rem;
}

/* スマホ: 2列。テキストの固定高はなくす（auto） */
@media (max-width: 767px){
  .nightwork_hanzai_list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 16px;
  }
  .nightwork_hanzai_list > div{
    max-width: none;
    grid-template-rows: var(--img-h) auto;  /* ← labelの固定高を解除 */
  }
  /* 要素数が奇数のとき、最後の1個を中央寄せ */
  .nightwork_hanzai_list > div:last-child:nth-child(odd){
    grid-column: 1 / -1;
    justify-self: center;
    max-width: var(--item-max);
    width: 100%;
  }
}

.nightwork_merit {
  padding: 100px 0;
  background-color: #f6f6f6;
}

.nightwork_merit h2 {
  margin-bottom: 1.5em;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}



.nightwork_merit h2+p {
  margin-bottom: 2em;
  font-size: 1.8rem;
}

.nightwork_merit ol {
  margin-bottom: 50px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.nightwork_merit ol li {
  width: 31.25%;
  margin: 0 3.125% 3.125% 0;
  background-color: #dae2f1;
  border: solid 5px #0b307b;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.nightwork_merit ol li:nth-child(3n) {
  margin-right: 0;
}

.nightwork_merit ol li dl dt {
  min-height: 161px;
  padding: 20px;
  text-align: center;
  background-color: #ffffff;
  border-bottom: solid 2px #0b307b;
  position: relative;
}

#contents section .nightwork_merit_num{
  margin-top:0.5em;
  margin-bottom:0;
  font-size:2.5rem;
  line-height: 1.5;
}

.nightwork_merit ol li dl dt:before,
#index .nightwork_merit ol li dl dt:after {
  width: 0;
  height: 0;
  position: absolute;
  content: "";
  border: solid transparent;
  top: 100%;
  left: 50%;
  pointer-events: none;
}

.nightwork_merit ol li dl dt:before {
  margin-left: -28px;
  border-color: transparent;
  border-top-color: #0b307b;
  border-width: 28px;
}

.nightwork_merit ol li dl dt:after {
  margin-left: -25px;
  border-color: rgba(255, 255, 255, 0);
  border-top-color: #ffffff;
  border-width: 25px;
}

.nightwork_merit ol li dl dt span {
  padding: 3px 10px;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
  color: #ffffff;
  background-color: #0b307b;
  display: inline-block;
  -moz-border-radius: 999px;
  -webkit-border-radius: 999px;
  border-radius: 999px;
}

.nightwork_merit ol li dl dt h3 {
  margin-top: 0.75em;
  font-size: 2.2rem;
  font-weight: 700;
}

.nightwork_merit ol li dl dd {
  padding: 35px 30px;
}

.nightwork_merit ol li dl dd h4 {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color: #0b307b;
}

.nightwork_merit ol li dl dd p {
  font-size: 1.4rem;
  line-height: 1.85;
}

@media screen and (max-width: 768px) {
	.nightwork_merit {
	  padding: 50px 0;
	}

	.nightwork_merit h2 {
	  font-size: 2.8rem;
	}

	.nightwork_merit ol {
	  margin-bottom: 40px;
	  display: block;
	}

	.nightwork_merit ol li {
	  width: 100%;
	  margin: 0 0 20px 0 !important;
	}

	.nightwork_merit ol li dl dt {
	  min-height: auto;
	  padding: 10px;
	}

	.nightwork_merit ol li dl dt:before {
	  margin-left: -18px;
	  border-width: 18px;
	}

	.nightwork_merit ol li dl dt:after {
	  margin-left: -15px;
	  border-width: 15px;
	}

	.nightwork_merit ol li dl dt h3 {
	  margin-top: 0.5em;
	  font-size: 2rem;
	}

	.nightwork_merit ol li dl dd {
	  padding: 30px 10px 10px 10px;
	}
}



.nightwork_sec02 h2 {
  margin-bottom: 1.5em;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}

#contents .nightwork_sec02 .results {
  margin-bottom: 60px;
}


.nightwork_sec02 h2 {
  margin-bottom: 1.5em;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}

#contents .nightwork_sec02 .results {
  margin-bottom: 60px;
}

/* 基本スタイル */
.nightwork_sec02 .results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content:center;
  align-items:center;
}

.nightwork_sec02 .results li {
  position: relative;
  counter-increment: service-counter;
}

.nightwork_sec02 .results .img {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.nightwork_sec02 .results .img img {
  width: 100%;
  height: auto;
  display: block;
}

/* タイトルスタイル */
.nightwork_sec02 .results .ttl {
  background: #0b307b;
  color: #fff;
  text-align: center;
  padding: 0.5em;
}

.nightwork_sec02 .results .ttl a {
  color: #fff;
  text-decoration: none;
  display: block;
  font-size:1.45rem;
}

/* ナンバリング */
.nightwork_sec02 .results {
  counter-reset: service-counter;
}

.nightwork_sec02 .results li::before {
  content: counter(service-counter);
  position: absolute;
  top: 0;
  left: 0;
  background: #bf9000;
  color: #fff;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.45rem;
  z-index: 10;
}

/* スマホ表示（768px以下） */
@media screen and (max-width: 768px) {
  .nightwork_sec02 .results {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  
  .nightwork_sec02 .results li::before {
    width: 28px;
    height: 28px;
    font-size: 1.25rem;
  }
  
  .nightwork_sec02 .results .ttl a {
    font-size:1.25rem;
  }
  
  
}

/* clearfixの代替（gridを使用しているため不要ですが、念のため） */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}



/******/
/* セクション下余白（必要なら） */
#contents .nightwork_sec02 .results_02 {
  margin-bottom: 60px;
}

/* ====== 基本（SP基準）====== */
/* UL本体：フレックス＋中央寄せ */
.nightwork_sec02 .results_02 {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;              /* SPは15px */
  justify-content: center;/* 最終行を含め常に中央寄せ */
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: service-counter;
}

/* 各アイテム */
.nightwork_sec02 .results_02 li {
  box-sizing: border-box;
  position: relative;
  counter-increment: service-counter;
  width: calc((100% - 15px) / 2); /* SP：2列（gap=15px → 行内に1つギャップ） */
}

/* 画像枠 */
.nightwork_sec02 .results_02 .img {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* 画像 */
.nightwork_sec02 .results_02 .img img {
  width: 100%;
  height: auto;
  display: block;
}

/* タイトル帯 */
.nightwork_sec02 .results_02 .ttl {
  background: #0b307b;
  color: #fff;
  text-align: center;
  padding: 0.5em;
}

/* タイトルリンク */
.nightwork_sec02 .results_02 .ttl a {
  color: #fff;
  text-decoration: none;
  display: block;
  font-size: 1.25rem; /* SPは少し小さめ */
}

/* ナンバリング（左上バッジ） */
.nightwork_sec02 .results_02 li::before {
  content: counter(service-counter);
  position: absolute;
  top: 0;
  left: 0;
  background: #bf9000;
  color: #fff;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.25rem;
  z-index: 10;
}

/* ====== PC（769px以上）====== */
@media (min-width: 769px) {
  .nightwork_sec02 .results_02 {
    gap: 20px; /* PCは20px */
  }

  /* 3列。gap=20px → 1行に2つギャップが入る想定 */
  .nightwork_sec02 .results_02 li {
    width: calc((100% - 40px) / 3);
  }

  /* タイトル文字サイズを戻す */
  .nightwork_sec02 .results_02 .ttl a {
    font-size: 1.45rem;
  }

  /* バッジも少し大きく */
  .nightwork_sec02 .results_02 li::before {
    width: 30px;
    height: 30px;
    font-size: 1.45rem;
  }
}

/*****/


/*ナイトワークのサービスセクション*/
#contents .nightwork_sec03 ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

#contents .nightwork_sec03 ul li {
  width: 48.6%;
  margin: 0 2.8% 2.8% 0;
  padding: 0 20px;
  background-color: #f1f1f1;
}

#contents .nightwork_sec03 ul li:nth-child(2n) {
  margin-right: 0;
}

#contents .nightwork_sec03 ul li .img {
  width: calc(100% + 40px);
  margin: 0 -20px;
}

#contents .nightwork_sec03 ul li .img img {
  width: 100%;
}

#contents .nightwork_sec03 ul li .text {
  padding: 25px 20px;
  background-color: #ffffff;
  position: relative;
  z-index: 1;
  -moz-transform: translate(0, -20px);
  -ms-transform: translate(0, -20px);
  -webkit-transform: translate(0, -20px);
  transform: translate(0, -20px);
}

#contents .nightwork_sec03 ul li .text h3 {
  margin-bottom: 1em;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

#contents .nightwork_sec03 ul li .text p {
  margin-bottom: 0;
}

#contents .nightwork_sec03 .panel01 h3 {
  margin-bottom: 1.5em;
  font-size: 2.4rem;
}

#contents .nightwork_sec03 .panel01 ol {
  counter-reset: tokutei_num;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

#contents .nightwork_sec03 .panel01 ol li {
  width: 31.25%;
  margin: 0 3.125% 0 0;
  padding: 25px;
  counter-increment: tokutei_num;
  background-color: #ffffff;
  border: solid 2px #d9d9d9;
}

#contents .nightwork_sec03 .panel01 ol li:nth-child(3n) {
  margin-right: 0;
}

#contents .nightwork_sec03 .panel01 ol li h4 {
  margin-bottom: 15px;
  padding: 0 0 15px 65px;
  font-size: 2rem;
  font-weight: 700;
  border-bottom: solid 1px #d9d9d9;
  position: relative;
}

#contents .nightwork_sec03 .panel01 ol li h4:before {
  width: 55px;
  height: 55px;
  content: counter(tokutei_num, decimal-leading-zero);
  font-family: 'Roboto', sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 55px;
  text-align: center;
  color: #ffffff;
  background-color: #765a21;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}

#contents .nightwork_sec03 .panel01 ol li p {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
#contents .nightwork_sec03 ul {
    display: block; }
    #contents .nightwork_sec03 ul li {
      width: 100%;
      margin: 0 0 20px 0 !important;
      padding: 0 10px; }
      #contents .nightwork_sec03 ul li .img {
        width: calc(100% + 20px);
        margin: 0 -10px; }
      #contents .nightwork_sec03 ul li .text {
        padding: 15px 10px;
        -moz-transform: translate(0, -10px);
        -ms-transform: translate(0, -10px);
        -webkit-transform: translate(0, -10px);
        transform: translate(0, -10px); }
        #contents .nightwork_sec03 ul li .text h3 {
          font-size: 2rem; }
  #contents .nightwork_sec03 .panel01 h3 {
    font-size: 2.0rem; }
  #contents .nightwork_sec03 .panel01 ol {
    display: block; }
    #contents .nightwork_sec03 .panel01 ol li {
      width: 100%;
      margin: 0 0 15px 0 !important;
      padding: 1em; }
      #contents .nightwork_sec03 .panel01 ol li h4 {
        padding: 0 0 10px 40px;
        font-size: 1.8rem; }
        #contents .nightwork_sec03 .panel01 ol li h4:before {
          width: 30px;
          height: 30px;
          font-size: 1.8rem;
          line-height: 30px; }

}

/* 基本のpillスタイル */
#contents .nightwork_sec03 .nw_pill_blue,
#contents .nightwork_sec03 .nw_pill_orange,
#contents .nightwork_sec03 .nw_pill_green,
#contents .nightwork_sec03 .nw_pill_red {
  display: inline-block;
  padding: 0.25em 0.75em;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 50rem;
  margin: 0.25em 0;
}

/* ブルー */
.nw_pill_blue {
  background-color: #0b307b;
}

/* オレンジ */
.nw_pill_orange {
  background-color: #fd7e14;
}

/* グリーン */
.nw_pill_green {
  background-color: #198754;
}

/* レッド */
.nw_pill_red {
  background-color: #c5400b;
}

/* ホバー効果（オプション） */
.nw_pill_blue:hover,
.nw_pill_orange:hover,
.nw_pill_green:hover,
.nw_pill_red:hover {
  opacity: 0.85;
  transition: opacity 0.15s ease-in-out;
}


/*ナイトワークトラブル解決事例*/

/* ケースコンテナ */
.aboutus_sec04 .case-container {
  margin: 0 auto 30px;
  background-color: #f9f9f9;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ケースヘッダー */
.aboutus_sec04 .case-header {
  background-color: #0b307b;
  color: #ffffff;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.aboutus_sec04 .case-number {
  background-color: #ffffff;
  color: #0b307b;
  padding: 2px 8px;
  font-weight: bold;
  font-size: 1.45rem;
}

.aboutus_sec04 .case-title {
  font-size: 2rem;
  font-weight: bold;
}

/* ケースコンテンツ */
.aboutus_sec04 .case-content {
  display: flex;
  background-color: #f9f9f9;
  min-height: 150px;
}

/* 左側（実施内容） */
.aboutus_sec04 .case-details {
  flex: 0 0 70%;
  padding: 20px;
}

.aboutus_sec04 .section-label {
  background-color: #2c4a7c;
  color: #ffffff;
  padding: 4px 12px;
  display: inline-block;
  font-size: 1.5rem;
  margin-bottom: 15px;
}

.aboutus_sec04 .case-details ul {
  list-style: none;
}

.aboutus_sec04 .case-details li {
  padding-left: 20px;
  margin-bottom: 8px;
  position: relative;
  font-size: 1.85rem;
  line-height: 1.6;
}

.aboutus_sec04 .case-details li:before {
  content: "・";
  position: absolute;
  left: 5px;
}

.aboutus_sec04 .price {
  font-weight: bold;
}

.aboutus_sec04 .note {
  font-size: 11px;
  color: #888;
  margin-top: 10px;
}

/* 右側（画像） */
.aboutus_sec04 .case-image {
  flex: 0 0 30%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 20px;
}

.aboutus_sec04 .case-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
 
  .aboutus_sec04 .case-header {
    padding: 8px 15px;
  }
  
  .aboutus_sec04 .case-title {
      font-size: 1.75rem;
  }

  .aboutus_sec04 .case-content {
    flex-direction: column-reverse;
  }

  .aboutus_sec04 .case-details {
    flex: 0 0 100%;
    padding: 15px;
  }

  .aboutus_sec04 .case-image {
    flex: 0 0 100%;
    width: 100%;
    height: 200px;
    padding:10px 10px 0 10px;
  }

  .aboutus_sec04 .case-details li {
    font-size: 13px;
  }
}

.case-icon-title{
  margin:0 20px;
}
.case-icon-title h3{
  font-size:2.5rem;
  padding: 20px 0;
  display: flex;          /* 1カ所だけなら inline-flex でもOK */
  align-items: center;    /* これで上下中央 */
  gap: .5em;              /* 画像と文字の間隔 */
}

.case-icon-title hr{
  margin:0;
  padding:0;
}

.nw_icon{
  width:5rem;
}

.nw_danger{
  background:#c5400b;
  color:#fff;
  text-align:center;
  padding:0.5em;
  font-size:2rem;
}

@media screen and (max-width: 768px) {

  .case-icon-title{
    margin:0 10px;
  }
  .case-icon-title h3{
    font-size:2rem;
    padding: 10px 0;
    display: flex;          /* 1カ所だけなら inline-flex でもOK */
    align-items: center;    /* これで上下中央 */
    gap: .5em;              /* 画像と文字の間隔 */
  }

  .case-icon-title hr{
    margin:0;
    padding:0;
  }

  .nw_icon{
    width:3rem;
  }


}





 /* Bootstrap風グリッドシステム */

/* コンテナ */
.grid_cont {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

/* クリアフィックス */
.grid_cont::after {
  content: "";
  display: table;
  clear: both;
}

/* レスポンシブブレイクポイント */
/* xs - 特に指定なし (0px以上) */
/* sm - 576px以上 */
/* md - 768px以上 */
/* lg - 992px以上 */
/* xl - 1200px以上 */

/* 行 */
.grid_row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* 共通カラムスタイル */
[class*="grid-"] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  box-sizing: border-box;
}

/* xs グリッド (デフォルト) */
@media (min-width: 0) {
  .grid-1 { width: 8.333333%; }
  .grid-2 { width: 16.666667%; }
  .grid-3 { width: 25%; }
  .grid-4 { width: 33.333333%; }
  .grid-5 { width: 41.666667%; }
  .grid-6 { width: 50%; }
  .grid-7 { width: 58.333333%; }
  .grid-8 { width: 66.666667%; }
  .grid-9 { width: 75%; }
  .grid-10 { width: 83.333333%; }
  .grid-11 { width: 91.666667%; }
  .grid-12 { width: 100%; }
}

/* sm グリッド */
@media (min-width: 576px) {
  .grid-sm-1 { width: 8.333333%; }
  .grid-sm-2 { width: 16.666667%; }
  .grid-sm-3 { width: 25%; }
  .grid-sm-4 { width: 33.333333%; }
  .grid-sm-5 { width: 41.666667%; }
  .grid-sm-6 { width: 50%; }
  .grid-sm-7 { width: 58.333333%; }
  .grid-sm-8 { width: 66.666667%; }
  .grid-sm-9 { width: 75%; }
  .grid-sm-10 { width: 83.333333%; }
  .grid-sm-11 { width: 91.666667%; }
  .grid-sm-12 { width: 100%; }
}

/* md グリッド */
@media (min-width: 768px) {
  .grid-md-1 { width: 8.333333%; }
  .grid-md-2 { width: 16.666667%; }
  .grid-md-3 { width: 25%; }
  .grid-md-4 { width: 33.333333%; }
  .grid-md-5 { width: 41.666667%; }
  .grid-md-6 { width: 50%; }
  .grid-md-7 { width: 58.333333%; }
  .grid-md-8 { width: 66.666667%; }
  .grid-md-9 { width: 75%; }
  .grid-md-10 { width: 83.333333%; }
  .grid-md-11 { width: 91.666667%; }
  .grid-md-12 { width: 100%; }
}

/* lg グリッド */
@media (min-width: 992px) {
  .grid-lg-1 { width: 8.333333%; }
  .grid-lg-2 { width: 16.666667%; }
  .grid-lg-3 { width: 25%; }
  .grid-lg-4 { width: 33.333333%; }
  .grid-lg-5 { width: 41.666667%; }
  .grid-lg-6 { width: 50%; }
  .grid-lg-7 { width: 58.333333%; }
  .grid-lg-8 { width: 66.666667%; }
  .grid-lg-9 { width: 75%; }
  .grid-lg-10 { width: 83.333333%; }
  .grid-lg-11 { width: 91.666667%; }
  .grid-lg-12 { width: 100%; }
}

/* xl グリッド */
@media (min-width: 1200px) {
  .grid-xl-1 { width: 8.333333%; }
  .grid-xl-2 { width: 16.666667%; }
  .grid-xl-3 { width: 25%; }
  .grid-xl-4 { width: 33.333333%; }
  .grid-xl-5 { width: 41.666667%; }
  .grid-xl-6 { width: 50%; }
  .grid-xl-7 { width: 58.333333%; }
  .grid-xl-8 { width: 66.666667%; }
  .grid-xl-9 { width: 75%; }
  .grid-xl-10 { width: 83.333333%; }
  .grid-xl-11 { width: 91.666667%; }
  .grid-xl-12 { width: 100%; }
}

/* コンテナの最大幅 */
@media (min-width: 576px) {
  .grid_cont {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .grid_cont {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .grid_cont {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .grid_cont {
    max-width: 1140px;
  }
}

/* フルワイドコンテナ */
.grid_cont-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/*料金テーブル*/
.price_table {
  background: #223353;
  font-size: 1rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin: 0 auto;
  background: #fff;
  border: 5px solid #05242f;
  border-radius: 24px;
}
@media screen and (max-width: 575px) {
  .price_table {
    border-width: 2px;
    border-radius: 12px;
    font-size: 0.85rem;
  }
}
@media screen and (min-width: 768px) {
  .price_table {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 992px) {
  .price_table {
    font-size: 1.25rem;
  }
}
.price_table th,
.price_table td {
  padding: 0.5em;
  border: 0;
}
@media screen and (min-width: 576px) {
  .price_table th,
  .price_table td {
    padding: 1em;
  }
}
.price_table thead {
  background: #223353;
  color: #fff;
  font-size: 100%;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .price_table thead {
    font-size: 125%;
  }
}
.price_table tbody {
  background: #fff;
}
.price_table tbody th,
.price_table tbody td {
  border-right: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
}
.price_table tbody tr:last-child th,
.price_table tbody tr:last-child td {
  border-bottom: 0;
}
.price_table tbody th {
  font-weight: 700;
  font-size: 100%;
}
@media screen and (min-width: 992px) {
  .price_table tbody th {
    font-size: 125%;
  }
}
.price_table tbody td {
  text-align: center;
}
.price_table tbody td:last-child {
  border-right: 0;
}
.price_table tbody td small,
.price_table tbody td span {
  font-size: 90%;
}
@media screen and (max-width: 374px) {
  .price_table tbody th br.d-none {
    display: block!important;
  }
}
ol.price_notice_list {
  counter-reset: note 0;
  font-size: 0.6rem;
}
@media screen and (min-width: 576px) {
  ol.price_notice_list {
    font-size: 0.7rem;
  }
}
ol.price_notice_list li {
  padding-left: 2.5em;
  list-style: none;
  position: relative;
}
ol.price_notice_list li::before {
  counter-increment: note 1;
  content: "※" counter(note)"...";
  display: inline-block;
  position: absolute;
  left: 0;
}

/* レスポンシブ画像グリッド */
.image-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.image-grid-item {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}

.image-grid-item img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* PC版 (768px以上) */
@media screen and (min-width: 768px) {
  .image-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  /* 最初の3つの要素は1行目に3列で表示 */
  .image-grid-item:nth-child(-n+3) {
    width: 33.333%;
  }
  
  /* 4つ目と5つ目の要素は2行目に配置するが、幅は1行目と同じ */
  .image-grid-item:nth-child(n+4) {
    width: 33.333%;
  }
}

/* 中サイズのタブレット (992px以上) でより均等に */
@media screen and (min-width: 992px) {
  .image-grid-item {
    width: calc(100% / 3);
  }
}



/* 各項目（dl）全体のボックス */
.dl_design_01 {
  display: grid;
  grid-template-columns: minmax(8em, 12em) 1fr;
  column-gap: 1rem;
  row-gap: .5rem;
  padding: 12px 16px;
  margin: 0 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}

/* 見出し（dt）：太字・やや大きめ */
.dl_design_01 dt {
  grid-column: 1;
  margin: 0;
  font-weight: 700;
  font-size: 1.5rem;        /* 見出し */
  color: #111827;
  align-self: start;      /* 複数行でも上揃え */
}

/* 説明（dd）：通常・わずかに小さめ */
.dl_design_01 dd {
  grid-column: 2;
  margin: 0;
  font-weight: 400;
  font-size: 1.5rem;      /* 説明は控えめに */
  color: #374151;
  line-height: 1.7;
  word-break: break-word; /* 長いURL等の崩れ防止 */
}

/* 連続する項目の間隔微調整（任意） */
.dl_design_01 + .dl_design_01 {
  margin-top: 12px;
}

/* スマホ時は縦積み */
@media (max-width: 640px) {
  .dl_design_01 {
    grid-template-columns: 1fr;
  }
  .dl_design_01 dt,
  .dl_design_01 dd {
    grid-column: 1;
  }
  .dl_design_01 dt {
    margin-bottom: .25rem;
  }
}



#contents .aboutus_sec01 .case_recruit li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #d9d9d9;
}

#contents .aboutus_sec01 .case_recruit li h3 {
      margin-bottom: 20px;
      font-size: 2rem;
      font-weight: 700;
}
#contents .aboutus_sec01 .case_recruit li h3 span {
        margin-right: 1em;
        padding: 0.1em 1em;
        font-size: 1.6rem;
        font-weight: 700;
        color: #ffffff;
        background-color: #0b307b;
        display: inline-block;
        -moz-border-radius: 999px;
        -webkit-border-radius: 999px;
        border-radius: 999px;
}
#contents .aboutus_sec01 .case_recruit li p {
      margin-bottom: 0;
      font-size: 1.4rem; }
      #contents .hiben_sec02 dl dd .case li p.example {
        padding-left: 1.5em;
        text-indent: -1.5em;
}
#contents .aboutus_sec01 .panel_gray {
        margin: 1em 0;
  padding: 1em;
  background-color: #f1f1f1;
}
#contents .aboutus_sec01 .panel_gray h4 {
        margin-bottom: 0.5em;
        padding-left: 20px;
        font-size: 1.4rem;
        font-weight: 700;
}
#contents .aboutus_sec01 .panel_gray h4:before {
          width: 10px;
          height: 10px;
          margin-right: 10px;
          margin-left: -20px;
          content: '';
          background-image: url("../img/icon_square01.png");
          display: inline-block;
          vertical-align: 0;
}
#contents .aboutus_sec01 .panel_gray p {
        margin-bottom: 0;
}
#contents .aboutus_sec01 .case_recruit li .annotation {
      margin-top: 0;
      padding-left: 1em;
      font-size: 1.2rem;
      line-height: 2;
      text-indent: -1em;
}
#contents .aboutus_sec01 .case_recruit + p {
    font-size: 1.4rem;
}

.ttl-contents04 {
   padding: 0 .4em .2em;
    border-bottom: 3px solid #2589d0;
    background-color: #ffffff;
    color: #333333;
    font-size: 2.6rem;
    display: block;           
    margin: 1.5em auto ;          
    text-align: center;     
    width: fit-content; 
    font-weight:bold;
}


#contents .list_design_01 li {
	font-size: 1.6rem;
}
#contents .list_design_01 li .bold {
	font-size: 1.8rem;
}
#contents .list_design_01 li .list02 {
	margin-bottom: 0;
}
#contents .list_design_01 li .list02 li {
	padding-left: 34px;
	font-size: 1.6rem;
}


#contents .price_sec01 .price_box .price .recruit_text p{
  font-size:1.5rem;
  text-indent:0;
    margin-bottom:1em;
}

#contents .price_sec01 .price_box .price .recruit_text h3 {
  font-size:1.5rem;  
  padding: .5em .7em;
    border-left: 5px solid #2589d0;
    color: #333333;
    text-indent:0;
  margin-bottom:1em;
}

/* レイアウト全体 */
.rec_box01 {
  display: grid;
  grid-template-columns: 3fr 2fr; /* 左60% / 右40% */
  gap: 1.5rem;
  align-items: start;
}

/* 左右の中身（任意の整え） */
.rec_box01_left p {
  margin: 0 0 1em;
  line-height: 1.8;
}

/* 画像はPCで箱の幅にフィット */
.rec_box01_img {
  width: 100%;
  height: auto;
  display: block;
}

/* スマホ（幅768px未満）は縦並び＋画像80%中央寄せ */
@media (max-width: 767.98px) {
  .rec_box01 {
    grid-template-columns: 1fr; /* 1カラム */
  }
  .rec_box01_right {
    /* 画像の中央寄せ用（親側でもOK） */
    display: block;
    text-align: center;
  }
  .rec_box01_img {
    max-width: 100%;
    margin: 0 auto; /* 中央寄せ */
  }
}

#contents .disclosure_sec03 ul li .img.max-100px {
    max-width: 100px;
}