* {
  margin:0;
  padding:0;
  font-size:20px;
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.text-white {
  color: white;
}

.border {
  border: 1px solid #000;
}

.border-2 {
  border: solid 2px #000;
}

.border-5 {
  border: solid 5px #000;
}

.border-gray {
  border-color: #ccc;
}

.border-blue {
  border-color: #147eff;
}

.month-calendar-wrapper {
  position: relative;
  display: inline-block;
}

.month-calendar {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 100;
  background: #fff;
  border: 2px solid #4095fe;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  padding: 10px;
  width: 240px;
  margin-top: 4px;
}

.month-calendar.show {
  display: block;
}

.month-calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.month-calendar-header button {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #4095fe;
  padding: 2px 8px;
}

.month-calendar-header button:disabled {
  cursor: default;
}

.month-calendar-header span {
  font-size: 15px;
  font-weight: bold;
}

.month-calendar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}

.month-calendar-grid button {
  padding: 8px 4px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #f9f9f9;
  cursor: pointer;
  font-size: 13px;
  transition: background 0.2s;
}

.month-calendar-grid button:hover {
  background: #e0efff;
}

.month-calendar-grid button.selected {
  background: #4095fe;
  color: #fff;
  border-color: #4095fe;
}

.month-calendar-grid button.disabled {
  opacity: 0.3;
  cursor: default;
}

html,body{
  width:100%;
  height:100%;
}

body{
  background-color:#e8e8e8;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
}

div{
  position:relative;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
}
p{
  padding: 5px 15px 0;
}
button.btn_1{
  margin: 10px 0px 0px 15px;
  padding: 5px 10px 0;
}

h1{
  margin: 0 0 0px 0;
  padding: 5px 15px 0;
  border-bottom: 3px solid #ccc;
  color: #444757;
  font-size: 100%;
}

h2,h3,h4,h5{
  margin: 15px 0px 5px 10px;
  padding: 5px 10px 0;
  color: #444757;
  font-size: 100%;
}

btn_1{
  margin: 5px 0px 5px 15px;
  padding: 5px 0;
}

/*画面を二分割に*/
div.div_1 {
float: left;
width: 51%;
padding: 0% 1% 1% 3%;
}

div.div_2 {
float: right;
width: 46%;
margin-right: 2.5%;
margin-bottom: 1.7%;
}

div.div_3 {
  float: left;
    width: 43%;
    padding: 0% 1% 1% 2%;
    border: 2px solid #41567d;
    box-shadow: 3px 2px 1px #ccc;
    background: #fff;
    margin-left: 5vw;
}
  
.scroll {
  overflow: scroll;
}

div.boxContainer{
overflow: hidden;
}

.box2 {
  width:80%;
  padding: 0.5em 1em;
  margin: 2em 0 0 0.5em;
  font-weight: bold;
  color: #6091d3;/*文字色*/
  background: #FFF;
  border: solid 3px #6091d3;/*線*/
  border-radius: 10px;/*角の丸み*/
}
.box2 p {
  margin: 7px 1px 7px 2px; 
}

table {
border-collapse: collapse;
margin: 5px 15px 8px 15px;
padding: 0;
box-shadow: 0 0 15px -6px #00000073;
}
table tr {
background-color: #fff;
}
table tbody tr:hover{
background-color: #fffae9;
}
table th,
table td {
padding: .35em 1em;
border-bottom: 1px solid #eee;
font-size: 74%;
}
table thead th {
  font-size: .85em;
  padding: 1em;
}
table thead tr{
background-color: #1b2538;
color:#fff;
}
table tbody th {
text-align: left;
font-size: .8em;
}
.txt{
 text-align: left;
 font-size: 70%;
}
.price{
text-align: right;
color: #000;
font-weight: bold;
}
.pay_table{
width: 95%;
margin: 0 auto;
}

.pay_table thead tr {
text-align: center;
}

.pay_table tbody td {
text-align: center;
}

ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #1b2538;
}
li {
float: left;
border-right: 1px solid #bbbbbb;
}
li:last-child {
border-right: none;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: #a9bce2;
}
.toppage, .nav_register, .nav_datail, .navi_post, .navi_claim, .navi_news {
background-color: #6091d3;
}
.fade {
border-top: 1px dashed #8c8b8b;
border-bottom: 1px dashed #fff;
}
.btn-square-shadow {
margin: 10px 10px 7px 15px; 
display: inline-block;
padding: 0.5em 1em;
text-decoration: none;
background: #6091d3;/*ボタン色*/
color: #FFF;
border-bottom: solid 4px #627295;
border-radius: 3px;
}
.btn-square-shadow:active {
/*ボタンを押したとき*/
-webkit-transform: translateY(4px);
transform: translateY(4px);/*下に動く*/
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
border-bottom: none;
}

.btn-flat-border {
display: inline-block;
padding: 0.05em 1.4em;
text-decoration: none;
color: #67c5ff;
border: solid 2px #67c5ff;
border-radius: 3px;
transition: .4s;
}

.btn-flat-border:hover {
background: #67c5ff;
color: white;
}


.circle {
text-decoration: none;
margin: 60px 20px 60px 20px;  
color: #fff;
background-color:#87befd;
width: 120px;
height: 120px;
text-align: center;
display: inline-block;
border-radius: 50%;
box-shadow: 0px 0px 0px 5px #87befd;
border: dashed 1px #FFF;
}

.texts {
margin: 100px;
}


.flame {
  text-align: center;
  margin: 0px 0 10px 0;
  background-color: #4169E1;
  box-shadow: 1.5px 1.5px 2px #696969;
}

.flamefont {
color: #fff;
font-size: 25px;
}

/*お問い合わせのアイコン*/
.otoiawase {
  color: black;
  text-decoration: none;
  text-align:center;
  font-size: 14px;
  display: inline-block; /* ここがポイント */
  margin: 0px 10px 5px 20px;
}
.otoiawase img {
  height: 75px;
}

/*ご利用機能のアイコン*/
.thumbnail {
  color: black;
  text-decoration: none;
  text-align:center;
  font-size: 11px;
  display: inline-block; /* ここがポイント */
  margin: 0px 10px 15px 10px;
}
.thumbnail img {
  height: 90px;
}


/*タブ切り替え全体のスタイル*/
.tabs {
  
  width: 100%;
  /*margin-top: 50px;*/
padding-bottom: 40px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
width: 100%;
/*margin: 7px 0 7px 0;*/
}

/*タブのスタイル*/
.tab_item {
width: calc(100%/3);
height: 50px;
border-bottom: 3px solid #5ab4bd;
background-color: #d9d9d9;
line-height: 50px;
font-size: 16px;
text-align: center;
color: #565656;
display: block;
float: left;
text-align: center;
font-weight: bold;
transition: all 0.2s ease;
}
.tab_item:hover {
opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
display: none;
}

/*年月セレクトボックスのスタイル*/
.month_selector {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 100px);
  height: 50px;
  border: none;
  border-bottom: 3px solid #5ab4bd;
  background-color: #5ab4bd;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-align-last: center;
  padding: 0 15px;
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  outline: none;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
display: none;
padding: 20px 20px 0;
clear: both;
overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示(JS制御に移行)*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
background-color: #5ab4bd;
color: #fff;
}

.payment_header {
background-color: rgb(255, 240, 210);
width: 95%;
margin: 0 auto;
margin-bottom: 10px;
}

.month_payment {
margin-top: 12px;
}

.payment_content {
display: flex;
justify-content: space-between;
}

.payment_header span {
font-weight: bold;
}

#financial_institution {

}

#financial_institution p{
font-size: 14px;
}

#payment_Method {
font-size: 18px;
text-align: right;
color: rgb(252, 110, 67);
}

#branchname {
padding-top: 0;
font-size: 14px;
}

#branchname span {
padding-left: 28px;
font-size: 14px;
font-weight: normal;
}

#financial_item {
padding-top: 0;
font-size: 14px;
}

#withdrawal {
font-size: 14px;
font-weight: bold;
padding-bottom: 3px;
}

#next_payment_Method {
font-size: 13px;
margin-bottom: 5px;
}

.total_payment {
padding-top: 10px;
font-size: 20px;
text-align: center;
color: black;
}

#total_payment_item {
font-size: 27px;
}


.furikae {
font-size: 25px;
text-align: center;
color: blue;
}

.register_heder_item {
display: flex;
}

#register_posts {
font-size: 17px;
font-weight: bold;
}

.register_mail_val {
font-size: 15px;
font-weight: bold;
margin-left: 20px;
}

/* PDFボタン */
.pdf_item {
margin-top: 15px;
text-align: right;
width: 98%;
}
.pdf_btn {
width: 100%;
  height: 80px;
  color: #fff;
  background: #6091d3;
}


@media (max-width: 1100px) {
div.div_1 {
  width: 100%; 
  padding: 0% 1% 1% 1%;
  }
   
  div.div_2 {
  width: 100%; 
  padding: 0% 1% 1% 1%;
  }

  div.div_3 {
    width: 100%; 
    padding: 0% 1% 1% 1%;
    }
}

/* お客様ページ企業情報 */
.register_info {
margin-top: 20px;
margin-right: 30px;
}

#company_notes {
color:rgb(250, 81, 51);
font-size: 17px;
font-weight: bold;
}

#company_notes2 {
font-size: 17px;
font-weight: bold;
}
.arrear p{
font-size: 15px;
}
.arrear #arrear_2{
font-size: 15px;
font-weight: bold;
color:rgb(250, 81, 51);
}

@media (max-width: 850px) {
.register_heder_item {
  display: block;
}
}
@media screen and(max-width: 850px) {
.register_heder_item {
  display: block;
}
}


/* 管理画面顧客登録 */

.client_post {
margin-bottom: 20px;
width: 100%;
border-bottom: 2px solid rgb(141, 139, 139);
}
.claim {
border-bottom: 2px solid rgb(141, 139, 139);
}
#upfile {
margin-left: 20px;
padding-bottom: 30px;
}
#delfile,
#pdffile{
margin-left: 20px;
}

.calendar {
margin-left: 20px;
}

@media screen and (max-width:480px) {
  * {
  margin:0;
  padding:0;
  font-size:16px;
  }
  
  .payment_content {
    display: block;
  }

  .total_payment, .month_payment, #payment_Method {
    font-size: 15px!important;
text-align: center!important;
  }
  #total_payment_item {
    font-size: 22px!important;
  }
  #financial_institution, #next_payment_Method {
    font-size: 8px!important;
    text-align: left!important;
  }

  div.div_1 {
  text-align:  center;
  float: none;
  width: 95%; 
  padding: 3%;
  }

  div.div_2 {
  text-align:  center;
  float: none;
  width: 95%; 
  padding: 3%;
  }
  div.div_3 {
    text-align: center;
        float: none;
        width: 81%;
        padding: 3%;
        margin-left: 7vw;
        margin-bottom: 35px;
    }
  
  .btn-square-shadow {
  margin: 3px 3px 2px 5px; 
  display: inline-block;
  padding: 4px 5px;
  text-decoration: none;
  background: #627295;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #627295;
  border-radius: 3px;
  }
  .btn-square-shadow:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
  border-bottom: none;
  }
  
  .circle {
  text-decoration: none;
  margin: 6px 2px 6px 2px;  
  color: #fff;
  background-color:#87befd;
  width: 100px;
  height: 100px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  box-shadow: 0px 0px 0px 5px #87befd;
  border: dashed 1px #FFF;
  }
  
  .box2 {
  width:95%;
  padding: 0.5em 1em;
  margin: 2em 0 0 0.5em;
  font-weight: bold;
  color: #6091d3;/*文字色*/
  background: #FFF;
  border: solid 3px #6091d3;/*線*/
  border-radius: 10px;/*角の丸み*/
  }

  li a {
      display: block;
      color: white;
      text-align: center;
      padding: 8px 8px;
      text-decoration: none;
  }
  
  table {
  width: 95%;    
  border-collapse: collapse;
  margin: 5px 5px 5px 5px;
  padding: 0;
  box-shadow: 0 0 15px -6px #00000073;
  }
  
  table th,
  table td {
    padding: 5px 1px 5px 5px;
    border-bottom: 1px solid #eee;
    font-size: 100%;
  }
  
  /*お問い合わせのアイコン*/
  .otoiawase {
      color: black;
      text-decoration: none;
      text-align:center;
      font-size: 12px;
      display: inline-block; /* ここがポイント */
      /*margin: 5px 10px 5px 10px;*/
      margin: 3px 3px 6px;
  }
  .otoiawase img {
      height: 55px;
  }
  /*ご利用機能のアイコン*/
  .thumbnail {
      color: black;
      text-decoration: none;
      text-align:center;
      font-size: 9px;
      display: inline-block; /* ここがポイント */
      margin: 5px 10px 10px 5px;
  }
  .thumbnail img {
      height: 75px;
  }
}

/* タイトル付　枠（影）1　*/
.new_box {
position: relative;
margin: 1.5em auto;
padding: 1.2em;
width: 90%;
color: #292929; /* 文字色 */
background-color: #fff;
border: 2px solid #41567d; /* 枠線の太さ・色 */
box-shadow: 3px 2px 1px #ccc;/* 影の色 */
}
.new_box2 {
  position: relative;
  margin: 1.5em auto;
  /* padding: 1.2em; */
  /* width: 90%; */
  color: #292929;
  background-color: #fff;
  /* border: 2px solid #41567d; */
  /* box-shadow: 3px 2px 1px #ccc; */
  overflow: hidden scroll;
  height: 583px;
}
.title_new_box {
font-size:22px;
position: absolute;
padding: 0 .5em;
left: 20px;
top: -15px;
font-weight: bold;
background-color: #fff; /* タイトル背景色 */
color: #41567d; /* タイトル文字色 */
}

/* タイトル付　枠（影）1　*/
.top_new_box {
position: relative;
margin: 3px 0 3px 20px;
padding: 10px;
width: 90%;
color: #292929; /* 文字色 */
background-color: #fff;
border: 2px solid #d4d4d4; /* 枠線の太さ・色 */
}
div.example1 { 
overflow: auto; 
width:500px;
height:500px;
}

/* タイトル付　枠（影）1　*/
.new_box_otoiawase {
text-align:center;
}

.new_box_manual {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
}

.manual {
  width: 45%;
  margin-bottom: 30px;
  box-shadow: 3px 2px 1px #ccc;
    border: 2px solid #41567d
}

.manual img {
  width: 100%;
}

.new_box3 {
  position: relative;
  margin: 1.5em auto;
  padding: 1.2em;
  width: 43%;
  color: #292929;
  background-color: #fff;
  border: 2px solid #41567d;
  box-shadow: 3px 2px 1px #ccc;
  float: left;
  margin-left: 5%;
}

.new_box4 {
  position: relative;
  padding: 1.2em;
  width: 41.5%;
  color: #292929;
  background-color: #fff;
  border: 2px solid #41567d;
  box-shadow: 3px 2px 1px #ccc;
  float: right;
  margin-right: 4.8%;
}

.new_box5 {
  position: relative;
  margin: 1.5em auto;
  padding: 1.2em;
  width: 43%;
  color: #292929;
  background-color: #fff;
  border: 2px solid #41567d;
  box-shadow: 3px 2px 1px #ccc;
      /* clear: both; */
      float: left;
      margin-left: 5%;
      margin-top: 1.7%;
}

@media screen and (max-width:480px) {

  .new_box2 {
    width: 100%;
    margin-right: 12%;
    padding-bottom: 32%;
    height: 400px;
  }

  .new_box3 {
    text-align: center;
    float: none;
    width: 80%;
    padding: 3%;
    margin-left: 8%;
  }

	.new_box4 {
		width: 80%;
    margin-right: 12%;
    padding-bottom: 32%;
	}

	.new_box5 {
  	position: fixed;
		bottom: 0;
  	display: none;
  	z-index: 9999;
		width: 100%;
		margin: 0;
    padding: 0em
	}

  .new_box_otoiawase {
    margin-top: 5%;
  }

  .manual {
    width: 100%;
  }

}

/* ===== メンテナンス案内ポップアップ ===== */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-box.new_box {
  width: 90%;
  max-width: 750px;
  margin: 0;
  padding: 1.2em 1.4em;
  background-color: #fff;
  border: 2px solid #41567d;
  box-shadow: 3px 2px 8px rgba(0, 0, 0, 0.3);
}
.popup-box .title_new_box {
  position: static;
  display: block;
  left: auto;
  top: auto;
  padding: 0 0 0.4em;
  text-align: center;
  border-bottom: 2px solid #41567d;
}
.popup-close {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  line-height: 1;
  font-size: 24px;
  color: #41567d;
  background: none;
  border: none;
  cursor: pointer;
}
.popup-body {
  margin: 0.6em 0 0;
  color: #292929;
  line-height: 1.7;
}
.popup-body p {
  margin: 0.5em 0;
}
.popup-date {
  font-weight: bold;
  font-size: 18px;
  color: #41567d;
}
.popup-footer {
  margin-top: 1em;
  text-align: center;
}