@charset "UTF-8";
/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following HTML or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

/*------------------------------------------------------------*/
/*-------------------------------------------------------------
	=0 global
-------------------------------------------------------------*/
body {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background: url(../img/common/bodyBack.jpg) repeat-x top center;
  background-size: 127px auto;
  line-height: 1.5; }

h2, h3, h4, h5, p {
  margin-bottom: 1rem; }

h2, a {
  vertical-align: top; }

table, th, td {
  border: 1px solid #DDD; }

th, td {
  padding: .4rem .8rem; }

th {
  background: #58aeff; }

textarea {
  font-size: 1em; }

/*-------------------------------------------------------------
	=1 heading
-------------------------------------------------------------*/
h3 {
  color: #0052ad;
  font-size: 1.1rem;
  border-bottom: 1px solid #0052ad;
  font-weight: bold; }

/*-------------------------------------------------------------
	=2 basic structure
-------------------------------------------------------------*/
header {
  background: #CCC;
  padding: 20px;
  margin-bottom: 20px; }

footer {
  margin-top: 2rem;
  background: #2e3e47;
  clear: both;
  color: #FFF;
  padding: 40px;
  text-align: center;
  font-size: .7rem; }

/*-------------------------------------------------------------
	=3 navigation
-------------------------------------------------------------*/
/*-------------------------------------------------------------
	=4 commonClass,commonID
-------------------------------------------------------------*/
.topicpath {
  clear: both;
  margin: 1rem 1rem 0 1rem;
  background: #f2f4f3;
  height: 2.2rem;
  overflow: hidden;
  font-size: .8rem; }
  .topicpath li {
    list-style: none;
    float: left; }
    .topicpath li span {
      display: block;
      padding: .5rem 2rem .5rem 1.5rem;
      background: url(../img/common/topic02.png) no-repeat right center;
      background-size: 100px auto; }
      .topicpath li span .current {
        background: #f4cfcf;
        padding: .2rem .5rem; }
    .topicpath li:first-child span {
      background: url(../img/common/topic01.png) no-repeat right center;
      background-size: 100px auto;
      color: #FFF; }
    .topicpath li:last-child span {
      background: none; }

.f_right {
  float: right;
  margin: 0 0 15px 15px; }

.f_left {
  float: left;
  margin: 0 15px 15px 0; }

.center {
  text-align: center; }

.btn-large {
  font-weight: bold; }
  .btn-large:before {
    margin-right: 15px;
    font-size: 1.6rem; }

.wbutton a {
  margin: 0 .5rem 1rem .5rem; }

.toTop {
  text-align: right; }

.tr_disable {
  color: #BBB;
  background: #EEE; }

.clear {
  clear: both; }

.chk_tel {
  display: block;
  float: left;
  margin-top: .3em; }

/*-------------------------------------------------------------
	=5 boxDesign
-------------------------------------------------------------*/
#containerBox {
  padding: 28px 0 0 0;
  background: url(../img/common/containerBack.jpg) no-repeat top center;
  background-size: 1600px auto;
  width: 100%; }

#mainBox {
  background: #FFF;
  position: relative;
  margin-top: 20px; }
  #mainBox h1 {
    background: url(../img/common/h1Back.jpg) no-repeat left top;
    padding: 1rem 1.5rem 1.5rem 1.5rem;
    background-size: auto 100%; }
  #mainBox .bus {
    position: absolute;
    right: 200px;
    top: -90px;
    display: none; }
  #mainBox .tel {
    position: absolute;
    right: 0px;
    top: -70px; }
  #mainBox .caution {
    font-weight: bold;
    color: #F00; }
  #mainBox .caution01 {
    color: #F00; }
  #mainBox .h-btnBox {
    float: right;
    margin: 1rem 0 0 0;
    font-size: .8rem; }
    #mainBox .h-btnBox p {
      float: left;
      margin: 0 0 0 .5rem; }
  #mainBox #content.container {
    padding: 1rem;
    margin: 0px auto; }
  #mainBox #content h2 {
    clear: both;
    background: #0052ad;
    font-weight: bold;
    font-size: 1.1rem;
    color: #FFF;
    padding: .5rem .7rem;
    border-radius: 4px;
    margin-bottom: 1rem; }
  #mainBox #content .tt {
    background: #e60012;
    color: #FFF;
    padding: .5rem;
    border-radius: 4px; }
  #mainBox #content .f_left {
    clear: left; }
  #mainBox #content #timetable, #mainBox #content #mypage {
    margin-bottom: 1rem; }
  #mainBox #content #cautionBox {
    font-size: .8rem;
    margin: 0px auto;
    border: 1px solid #e60012;
    padding: 1em; }
    #mainBox #content #cautionBox h2 {
      background: #e60012;
      color: #FFF;
      border-radius: 0;
      padding: .5rem .7rem;
      font-size: 1.1em; }
    #mainBox #content #cautionBox h3 {
      font-size: 1.1em; }
    #mainBox #content #cautionBox dt {
      font-weight: bold; }
    #mainBox #content #cautionBox dd {
      margin-left: 1em;
      margin-bottom: 1em; }
    #mainBox #content #cautionBox table {
      margin-bottom: 1rem; }
      #mainBox #content #cautionBox table th {
        background: #EEE;
        font-weight: bold; }
      #mainBox #content #cautionBox table td, #mainBox #content #cautionBox table th {
        text-align: center; }
  #mainBox #content .alert {
    border: 1px solid #58aeff;
    background: #cee7ff;
    padding: 1rem;
    margin-bottom: 2rem; }
  #mainBox #content #loginBox dl, #mainBox #content #tempBox dl {
    margin-top: 1rem; }
    #mainBox #content #loginBox dl dt, #mainBox #content #tempBox dl dt {
      float: left;
      width: 13em;
      padding: 0 0;
      font-size: 1.2rem;
      font-weigh: bold;
      clear: left; }
    #mainBox #content #loginBox dl dd, #mainBox #content #tempBox dl dd {
      margin-left: 0; }
  #mainBox #content.selectBox .btn.personal, #mainBox #content.selectBox .btn.agency {
    margin: 0 auto 3rem auto;
    display: block;
    width: 50%;
    height: 10rem;
    padding: 1.5rem;
    border-radius: 4px; }
    #mainBox #content.selectBox .btn.personal.personal, #mainBox #content.selectBox .btn.agency.personal {
      margin-right: 2em; }
    #mainBox #content.selectBox .btn.personal.agency, #mainBox #content.selectBox .btn.agency.agency {
      margin-left: 2em; }
    #mainBox #content.selectBox .btn.personal p, #mainBox #content.selectBox .btn.agency p {
      margin-bottom: 1rem; }
    #mainBox #content.selectBox .btn.personal i.large, #mainBox #content.selectBox .btn.agency i.large {
      font-size: 5rem !important; }
  #mainBox .buttonBox {
    padding: 2rem 0 1rem 0;
    margin: 0 auto;
    background: #f2f4f3; }
    #mainBox .buttonBox button {
      margin: inherit .5rem; }
    #mainBox .buttonBox .btn {
      border-radius: 4px; }
    #mainBox .buttonBox p {
      margin-bottom: 0; }
  #mainBox .inline.text dd {
    margin-top: .8em;
    margin-bottom: 1em; }
  #mainBox .inline.numselect dd select {
    width: 4em; }
  #mainBox .search .inline dt:before {
    content: none; }
  #mainBox .inline dt {
    margin: .8rem 0; }
    #mainBox .inline dt:before {
      content: "■"; }
  #mainBox .inline dd {
    margin-bottom: 0.5em; }
  #mainBox #content.confirm .inline dt {
    margin-top: 0; }

/*-------------------------------------------------------------
	=6 media query setting
-------------------------------------------------------------*/
@media only screen and (max-width: 320px) {
  h1 img {
    width: 90%;
    height: auto; }

  #mainBox h1 {
    background-size: auto 100%; } }
@media only screen and (max-width: 640px) {
  textarea {
    width: 100% !important;
    height: 7em !important;
    box-sizing: border-box; }

  #containerBox {
    padding: 1em 0; }
    #containerBox h1 {
      text-align: center; }
      #containerBox h1 img {
        width: 300px;
        height: auto; }
    #containerBox #mainBox {
      margin-top: .5rem; }
      #containerBox #mainBox h1 {
        padding: .5rem;
        background-size: auto 100%;
        text-align: left; }
        #containerBox #mainBox h1 img {
          width: 280px;
          height: auto; }
      #containerBox #mainBox #content.container {
        padding: .7rem; }
        #containerBox #mainBox #content.container #timetable, #containerBox #mainBox #content.container #mypage {
          margin-left: 0;
          border: 0;
          display: block; }
          #containerBox #mainBox #content.container #timetable thead, #containerBox #mainBox #content.container #mypage thead {
            display: none; }
          #containerBox #mainBox #content.container #timetable tbody, #containerBox #mainBox #content.container #mypage tbody {
            display: block; }
          #containerBox #mainBox #content.container #timetable tbody tr, #containerBox #mainBox #content.container #mypage tbody tr {
            display: block;
            margin-bottom: 1.5em; }
          #containerBox #mainBox #content.container #timetable tbody th, #containerBox #mainBox #content.container #timetable tbody td, #containerBox #mainBox #content.container #mypage tbody th, #containerBox #mainBox #content.container #mypage tbody td {
            display: list-item;
            list-style: none;
            border: none; }
          #containerBox #mainBox #content.container #timetable tbody th, #containerBox #mainBox #content.container #mypage tbody th {
            text-align: center;
            padding: 5px;
            margin-bottom: 10px;
            list-style-type: none;
            color: #fff;
            background: #0daba5; }
          #containerBox #mainBox #content.container #timetable tbody td, #containerBox #mainBox #content.container #mypage tbody td {
            padding: 0;
            border-bottom: 1px solid #f2f4f3; }
            #containerBox #mainBox #content.container #timetable tbody td [type="radio"]:not(:checked) + label, #containerBox #mainBox #content.container #timetable tbody td [type="radio"]:checked + label, #containerBox #mainBox #content.container #mypage tbody td [type="radio"]:not(:checked) + label, #containerBox #mainBox #content.container #mypage tbody td [type="radio"]:checked + label {
              vertical-align: bottom; }
          #containerBox #mainBox #content.container #timetable.matsuyama tbody td:nth-of-type(1):before, #containerBox #mainBox #content.container #mypage.matsuyama tbody td:nth-of-type(1):before {
            content: "[選択]"; }
          #containerBox #mainBox #content.container #timetable.matsuyama tbody td:nth-of-type(2):before, #containerBox #mainBox #content.container #mypage.matsuyama tbody td:nth-of-type(2):before {
            content: "[便名]"; }
          #containerBox #mainBox #content.container #timetable.matsuyama tbody td:nth-of-type(3):before, #containerBox #mainBox #content.container #mypage.matsuyama tbody td:nth-of-type(3):before {
            content: "[新居浜出発]"; }
          #containerBox #mainBox #content.container #timetable.matsuyama tbody td:nth-of-type(4):before, #containerBox #mainBox #content.container #mypage.matsuyama tbody td:nth-of-type(4):before {
            content: "[空港到着]"; }
          #containerBox #mainBox #content.container #timetable.matsuyama tbody td:nth-of-type(5):before, #containerBox #mainBox #content.container #mypage.matsuyama tbody td:nth-of-type(5):before {
            content: "[飛行機便時間]"; }
          #containerBox #mainBox #content.container #timetable.niihama tbody td:nth-of-type(1):before, #containerBox #mainBox #content.container #mypage.niihama tbody td:nth-of-type(1):before {
            content: "[選択]"; }
          #containerBox #mainBox #content.container #timetable.niihama tbody td:nth-of-type(2):before, #containerBox #mainBox #content.container #mypage.niihama tbody td:nth-of-type(2):before {
            content: "[便名]"; }
          #containerBox #mainBox #content.container #timetable.niihama tbody td:nth-of-type(3):before, #containerBox #mainBox #content.container #mypage.niihama tbody td:nth-of-type(3):before {
            content: "[飛行機便時間]"; }
          #containerBox #mainBox #content.container #timetable.niihama tbody td:nth-of-type(4):before, #containerBox #mainBox #content.container #mypage.niihama tbody td:nth-of-type(4):before {
            content: "[空港出発]"; }
          #containerBox #mainBox #content.container #timetable.niihama tbody td:nth-of-type(5):before, #containerBox #mainBox #content.container #mypage.niihama tbody td:nth-of-type(5):before {
            content: "[新居浜到着]"; }
        #containerBox #mainBox #content.container #mypage tbody td:nth-of-type(1):before {
          content: "[申請日]"; }
        #containerBox #mainBox #content.container #mypage tbody td:nth-of-type(2):before {
          content: "[ご予約番号]"; }
        #containerBox #mainBox #content.container #mypage tbody td:nth-of-type(3):before {
          content: "[ご乗車日]"; }
        #containerBox #mainBox #content.container #mypage tbody td:nth-of-type(4):before {
          content: "[ご利用シャトル便]"; }
        #containerBox #mainBox #content.container #mypage tbody td:nth-of-type(5):before {
          content: "[ご搭乗飛行機便]"; }
        #containerBox #mainBox #content.container.selectBox.row .col.s6 {
          width: 100%; }
        #containerBox #mainBox #content.container.selectBox .btn {
          width: 100%;
          padding: 0.5rem;
          height: auto;
          margin: 0;
          margin-bottom: 1.5rem; }
          #containerBox #mainBox #content.container.selectBox .btn p {
            display: inline; }
          #containerBox #mainBox #content.container.selectBox .btn .large {
            font-size: 2rem !important;
            vertical-align: top; }
        #containerBox #mainBox #content.container #loginBox dl dt {
          float: none;
          width: auto; }
        #containerBox #mainBox #content.container #loginBox dl dd {
          margin-left: 0; }
    #containerBox .inputList .num {
      width: 5em;
      margin-right: 1rem; }
    #containerBox .inputList dd span {
      display: block; }
    #containerBox .inputList .alert {
      text-align: left;
      font-size: 0.9em; }
    #containerBox .h-btnBox {
      float: none; }
      #containerBox .h-btnBox p {
        padding: 0 .7rem;
        margin: 0;
        float: none;
        width: 100%;
        box-sizing: border-box; }
        #containerBox .h-btnBox p a {
          display: block;
          color: #FFF; }
    #containerBox .buttonBox button {
      width: 16rem; } }
@media only screen and (min-width: 640px) {
  textarea {
    width: 40em !important;
    height: 10em !important; }

  .inline dt {
    float: left;
    clear: left;
    margin: .6em 0; }
  .inline dd {
    float: left;
    margin-left: 1em;
    margin-bottom: .5rem; }

  .inputList .text {
    width: 30em; }
  .inputList .num {
    width: 5em;
    margin-right: 1rem; }
  .inputList dt {
    width: 9em;
    padding-right: 0; }
  .inputList dd {
    margin-left: 1em; }

  .completeBox {
    margin-bottom: 3em !important; }

  #loginBox dl dt i {
    font-size: 1.6rem;
    margin-right: 10px;
    line-height: 1; }

  .h-btnBox {
    margin-top: -3.5rem !important; } }
/*-------------------------------------------------------------
	materialize.css override
-------------------------------------------------------------*/
.container {
  padding: 0;
  margin: 0 auto;
  max-width: 960px;
  width: 100%; }

@media only screen and (min-width: 601px) {
  .container {
    width: 100%; } }
@media only screen and (min-width: 993px) {
  .container {
    width: 100%; } }
select:focus {
  outline: 1px solid #58aeff; }

button:focus {
  outline: none;
  background-color: #58aeff; }

input[type=text], input[type=password], input[type=email], input[type=url], input[type=date], input[type=tel], input[type=number], input[type=search], textarea.materialize-textarea {
  border: 1px solid #DDD;
  padding: 0 .5rem;
  box-sizing: border-box; }

/* Radio */
[type="radio"]:checked + label:after {
  border: 2px solid #DDD;
  background-color: #58aeff; }

/* Radio With gap */
[type="radio"].with-gap:checked + label:before {
  border-radius: 50%;
  border: 2px solid #58aeff; }

[type="radio"].with-gap:checked + label:after {
  border: 2px solid #58aeff;
  background-color: #58aeff; }

[type="radio"]:not(:checked) + label, [type="radio"]:checked + label {
  color: #000 !important; }

select {
  background-color: #FDFDFD;
  width: 100%;
  padding: 5px;
  border: 1px solid #CCC;
  border-radius: 2px;
  height: 3rem; }

.picker__header {
  text-align: center;
  position: relative;
  margin: 0.75em 0; }

.picker__date-display {
  text-align: center;
  background-color: #58aeff;
  color: #fff;
  padding-bottom: 15px;
  font-weight: 300; }

.picker__weekday-display {
  background-color: #0052ad;
  padding: 10px;
  font-weight: 200;
  letter-spacing: 0.5;
  font-size: 1rem;
  margin-bottom: 15px; }

.picker__weekday {
  color: #FFF; }

.picker__year-display {
  font-size: 1.8rem;
  color: #FFF; }

.picker--focused .picker__day--highlighted {
  color: #58aeff; }

.picker--focused .picker__day--selected {
  border-radius: 50%;
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
  background-color: #0089ec;
  color: #ffffff; }

.picker--focused .picker__day--selected.picker__day--outfocus {
  background-color: #58aeff; }

.picker__close, .picker__today, .picker__clear {
  font-size: .9rem;
  padding: 0 1rem;
  color: #58aeff; }

.picker__close, .picker__today, .picker__clear {
  font-size: .9rem;
  padding: 0 1rem;
  color: #58aeff; }

input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=url]:focus, input[type=date]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=search]:focus, textarea:focus.materialize-textarea {
  border-bottom: 1px solid #58aeff;
  -webkit-box-shadow: 0 1px 0 0 #58aeff;
  -moz-box-shadow: 0 1px 0 0 #58aeff;
  box-shadow: 0 1px 0 0 #58aeff; }

[type="checkbox"]:checked + label:before {
  top: -.3em; }

[type="checkbox"]:not(:checked) + label, [type="checkbox"]:checked + label {
  display: inline !important;
  top: -.2em;
  padding-left: 22px; }

dd label {
  color: #000 !important; }

/*------------------------------------------------------------*/
/*=0 home
-------------------------------------------------------------*/
