@charset "utf-8";

/*------------------------------
下層common
------------------------------*/

/*------------------------------
contentsWrap
------------------------------*/
#contentsWrap {
 width: 1000px;
 margin: 0 auto;
 padding: 0 0 100px;
}
main section { padding: 50px 10px; }

/*------------------------------
main
------------------------------*/
main p:not([class]) a {
 text-decoration: underline;
}
main p:not([class]) a:hover {
 text-decoration: none;
 color: #0079ba;
}
main .thum {
 text-align: center;
 margin: 0 0 20px;
}
main .thum img {
 width: 100%;
}
/*cv
------------------------------*/
.cv01 {
 margin: 60px 0 20px;
 border-radius: 4px;
}
@media screen and (max-width: 999px){
 .cv01 { margin: 20px -10px 0; }
}
.btn01 {
 margin: 2rem auto;
 text-align: center;
}
/*見出し
------------------------------*/
main h1 {
 font-size: 3.0rem;
 font-weight: bold;
 line-height: 1.6;
 margin-bottom: 2rem;
}
main h2 {
 font-size: 2.8rem;
 color: #fff;
 padding: 10px;
 background-color: #0079ba;
 position: relative;
 margin-bottom: 3rem;
}
main h2::after {
 content: "";
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 8px 8px 0 8px;
 border-color: #0079ba transparent transparent transparent;
 position: absolute;
 left: 50%;
 margin-left: -8px;
 bottom: -8px;
}
main h3 {
 font-size: 2.2rem;
 padding:10px;
 padding-left: 33px;
 border-bottom: solid 2px #0079ba;
 position: relative;
}
main h3::before {
 content: "";
 width: 44px;
 height: 44px;
 background-color: rgba(0,121,186,.1);
 position: absolute;
 top: 0;
 left: 0;
 z-index: -2;
}
main h3::after {
 content: "";
 width: 30px;
 height: 30px;
 background-color: rgba(0,121,186,.3);
 position: absolute;
 top: 22px;
 left: 18px;
 z-index: -3;
}
main h4 {
 font-size: 2.0rem; 
 padding: 10px;
 border-bottom: 2px dashed #0079ba; 
}
main h5,
main h6 {
 font-size: 2rem;
 padding: 0 0 0 16px;
 position: relative;
}
main h5::before,
main h6::before {
 content: "";
 display: block;
 width: 0;
 height: 0;
 border-top: solid 8px #00a199;
 border-left: solid 8px #00a199;
 border-right: rgba(255,255,255,0.00) 8px solid;
 border-bottom: rgba(255,255,255,0.00) 8px solid;
 position: absolute;
 left: 0;
 top: 0;
}
main h6 { font-size: 2.0rem; }
h2 a,h3 a,h4 a,h5 a,h6 a {
 display: inline-block;
 padding-right: 30px;
 background: url(images/arrow01_blue.svg) no-repeat right 50%;
 background-size: 12px auto;
}
main .subH_01 {
 display: inline-block;
 padding: 8px 10px;
 font-size: 14px;
 font-weight: bold;
 line-height: 1;
 background-color:#e7f6f5;
 border-radius: 4px;
 margin-bottom: 0;
}
/*list
------------------------------*/
main ul:not([class]) {
 margin: 1rem 0;
 background-color: #f4f4f4;
 padding: 20px;
 border-radius: 4px;
}
main ul:not([class]) li {
 padding: 0 0 0 20px;
 line-height: 1.6;
 margin-top: 1rem; 
 position: relative;
}
main ul:not([class]) li::before {
 content:"";
 display: block;
 width: 8px;
 height: 8px;
 background-color: #0079ba;
 border-radius: 1000px;
 position: absolute;
 left: 0;
 top: 0.5em;
} 
main ol:not([class]) {
 margin: 1rem 0;
 padding: 1em;
 counter-reset: item;
}
main ol:not([class]) > li {
 line-height: 1.6;
 margin-top: 1rem;
 position: relative;
 padding: 0 0 0 2rem;
}
main ol:not([class]) > li::before {
 counter-increment: item;
 content: counter(item)'.';
 display: block;
 font-weight: bold;
 font-family: "serif";
 position: absolute;
 left: 0;
 top: 0;
}
@media screen and (max-width: 999px){
 #contentsWrap,
 #contentsWrap.noSide {
  padding: 0;
  width: 100%;
 }
 #contentsWrap aside { display: none; }
 #contentsWrap main {
  padding: 20px 10px;
  width: 100%;
  float: none;
 }
 .inner01 { padding: 0 10px; }
 section { padding: 30px 0; }
 main h1 {
  font-size: 2.2rem;
  line-height: 1.4;
 }
 main h2 { font-size: 2.0rem; }
 main h3 { font-size: 1.8rem; }
 main h4 { font-size: 1.8rem; }
 main h5,
 main h6 { font-size: 1.8rem; }
}
/* タグ一覧
------------------------------*/
main .tagListTitle {
 font-weight: bold;
 font-size: 1.8rem;
 margin: 4rem 0 0;
 border-bottom: solid 1px #D7D7D7;
}
main .tagList {
 display: flex;
 flex-wrap: wrap;
}
main .tagList > a {
 padding: 4px 1rem;
 border: #0079ba solid 1px;
 background-color: #0079ba;
 border-radius: 4px;
 margin: 1rem 1rem 0 0;
 color:#fff;
 line-height: 1;
}
main .tagList > a:hover {
 color:#0079ba;
 background-color: #fff;
 text-decoration: none;
}
/* ブログカード（外部リンク用）
------------------------------*/
.blogCard {
 width: 100%;
 max-width: 600px;
 margin: 20px auto;
 background-color: #f4f4f4;
 color: #828282;
 font-size: 14px;
 line-height: 1.6;
 position: relative;
}
.blogCard::before {
 content: "関連記事";
 display:inline-block;
 font-size: 14px;
 line-height: 1;
 padding:6px 10px;
 background-color: #31AAE6;
 color: #fff;
 position: absolute;
 right: 0;
 top: 0;
}
.blogCard > a {
 text-decoration: none;
 display: flex;
 width: 100%;
}
.blogCard > a .text {
 width: calc( 100% - 220px);
 padding: 10px;
 font-size: 16px;
 font-weight: bold;
}
.blogCard > a .text .site {
 color: #848484;
 text-align: right;
 font-weight: normal;
 font-size: 12px;
 margin: 20px 0 0;
}
.blogCard > a .thum {
 width: 220px;
 margin: 0;
}
.blogCard > a .thum img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 0;
}
@media screen and (max-width: 999px){
 .blogCard > a .thum { width: 140px; }
 .blogCard > a .text {
  width: calc( 100% - 140px);
  font-size: 14px;
 }
}
/*------------------------------
WP　ブロック用
------------------------------*/
main figcaption {
 color: #999;
 font-size: 0.8em;
}
/* google map */
main iframe[src^="https://www.google.com/maps/"] {
 display: block;
 margin: 20px 0;
 width: 100%;
}
main .gmap {
 text-align: center;
 margin: 20px 0;
}
@media screen and (max-width: 999px){
 main .gmap  {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
 }
 main .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
 }
}
.wp-block-embed__wrapper {
 width: 100%;
 max-width: 600px;
 margin: 0 auto;
}
.wp-block-embed__wrapper iframe.wp-embedded-content {
 width: 100%;
 max-width: 100%;
}
blockquote.wp-block-quote {
 display: block;
 background-color:#ebf2f4;
 padding: 20px 40px;
 margin: 40px 10px;
 position: relative;
}
blockquote.wp-block-quote::before {
 content: "";
 display: block;
 width: 30px;
 height: 30px;
 background: url("images/icon_blockquote.svg") no-repeat top center / 100% auto;
 position: absolute;
 top: 2px;
 left: 6px;
 transform: scale(-1, 1);
}
blockquote.wp-block-quote::after {
 content: "";
 display: block;
 width: 30px;
 height: 30px;
 background: url("images/icon_blockquote.svg") no-repeat top center / 100% auto;
 position: absolute;
 bottom: 2px;
 right: 6px;
}
blockquote.wp-block-quote p {
 margin: 0;
}
blockquote.wp-block-quote p + p {
 margin-top: 1.6em;
}
blockquote.wp-block-quote cite {
 display: block;
 text-align: right;
 color: #999;
 font-size: 12px;
}
@media screen and (max-width: 999px){
 blockquote.wp-block-quote {
  padding: 20px;
  margin: 20px auto;
 }
}
/*------------------------------
各ページ ※indexはindex.css
------------------------------*/
/* エリアページ busstop
------------------------------*/
.busstop .headerMain {
 display: table;
 width: 100%;
 border: #0079ba 2px solid;
 box-shadow: 0 2px 2px 0 rgba(0 , 0 , 0 , 0.3);
}
.busstop .headerMain .thum,
.busstop .headerMain h1 {
 display: table-cell;
 vertical-align: middle;
}
.busstop .headerMain .thum {
 width: 40%;
}
.busstop .headerMain h1 {
 padding: 20px;
 color: #0079ba;
}
.busstop .areaTopLink {
 text-align: center;
 margin: 4rem auto 2rem;  
}
.busstop .areaTopLink a {
 display: inline-block;
 max-width: 80%;
 color: #fff;
 font-weight: bold;
 line-height: 1.3;
 padding: 2rem 3rem;
 border-radius: 4px;
 background: #ff8648;
 background: linear-gradient(to bottom, #ff8648 0%,#e57842 100%);
 box-shadow: 2px 2px 2px 0 rgba(0 , 0 , 0 , 0.3);
 position: relative;
}
.busstop .areaTopLink a::after {
 content: "";
 width: 11px;
 height: 11px;
 background: url("images/arrow_01_white.svg") no-repeat;
 background-size: 100% auto;
 position: absolute;
 right: 1.4rem;
 top: 50%;
 transform: translate(0%, -50%);
}
.busstop .areaTopLink a:hover {
 text-decoration: none;
}
/* 404
------------------------------*/
#notFound main > * { text-align: center; }
/*------------------
全国のハイヤー・貸切タクシー問合せ（固定ページ）
.page-id-32935
----------------- */
body.rental-taxi_form #ctafixed { display: none !important; }
body.rental-taxi_form footer { padding-bottom: 20px; }
body.rental-taxi_form table * {
 box-sizing: border-box;
}
body.rental-taxi_form .rental-taxi_form-wrap　textarea {
 display: block;
 width: 100%;
 padding: 6px;
 line-height: 1.3;
}
body.rental-taxi_form .rental-taxi_form-wrap table {
 table-layout: fixed;
}
body.rental-taxi_form .rental-taxi_form-wrap table th {
 background-color: #f4f4f4;
}
body.rental-taxi_form .rental-taxi_form-wrap table th,
body.rental-taxi_form .rental-taxi_form-wrap table td {
 border: 1px solid #ccc;
 padding: 10px 15px 7px;
}
body.rental-taxi_form .rental-taxi_form-wrap table input[type=text],
body.rental-taxi_form .rental-taxi_form-wrap table input[type=email],
body.rental-taxi_form .rental-taxi_form-wrap table textarea,
body.rental-taxi_form .rental-taxi_form-wrap table select {
 display: block;
 width: 100%;
 padding: 6px;
 line-height: 1.3;
}
body.rental-taxi_form .rental-taxi_form-wrap table select,
body.rental-taxi_form .rental-taxi_form-wrap table .mwform-tel-field input[type=text] {
 display: inline-block;
 width: auto;
}
body.rental-taxi_form .rental-taxi_form-wrap table th {
 line-height: 1.4;
 width: 30%;
}
body.rental-taxi_form .rental-taxi_form-wrap table th.required {
 background-color: #FFEFE8;
 position: relative;
}
body.rental-taxi_form .rental-taxi_form-wrap table th span {
 color: red;
 display: inline-block; 
 font-size: 11px;
 line-height: 1;
 padding: 2px 4px;
 border: solid 1px red;
 border-radius: 4px;
 margin-left: 8px;
 background-color: #fff;
}
body.rental-taxi_form .submit-text {
 margin: 20px 0;
 text-align: center;
}
body.rental-taxi_form .rental-taxi_form-wrap input[type=submit] {
 display: block;
 width: 70%;
 margin: 20px auto;
 outline: none;
 border: none;
 padding: 20px;
 font-size: 20px;
 font-weight: bold;
 line-height: 1.2;
 color: #fff;
 text-align: center;
 cursor: pointer;
 background: #ffa84c;
 background: -moz-linear-gradient(top,  #ffa84c 0%, #ff7b0d 100%);
 background: -webkit-linear-gradient(top,  #ffa84c 0%,#ff7b0d 100%);
 background: linear-gradient(to bottom,  #ffa84c 0%,#ff7b0d 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffa84c', endColorstr='#ff7b0d',GradientType=0 );
}
body.rental-taxi_form .rental-taxi_form-wrap input[type=submit]:hover {
 opacity: 0.6;
}
@media screen and (max-width: 640px){
 body.rental-taxi_form .rental-taxi_form-wrap table th span {
  display: block;
  font-size: 10px;
  margin: 6px 0 0;
  border: none;
 }
 body.rental-taxi_form .rental-taxi_form-wrap table th {
  padding: 10px;
 }
}
/* kankonews 下部の本体へのリンク
------------------------------*/
.areaTopLink {
 width: 400px;
 max-width: 80%;
 margin: 0 auto;
 text-align: center;
}
.areaTopLink a {
 display: block;
 padding: 1.2rem 2.4rem;
 border: #0079ba solid 1px;
 border-radius: 4px;
 margin: 1rem 1rem 0 0;
 color: #fff;
 line-height: 1.4;
 background:#0079ba url("images/arrow_01_white.svg") no-repeat right 10px top 50% / 10px auto;
}
@media screen and (min-width: 999px){
 .areaTopLink a:hover {
  background-color: #fff;
  background-image: url("images/arrow_01_blue.svg");
  color: #0079ba;
  text-decoration: none;
 }
}
@media screen and (max-width: 999px){
}



