/* flex */
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  /*line-height: 0;*/
  /*margin-top: 1.5em;*/ }

.flex-center {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }

.between {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between; }

.l-1 {
  width: 100% !important; }

.l-2 {
  width: 48% !important; }

.l-3 {
  width: 32% !important; }
  .flex .l-3 {
    margin-left: calc(7% / 2);
    margin-bottom: 1.3em; }
    .flex .l-3:nth-child(3n+1) {
      margin-left: 0; }
  .option .l-3 {
    margin: 0; }

.l-3x2 {
  width: 66.666% !important; }

.l-4 {
  width: 23.5% !important; }
  .flex .l-4 {
    margin-left: calc(6% / 3);
    margin-bottom: 2em; }
    .flex .l-4:nth-child(4n+1) {
      margin-left: 0; }

.l-4x3 {
  width: 74% !important; }

.l-5 {
  width: 18% !important; }

.l-5x4 {
  width: 80% !important; }

.l-6 {
  width: 15% !important; }

.l-6x5 {
  width: 81% !important;
  width: 81% !important; }

.fit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1; }

/* color */
.red {
  color: #de0000; }

.blue {
  color: #19a0ac; }

.orange {
  color: #f2a800; }

.dorange {
  color: #ee7800; }

.white {
  color: #fff; }

.bg-blue {
  background: #19a0ac; }

.bg-orange {
  background: #f2a800; }

/* Media Query */
.hide {
  display: none !important; }

@media screen and (max-width: 599px) {
  .hide-s {
    display: none !important; } }
@media screen and (max-width: 749px) {
  .hide-m {
    display: none !important; } }
@media screen and (max-width: 1199px) {
  .hide-l {
    display: none !important; } }
@media screen and (min-width: 1025px) {
  .hide-xl {
    display: none !important; } }
/* font */
.bold {
  font-weight: 700; }

.txt-min {
  font-size: 0.9em; }

.txt-mid {
  font-size: 1.16em; }

.txt-big {
  font-size: 1.5em; }

.txt-l {
  text-align: left; }

.txt-r {
  text-align: right; }

.txt-block {
  display: inline-block; }

.center {
  text-align: center; }

body {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  text-align: justify;
  font-size: 16px; }

.wrapper {
  overflow: hidden;
  background: #ddedef; }

img {
  width: 100%; }

.container {
  max-width: 850px;
  margin: 0 auto;
  line-height: 1.7; }

header {
  background: #19a0ac;
  color: #fff;
  font-size: 1.7em;
  font-weight: 700;
  text-align: center;
  padding: 0.5em 0; }

h1 {
  color: #19a0ac;
  font-size: 1.5em;
  font-weight: 700;
  margin: 0 0 0.5em;
  line-height: 1.2;
  text-align: center; }

h2 {
  color: #fff;
  font-size: 1.7em;
  font-weight: 700;
  text-align: center;
  margin: 0; }

.btn {
  text-decoration: none;
  display: inline-block;
  margin: 1em 0;
  padding: 0.9em 2em;
  text-align: center;
  line-height: 1;
  background: #19a0ac;
  color: #fff;
  border-radius: 0.313em;
  font-weight: 500; }

.box-center {
  max-inline-size: max-content;
  margin-inline: auto; }

.txt-s {
  font-size: 0.85em; }

a {
  display: block;
  text-decoration: none; }

.first {
  background: #fff;
  padding: 2.5em 0; }

.time {
  width: 550px;
  border: 1px solid #19a0ac;
  border-radius: 0.375em;
  box-sizing: border-box;
  padding: 0.8em;
  font-weight: 500;
  margin: 0 auto;
  font-size: 1.25em; }
  .time .flex {
    justify-content: end;
    flex-wrap: nowrap; }

.bus-time {
  width: 46%;
  line-height: 1.1; }

.line {
  width: 8%; }

.departure .line {
  background: url("../img/busstop.png") no-repeat top left;
  background-size: contain;
  background-origin: content-box;
  height: 3.75em;
  padding: 0.3em 0 0 0.2em;
  box-sizing: border-box; }
.departure .down {
  background: url("../img/down.png") no-repeat;
  background-size: contain;
  background-origin: content-box;
  width: 100%;
  height: 1.375em;
  padding: 0.2em 0;
  background-position: 72% 0; }

.arrival {
  margin-top: -0.25em; }
  .arrival .line {
    position: relative;
    list-style: none;
    padding: 0; }
  .arrival .line::before {
    content: '';
    position: absolute;
    top: 0.3em;
    bottom: 0;
    left: 0.6em;
    width: 0.219em;
    background: #19a0ac;
    z-index: 1; }
  .arrival .circle::before {
    content: '';
    position: absolute;
    top: 0.25em;
    left: 0.2em;
    width: 0.688em;
    height: 0.688em;
    border-radius: 50%;
    background: #fff;
    border: 0.188em solid #19a0ac;
    z-index: 2; }

.current-time {
  background: #e2e2e2;
  padding: 0.5em 0;
  align-items: anchor-center;
  margin-bottom: 0.5em; }

.bus-stop {
  text-align: right;
  line-height: 1.2; }
  .bus-stop span {
    color: #19a0ac;
    font-weight: 700;
    font-size: 1.2em; }

.current-time .bus-time, .bus-icon, .bike-icon {
  text-align: right;
  font-size: 2em;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  padding-right: 0.5em;
  line-height: 1;
  box-sizing: border-box; }

.bus-icon:before {
  content: '';
  display: inline-block;
  background: url("../img/bus.png") no-repeat center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 0.938em;
  height: 0.719em;
  margin-right: 0.2em; }

.bike-icon:before {
  content: '';
  display: inline-block;
  background: url("../img/bike.png") no-repeat center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 1.188em;
  height: 0.781em;
  margin-right: 0.1em; }

.bus-nara {
  text-align: right; }
  .bus-nara .txt-min {
    padding-right: 1em; }

.bike-nara {
  text-align: center;
  background: #fdecb4;
  margin-top: 0.4em;
  padding: 0.4em 0;
  border-radius: 0.313em;
  line-height: 1; }

.intro {
  width: 52%; }

.map {
  background: #f2a800;
  padding-bottom: 2em;
  text-align: center; }
  .map h2 {
    padding: 0.8em 1em; }
  .map img {
    max-width: 750px; }

.bikeshare {
  padding: 3em 0; }
  .bikeshare .container {
    max-width: 700px; }
  .bikeshare .title {
    font-weight: 700;
    font-size: 1.5em;
    margin-bottom: 0.2em; }
  .bikeshare .station {
    line-height: 1.2; }
  .bikeshare .app {
    background: #f2a800;
    text-align: center;
    color: #fff;
    font-weight: 500;
    padding: 0.5em;
    line-height: 1.2;
    font-size: 0.9em;
    margin-top: 0.7em; }

.ride {
  margin-bottom: 2em; }
  .ride .title:before {
    content: '';
    display: inline-block;
    background: url("../img/ride.png") no-repeat center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 1.542em;
    height: 1.417em;
    margin-right: 0.3em;
    vertical-align: sub; }

.return .title:before {
  content: '';
  display: inline-block;
  background: url("../img/return.png") no-repeat center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 1.708em;
  height: 1.583em;
  margin-right: 0.3em;
  vertical-align: sub; }

.station {
  font-weight: 700;
  margin-left: 1.25em; }
  .station:before {
    content: '';
    display: inline-block;
    background: url("../img/pin.png") no-repeat center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 0.938em;
    height: 1.313em;
    margin-left: -1.25em;
    vertical-align: sub; }

.ride .bg-w:not(:nth-child(3)) .station:before {
  width: 1.063em;
  height: 1.5em;
  vertical-align: text-top; }

.ride .bg-w:nth-child(1) .station:before {
  background: url("../img/pin1.png") center center;
  background-size: cover;
  background-repeat: no-repeat; }

.ride .bg-w:nth-child(2) .station:before {
  background: url("../img/pin2.png") center center;
  background-size: cover;
  background-repeat: no-repeat; }

.bg-w {
  background: #fff;
  margin-bottom: 1em;
  padding: 0.6em;
  border-radius: 0.313em;
  box-sizing: border-box; }

.l-2.station {
  width: 65% !important; }

.l-2.bikes {
  width: 26% !important; }

.bikes {
  font-weight: 500;
  text-align: center;
  line-height: 1.2; }
  .bikes .large {
    font-size: 1.5em;
    margin-right: 0.2em; }

footer {
  background: #19a0ac;
  color: #fff;
  padding: 2em 0;
  font-size: 0.9em; }
  footer .container {
    line-height: 1.3;
    max-width: 700px; }
  footer .footer_title {
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5em;
    font-size: 1.06em; }
  footer a {
    display: inline-block;
    margin: 0 0.2em;
    color: #fcd936;
    text-decoration: underline; }
    footer a.btn-footer {
      background: #ddedef;
      color: #19a0ac;
      margin-top: 0.5em;
      text-decoration: none;
      text-align: center;
      padding: 0.5em 1.5em;
      border-radius: 0.313em;
      font-weight: 500; }
      footer a.btn-footer span.fujisawa {
        font-size: 1.06em;
        font-weight: 700;
        text-decoration: underline; }
  footer .footer_l {
    margin-bottom: 1.5em; }
  footer .footer_r {
    text-align: center; }

/* adjust */
.mar-t-0 {
  margin-top: 0 !important; }

.mar-t-1em {
  margin-top: 1em; }

.mar-b-1em {
  margin-bottom: 1em; }

.mar-l-1em {
  margin-left: 1em; }

.mar-r-1em {
  margin-right: 1em; }

.mar-tb-1em {
  margin-top: 1em;
  margin-bottom: 1em; }

.mar-t-2em {
  margin-top: 2em; }

.mar-b-2em {
  margin-bottom: 2em; }

.mar-t-3em {
  margin-top: 3em; }

.mar-b-3em {
  margin-bottom: 3em; }

.mar-t-4em {
  margin-top: 4em; }

.mar-b-4em {
  margin-bottom: 4em; }

.mar-t-5em {
  margin-top: 5em; }

.mar-b-5em {
  margin-bottom: 5em; }

.pdd-1em {
  padding: 1em; }

.pdd-tb-2em {
  padding: 2em 0; }

.pdd-rl-05em {
  padding: 0 0.5em; }

.pdd-t-1em {
  padding-top: 1em; }

.pdd-b-1em {
  padding-bottom: 1em; }

.pdd-l-1em {
  padding-left: 1em; }

.pdd-r-1em {
  padding-right: 1em; }

.pdd-t-2em {
  padding-top: 2em; }

.pdd-b-2em {
  padding-bottom: 2em; }

.pdd-t-3em {
  padding-top: 3em; }

.pdd-b-3em {
  padding-bottom: 3em; }

.pdd-t-4em {
  padding-top: 4em; }

.pdd-b-4em {
  padding-bottom: 4em; }

.pdd-t-5em {
  padding-top: 5em; }

.pdd-b-5em {
  padding-bottom: 5em; }

/* responsive */
@media screen and (min-width: 600px) {
  .hide-s {
    display: block; }

  .show-s {
    display: none; } }
@media screen and (max-width: 749px) {
  .container {
    padding: 0 1em; }

  h1 {
    font-size: 1.3em; }

  .time {
    width: 500px;
    font-size: 1.15em; }

  .reverse-m {
    flex-direction: column-reverse; }

  .m-1 {
    width: 100% !important; }

  .m-2 {
    width: 48% !important; }

  .flex .l-4:nth-child(4n+1) {
    margin-left: auto; }

  .flex .m-2:nth-child(even) {
    margin-left: 4%; }
  .flex .m-2:nth-child(odd) {
    margin-left: 0; }

  .m-3 {
    width: 31% !important; }
    .flex .m-3 {
      margin-left: calc(7% / 2); }
      .flex .m-3:nth-child(3n+1) {
        margin-left: 0; }

  .m-3x2 {
    width: 66% !important; }

  .m-4 {
    width: 23.5% !important; }

  .m-4x3 {
    width: 74% !important; }

  .show-l, .show-s {
    display: none; }

  .show-m {
    display: block; } }
@media screen and (max-width: 599px) {
  .container {
    padding: 0 1em; }

  header {
    font-size: 1.4em; }

  h2 {
    font-size: 1.4em;
    line-height: 1.15; }

  .time {
    font-size: 1em; }

  .first {
    padding: 1em 0 2em; }

  .map {
    padding-bottom: 1.5em; }
    .map h2 {
      padding: 0.4em 1em; }

  .bike-nara {
    margin-top: 0.5em; }

  .bikeshare {
    padding: 2em 0; }
    .bikeshare .title {
      font-size: 1.4em; }

  .l-2.station {
    width: 100% !important;
    text-align: center;
    margin-left: 1em; }

  .l-2.bikes {
    width: 100% !important; }

  .bikes .large {
    margin-left: 0.1em; }

  footer a.btn-footer {
    padding: 0.5em 1em; }

  .hide-s {
    display: none; }

  .reverse-s {
    flex-direction: column-reverse; }

  .s-1 {
    width: 100% !important; }

  .s-2 {
    width: 48% !important; }
    .flex .s-2 {
      margin-left: 2% !important;
      margin-bottom: 1em; }
      .flex .s-2:nth-child(odd) {
        margin-left: 0 !important; }

  .flex .m-3:nth-child(3n+1) {
    margin-left: auto; }

  .s-3 {
    width: 33.333% !important; }

  .s-3x2 {
    width: 62% !important; }

  .show-l, .show-m {
    display: none; }

  .show-s {
    display: block; }

  .l-6 {
    width: 22% !important; }

  .l-6x5 {
    width: 74% !important; } }
