.data_c {
 display: inline-block; 
 width: 20px;
}


/* ========================================================================== 
   見出し
 ========================================================================== */
/*　大見出し */
h2.r0 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #cccccc;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #999999;
 border-bottom: 3px solid #999999;
 margin-bottom: 15px;
}

h2.r1 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #fbbfb6;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #dc270b;
 border-bottom: 3px solid #dc270b;
 margin-bottom: 15px;
}

h2.r2 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #f6cfec;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #ab1c87;
 border-bottom: 3px solid #ab1c87;
 margin-bottom: 15px;
}

h2.r3 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #bce5ff;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #0074be;
 border-bottom: 3px solid #0074be;
 margin-bottom: 15px;
}

h2.r4 {
 padding: 1em;
 padding-left: 1.2em;
 background-color: #00a63d;
 color: #ffffff;
 font-weight: bold;
 font-size: 2.0em;
 margin-bottom: 15px;
}

h2.r5 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #f7cde0;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #ec75a9;
 border-bottom: 3px solid #ec75a9;
 margin-bottom: 15px;
}

h2.r6 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #f3cec3;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #b34422;
 border-bottom: 3px solid #b34422;
 margin-bottom: 15px;
}

h2.r7 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #f7ffb7;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #bcd400;
 border-bottom: 3px solid #bcd400;
 margin-bottom: 15px;
}

h2.r8 {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #ffe9c1;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #f5a000;
 border-bottom: 3px solid #f5a000;
 margin-bottom: 15px;
}

h2.nt {
 padding: 0.6em;
 padding-left: 1.2em;
 background-color: #c6f0ff;
 color: #000000;
 font-weight: bold;
 font-size: 2.0em;
 border-top: 3px solid #00a7e3;
 border-bottom: 3px solid #00a7e3;
 margin-bottom: 15px;
}


/*　小見出し */
h3.r0 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r0::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #999999;
 border-radius:100%;
}

h3.r1 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r1::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #dc270b;
 border-radius:100%;
}

h3.r2 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r2::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #ab1c87;
 border-radius:100%;
}

h3.r3 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r3::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #0074be;
 border-radius:100%;
}

h3.r4 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r4::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #00a63d;
 border-radius:100%;
}

h3.r5 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r5::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #ec75a9;
 border-radius:100%;
}

h3.r6 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r6::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #b34422;
 border-radius:100%;
}

h3.r7 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r7::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #bcd400;
 border-radius:100%;
}

h3.r8 {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r8::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #f5a000;
 border-radius:100%;
}

h3.nt {
 font-size: 1.4em;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.nt::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #00a7e3;
 border-radius:100%;
}


/* ▽レスポンシブ対応▽ */
@media screen and (max-width: 767px) { /*スマホ*/
h3.r4 {
 font-size: 1.6em;
 font-weight: bold;
 position: relative;
 padding: 10px 10px 5px 20px;
 color: #000000;
}
 
h3.r4::after {
 position: absolute;
 top: 55%;
 left: 0px;
 transform:translateY(-50%);
 content: '';
 width: 1em;
 height:1em;
 background-color: #00a63d;
 border-radius:100%;
}
}
/* △レスポンシブ対応△ */


/*　使用車両の現役・過去 */
.car1 {
 font-size: 1.6em;
 color: #ffffff;
 background-color: #1d2088;
 width: 150px;
 display: inline-block;
 text-align: center;
 border: 1px solid #1d2088;
 border-radius: 7px;
 margin-bottom: 20px;
}

.car2 {
 font-size: 1.6em;
 color: #ffffff;
 background-color: #9794c3;
 width: 150px;
 display: inline-block;
 text-align: center;
 border: 1px solid #9794c3;
 border-radius: 7px;
 margin-bottom: 20px;
}


/* ========================================================================== 
   写真
 ========================================================================== */
/* 文中写真 */
.img_l {
 float: left;
 margin: 0 20px 5px 0;
}

.img_r {
 float: right;
 margin: 0 0 5px 20px;
}

.img_c {
 text-align: center;
 margin: 0 20px 5px 0;
}

/* ▽レスポンシブ対応▽ */
@media screen and (max-width: 767px) { /*スマホ*/
.img_l {
 float: none;
 display:block;
 margin:0 auto;
}

.img_r {
 float: none;
 display:block;
 margin:0 auto;
}

.head {
 width: 100vw;
 margin-left: calc(-50vw + 50%);
 max-width: none;
 height: auto;
 display: block;
}
}
/* △レスポンシブ対応△ */


/* 下部写真 */
.img_1 {
 display: inline-block;
 text-align: center;
 vertical-align: bottom;
 width: 300px;
 margin-right: 5px;
 margin-left: 40px;
}

.img_2 {
 display: inline-block;
 text-align: center;
 vertical-align: bottom;
 width: 300px;
 margin-right: 5px;
}

.img_3 {
 display: inline-block;
 text-align: center;
 vertical-align: bottom;
 width: 300px;
}


/* ========================================================================== 
   文字
 ========================================================================== */
/* 文章 */
.sentence-main {
 color: #000000;
 font-size: 1.4em;
}

.sentence-main_t10 {
 color: #000000;
 font-size: 1.4em;
}

.sentence_06 {
 color: #000000;
 font-size: 0.6em;
}

.sentence-bold {
font-weight: bold;
}

/* ▽レスポンシブ対応▽ */
@media screen and (max-width: 767px) { /*スマホ*/
.sentence-main {
 color: #000000;
 font-size: 1.4em;
 line-height: 1.8em;
}

.sentence-main_t10 {
 color: #000000;
 font-size: 1.4em;
 line-height: 1.8em;
 margin-top: 10px;
}

.sentence_06 {
 color: #000000;
 font-size: 0.6em;
}
}
/* △レスポンシブ対応△ */


/* 空白行 */    
.bl-05 {
 margin: 0.7em;
}
.bl-1 {
 margin: 1.4em;
}
.bl-2 {
 margin: 2.8em;
}


/* ========================================================================== 
   年表
 ========================================================================== */

.timeline  {
 list-style:none
 list-style-position: inside;
 font-size: 1.4em;
}

.date {
 display: inline-block;
 width: 200px;
 line-height: 1.5em;
 vertical-align: top;
 padding: 0 0 0.5em 1.4em;
}

.event {
 display: inline-block;
 width: 720px;
 line-height: 1.5em;
 vertical-align: top;
 padding: 0 0 0.5em 1em;
}

.event-b {
 font-weight: bold;
}

/* ▽レスポンシブ対応▽ */
@media screen and (max-width: 767px) { /*スマホ*/
.date {
 display: block;
 font-weight: bold;
 padding: 0 0 0 1.4em;
}

.event {
 display: block;
 width: auto;
 padding: 0 0 0.5em 2.5em;
 border-bottom: solid 1px #cccccc;
 margin-bottom: 10px
}

.event-b {
  background: linear-gradient(transparent 50%, #ddd 50%);    
}

}
/* △レスポンシブ対応△ */


/* ========================================================================== 
   使用車両リスト
 ========================================================================== */

.car li  {
 list-style-position: inside;
 font-size: 1.4em;
}

.car-l {
 display: inline-block;
 line-height: 1.5em;
 font-weight: bold;
 vertical-align: top;
 padding: 0 0 0.5em 1.4em;
}

.car-r {
 display: inline-block;
 line-height: 1.5em;
 vertical-align: top;
 padding: 0 0 0.5em 1em;
}

/* ▽レスポンシブ対応▽ */
@media screen and (max-width: 767px) { /*スマホ*/
.car-l {
 display: block;
 font-weight: bold;
 padding: 0 0 0 1.4em;
}

.car-r {
 display: block;
 width: auto;
 padding: 0 0 0.5em 2.5em;
 border-bottom: solid 1px #cccccc;
 margin-bottom: 10px
}
}
/* △レスポンシブ対応△ */


/* ========================================================================== 
   アコーディオン
 ========================================================================== */

/* 4 */  
.accordion-r4 {
 max-width: 100%;
}

.accordion-r4:not([open]) {
 margin-bottom: 20px;
}

.accordion-r4 summary {
 display: flex;
 justify-content: flex-start;  /* 配置 */ 
 align-items: center;
 position: relative;
 padding: 1em;
 padding-left: 1.2em;
 margin-bottom: 15px;
 background-color: #00a63d;
 color: #ffffff;
 font-weight: bold;
 font-size: 2.0em;
 cursor: pointer;
}


.accordion-r4 summary::-webkit-details-marker {
 display: none; /* アイコン非表示 */
}

.accordion-r4 summary::before { /* アイコン位置：before左、after右 */
 transform: translateY(-25%) rotate(45deg);
 width: 10px; /* アイコン大きさ */ 
 height: 10px; /* アイコン大きさ */
 margin-right: 20px;
 border-bottom: 3px solid #ffffff;
 border-right: 3px solid #ffffff;
 content: '';
 transition: transform .3s;
}

.accordion-r4[open] summary::before {
 transform: rotate(225deg); /* アイコン回転角度 */
}


/* ========================================================================== 
   表
 ========================================================================== */
.table-wrap {
 overflow-x: scroll;
}

.table-wrap-block {
 overflow-x: scroll;
 display: block;
}


/* 基本デザイン */
.base0 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #999999;
 border-right: 5px solid #999999;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base1 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #dc270b;
 border-right: 5px solid #dc270b;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base2 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #ab1c87;
 border-right: 5px solid #ab1c87;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base3 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #0074be;
 border-right: 5px solid #0074be;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base4 { 
 table-layout: fixed;
 margin: 0 auto;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #00a63d;
 border-right: 5px solid #00a63d;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base5 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #ec75a9;
 border-right: 5px solid #ec75a9;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base6 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #b34422;
 border-right: 5px solid #b34422;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base7 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #bcd400;
 border-right: 5px solid #bcd400;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base8 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #f5a000;
 border-right: 5px solid #f5a000;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}

.base9 { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #00a7e3;
 border-right: 5px solid #00a7e3;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}


.base4-general { 
 table-layout: fixed;
 margin-bottom: 20px;
 font-size: 1.2em;
 border-left: 5px solid #00a63d;
 border-right: 5px solid #00a63d;
 white-space: nowrap;
 border-collapse: separate;
 border-spacing: 0px;
}


/* セル・罫線デザイン */

.gaiyou_l {
 width: 150px;
 background-color: #666666;
 color: #ffffff;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.gaiyou_t1l {
 width: 150px;
 background-color: #666666;
 color: #ffffff;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-top: 1px solid #999999;
}

.gaiyou_r {
 width: 400px;
 background-color: #ffffff;
 color: #000000;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.gaiyou_t1r {
 width: 400px;
 background-color: #ffffff;
 color: #000000;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-top: 1px solid #999999;
}


.sta_head_fixed {
 position: sticky;
 left: 0;
 color: #ffffff;
 text-align: center;
 background: #666666;
 border-right: 1px solid #999999;
 border-bottom: 1px solid #999999;
 padding: 5px 10px 5px 10px;
 &:before{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  }
}

.sta_fixed {
 position: sticky;
 left: 0;
 color: #000000;
 text-align: center;
 background: #ffffff;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
 padding: 5px 10px 5px 10px;
 &:before{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  }
}

.sta_bg-g_fixed {
 position: sticky;
 left: 0;
 color: #000000;
 text-align: center;
 background: #eaeaea;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
 padding: 5px 10px 5px 10px;
 &:before{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  }
}

.sta_headr1 {
 background-color: #666666;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.sta_head0 {
 background-color: #666666;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.sta_r1-l {
 background-color: #ffffff;
 color: #000000;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.sta_bg-g_r1-l {
 background-color: #eaeaea;
 color: #000000;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.sta_r1-c {
 background-color: #ffffff;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.sta_bg-g_r1-c {
 background-color: #eaeaea;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.sta_0-l {
 background-color: #ffffff;
 color: #000000;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.sta_0-c {
 background-color: #ffffff;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.sta_0-l {
 background-color: #ffffff;
 color: #000000;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.sta_bg-g_0-c {
 background-color: #eaeaea;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.dia_head_r1 {
 width: auto;
 background-color: #666666;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.dia_head_0 {
 width: auto;
 background-color: #666666;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.dia_left {
 width: auto;
 background-color: #666666;
 color: #ffffff;
 text-align: left;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.dia_r1 {
 width: auto;
 background-color: #ffffff;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.dia_0 {
 width: auto;
 background-color: #ffffff;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}

.name {
 width: auto;
 background-color: #666666;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
}

.gene_head {
 width: auto;
 background-color: #999999;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
 border-right: 1px solid #666666;
}

.gene_head0 {
 width: auto;
 background-color: #999999;
 color: #ffffff;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
}

.gene {
 width: auto;
 background-color: #00a63d;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
 border-right: 1px solid #666666;
}

.gene0 {
 width: auto;
 background-color: #ffffff;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
}

.gene-l {
 width: auto;
 background-color: #dddddd;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #666666;
 border-right: 1px solid #666666;
}

.approve {
 height: 20px;
}

.approve-g {
 background-color: #eee;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
 border-right: 1px solid #999999;
}

.approve0-g {
 background-color: #eee;
 color: #000000;
 text-align: center;
 padding: 5px 10px 5px 10px;
 border-bottom: 1px solid #999999;
}