
.fw800 { font-weight: 800;}
.page-content { padding-bottom: 10rem;}
.greeting { }
.greeting p { text-align: center;}
.greeting .p1 { padding-bottom: 2.5rem; font-size: 3.5rem;;}
.greeting .eng { font-size: 2.5rem; font-weight: 700; color: var(--green); }
.greeting .img { padding: 7rem 0 10rem;}
.greeting .p3 { padding-bottom: 3rem; font-size: 1.9rem; line-height: 1.7;}
.greeting .p3 b{ font-size: 2rem;}
.greeting .p4 { padding-bottom: 3rem; font-size: 2.5rem; line-height: 1.7;}
.greeting .p5 { padding-bottom: 3rem; font-size: 2.5rem; line-height: 1.7; font-weight: 700; padding: 30px 0px 0 370px;}
@media(max-width:768px){
  .greeting .p1 { font-size: 3rem;}
  .greeting .eng { font-size: 2.2rem;}
  .greeting br {display: none;}
  .greeting .p5 { padding-bottom: 3rem; font-size: 2.5rem; line-height: 1.7; font-weight: 700; padding: 0px;}
}

@media(max-width:576px){
  .greeting .img { padding: 6rem 0 8rem;}
}

.history {}
.history .wrap { display: flex; width: 100%;}
.history__tit { width: 31rem; font-size: 3.5rem; font-weight: 900; color: #111; line-height: 1; }
.history__wrap { position: relative; flex:1; }
.history_box { position: relative; padding-left: 8rem;  padding-bottom: 7rem; }
.history_box:after { content:''; display: block; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background: #ebebeb;}
.history_box:before { content:''; display: block; position: absolute; left: 0; top: 0.8rem; z-index: 2; transform: translateX(-50%); width: 1.7rem; height: 1.7rem; background: url(/img/ds/dot1.png) no-repeat center / contain;  }
.history__year { padding-bottom: 2.5rem; font-size: 3rem; font-weight: 900; line-height: 1; color: #111;  }
.history__list {  }
.history__list li { display: flex; gap: 3rem; padding-bottom: 2rem; font-size: 2rem; line-height: 1.3; word-break: keep-all; }
.history__list li:last-of-type { padding-bottom: 0;}
.history__list__date {  font-weight: 900; color: #111; white-space: nowrap; }
@media(max-width:991px){
  .history__tit { width: 27rem;}
  .history_box { padding-left: 6rem;}
}
@media(max-width:768px){
  .history__tit { width: 21rem; font-size: 3rem;}
  .history_box { padding-left: 3rem;}
  .history__year { font-size: 2.7rem;}
  .history_box:before { top: .5rem;}
  .history__list li { gap:2rem}
}
@media(max-width:576px){
  .history .wrap { flex-direction: column; gap:5rem; padding-bottom: 10rem; }
  .history__tit {  width: 100%; text-align: center; font-size: 3.5rem;}
  .history_box { padding-left: 2rem; }
  .history_box:last-of-type { padding-bottom: 0;}
}

.group .con1{ padding-bottom: 10rem;}
.group .con2 .marker1 { margin-bottom: 4rem; }
.group .con2 .flex {}
.group .con2 .flex .left,
.group .con2 .flex .right{ flex:1;}
.group .con2 .flex .right{ margin-left: -1px;}
@media(max-width:768px){
  .group .con2 .flex { flex-direction: column;}
  .group .con2 .flex tr.space { display: none;}
  .group .con2 .flex .right{ margin-left: 0;}
  .group .con2 .flex table { margin-bottom: 2rem;}
}

.location .location-table { margin: 2rem 0 7rem;}
.location .traffic { display: flex; flex-wrap:wrap; align-items: center; gap:5rem 0}
.location .traffic dt { padding-left: 4.3rem;  width: 30rem; background: no-repeat left center;  font-size: 2.5rem; }
.location .traffic dt:first-of-type { background-image: url(/img/ds/ico_subwary.png) ;}
.location .traffic dt:last-of-type { background-image: url(/img/ds/ico_bus.png) ;}

.location .traffic dd { width: calc(100% - 30rem); font-weight: 700;}
.location .traffic dd span { display: inline-block; }
.location .traffic dd .sp1:first-of-type { margin-right: 3rem; }
.location .traffic dd .sp2 { margin-right: 1rem; width: 2.5rem; height: 2.5rem; line-height: 2.5rem; color: #fff; text-align: center;  font-size: 1.4rem; border-radius: 50%; background: #8c8621;}
.location .traffic dd .sp3 {margin-right: 1rem; font-size: 1.4rem; width: 3rem; height: 2.5rem; line-height: 2.5rem; text-align: center; color: #fff;  border-radius: 0.3rem;}
.location .traffic dd .sp3.blue { background: #2064c0;}
.location .traffic dd .sp3.green { background: #34a948;}

@media(max-width:768px){
  .location .traffic dt { width: 23rem;}
  .location .traffic dd { width: calc(100% - 23rem)}
}
@media(max-width:576px){
  .location .location-table { margin: 4rem 0 5rem;}
  .location .traffic { gap:1rem }
  .location .traffic dt { padding-left: 3.5rem; font-size: 2.2rem; background-size: auto 20px;}
  .location .traffic dd { padding-bottom: 3rem; width: 100%}
}


.bus article{ padding: 0 0 10rem; color: #111;}
.dot {  padding: 0 0 2rem 1.2rem; text-indent: -1.2rem;}
.bars { padding-bottom: 2rem; margin-top: -1rem;}
.bars .bar { display: block; padding-left: 1.2rem; text-indent: -1.2rem;}

.dot2 { display: block; position: relative; padding-left: 1.5rem;}
.dot2:before { content:''; display: block; position: absolute; left: 0; top: 1rem; width: 5px; height: 5px; border-radius: 50%; background: var(--green);}

.fire{font-size: 14px; padding: 20px 0; font-weight: 700;}
.fire span{display: block; padding-left: 10px; text-indent: -10px; padding-top: 5px; font-weight: 400;}

@media(max-width:991px){
  .bus article{ padding: 0 0 9rem; }
}
@media(max-width:768px){
  .bus article{ padding: 0 0 8rem; }
  .fire span br{display: none;}
}
@media(max-width:576px){
  .bus article{ padding: 0 0 7rem; }
}

.bus2 .con1 .img { padding: 6rem 10rem; background: url(/img/ds/bus2_img1.png) no-repeat center /cover;}
@media(max-width:660px){
  .bus2 .con1 .img { padding: 8rem 4rem; }
}
@media(max-width:500px){
  .bus2 .con1 .img { padding: 7rem 1.5rem; }
}

.last_info{font-size: 3rem; font-weight:700; color:#333; text-align: center;}
.last_info b{color:#000;}
.last_info span:nth-of-type(1){font-weight: 900; color:#23ae77;}
.last_info span:nth-of-type(2){font-weight: 900; color:#234aae;}
.last_info img{padding: 50px 0 0;}

.performance {}
.tab-performance { display: flex; margin-bottom: 5rem;}
.tab-performance { display: flex;}
.tab-performance li { flex:1; margin-left: -1px; border: 1px solid #e1e1e1; }
.tab-performance li a { display: block; padding: 2rem 0; font-weight: 700; line-height: 1; color: #111; text-align: center; background: #fff; }
.tab-performance li a:hover,
.tab-performance li a.on { color: #fff; border-color: #1e3932; background: #1e3932;}
.performance article {margin-bottom: 5rem;}
.performance .h4 { margin-bottom: 3rem; line-height: 1; font-size: 2.5rem; font-weight: 700; color: #111;}
.performance .ul-table { display: flex; flex-wrap:wrap;}
.performance .ul-table li {flex:auto; width: 25%; padding: 1.5rem .5rem; margin: -1px 0 0 -1px; text-align: center; color: #111; border: 1px solid #e1e1e1;}
@media(max-width:991px){
  .performance .ul-table li {flex:auto; width: 33.333%;}
}
@media(max-width:720px){
  .performance .ul-table li {flex:auto; width: 50%;}
}

.contact .text_box {display: flex; text-align: center; justify-content: space-between;}
.contact .text_box>div{width: 32.5%; background: #f7f7f7;padding: 30px 10px; border-radius: 10px;}
.contact .text_box p:nth-of-type(1){ font-size: 22px; padding: 0 0 10px 0; font-weight: 800;}
.contact .text_box p:nth-of-type(2){ font-size: 17px; font-weight: 600;}

.contact .img_box{text-align: center; font-weight: 700; font-size: 24px;padding-bottom: 30px;}
.contact .material-symbols-outlined { font-size: 50px; background: #1e3932; padding: 20px; border-radius: 50px; margin-bottom: 30px; color:#fff;}

@media(max-width:720px){
  .contact .text_box {flex-wrap: wrap; flex-direction: column;}
  .contact .text_box>div{width: 100%; margin-bottom: 20px;}
  .contact .text_box p:nth-of-type(1){ font-size: 18px; padding: 0 0 10px 0; font-weight: 800;}
  .contact .text_box p:nth-of-type(2){ font-size: 14px; font-weight: 600;}
  .contact .img_box{text-align: center; font-weight: 700; font-size: 18px;padding-bottom: 30px;}
  .contact .material-symbols-outlined { font-size: 30px; background: #1e3932; padding: 20px; border-radius: 50px; margin-bottom: 20px; color:#fff;}
}
