@charset "UTF-8";

.company {
  position:relative;
}
.company .secblk {
  padding-bottom:0;
}
.sec_wrap {
  width:92%;
  max-width:1142px;
}
.sec_wrap_c-inner {
  display:flex;
  gap:20px;
  width:91%;
  max-width:1040px;
  margin:0 auto;
}
.c_secttl {
  color:#004fb2;
  width:196px;
}
.c_secttl .ja {
  font-size:28px;
  font-weight:900;
  line-height:1;
  display:block;
}
.c_secttl .en {
  font-size:13px;
  font-weight:600;
  line-height:1;
}
.c_content {
  width:calc(100% - 216px);
}


/* -------------------------------------
company-nav
------------------------------------- */
.company-wrap {
  position: relative;
}
.company-nav {
  position: fixed;
  top: 160px;
  right: 40px;
  transition:transform 0.3s ease,
  opacity 0.3s ease;
  z-index:4;
}

/* リスト */
.company-nav ul {
  border-left: 2px solid #d6e4f5;
  padding-left: 20px;
}

.company-nav li {
  margin-bottom: 14px;
}

.company-nav a {
  position: relative;
  font-size: 14px;
  color: #9bb6d8;
  text-decoration: none;
  line-height: 1.6;
}

.company-nav a.is-active {
  color: #003a8f;
  font-weight: 600;
}

/* 縦線 */
.company-nav a.is-active::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 0;
  width: 2px;
  height: 100%;
  background: #003a8f;
}

/* 停止状態 */
.company-nav.is-stopped {
  position: absolute;
  top: auto;
  bottom: 0;
}



/* -------------------------------------
message_sec
------------------------------------- */
#message_sec .c_content {
  display:flex;
  justify-content:flex-end;
}
.c_content_in {
  font-weight:400;
  display:flex;
  flex-direction:column;
  max-width:763px;
  gap:36px;
}
.message_txt {
  font-size:14px;
}
.message_name {
  font-size:20px;
  text-align:right;
}

/* -------------------------------------
company_sec
------------------------------------- */
.company_sec-list {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.list_low {
  display:flex;
  border:1px solid #c2e0f4;
  padding:16px 0;
}
.list_name {
  color:#004fb2;
  width:250px;
  padding-left:40px;
}
.list_txt {
  font-weight:400;
  padding-right:20px;
}
.total_num {
  display:block;
  margin-bottom:15px;
}


/* -------------------------------------
office_sec
------------------------------------- */
table.office_table {
  text-align:left;
  width:100%;
  border:1px solid #c2e0f4;
}
table.office_table tr.tbdr {
  border-top:1px solid #c2e0f4;
}
table.office_table .company-head {
  color:#004fb2;
  line-height:1.2;
  vertical-align:top;
  width:250px;
  padding:16px 40px;
}
table.office_table .company-detail {
  font-weight:400;
  line-height:1.2;
  padding:16px 20px;
}
table.office_table .company-detail.padt-no {
  padding-top:0;
}
.company-detail_sttl {
  text-indent:-1em;
}
.company-detail_sttl::before {
  content:"▶︎";
}
.detail-blk {
  font-size:14px;
  line-height:1.59;
  display:flex;
  flex-wrap:wrap;
}
.ditail_lavel {
  width:5.5em;
}
.detail-blk dd {
  width:calc(100% - 5.5em);
}


/* -------------------------------------
income_sec
------------------------------------- */
.c_secttl .stx {
  font-size:18px;
  font-weight:700;
}
table.income_table {
  text-align:left;
  width:100%;
  border:1px solid #c2e0f4;
}
table.income_table tr:not(:last-child) {
  border-bottom:1px solid #c2e0f4;
}
table.income_table .income-head {
  color:#004fb2;
  width:296px;
  min-height:58px;
  padding:10px 20px 10px 40px;
}
table.income_table td {
  font-weight:400;
  padding:0 10px;
}
table.income_table .amount {
  text-align:center;
  width:27%;
  max-width:220px;
  padding:0 20px;
  position:relative;
}
table.income_table .amount::before {
  content:"";
  width:1px;
  height:calc(100% - 6px);
  background-color:#c2e0f4;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
}


/* -------------------------------------
history_sec
------------------------------------- */
#history_sec {
  padding-bottom:89px;
}
table.history_table {
    text-align: left;
    width: 100%;
    border: 1px solid #c2e0f4;
}
table.history_table tr.tbdr {
    border-top: 1px solid #c2e0f4;
}
table.history_table .company-head {
    color: #004fb2;
    line-height:1.2;
    vertical-align: top;
    width: 228px;
    padding: 14px 20px 14px 40px;
}
table.history_table td {
    font-weight: 400;
    line-height:1.2;
    padding: 14px 20px 0 0;
    vertical-align:top;
}
table.history_table tr.last td {
    padding-bottom: 14px;
}
table.history_table td.history-date {
    width:169px;
}


@media screen and (max-width: 1440px) {
/* -------------------------------------

------------------------------------- */


}

@media screen and (max-width: 1360px) {
  .company-nav {
    right: 20px;
  }
}


@media screen and (max-width: 1260px) {


}

@media screen and (max-width: 1050px) {
/* -------------------------------------
company_sec
------------------------------------- */
.list_name {
    width: 130px;
    padding-left: 20px;
}
.list_txt {
  width:calc(100% - 130px);
}



/* -------------------------------------
office_sec
------------------------------------- */
table.office_table .company-head {
  width:240px;
  padding:16px 20px;
}


/* -------------------------------------
income_sec
------------------------------------- */
table.income_table .income-head {
    width:240px;
    padding: 10px 20px 10px 20px;
}
table.income_table .amount {
    width: 21%;
    min-width: 130px;
}


/* -------------------------------------
history_sec
------------------------------------- */
table.history_table .company-head {
    width: 200px;
    padding: 14px 20px 14px 20px;
}
table.history_table td.history-date {
    width: 130px;
}

}

@media screen and (max-width: 980px) {
.sec_wrap_c-inner {
   flex-direction:column;
   width: calc(100% - 106px);
}
.c_secttl {

}width:100%;
.c_secttl .ja {
    font-size:clamp(22px,2.85vw,28px);
}
.c_content {
    width: 100%;
    overflow-x:auto;
}
.c_content table {
    min-width:580px;
}


}

@media screen and (max-width: 920px) {
}

@media screen and (max-width: 880px) {




}

@media screen and (max-width: 820px) {




}

@media screen and (max-width: 768px) {
  .company-nav {
    display: none;
  }
  .sec_wrap {
    width:100%;
  }
  .sec_wrap_c-inner {
    width: 80vw;
  }
}

@media screen and (max-width: 700px) {
}

@media screen and (max-width: 640px) {


}

@media screen and (max-width: 600px) {


}

@media screen and (max-width: 500px) {



}

@media screen and (max-width: 400px) {



}
@media screen and (max-width: 360px) {


}

@media screen and (max-width: 320px) {

}

@media screen and (min-width: 769px) {
 
}
