* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
  font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
*:before,
*:after {
  box-sizing: inherit;
}

.clear-both{
  clear: both;
}
.text-center{
  text-align: center;
  padding: 0px;
}
.text-right{
  text-align: right;
}
.font-weight-bold{
  font-weight: bold;
}

.mt30 {
  margin-top: 30px;
}

.mb10 {
  margin-bottom: 10px;
}

/* ------------------------------------------
 * ヘッダ
 */

header.pc{
  padding: 20px 0;
  text-align: center;
}
.sub-content header.pc{
  background-color: #4169e1;
}
/* ヘッダナビ */
.g-nav,
nav.global-nav{
  background-color: transparent;
}
.g-nav li{
  display: inline-block;
  vertical-align: top;
}
.g-nav__link{
  width: 110px;
}
.g-nav__logo{
  background-image: url("../_img/logo_head.png");
  background-position: center top;
  background-repeat: no-repeat;
}
.g-nav__logo a{
  display: block;
  width: 150px;
  height: 162px;
}
.g-nav__separator{
  color: #ffffff;
}
.top-content .g-nav__logo{
  background-image: url("../_img/logo_head_top.png");
}
.g-nav li ul{
  padding-top: 30px;
}
.g-nav li ul li{
  overflow: hidden;
  height: 0;
  width: 160px;
  text-align: left;
  color: #fff;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
}
.g-nav li:hover ul li{
  overflow: visible;
  height: 20px;
}

/* ------------------------------------------
 * ヘッダSP
 */
header.sp {
  background: #4169e1;
  background-image: url("../_img/logo_head_sp.png");
  background-attachment: scroll;
  background-position: center 5px;
  background-repeat: no-repeat;
  padding:5px;
  text-align: left;
}

#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  margin: 5px;
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 4px;/*線の太さ*/
  width: 30px;/*長さ*/
  border-radius: 3px;
  background: #ffffff;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -10px;
}
#nav-open span:after {
  bottom: -20px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.sp-menu {
    max-width: 600px;
}
.sp-menu a {
    display: block;
    text-decoration: none;
    color: #ffffff;
}
.sp-menu label {
    display: block;
    margin: 0 0 4px 0;
    padding : 15px;
    line-height: 1;
    background: #4169e1;
    color: #ffffff;
    cursor: pointer;
}
.sp-menu input {
    display: none;
}
.sp-menu ul {
    margin: 0;
    padding: 0;
    background :#b0c4de;
    list-style: none;
}
.sp-menu li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
.sp-menu li a {
    padding: 15px;
}
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li,
#menu_bar05:checked ~ #links05 li {
    height: auto;
    opacity: 1;
}

/* ------------------------------------------
 * パンくず
 */
ul.breadcrumb{
  margin: 20px 0;
}
ul.breadcrumb li{
  display: inline-block;
}

/* ------------------------------------------
 * フッター
 */
.footer-upper{
  background-color: #ffffff;
  padding: 40px 0;
}

ul.site-list,
ul.site-list li{
  list-style: none;
  vertical-align: top;
}

.footer__nav{
  background-image: url("../_img/bg_foot2.png");
  background-attachment: scroll;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 10px 0;

}
ul.f-nav{
  text-align: left;
}
ul.f-nav li{
  background-color: transparent;
  display: inline-block;
  vertical-align: middle;
}
.footer__copywrite{
  padding: 15px 0;
  text-align: center;
  background-color: #ffffff;
  color: #87cefa;
  font-size: 11px;
}

/* フッター会社情報 */
.company-info__name,
.company-info__zip,
.company-info__address,
.company-info__tel{
  font-size: 14px;
}
.company-info__name{
  font-weight: bold;
}
.company-info__link{
  margin: 30px 0;
}
.company-info__catch-copy{
  padding: 10px 25px 0 0;
  font-size: 12px;
}

.aktio{
  height: 100%;
  text-align: center;
  display: table-cell;
  vertical-align: bottom;
}
.aktio__supplement{
  font-size: 13px;
}

.f-nav__separator{
  margin: 0 5px;
  color: #ffffff;
}
.f-nav__catch-copy{
  padding-left: 20px;
  text-align: right;
  font-size: 14px;
  color: #ffffff;
}

/* ------------------------------------------
 * リンク
 */
a {
  text-decoration: none;
}
a:hover{
  color: #ff7043;
}

/* ボタン風リンク */
a.link_button {
  background-color: #ffffff;
  color: #00b9ef;
  font-size: 12px;
  padding: 8px 20px;
  border: 1px solid #00b9ef;
}

/* ヘッダ */
.g-nav__link a{
  color: #ffffff;
  font-weight: bold;
  font-size: 14px;
}

/* フッター */
.site-list__link--large-category a,
.site-list__link--middle-category a{
  font-size: 12px;
  color: #000000;
}
.site-list__link--large-category a{
  font-weight: bold;
}
.site-list__link--middle-category a{
  padding: 0 0 0 20px;
}
.f-nav__link a{
  color: #ffffff;
  font-size: 12px;
}

/* サブメニュー */
.sub-nav__company-list a{
  color: #191970;
  font-size: 16px;
}
.sub-nav__link--active a{
  color: #000000;
  font-weight: bold;
  pointer-events:none
}

/* パンくず */
.breadcrumb a{
  color: #4682b4;
  font-size: 12px;
}
.breadcrumb__link--active a{
  color: #666666;
  pointer-events:none
}

/* コンテンツ */
.topics_title a{
  color: #000000;
}

.link__center{
  width: 100%;
  text-align: center;
  padding: 10px 0;
}
.link__right{
  width: 100%;
  text-align: right;
  padding: 10px 0;
}

/* ------------------------------------------
 * トップ
 */
body.top-content{
  background-image: url("../_img/top/bg.jpg");
  background-attachment: fixed;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.top-content .main{
  text-align: center;
}

.top-content h2 {
  display: inline-block;
  margin: 15px 0;
  width: 240px;
  height: 40px;
  background-image: url("../_img/titile_h2.png");
  padding: 8px 0;
  text-align: center;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  border: 1px solid #ffffff;
}

.top-content h3 {
  display: inline-block;
  margin: 15px 0;
  width: 100%;
  height: 43px;
  background-image: url("../_img/titile_h3.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 8px 0;
  text-align: center;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  border: 1px solid #ffffff;
}

.top-content .catch-copy{
  padding-top: 30px;
  height: 700px;
}
.catch-copy__word{
  color: #ffffff;
  font-size: 24px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.top-content .product{
  border-top: 50px solid #ffffff;
  border-bottom: 50px solid #ffffff;
  transform:skew(0deg,-10deg);
  padding: 20px 0;
  background-color: rgba(0, 0, 255, 0.7);
}
.top-content .product .wrap{
  transform:skew(0deg,10deg);
}

.product__supplement{
  padding: 20px 0;
  color: #ffffff;
  font-size: 12px;
}

.product__word{
  margin: 20px 0;
  color: #ffffff;
  font-size: 18px;
}
.product-lineup{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
}
.product-lineup__item{
  margin: 5px;
  padding: 10px;
  height: 270px;
  width: 32%;
  background-color: #ffffff;
}
.product-lineup__item img{
  width: 90%;
  height: 180px;
}

.top-content .guide{
  padding: 20px 0;
  background-image: url("../_img/bg_foot.png");
  transform:skew(0deg,-10deg);
}
.top-content .guide .wrap{
  transform:skew(0deg,10deg);
}

.guide-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  background-color: #ffffff;
  padding: 20px 20px 60px 20px;
}
.guide-list__item{
  width: 24%;
}
.guide-list__item img{
  width: 100%;
}
.guide__infomation{
  background-image: url("../_img/image_coment.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 15px 20px;
}
.guide__infomation .guide__title{
  border-bottom: 1px solid #ffffff;
  padding: 0 0 10px 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
}
.guide__infomation .guide__message{
  padding: 10px 0 0 0;
  color: #ffffff;
  font-size: 16px;
  text-align: left;
}

.top-content .news{
  padding-top: 20px;
  background-color: #ffffff;
  transform:skew(0deg,-10deg);
}
.top-content .news .wrap-white{
  background:linear-gradient(90deg,transparent 0%,transparent 50%,#ffffff 50%,#ffffff 100%);
  transform:skew(0deg,10deg);
  margin-bottom: -1px;
}
.top-content .news .wrap{
}
.news_list{
  background-image: url("../_img/bg_foot.png");
  background-position: left top;
  background-repeat: no-repeat;
  text-align: left;
  padding: 0 20px;
}
.news__one{
  padding: 15px 0;
  border-bottom: 1pt solid #00b9ef;
}
.news__date{
  font-size: 14px;
  color: #00b9ef;
}
.news__content{
  font-size: 14px;
}

/* ------------------------------------------
 * コンテンツ
 */
.sub-content .main {
  min-height: 500px;
}

.sub-content h1 {
  margin: 15px 0;
  padding: 10px 0;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.3em;
  border-bottom: 1px solid #cccccc;
}
.sub-content h2 {
  margin: 15px 0;
  width: 240px;
  height: 40px;
  background-image: url("../_img/titile_h2.png");
  padding: 8px 0;
  text-align: center;
  color: #ffffff;
  font-size: 19px;
  font-weight: bold;
}
.sub-content h2.large{
  width: 100%;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.sub-content h2.terms-number{
  width: 100%;
  height: 100%;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  text-align: left;
  padding-left: 10px;
}
.sub-content h3{
  margin: 15px 0;
  padding-top: 25px;
  font-size: 18px;
  font-weight: bold;
  border-top: 1px solid #cccccc;
}

.sub-content h3.topics_title{
  border: 0;
}


/* サブメニュー */
.sub-nav{
  padding: 10px 20px 10px 0;
}
.sub-nav__company-list li{
  background-image: url("../_img/link_right.png");
  background-attachment: scroll;
  background-position: right center;
  background-repeat: no-repeat;
  list-style: none;
  padding: 15px 0;
  border-bottom: 1px solid #cccccc;
}

/* セクション */
.section-infomation{
  padding: 10px 5px;
  color: #666666;
  font-size: 16px;
}

/* セクション・テーブルタイプ */
.table-list{
  margin: 0 0 50px 0;
  padding: 0 10px;
}
.table-list__one{
  display: table;
  width: 100%;
  padding: 20px 0;
  border-bottom: 1pt dotted #1e90ff;
}
.table-list__one .tilte {
  display: table-cell;
  width: 25%;
  color: #666666;
  font-size: 16px;
  font-weight: bold;
}
.table-list__one .item {
  display: table-cell;
  width: 75%;
  color: #666666;
  font-size: 16px;
}
.table-list__one .item__company{
  padding-right: 10px;
  white-space: nowrap;
}
.table-list__one .tel {
  padding: 0 80px 0 10px;
}

/* セクション・時系列タイプ */
.time-series{
  margin: 0 0 50px 0;
  padding: 0 10px;
}
.time-series__one{
  display: table;
  width: 100%;
  padding: 20px 0;
  border-bottom: 1pt dotted #1e90ff;
}
.time-series__one .date{
  display: table-cell;
  width: 240px;
  color: #666666;
  font-weight: bold;
  font-size: 16px;
}
.time-series__one .history{
  display: table-cell;
  color: #666666;
  font-size: 16px;
}

/* セクション・画像トピックタイプ */
.picture-topic{
  margin: 0 0 30px 0;
  padding: 0 10px;
}
.picture-topic .picture-topic__img,
.picture-topic .picture-topic__infomation{
  width: 100%;
}
.picture-topic .picture-topic__infomation{
  background-image: url("../_img/image_coment.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 15px 30px;
}
.picture-topic .picture-topic__title{
  border-bottom: 1px solid #ffffff;
  padding: 0 0 10px 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
}
.picture-topic .picture-topic__message{
  padding: 10px 0 0 0;
  color: #ffffff;
  font-size: 12px;
}
.picture-topic .picture-topic__link{
  position: relative;
  top: -35px;
  text-align: right;
}
.picture-topic__title .office-name{
  font-size: 8px;
  color: rgba(0, 0, 255, 0.1);
}

/* セクション・文書タイプ */
.documents .documents__formal,
.documents .documents__formal > p{
  padding: 10px;
  font-size: 16px;
  line-height: 2.0em;
}
.documents ol{
  margin-left: 25px;
}
.documents ol li{
  margin: 5px 0;
}
.documents ol.terms-child{
  list-style-type: cjk-ideographic;
}
.documents .documents__right{
  text-align: right;
}
.documents .signature{
  margin: 20px 0 0 0;
  color: #666666;
  line-height: 1.5em;
}

.documents .documents__casual,
.documents .documents__casual p{
  padding: 15px;
  font-size: 16px;
  line-height: 2.0em;
}

.documents ul.check-box{
  margin: 10px 0 20px 60px;
  list-style: square;
}
.documents ul.check-box li{
  padding: 10px 0;
  font-size: 18px;
  line-height: 1.2em;
  font-weight: bold;
}
.documents__casual p.strong-word{
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

.documents ul.upper-alpha{
  margin: 10px 0 10px 40px;
  list-style-type: upper-alpha;
  font-size: 18px;
  font-weight: bold;
}
.documents ul.upper-alpha p{
  font-size: 16px;
  font-weight: normal;
}

.documents .documents__define{

}

.documents__define .define__gmap{
  width: 99%;
  box-shadow: 0 0 8px gray;
}
.documents__define .define__message{
  margin: 10px;
}
.documents__define .define__link{
  float: right;
}

.documents .prosess h3 {
  width: 100%;
  border: none;
  background-color: #1e90ff;
  border-radius: 10px 10px 0 0;
  text-align: center;
  font-size: 16px;
  color: #ffffff;
  padding: 5px 0;
  margin: 0;
}
.documents .prosess__explanation {
  border: 3px solid #1e90ff;
  border-radius: 0 0 10px 10px;
  padding: 10px;
}
.documents .prosess__explanation span {

}
.documents .prosess__line {
  width: 50px;
  height: 50px;
  background-color: #1e90ff;
  margin: 0 auto;
}
.documents .prosess__arrow,
.documents .prosess__arrow--first{
  width: 30px;
  height: 30px;
  border: 5px solid;
  border-color:  transparent transparent #1e90ff #1e90ff;
  transform: rotate(-45deg);
  margin: 0 auto 20px auto;
}
.documents .prosess__arrow--first{
  margin: 0 auto;
}

.documents .prosess p {
  padding: 0;
}
.documents .prosess p span {
  color: #ff6600;
}
.documents .prosess .note{
  font-size: 14px;
  color: #ff6600;
}

.documents small {
  padding-bottom: 10px;
  display: block;
  line-height: 1.8em;
  font-size: 14px;
  color: #666666;
}
.documents small .asterisk{
  padding-right: 10px;
}

.documents .terms-table{
  margin-bottom: 10px;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 12px;
  border: 1px solid #b0e0e6;
}
.documents .terms-table th{
  background-color: #87cefa;
  border: 1px solid #b0e0e6;
  text-align: center;
  vertical-align: middle;
}
.documents .terms-table td{
  border: 1px solid #b0e0e6;
  padding: 5px;
  vertical-align: middle;
}
.documents .terms-table td.border-0{
  border: 0;
}

.terms-table .col-150{
  width: 150px;
}
.terms-table .col-10p{
  width: 10%;
}
.terms-table .col-20p{
  width: 20%;
}
.rental-insurance .col-1,
.rental-insurance2 .col-1 {
  width: 18%;
}
.rental-insurance .col-2{
  width: 33%;
}
.rental-insurance .col-3{

}
.rental-insurance .col-4{
  width: 18%;
}

.road-traffic .col-1{
  width: 20%;
}
.road-traffic .col-2{
  width: 26%;
}
.road-traffic .col-3{
  width: 20%;
}

.flex-box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.terms-table .badge{
  margin-right: 5px;
  display: inline-block;
  width: 36px;
  height: 36px;
  border: 2px solid #999999;
  border-radius: 8px;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-family: font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
}
.terms-table .badge-cert{
  background-color: #afeeee;
}
.terms-table .badge-inspection{
  background-color: #ffffff;
}
.terms-table .badge-tokujiken{
  font-size: 10px;
}
.terms-table .badge-driver{
  width: 100px;
  font-size: 12px;
}

.support-excerpt__item{
  width: 50%;
  padding: 5px;
}
.support-excerpt__item img,
.law__img img {
  width: 100%;
}
.guid__img img {
  box-shadow: 0 0 8px gray;
  width: 300px;
  height: auto;
}
img.banner{
  width: 160px;
  height: 40px;
}


/* ------------------------------------------
 * うえへボタン
 */
#PageTopBtn {
    position: fixed; /*ボタンの配置場所を固定*/
    bottom: 10px; /*下からのボタンの配置場所を指定*/
    right: 10px; /*右からのボタンの配置場所を指定*/
    z-index: 100;
}
#PageTopBtn a {
    display: block; /*配置の調整*/
    text-decoration: none; /*文字の下線を消す*/
    color: #fff; /*文字の色*/
    background: #6495ed; /*ボタンの背景色*/
    text-align: center; /*文字を中央に配置*/
    border-radius: 50%; /*ボタンの角を少し丸くする*/
    outline: none; /*クリックしたときの黒い枠を消す*/
    width: 50px; /*ボタンの幅*/
    height: 50px; /*ボタンの高さ*/
    padding: 10px 0; /*文字の配置場所の調整*/
}
#PageTopBtn a:hover {
    text-decoration: none;
    background: #0000ff; /*マウスオーバー時の背景色*/
}
