@charset "UTF-8";
/************************************************
    フォント
*************************************************/
@font-face {
  font-family: 'ADAM';
  src: local("ADAMS"), url("font/ADAM.otf");
}

/************************************************
    Reset
*************************************************/
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,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
figure,
figcaption,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  padding: 0;
  border: 0;
  margin: 0;
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: normal;
}

table,
caption,
th,
td {
  font-weight: normal;
  text-align: left;
  empty-cells: show;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0px;
  margin: 0;
}

a img,
iframe {
  border: none;
}

ol,
ul,
li {
  list-style: none;
}

input,
textarea,
select,
button {
  font-family: inherit;
  font-size: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  vertical-align: bottom;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  margin: 0;
}

input[type="text"],
textarea {
  width: 100%;
}

address {
  font-style: normal;
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

/************************************************
    共通設定
*************************************************/
html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1rem;
  line-height: 1;
  /*overflow-x: hidden;*/
  position: relative;
}

/************************************************
    ユーティリティ
*************************************************/
/*  リンク指定
------------------------------------------------*/
a {
  /* 画像リンク *********/
}

a:link, a:visited {
  color: #000;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

a:link:hover, a[href]:hover {
  color: inherit;
  text-decoration: none;
}

a:hover img {
  opacity: 0.5;
}

/*  フォーム関連
------------------------------------------------*/
select {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  color: inherit;
  font-size: inherit;
  text-indent: 0.01px;
  text-overflow: '';
  vertical-align: middle;
  background: none transparent;
  outline: none;
  border: solid 1px #ccc;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

input[type='text'],
input[type='password'],
textarea {
  border: 1px solid #ccc;
  padding: 5px;
}

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
}

/*  display
------------------------------------------------*/
.display-sp {
  display: block;
}

.display-tab {
  display: none;
}

.display-pc {
  display: none;
}

/*  br
------------------------------------------------*/
br {
  opacity: 0;
  /* IE・Edge対策 */
}

.br-sp {
  display: inline;
}

.br-tab {
  display: none;
}

.br-pc {
  display: none;
}

/************************************************
    ヘッダー
*************************************************/
.header {
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 97;
}

.h-bar {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr auto;
  grid-template-rows: 1fr auto;
}

.h__logo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  max-width: 380px;
  margin-top: 10px;
  position: relative;
  z-index: 99;
}

.h__strong {
  font-size: 1.1em;
  font-size: calc(1.1em + 3 * (100vw - 320px) / 448);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  position: relative;
  z-index: 99;
}

.h__strong span {
  display: inline-block;
  padding: 0 0.25em;
}

/* ハンバーガーメニュー */

/*  ナビゲーションメニュー
------------------------------------------------*/
.h-nav {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.h-nav__item {
  padding: 0.5em 0;
}

.h-nav__item a {
  color: #004ea2;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.h-nav__item a::before {
  content: '';
  display: inline-block;
  background: url('img/arrow_blue.png') no-repeat center / contain;
  width: 12px;
  height: 14px;
  margin-right: 0.5em;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.h-nav__item a:hover {
  color: #004ea2;
}

.h-nav__item a:hover::before {
  opacity: 1;
}

.h__tel {
  margin-top: 5em;
}

/************************************************
    フッター
*************************************************/
.reserve {
  display: none;
}

.mobile .reserve {
  text-align: center;
  display: block;
  background-color: #023973;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 95;
}

.footer {
  color: #fff;
  background-color: #004ea2;
  padding: 4em 20px 1.7em;
}

.footer a {
  color: #fff;
}

.f-nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 2fr auto 1fr;
  grid-template-columns: auto auto;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  max-width: 778px;
  margin: 0 auto;
}

_:-ms-lang(x)::-ms-backdrop, .f-nav__item {
  margin: 0 auto;
}

.f-nav__item:nth-child(odd) {
  -ms-grid-column: 2;
}

.f-nav__item:nth-child(even) {
  -ms-grid-column: 4;
}

.f-nav__item:first-child, .f-nav__item:nth-child(2) {
  -ms-grid-row: 1;
}

.f-nav__item:nth-child(3), .f-nav__item:nth-child(4) {
  -ms-grid-row: 2;
}

.f-nav__item a {
  font-size: 1.4em;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.f-nav__item a::before {
  content: '';
  display: inline-block;
  background: url('img/arrow_white.png') no-repeat center / contain;
  width: 12px;
  height: 14px;
  margin-right: 0.5em;
}

.f-nav__item a:hover {
  color: #fff;
  opacity: 0.5;
}

.copyright {
  font-size: 1.4em;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-align: center;
  padding-left: 0.06em;
  margin-top: 3em;
}

/************************************************
    タイトル
*************************************************/
.sec__title {
  font-size: 3em;
  font-weight: 700;
  letter-spacing: 0.29em;
  text-align: center;
  padding-left: 0.29em;
  margin: 0 -0.29em;
}

.sec__title::after {
  content: '';
  display: block;
  background: no-repeat center / contain;
  width: 59px;
  height: 4px;
  margin: 0.85714em auto 0;
}

.sec__title.white {
  color: #fff;
}

.sec__title.white::after {
  background-image: url('img/border_short_white.svg');
}

.sec__title.blue {
  color: #004ea2;
}

.sec__title.blue::after {
  background-image: url('img/border_short_blue.svg');
}

/************************************************
    キービジュアル
*************************************************/
.keyVisual {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: url('img/keyvisual.jpg') no-repeat center / cover;
  height: 100vh;
  max-height: 800px;
  padding: 0 30px;
  position: relative;
}

.keyVisual__tel {
  position: absolute;
  top: 2.5vw;
  right: 3.54167vw;
}

/************************************************
    どりーむ運転代行の特徴
*************************************************/
.feature {
  background-color: #004ea2;
  padding: 6em 20px 7em;
}

.feature-list {
  counter-reset: number 0;
  max-width: 325px;
  margin: 5em auto 0;
  margin: 0em auto -5em;
}

.feature-item {
  counter-increment: number 1;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 35px 20px;
  border-radius: 10px;
  margin: 5em auto;
}

.feature-item::before {
  content: counter(number);
  color: #ffed82;
  font-family: 'ADAM';
  font-size: 3.5em;
  font-weight: 400;
  text-align: center;
  display: block;
  background-color: #004ea2;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0.5em;
  border: 5px solid #fff;
  margin: -55px auto 0;
}

.windows .feature-item::before {
  padding-top: 0.23em;
}

_:-ms-lang(x)::-ms-backdrop, .windows .feature-item::before {
  padding-top: 0.35em;
}

.feature-item__title {
  color: #004ea2;
  font-size: 2.8em;
  font-size: calc(2.8em + 6 * (100vw - 320px) / 448);
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-align: center;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 2.9em;
  padding-left: 0.15em;
  position: relative;
}

.feature-item__title .small {
  font-size: 0.65714em;
  letter-spacing: 0.07em;
  display: block;
}

.feature-item__title::after {
  content: '';
  display: block;
  background: url('img/border_blue.svg');
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.feature-item__content {
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: 0.19em;
  line-height: 1.625;
  padding: 0 0.5em;
  margin-top: 1.5625em;
}

/************************************************
    バナー
*************************************************/
.banner {
  text-align: center;
  padding: 5em 20px;
  margin-bottom: -5em;
}

/************************************************
    利用料金
*************************************************/
.fee {
  padding: 5em 20px 0;
}

.fee__content {
  color: #004ea2;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1lh;
  margin-right: auto;
  margin-left: auto;
}

.fee-fee {
  color: #004ea2;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1.5;
  background-color: #f9f9f9;
  width: 100%;
  max-width: 96em;
  border-radius: 0.8em;
  margin-top: 3em;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}

.fee-fee .table {
  width: 100%;
}

.fee-fee .table thead {
  color: #fce978;
  background-color: #023973;
}

.fee-fee .table:nth-of-type(n+2) thead {
  display: none;
}

.fee-fee .table thead th {
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 1em 1em 1em 1.15em;
}

.fee-fee .table thead th + th {
  border-left: 1px solid #f9f9f9;
}

.fee-fee .table thead th:first-of-type {
  width: 12rem;
}

.fee-fee .table tbody {
  font-size: 2.2em;
  font-style: italic;
}

.fee-fee .table tbody tr {
  border-top: 1px solid #e7e7e7;
}

.fee-fee .table tbody th {
  color: white;
  font-weight: 700;
  text-align: center;
  background-color: #004ea2;
  width: 12rem;
  padding: 0.2045454545em 1em
}

.fee-fee .table tbody td {
  font-weight: 700;
  text-align: end;
  padding: 0.2045454545em 1.727272727em;
}

.fee-fee .table tbody .number {
  font-size: 1.8181818181em;
  font-weight: 500;
}

.fee__photo {
  text-align: center;
  margin-top: 3em;
}

.fee__2ndTitle {
  color: #fce978;
  font-style: italic;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0.09em;
  display: inline-block;
  background-color: #004ea2;
  padding: 0.34091em 1.95em 0.34091em 2.04em;
  padding: calc(7.5 / 22 * 1em) 1.95em calc(7.5 / 22 * 1em) 2.04em;
  border-radius: 0.84091em;
  border-radius: calc(18.5 / 22 * 1em);
  margin-top: 1.1em;
}

_:-ms-lang(x)::-ms-backdrop, .fee__2ndTitle {
  padding-top: 0.59091em;
  padding-bottom: 0.09091em;
}

.fee__note {
  color: #004ea2;
  font-style: italic;
  font-size: 1.6em;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.fee__note--1st {
  margin-top: 1.5em;
}

.fee__note--2nd {
  margin-top: 0.5em;
}

.fee__note p {
  text-indent: -1.08em;
  -webkit-padding-start: 1.08em;
  padding-inline-start: 1.08em;
}

.fee__note p::before {
  content: '※';
}

.fee::after {
  content: '';
  display: block;
  background-color: #e7e7e7;
  width: 100%;
  height: 2px;
  margin-top: 5em;
}

/************************************************
    営業時間
*************************************************/
.time {
  padding: 5em 20px;
}

.time__photo {
  text-align: center;
  margin-top: 3em;
}

/************************************************
    駐車場
*************************************************/
.parking {
  padding: 5em 20px;
  background-color: #fce978;
}

.parking__title {
  text-align: center;
}

_:-ms-lang(x)::-ms-backdrop, .parking__title img {
  width: 100%;
}

.parking__2ndTitle {
  text-align: center;
  margin: 30px 0;
}

.parking-list {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px;
}

_:-ms-lang(x)::-ms-backdrop, .parking-list {
  margin: -10px;
}

.parking-item {
  -ms-grid-column-align: center;
  justify-self: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 200fr 26fr 278fr 26fr;
  grid-template-columns: 200fr 26fr 278fr 26fr;
  -ms-grid-rows: 1fr auto auto 1fr;
  grid-template-rows: 1fr auto auto 1fr;
  background-color: #fff;
  max-width: 530px;
}

_:-ms-lang(x)::-ms-backdrop, .parking-item {
  margin: 10px;
}

.parking-item:first-child {
  -ms-grid-row: 1;
}

.parking-item:nth-child(2) {
  -ms-grid-row: 2;
}

.parking-item:nth-child(3) {
  -ms-grid-row: 3;
}

.parking-item:nth-child(4) {
  -ms-grid-row: 4;
}

.parking-item:nth-child(5) {
  -ms-grid-row: 5;
}

.parking-item__photo {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 4;
  grid-row: 1 / -1;
}

.parking-item__title {
  color: #004ea2;
  font-size: 1.1em;
  font-size: calc(1.1em + 11 * (100vw - 320px) / 270);
  font-weight: 500;
  letter-spacing: 0.1em;
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 2;
  grid-row: 2;
}

.parking-item__title .black {
  font-weight: 900;
}

a.parking-item__link {
  color: #fff;
  font-size: 1em;
  font-size: calc(1em + 6 * (100vw - 320px) / 270);
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 3;
  grid-row: 3;
  background-color: #004ea2;
  padding: 1em 0 1em 0.15em;
  border-radius: 1rem;
  margin-top: 0.875em;
}

_:-ms-lang(x)::-ms-backdrop, a.parking-item__link {
  display: block;
}

a.parking-item__link:hover {
  color: #fff;
  opacity: 0.5;
}

/************************************************
    サービス
*************************************************/
.service {
  padding: 0 20px 6em;
}

.service__photo {
  text-align: center;
  margin: 0 -20px;
}

.service__note {
  color: #e94615;
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.4;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 860px;
  padding: 0.45455em 1em 0.45455em 1.09em;
  border: 5px dashed currentColor;
  border-radius: 10px;
  margin: 2.72727em auto 0;
}

_:-ms-lang(x)::-ms-backdrop, .service__note {
  padding-top: 0.68182em;
  padding-bottom: 0.22727em;
}

.service__note::before {
  content: '※';
}

.service__note span {
  display: inline-block;
}

/************************************************
    会社概要
*************************************************/
.about {
  padding: 5em 20px;
  margin-top: -5em;
}

.about-list {
  font-size: 1.4em;
  font-weight: 500;
  letter-spacing: 0.19em;
  line-height: 1.5;
  max-width: 800px;
  margin: 1.11111em auto 0;
}

.about-list::after {
  content: '';
  display: block;
  clear: both;
}

.about-list dt {
  padding: 1.41667em 1em;
  float: left;
  clear: left;
}

.about-list dd {
  padding: 1.41667em 1em 1.41667em 5.95em;
  border-bottom: 3px solid transparent;
  position: relative;
}

.about-list dd span {
  display: inline-block;
}

.about-list dd::after {
  content: '';
  display: block;
  background: url('img/border_gray.svg');
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -3px;
}

.about__certificate {
  text-align: center;
  margin-top: 5em;
}

.about__clause {
  text-align: center;
}

.about__bnr {
  text-align: center;
}

@media screen and (min-width: 590px) {
  body {
    font-size: 1rem;
  }
  .parking-item__title {
    font-size: 2.2em;
  }
  a.parking-item__link {
    font-size: 1.6em;
  }
}

@media screen and (min-width: 768px) {
  body {
    font-size: 1rem;
  }
  .h__strong {
    font-size: 1.4em;
  }
  .f-nav {
    -ms-grid-columns: 1fr auto 2fr auto 2fr auto 2fr auto 1fr;
    grid-template-columns: repeat(4, auto);
  }
  .f-nav__item:first-child {
    -ms-grid-column: 2;
  }
  .f-nav__item:nth-child(2) {
    -ms-grid-column: 4;
  }
  .f-nav__item:nth-child(3) {
    -ms-grid-column: 6;
  }
  .f-nav__item:nth-child(4) {
    -ms-grid-column: 8;
  }
  .f-nav__item:nth-child(3), .f-nav__item:nth-child(4) {
    -ms-grid-row: 1;
  }
  .f-nav__item a {
    font-size: 1.8em;
  }
  .copyright {
    margin-top: 5em;
  }
  .sec__title {
    font-size: 3.5em;
  }
  .keyVisual {
    padding: 0 40px;
  }
  .feature {
    padding: 6em 20px 7em;
  }
  .feature-list {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1500px;
    margin: 2.5em auto -2.5em;
  }
  .feature-item {
    width: calc(650 / 1500 * 100%);
    margin: 2.5em auto;
  }
  .feature-item__title {
    font-size: 3.2em;
    font-size: calc(3.2em + 2 * (100vw - 768px) / 492);
  }
  .banner {
    padding: 6em 20px;
    margin-bottom: -6em;
  }
  .fee {
    padding-top: 7.8em;
  }
  .fee__content {
    font-size: 2em;
    text-align: center;
    -webkit-padding-start: 0.08em;
    padding-inline-start: 0.08em;
  }
  .fee-fee {
    font-size: 1em;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .fee-fee .table:nth-of-type(n+2) thead {
    display: table-header-group;
  }
  .fee-fee .table:not(:last-of-type) thead th:last-of-type {
    border-right: 1px solid #f9f9f9;
  }
  .fee-fee .table thead th:first-of-type {
    width: 17rem;
  }
  .fee-fee .table tbody th {
    width: 17rem;
  }
  .fee__2ndTitle {
    font-size: 2em;
  }
  .fee__note {
    font-size: 2em;
  }
  .fee__note--1st {
    text-align: center;
  }
  .fee__note--1st p {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .time {
    padding: 6em 20px 8em;
  }
  .parking {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr (minmax(-webkit-min-content, 30px))[46] 1fr;
    -ms-grid-columns: 1fr (minmax(min-content, 30px))[46] 1fr;
    grid-template-columns: 1fr repeat(46, minmax(-webkit-min-content, 30px)) 1fr;
    grid-template-columns: 1fr repeat(46, minmax(min-content, 30px)) 1fr;
    -ms-grid-rows: auto (1fr)[3];
    grid-template-rows: auto repeat(3, 1fr);
    padding: 6.4em 20px 7em;
  }
  .parking__title {
    -ms-grid-column: 2;
    -ms-grid-column-span: 46;
    grid-column: 2 / -2;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: start;
    justify-self: start;
  }
  .parking__2ndTitle {
    -ms-grid-column: 2;
    -ms-grid-column-span: 23;
    grid-column: 2 / 25;
    -ms-grid-row: 2;
    grid-row: 2;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
  .parking__2ndTitle img {
    width: calc(467 / 540 * 100%);
  }
  .parking-list {
    -ms-grid-column: 2;
    -ms-grid-column-span: 46;
    grid-column: 2 / -2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 3;
    grid-row: 2 / 5;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: (1fr)[3];
    grid-template-rows: repeat(3, 1fr);
    grid-gap: 15px;
  }
  _:-ms-lang(x)::-ms-backdrop, .parking-list {
    margin: -7.5px;
  }
  _:-ms-lang(x)::-ms-backdrop, .parking-item {
    margin: 7.5px;
  }
  .parking-item:nth-child(odd) {
    -ms-grid-column: 2;
    grid-column: 2;
  }
  .parking-item:nth-child(even) {
    -ms-grid-column: 1;
    grid-column: 1;
  }
  .parking-item:first-child {
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .parking-item:nth-child(2), .parking-item:nth-child(3) {
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .parking-item:nth-child(4), .parking-item:nth-child(5) {
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .parking-item__title {
    font-size: 1.4em;
    font-size: calc(1.4em + 7 * (100vw - 768px) / 352);
  }
  a.parking-item__link {
    font-size: 1.2em;
    font-size: calc(1.2em + 4 * (100vw - 768px) / 352);
  }
  .service__note {
    font-size: 1.9em;
  }
  .about {
    padding: 6em 20px;
    margin-top: -6em;
  }
  .about-list {
    font-size: 1.8em;
  }
  .about-list dt {
    padding-left: 15.625%;
  }
  .about-list dd {
    padding-left: 34.375%;
  }
  .about__certificate {
    margin-top: 6em;
  }
}

@media screen and (min-width: 840px) {
  body {
    font-size: 1rem;
  }
  .fee {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr minmax(-webkit-min-content, 70px) 410px 410px minmax(-webkit-min-content, 70px) 1fr;
    -ms-grid-columns: 1fr minmax(min-content, 70px) 410px 410px minmax(min-content, 70px) 1fr;
    grid-template-columns: 1fr minmax(-webkit-min-content, 70px) 410px 410px minmax(-webkit-min-content, 70px) 1fr;
    grid-template-columns: 1fr minmax(min-content, 70px) 410px 410px minmax(min-content, 70px) 1fr;
    -ms-grid-rows: (auto)[7];
    grid-template-rows: repeat(7, auto);
  }
  .fee .sec__title {
    -ms-grid-column: 1;
    -ms-grid-column-span: 6;
    grid-column: 1 / -1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
  .fee__content {
    -ms-grid-column: 1;
    -ms-grid-column-span: 6;
    grid-column: 1 / -1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
  .fee__photo {
    -ms-grid-column: 1;
    -ms-grid-column-span: 6;
    grid-column: 1 / -1;
    -ms-grid-row: 3;
    grid-row: 3;
    opacity: 0.5;
    opacity: 0;
    pointer-events: none;
  }
  .fee-fee {
    -ms-grid-column: 1;
    -ms-grid-column-span: 6;
    grid-column: 1 / -1;
    -ms-grid-row: 3;
    grid-row: 3;
  }
  .fee__2ndTitle {
    -ms-grid-column: 3;
    -ms-grid-column-span: 2;
    grid-column: 3 / -3;
    -ms-grid-row: 5;
    grid-row: 5;
    -ms-grid-column-align: start;
    justify-self: start;
  }
  .fee__note--1st {
    -ms-grid-column: 3;
    -ms-grid-column-span: 2;
    grid-column: 3 / -3;
    -ms-grid-row: 4;
    grid-row: 4;
  }
  .fee__note--2nd {
    -ms-grid-column: 3;
    -ms-grid-column-span: 2;
    grid-column: 3 / -3;
    -ms-grid-row: 6;
    grid-row: 6;
  }
  .fee::after {
    -ms-grid-column: 2;
    -ms-grid-column-span: 4;
    grid-column: 2 / -2;
    -ms-grid-row: 7;
    grid-row: 7;
  }
}

@media screen and (min-width: 768px) and (max-width: 1259px) {
  body {
    font-size: 1rem;
  }
  .display-sp {
    display: none;
  }
  .display-tab {
    display: block;
  }
  .br-sp {
    display: none;
  }
  .br-tab {
    display: inline;
  }
}

@media screen and (min-width: 1120px) {
  body {
    font-size: 1rem;
  }
  .parking__title {
    -ms-grid-column: 7;
    -ms-grid-column-span: 41;
    grid-column: 7 / -2;
  }
  .parking__2ndTitle {
    -ms-grid-column: 7;
    -ms-grid-column-span: 18;
    grid-column: 7 / 25;
  }
  .parking-list {
    -ms-grid-column: 7;
    -ms-grid-column-span: 36;
    grid-column: 7 / -7;
    grid-gap: 20px;
  }
  _:-ms-lang(x)::-ms-backdrop, .parking-list {
    margin: -10px;
  }
  _:-ms-lang(x)::-ms-backdrop, .parking-item {
    margin: 10px;
  }
  .parking-item__title {
    font-size: 1.7em;
    font-size: calc(1.7em + 2 * (100vw - 1120px) / 140);
  }
  a.parking-item__link {
    font-size: 1.4em;
    font-size: calc(1.4em + 2 * (100vw - 1120px) / 800);
  }
}

@media screen and (min-width: 1260px) {
  body {
    padding-left: calc(320 / 1920 * 100vw);
  }
  .display-pc {
    display: block;
  }
  .br-pc {
    display: inline;
  }
  .header {
    text-align: center;
    width: calc(320 / 1920 * 100vw);
    height: 100vh;
    padding: 30px 20px;
    overflow-y: auto;
  }
  .h__logo {
    margin-top: 20px;
  }
  .toggle {
    display: none;
  }
  .h-nav {
    display: block !important;
    margin-top: 4.2em;
  }
  .h-nav-list {
    max-width: 210px;
    margin: 0 auto;
  }
  .h-nav__item {
    padding: 2.1em 0;
  }
  .h-nav__item a {
    font-size: 1.4em;
    font-size: calc(1.4em + 4 * (100vw - 1260px) / 660);
  }
  .h-nav__item a::before {
    opacity: 0;
  }
  .mobile .reserve {
    z-index: 98;
  }
  .feature {
    padding-bottom: 11.5em;
  }
  .feature-item {
    width: calc(325 / 1500 * 100%);
  }
  .feature-item__title {
    font-size: 2em;
    font-size: calc(2em + 14 * (100vw - 1260px) / 660);
  }
  .feature-item__content {
    font-size: 1.5em;
    font-size: calc(1.5em + 1 * (100vw - 1260px) / 660);
  }
  .parking {
    padding-bottom: 10em;
  }
  .parking-item__title {
    font-size: 1.5em;
    font-size: calc(1.5em + 7 * (100vw - 1120px) / 800);
  }
  .service__note {
    font-size: 2.2em;
  }
}

@media screen and (min-width: 1920px) {
  body {
    padding-left: 320px;
  }
  .header {
    width: 320px;
  }
  .h-nav__item a {
    font-size: 1.8em;
  }
  .feature-item__title {
    font-size: 3.4em;
  }
  .feature-item__content {
    font-size: 1.6em;
  }
  .parking-item__title {
    font-size: 2.2em;
  }
  a.parking-item__link {
    font-size: 1.6em;
  }
}

@media screen and (max-width: 1259px) {
  body {
    font-size: 1rem;
  }
  .h-bar {
    -ms-grid-columns: 1fr auto;
    grid-template-columns: 1fr auto;
    padding: 10px 15px;
  }
  .toggle {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / -1;
    -ms-grid-row-align: center;
    align-self: center;
    width: 36px;
    padding: 5px;
    margin-right: -5px;
    cursor: pointer;
    position: relative;
    z-index: 99;
  }
  .toggle div {
    width: 35px;
    height: 30px;
    margin: 0 auto;
    position: relative;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .toggle span {
    display: block;
    background-color: #004ea2;
    width: 100%;
    height: 3px;
    border-radius: 1.5px;
    position: absolute;
    left: 0;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  .toggle span:nth-child(1) {
    top: 0;
  }
  .toggle span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .toggle span:nth-child(3) {
    bottom: 0;
  }
  /* ハンバーガーボタンクリックアニメーション */
  .open .toggle span:nth-of-type(1) {
    -webkit-transform: translateY(13.5px) rotate(-45deg);
    transform: translateY(13.5px) rotate(-45deg);
  }
  .open .toggle span:nth-of-type(2) {
    opacity: 0;
  }
  .open .toggle span:nth-of-type(3) {
    -webkit-transform: translateY(-13.5px) rotate(45deg);
    transform: translateY(-13.5px) rotate(45deg);
  }
  .h-nav {
    display: none;
    background-color: rgba(255, 255, 255, 0.95);
    width: 100vw;
    height: 100vh;
    padding-top: 80px;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 98;
  }
  .h-nav-inner {
    display: -ms-grid;
    display: grid;
    justify-items: center;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 55%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .h-nav-list {
    -ms-grid-column-align: center;
  }
  .h__tel {
    -ms-grid-column-align: center;
    margin-top: 3em;
  }
  .keyVisual__tel {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1rem;
  }
  .h__logo {
    width: 65vw;
  }
  .feature .sec__title {
    font-size: 2em;
    font-size: calc(2em + 15 * (100vw - 320px) / 448);
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .h-nav__item a::before {
    background-image: url('img/arrow_blue@2x.png');
  }
  .f-nav__item a::before {
    background-image: url('img/arrow_white@2x.png');
  }
  .keyVisual {
    background-image: url('img/keyvisual@2x.jpg');
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3), screen and (min-resolution: 3dppx) {
  .h-nav__item a::before {
    background-image: url('img/arrow_blue@3x.png');
  }
  .f-nav__item a::before {
    background-image: url('img/arrow_white@3x.png');
  }
  .keyVisual {
    background-image: url('img/keyvisual@3x.jpg');
  }
}
