@charset "UTF-8";
/* ログイン */
/*===================== */
.login { width: 600px; max-width: 90%; text-align: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.login img { width: 300px; max-width: 65%; }

.login .bus-log { margin: 1rem 0; font-size: 1.8rem; }

.login .bus-log i { font-size: 5rem; display: block; }

.login form { width: 400px; max-width: 100%; margin: 4rem auto 0; }

.login form input { margin-bottom: 2.5rem; }

.login form .button { margin: 3rem auto; padding: 1.2rem 5rem; }

/* コース選択 */
/*===================== */
.index { width: 500px; max-width: 90%; margin: 4rem auto 0; }

.index form { margin-top: 4rem; }

.index form .flex-around { margin-bottom: 3.5rem; }

.index form i { font-size: 3rem; }

.index form .select { width: calc(100% - 4rem); }

.index form .button { margin: 6rem auto 0; }
.index form .button.active { background: #a1ce62; color: white; }
/* バス運行状況 */
/*===================== */
.runs .route-name { text-align: center; margin-top: 1rem; margin-bottom: 3rem; position: relative; padding-bottom: .9rem; }

.runs .route-name::after { content: ""; display: block; width: 25rem; height: 1px; background: #333; position: absolute; left: 50%; transform: translateX(-50%); bottom: 0; }

.runs .arrival { width: 25rem; min-width: 22rem; margin: 0 auto 4rem; }

.runs .arrival .button { width: 100%; border: 1px solid #a1ce62; color: #a1ce62; }

.runs .arrival .button.active { background: #a1ce62; color: white; pointer-events: none; }

.runs .arrival i { display: block; text-align: center; color: #6abede; font-size: 2rem; margin: 1rem 0; }

.runs .special-message { display: block; position: fixed; right: 3%; bottom: 3%; font-size: 4rem; }

.runs .special-message:hover { cursor: pointer; opacity: .7; }

.send-time { display: block; margin: .3rem 0 0; text-align: right; color: #888; font-size: 1.2rem; }

/* メッセージ */
/*===================== */
.message { width: 100%; margin: 0 auto; position: relative; overflow-y: auto;  background: #7da4cd;}

.message-show { width: 100%; overflow-y: auto;}

.message-show .inner { width: 90%; margin: 0 auto; padding: 1.5rem 0; }

.message-show .chat { width: calc(100% - 20px); background: #30e852; padding: 1rem; border-radius: 1rem; position: relative; line-height: 1.5; }

.message-show .chat::before { content: ""; display: block; position: absolute; right: -12px; top: 0; transform: rotate(60deg); border-style: solid; border-width: 0 7px 20px 7px; border-color: transparent transparent #30e852 transparent; }
.message-show .bg-yel{background: #FFF450;}
.message-show .bg-yel::before { border-color: transparent transparent #FFF450 transparent; }

.message-show .send-time { padding-bottom: 1.5rem; color: #f2f2f2; }

.message-send { width: 100%; position: absolute; bottom: 0; display: flex; justify-content: space-between; align-items: flex-end; padding: 1rem 1.5rem 1rem 2rem; background: #f2f2f2; }

.message-send_text { width: calc(100% - 4rem); }

.message-send_text textarea { border-radius: 4px; height: 46px; line-height: 1.5; }

.message-send_btn { color: #48a232; font-size: 3rem; margin-bottom: -.3rem; }

.message-send_btn[disabled] { color: #3fb649; }

.error-message {
  background-color: #ea448d;
  color: #fff;
  padding: 5px;
  margin-top: 5px;
  font-size: 12px;
}

/* LINE風メッセージ */
/*===================== */
.line-bc {
  padding: 20px 10px;
  max-width: 500px;
  margin: 15px auto;
  text-align: right;
  font-size: 14px;
  background: #7da4cd;

}

.balloon1-left {
  margin: 10px 0;
}
.balloon1-left p {
  display: inline-block;
  position: relative; 
  margin: 0 10px 0 0;
  padding: 8px;
  max-width: 400px;
  border-radius: 12px;
  background: #30e852;
  font-size: 15px;
}

.balloon1-left p:after {
  content: "";
  position: absolute;
  top: 3px; 
  right: -19px;
  border: 8px solid transparent;
  border-left: 18px solid #30e852;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

.balloon2-left {
  margin: 10px 0;
}
.balloon2-left p {
  display: inline-block;
  position: relative; 
  margin: 0 10px 0 0;
  padding: 8px;
  max-width: 400px;
  border-radius: 12px;
  background: #FFF450;
  font-size: 15px;
}

.balloon2-left p:after {
  content: "";
  position: absolute;
  top: 3px; 
  right: -19px;
  border: 8px solid transparent;
  border-left: 18px solid #FFF450;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

/* スマホ */
/*===================== */
@media all and (max-width: 414px) { .runs .arrival { width: 90%; } }

