@charset "utf-8";


/* =Reset default browser 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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0; margin:auto;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body{
color:#555;
font:12px verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
-webkit-text-size-adjust: none;
}


/* リンク設定
------------------------------------------------------------*/
a{
  color:#0000C0;
  text-decoration:none;
}
a:active, a:focus{outline:0;}


/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0 1%;
width:600px;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}
.align_left   { text-align: left }
.align_right  { text-align: right }
.align_center { text-align: center }
.left  { float: left }
.right { float: right }
.clear { clear: both }
.red { color:#FF0000;}
.blue { color:#0000FF;}

/*************
/* ヘッダー
*************/
#header .inner{
  padding:10px 10px 0 10px;
  overflow:hidden;
  background:#e0f090;
  border:1px solid #efede7;
}
* html #header{height:1%;}


/*************
/* ロゴ
*************/
#body_top_img {
  margin: 10px auto 0px auto;
  display:block;
  width: 600px;
  height: 120px;
  background-image:url(../images/body_top.jpg);
  background-repeat: no-repeat;
  background-color: #ffffff;
}


/*************
テーブル
*************/
table.table{
  border-collapse:collapse;
  width:100%;
  margin:10px auto;
}

table.table th,table.table td{
  padding:5px;
  border:1px solid #eca92b;
}

table.table th{
  text-align:right;
  font-weight:bold;
  letter-spacing:1px;
  white-space:nowrap;
  color:#fff;
  background:#bc7d03;
  border-left:#eca92b 5px solid
}

a{ text-decoration:none; }

.center {
  text-align: center;
}

/* リンクにつける画像 */
a img { vertical-align:middle; }


/*************
/* ボタン関連
*************/
a.btn01,
a.btn02,
a.btn03,
a.btn04,
a.btn05 {
  display: block;
  background-repeat: no-repeat;
  color:#FFFFFF;
  vertical-align: middle;
}
a img {border-style:none;}

a.btn01 .icon,
a.btn02 .icon,
a.btn03 .icon,
a.btn04 .icon,
a.btn05 .icon {
  background-repeat: no-repeat;
  display: block;
  float: left;
  text-indent: -9999px;
} 

a.btn01 {
  width: 200px;
  height:50px;
  background-image:url(../images/btn01.png);
  font-weight: bold;
  font-size:20px;
  line-height: 50px;
}

a.btn01 .icon {
  width: 30px;
  height: 30px;
  margin: 10px 25px 10px 20px;
}
a.btn01:hover {  background-image:url(../images/btn01-2.png);}


a.btn02 .icon,
a.btn04 .icon,
a.btn05 .icon  {
  width: 20px;
  height: 20px;
  margin: 5px 10px;
}


a.btn02 {
  width: 100px;
  height:30px;
  font-weight: bold;
  font-size:20px;
  line-height: 30px;
  background-color: #EA6290;
  border-radius: 6px;
}
a.btn02:hover {
  background-color: #FA72A0;
}
a.btn02 .icon { background-image:url(../images/btIcon-tugi.png);}

a.btn03 {
  width: 60px;
  height:20px;
  background-image:url(../images/btn03.png);
  font-weight: normal;
  font-size:14px;
  line-height: 20px;
}
a.btn03 .icon {
  width: 15px;
  height: 15px;
  margin: 2px 5px;
  background-image:url(../images/btIcon-mae2.png);
}
a.btn03:hover {  background-image:url(../images/btn03-2.png);}

a.btn05,
a.btn04 {
  width: 200px;
  height:30px;
  font-weight: bold;
  font-size:16px;
  line-height: 30px;
}
a.btn04 {
  background-color: #EA6290;
  border-radius: 6px;
}
a.btn04:hover {
  background-color: #FA72A0;
}
a.btn04 .icon {
  background-color: #FA72A0;
  background-image:url(../images/btIcon-tugi.png);
}
a.btn05 {
  background-color: #219393;
  border-radius: 6px;
}
a.btn05:hover {
   background-color: #31A3A3;
}
a.btn05 .icon {
  background-image:url(../images/btIcon-mae.png);
}

div.center_box {
  margin: 8px auto 0px auto;
  width: 600px;
  height: 22px;
}


/* float関連 floatした要素が親要素からはみ出してしまうのを回避する */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}


/* STEP */
#steps ul{
  width:100%;
  height: 60px;
  overflow:hidden;
  margin: 2px auto;
}
* html #steps ul{height:1%;}
#steps ul li{
  float:left;
  width: 14%;
  text-align:center;
}
#steps ul li.shape{    
  float:left;
  width: 8px;
  height: 0;
  border-top: 26px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 26px solid transparent;
  border-left: 8px solid #ffffff;
}
#steps ul li.activeShape{
  border-left: 8px solid #bc7d03;
}
#steps ul span{
  font-size:14px;
  line-height:1.2;
  color:#bc7d03;
  background:#fff;
}
#steps ul span.label_container{
  display: table-cell;
  vertical-align: middle;
  height: 52px;
  width: 100px;
}
#steps ul span.label_container_prev{
  cursor: pointer;
}
#steps ul li.active span{
  font-size:15px;
  font-weight: bold;
  color:#fff;
  background:#bc7d03;
}

.bottomPanel {
  padding: 10px 0;
  margin-top: 15px;
}

/* 進むボタン */
.selectButton {
  float: right;
  padding: 8px 12px;
  border-radius: 12px;
  background-color: #60cf80;
  color: #ffffff;
}
/* 戻るボタン */
.backButton {
  float: left;
  padding: 8px 12px;
  border-radius: 12px;
  background-color: #ff80c0;
  color: #ffffff;
}
/* 送信ボタン&div */
div.sousinPanel {
  text-align: center;
  padding-top: 24px;
}
.sousinButton {
  padding: 6px 40px;
  border-radius: 12px;
  background-color: #60cf80;
  color: #ffffff;
  text-align: center;
  font-size: 20px;
}

/* 給油所 */
.kyoten ul, 
.kyoten ol {
  padding: 0;
  position: relative;
  text-align: left;
}
.kyoten ul li, 
.kyoten ol li {
  color: black;
  border-left: solid 8px #eca92b;
  background: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none!important;
}
a.kyotenLink {
  width: 100%;
  height: 100%;
  color: #000000;
  display: inline-block;
}
a.kyotenLink:hover { background-color: #fce96b; }


/* 申込区分選択 */
table.kbn_table {
  border-collapse: collapse;
}
table.kbn_table th {
  vertical-align: middle;
  padding: 8px 4px;
  border: solid 1px #a0a0a0;
}
table.kbn_table td {
  padding: 8px 4px;
  border: solid 1px #a0a0a0;
  background-color: #ffffff;
}



/* カレンダー */
.dateSelect {
  height: 32px;
}
.dateSelect span {
  margin: 0 12px;
}
.dateSelect a {
  padding: 2px 8px;
  border-radius: 6px;
  border: solid 1px #000080;
  background-color: #f0f0ff;
  color: #000080;
}
.calendar {
  width:600px;
  padding-top:16px;
  margin:0 auto;
  border: solid 1px #a0a0a0;
  border-collapse: collapse;
}
.calendar th, 
.calendar td {
  border: solid 1px #cccccc;
  text-align: center;
}
.calendar th {
  font-size: 14px;
  background-color: #eeeeee;
}
.calendar td {
  font-size: 15px;
  background-color: #ffffff;
}
.calendar th.red { background-color: #ffdbed;}
.calendar th.blue { background-color: #cce9ff;}
  .lightBlue { background-color: #c0e0ff; }
  .lightRed {  background-color: #ffd0e0;  }
div.calDay { 
  height: 16px;
  font-size: 15px;
}

div.calStatus {
  text-align: center; 
  padding-top: 6px;
  padding-bottom: 6px;
}
div.calStatus a {
  color: #0000ff;
  font-weight: bold;
  font-size: 15px;
}


/* 時間割 */
.timeTable {
  width:220px;
  margin:0 auto;
  border-collapse: collapse;
}
.timeTable th, 
.timeTable td {
  border: solid 1px #a0a0a0;
  text-align: center;
}
.timeTable th.time {
  width: 120px;
  background-color: #f0f0ff;
}
.timeTable td {
  height: 28px;
  vertical-align: middle;
  background-color: #ffffff;
}
.timeTable td a {
  color: #0000ff;
  font-weight: bold;
  font-size: 18px;
}
.select_table {
  width: 600px;
  height: 30px;
  font-size: 14px;
  margin: 8px auto;
  border: solid 1px #a0a0a0;
  border-collapse: collapse;
}
.select_table th, .select_table td{
  text-align: center;
  vertical-align: middle;
}
.select_table td{
  background-color: #ffffff;
}

/* 申込情報入力 */
.moshikomiTable {
  width: 600px;
  border-collapse: collapse;
}
.moshikomiTable th, .moshikomiTable td {
  height: 32px;
  font-size: 14px;
  vertical-align: middle;
  padding: 0 16px;
  border: solid 1px #c0c0c0;
  background-color: #ffffff;
}
.moshikomiTable th {
  text-align: center;
  background-color: #f8f8f0;
  width: 120px;
}

th.spaceCell, td.spaceCell {
  height: 30px;
  border-width: 0px;
  background-color: #ffffff;
  text-align: center;
  vertical-align: bottom;
}
.moshikomiTable td a{
  margin: 0 8px;
  color: #6080ff;
  text-decoration: underline;
}
.moshikomiTable td.hintCell {
  border-width: 0px;
  color: #505050;
  text-align: right;
  font-size: 14px;
  padding: 0;
}

.moshikomiTable td input.touroku1 { width: 60px; }
.moshikomiTable td input.touroku2 { width: 48px; }
.moshikomiTable td input.touroku3 { width: 28px; }
.moshikomiTable td input.touroku4 { width: 52px; }
.moshikomiTable td input.juusyo { width: 100%; }
.moshikomiTable td input.email  { width: 100%; }
.moshikomiTable td textarea { width: 100%; margin: 8px 0; }

.errorMessage {
  color: #ff0000;
  font-size: 12px;
  line-height: 1.2;
  font-weight: normal;
  letter-spacing: 0.0em;
}

/* PC用 */
@media only screen and (min-width:960px){  
  #wrapper,.inner{
    width:600px;
  }
  
  #wrapper{padding-bottom:44px;}
  
  /* 給油所 */
  .kyoten {
    width: 400px;
    text-align: left;
    margin: auto;
  }
  
  .bottomPanel {
    clear:left;
    padding: 16px 16px;
  }
  
  
  /* カレンダー */
  .calendar {
    width: 600px;
    margin: auto;
  }
  
  /* 時間割 */
  .timeTable {
    margin: auto;
  }

  /* 申込情報入力 */
  .moshikomiTable {
    margin: auto;
  }
  .telCopy {
    color: aqua;
  }

  
  /* グリッド全体 */
  .gridWrapper{
    width:960px;
    margin:0 0 0 -20px;
  }
  
  /* グリッド共通 ベース:トップページ4カラム */
  .grid{
    float:left;
    width:220px;
    margin-left:20px;
  }
  
  /* サブコンテンツ + フッター グリッド(3カラム) */
  #footer .grid{border:0;}
}


/* モニター幅940px以下 */
@media only screen and (max-width:940px){
  *{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
  }

  #wrapper{
    margin:0;
    padding:0 4px;
    width:100%;
    height:100%;
  }

  #body_top_img {
    margin: 0;
    width: 100%;
  }

  /* テーブル */
  .moshikomiTable {
    width: 100%;
  }
  .moshikomiTable th {
    width: 100px;
    padding: 0 4px;
    font-size: 12px;
  }
  .moshikomiTable td {
    width: 240px;
    padding: 4px;
    font-size: 12px;
  }
  .moshikomiTable td input { width: 100%; }
  .moshikomiTable td input.touroku1 { width: 60px; }
  .moshikomiTable td input.touroku2 { width: 48px; }
  .moshikomiTable td input.touroku3 { width: 28px; }
  .moshikomiTable td input.touroku4 { width: 52px; }
  .moshikomiTable td input.postcode1 { width: 60px; }
  .moshikomiTable td input.postcode2 { width: 60px; }
  .moshikomiTable td input[type="button"] { width: 80px; }
  .moshikomiTable td select { width: 100%; }
  .moshikomiTable td textarea { width: 100%; }
  span.hint { float: left; }

  /* ステップ */
  * html #steps ul{height:1%;}
  #steps ul{
    width:100%;
    height: 2px;
    overflow:hidden;
  }
  #steps ul li{
    display:none;
  }

  .kbn_table { width: 100%; }
  .select_table { width: 100%; }

  /* カレンダー */
  .dateSelect { font-size: 14px; }
  .dateSelect span { margin: 0 3px; }
  .dateSelect a { padding: 2px 4px; }
  .calendar { width: 100%; }

  /* ボタンなど */
  div.center_box { width: 100%; }
  a.btn04 {
    width: 148px;
    font-size: 12px;
  }
  a.btn05 {
    width: 132px;
    font-size: 12px;
  }
}


/* iPad 縦 */
@media only screen and (max-width:768px){
  #header{padding-bottom:0;}  

  #header h1{text-align:center;}
  
  #header .logo{
  float:none;
  text-align:center;
  padding:10px 5px 20px;
  }
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
  #footer .grid p{text-align:center;}
  
  .grid img{
  float:none;
  margin:0 auto;
  width:100%;
  height:auto;
  }
  
  .grid p,#sub .grid li{text-align:left;}

  .alignleft,.alignright{
  float:none;
  display:block;
  margin:0 auto 10px;
  }
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
}

/* 埋め込みスマホ参照 */
@media only screen and (max-width:300px){
  table.moshikomiTable th {
    width: 80px;
    padding: 0 1px;
    font-size: 11px;
  }
}