@charset "utf-8";

/* common
------------------------------------------------- */
#wrapper { padding-top:100px; }
.inner { max-width:1050px; margin-left:auto; margin-right:auto; padding-left:25px; padding-right:25px; }
.narrow-inner { max-width:920px; margin-left:auto; margin-right:auto; padding-left:25px; padding-right:25px; }
.font-en { font-family: 'Fugaz One', sans-serif; font-weight:normal; }

.bg-yel { background:#fffae7; }
.bg-ptn { background:url(../img/common/bg.jpg); }

.color-red { color:#e21327; }
.color-yel { color:#ffda30; }

/* button */
.button { position:relative; z-index:2; overflow:hidden; display:inline-block; min-width:200px; padding:.65em 2em; color:#fff; font-size:1rem; font-weight:bold; text-decoration:none; box-shadow:0 5px 0 rgba(0, 0, 0, .05); border-radius:5px; background:#e21327; }
.button:after { content:""; position:absolute; top:50%; bottom:0; left:0; right:0; z-index:-1;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(255, 255, 255, .15) 6px, rgba(255, 255, 255, .15) 12px );
-webkit-transition:all .3s; transition:all .3s; }
.button:hover { -webkit-transform:translateY(5px); transform:translateY(5px); box-shadow:0 0 0 rgba(0, 0, 0, .05); text-decoration:none; }
.button:hover:after { top:0%; }

/* tel */
.g-tel { margin:0; text-align:center;  }
.g-tel-txt { position:relative; display:inline-block; margin-bottom:.4em; padding:0 1.5em; font-size:1.875em; font-weight:bold; line-height:1.5; }
.g-tel-txt::before,
.g-tel-txt::after {
  content:""; position:absolute; top:.4em; z-index:1;
  width:4px; height:1em; background:#e21327; }
  .g-tel-txt::before { left:0;
  -webkit-transform:rotate(-45deg); transform:rotate(-35deg);
  -webkit-transform-origin:top left; transform-origin:top left; }
.g-tel-txt::after { right:0;
  -webkit-transform:rotate(45deg); transform:rotate(35deg);
  -webkit-transform-origin:top right; transform-origin:top right; }

.g-tel-num { color:#e21327; font-size:5em; font-family:'Fugaz One', sans-serif; line-height:1; letter-spacing:0; text-decoration:none; }
.g-tel-num:hover { text-decoration:none; }
.g-tel-num:before { content:""; display:inline-block; width:.547em; height:.78em; margin-right:.2em; vertical-align:-.04em; background:url(../img/icon-tel-red.svg) no-repeat center / auto 100%; }

.f-sm { font-size: .5em; vertical-align: 15%; }
.f-sm2 { font-size: .6em; vertical-align: 32%; }

/* title */
.secttl { margin-bottom:.9em; color:#e21327; text-align:center; font-size:2.625rem; font-weight:bold; line-height:1.2; }
.secttl .font-en { display:block; margin-bottom:.4em; font-size:1.25rem; font-weight:normal; }
.secttl em { font-size:1.333em; }

.subttl { margin-bottom:.6em; color:#e21327; text-align:center; font-size:2.625rem; font-weight:bold; line-height:1.4; }

.logo-img { height: 2.625rem; }

/* table */
.tbl { position:relative; z-index:2; width:100%; font-size:1.125rem; border:2px solid #222; background:#fff; }
.tbl tr > * { padding:.65em 1em; text-align:center; font-weight:bold; line-height:1.5; border:2px solid #222; }
.tbl thead th { background:#e7e7e7; }
.tbl tbody tr > * { position:relative; z-index:2; background-clip:padding-box; }
.tbl tbody tr:nth-child(2n) > *:after { content:""; position:absolute; top:0;
left:0; right:0; bottom:0; z-index:-1; background:rgba(0, 0, 0, .08); }
.tbl thead .bg { background:#ffd926; background-clip:padding-box; }
.tbl tbody .bg { background:#fff496; background-clip:padding-box; }

.note-list { font-size:.875rem; }
.note-list li { text-indent:-1em; padding-left:1em; }

/* base
------------------------------------------------- */
/* header ---------- */
#header { position:fixed; top:0; left:0; right:0; z-index:999; padding:20px 56px 18px; text-align:center;
  border-top:5px solid #d03827; background:#fff; }
.sitename { position:relative; z-index:10; width:174px; }

.header-tel { margin-right:20px; }
.header-tel .g-tel-txt { font-size:.875em; }
.header-tel .g-tel-num { font-size:2em; }
.header-tel .g-tel-txt::before, .header-tel .g-tel-txt::after { width:3px; }

.header-contact li + li { margin-left:8px; }
.header-contact a { display:block; padding:.65em .8em; color:#fff; font-size:1.25rem; font-weight:bold; text-decoration:none; border-radius:5px; box-shadow:0 3px 0 #890000; background:#e21327; }
.header-contact .mitsumori a { box-shadow:0 3px 0 #0037a7; background:#2763de; }

.header-contact a:hover { -webkit-transform:translateY(3px); transform:translateY(3px); box-shadow:none; }


/* gnav ---------- */

.menu-button { display:none; }

/* footer ---------- */
#footer { background:#fff; }

.flo-btn { position:fixed; right:15px; bottom:15px; z-index:999; margin:0; text-align:center; }
.flo-btn li + li { margin-top:8px; }

.flo-btn li { width:100px; height:100px; }
.flo-btn li a { height:100%; display:block; padding:52% .5em .5em; color:#fff; font-size:.85em; font-weight:bold; text-decoration:none; letter-spacing:0; border-radius:50%; overflow:hidden;  border:2px solid #fff; background:#e21327 no-repeat center 30% /28%; }
.flo-btn li a.font-en { font-weight:normal; }
.flo-btn li a:hover { opacity:.8; }

.flo-btn .pagetop a { background-image:url(../img/icon-top-wht.svg); }

.flo-btn .tel { display:none; }

.copyright { margin:0; padding:.8em 0; text-align:center; color:#fff; font-size:12px; background:#e21327; }
.copyright a { color:#fff; }

/* contents ---------- */
.container { position:relative; z-index:2; background:#fff; }


/* top
------------------------------------------------- */
/* hero ---------- */
.top-area { text-align:center; }
.top-hero img { width:100%; image-rendering:-webkit-optimize-contrast; }

.top-tel { padding-top:40px; padding-bottom:40px; }
.top-tel-box { padding:2em; border:8px solid #e21327; border-radius:8px;
  background-size: auto auto;
  background-color: #fffcdf;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, #fff 6px, #fff 12px ); }


/* ranking */
#ranking { margin: 4em auto 0; }
#ranking .orange { color: #ff6100; background: #ffeeda; }
#ranking .green { color: #fff;  background:#01cc00; font-size: 1.5rem; line-height: 1.4; }
#ranking .bg-yellow { background: #ffffe8; font-size: 1.1rem; }
#ranking .border-r { border-right: 4px solid #01cc00; }
#ranking td.tachiai { border-bottom: 4px solid #01cc00; }
.ranking-box {
    margin-bottom: 40px;
    border-radius: 5px;
    border: 4px solid #ff6100;
}
.ranking-ttl {
    padding: 0.5em 1em;
    color: #fff100;
    text-align: center;
    font-size: 2.525rem;
    line-height: 1.4;
    background: #ff6100;
}
.ranking-ttl span { position: relative; }
.ranking-ttl span::before,.ranking-ttl span::after { content: ''; position: absolute; top: 0; width: 1.5em; height: 1.5em; background-image: url(../img/ranking-deco.svg); background-size: 100%;  }
.ranking-ttl span::before { left: -2em; }
.ranking-ttl span::after { right: -2em; }
.ranking-box th {  width: 26%;  font-size: 1.15rem;   border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;  }
.ranking-box th,.ranking-box td { padding: 0.5em;  line-height: 1.6; text-align: center; border-right: 2px solid #eee;
    border-bottom: 2px solid #eee; }
.ranking-box th.one > span,
.ranking-box th.two > span,
.ranking-box th.three > span { background-size: 100%; padding: 2.2em 1.6em 0.3em; background-repeat: no-repeat; color: #fff;}
.ranking-box th.one {  color: #ffb100; padding-top: 1.5em; }
.ranking-box th.two {  color: #888; padding-top: 1.5em; }
.ranking-box th.three { color: #8e4434; padding-top: 1.5em; }
.ranking-box th.one > span { background-image: url(../img/ranking-deco1.svg); }
.ranking-box th.two > span { background-image: url(../img/ranking-deco2.svg);  }
.ranking-box th.three > span { background-image: url(../img/ranking-deco3.svg);  }
.ranking-box th .big {  font-size: 2.2rem;  }
.ranking-box td { padding-top: 3em; font-size: .95rem;  border-right: 2px solid #eee;  border-bottom: 2px solid #eee; }
.ranking-box td { position: relative; }
.ranking-box td:before { position: absolute;  left: 40%;  top: 0;  font-size: 2.2em; }
.ranking-box td.good:before{ content: '〇'; color: #01cc00; }
.ranking-box td.neutral:before { content: '△'; color: #ff6100; font-weight: bold; }
.ranking-box td.bad:before { content: '×'; color: #e21327; }

.modifiedCar { margin-top: 30px; }
.bnr-information { margin-top: 50px; }

/* intro ---------- */
.intro-area { position:relative; padding-bottom:40px;
  background-size: auto auto;
  background-color:#eee;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, #f5f5f5 5px, #f5f5f5 9px ); }
.intro-ttl { position:relative; padding:.75em 0; color:#fff; font-size:2.375rem; text-align:center; line-height:1.4; background:#e21327; }

.intro-ttl em { font-size: 1.23em; }

.intro-ttl::after,
.intro-area::after { content:""; position:absolute; left:0; right:0; bottom:-28px;
   width:0; height:0; margin:0 auto; border-style:solid; border-width:28px 28px 0 28px; border-color:#e21327 transparent transparent transparent; }
.intro-area::after { border-top-color:#eee; }

.intro-con { padding-top:28px; font-weight:bold; }
.intro-txt { -webkit-box-flex:1; flex:1; padding:40px 0; margin-right:.8em; }
.intro-txt .txt-etc { text-align:right; font-size:1.125rem; }
.intro-check-list { font-size:1.4375rem; line-height:1.4; }
.intro-check-list li { position:relative; margin-bottom:.5em; padding:1em 1em 1em 3.5em; background: #fff; border-radius: 5px; }
.intro-check-list li::after { content:""; position:absolute; left:1em; top:.6em; width:2em; height:2em; background:url(../img/icon-check-red.svg) no-repeat center / 100%; }
.intro-check-list em { color:#e21327; }
.intro-check-list li .answer { padding-top: 1em; border-top: 1px dashed #ccc; }
.intro-img { align-self:flex-end; }

.intro-msg { margin:0; width:100%; color:#e21327; font-size:2.5rem; line-height:1.4; font-weight:bold; text-align:center; }
/* アコーディオン */
.answer { display: none; }
.check-ttl { position: relative; padding-right: 1.1em; }
.check-ttl:before, .check-ttl:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1em;
    height: 3px;
    margin: auto;
    background: #e21327;
}
.check-ttl:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all .5s;
    transition: all .5s;
}
.check-ttl.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.fa-arrow-right { font-family:"Font Awesome 5 Free"; font-style: normal;  color: #d51600; }
/*
.intro-ttl .deco { position:relative; padding: 0 1.5em; }
.intro-ttl .deco::before,
.intro-ttl .deco::after {
  content:""; position:absolute; bottom: 0; z-index:1;
  width:4px; height:1em; background:#fff; }
  .intro-ttl .deco::before { left:0;
  -webkit-transform:rotate(-45deg); transform:rotate(-35deg);
  -webkit-transform-origin:top left; transform-origin:top left; }
.intro-ttl .deco::after { right:0;
  -webkit-transform:rotate(45deg); transform:rotate(35deg);
  -webkit-transform-origin:top right; transform-origin:top right; } */

  /* --mainte------------------------ */
  .mainte .tbl tbody tr:nth-child(2n) > th::after { content:none;  background:#fff }
  .mainte .tbl tbody tr:nth-child(2n) > td::after { content:none;  background:#fff }
  .mainte .tbl tr > * { padding:.65em .3em; }
  .mainte .mb_0 { margin-bottom: 0; }
  .mainte { margin: 5em auto; }
  .mainte .syaken_type { padding:8px 0 4px; color:#fff; font-size:2em; text-align:center; background: #e21327; }
  .mainte tbody th { font-weight: 400; }
  .mainte tbody .line_red th { background:#fff5f5; font-size: 1.125em; font-weight: 400 }
  .mainte .tbl tr > td { font-weight: 400; }
  .mainte tr.red_bold > td { font-size: 1.3em; font-weight: bold; color: #de0c0c; }
  .mainte th.tblTtl { background-image: linear-gradient(to top right, transparent, transparent 49.5%, #424242 50%, #424242 50%, transparent 50.5%, transparent) !important; }
  .mainte .tbl th.tblTtl::before { position: absolute; content: '車種'; font-size: 1.175em; top: 12%; right: 8%; }
  .mainte th.tblTtl::after { position: absolute; content: '基本項目'; font-size: 1.175em; bottom: 4%; left: 5%; }
/* contact ---------- */
.contact-area { padding:60px 0;
  background-size: auto auto;
  background-color:#fffecc;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, #fff 5px, #fff 9px );  }
.info-tel { max-width:800px; margin:0 auto 40px; text-align:center; }
.info-tel .hour { margin:0 0 .8em; padding-bottom:.1em; color:#e21327; font-size:1.875rem; font-weight:bold; line-height:1.6; background:#ffd200; }
.info-tel .tel { margin:0 0 .5em; }
.info-tel .holiday { margin:0; font-size:1.625rem; font-weight:bold; }

.contact-btnlist li { width:48.75%; margin-bottom:2%; }
.contact-btnlist a { position:relative; display:block; overflow:hidden; padding:.7em 1em .6em; color:#fff; text-align:center; text-decoration:none; font-size:2.375rem; font-weight:bold; line-height:1.3; border-radius:10px; }
.contact-btnlist .sub { display:block; margin:.4em 0 .25em; font-size:.667em; }
.contact-btnlist a:before { content:""; position:absolute; top:10px; left:10px; width:0; height:0; border-style:solid;
  border-width:36px 36px 0 0; border-color:#fff transparent transparent transparent; }


.contact-btnlist li.reserve a { box-shadow:0 5px 0 #890000; background:#e21327; }
.contact-btnlist li.mitsumori a { box-shadow:0 5px 0 #0037a7; background:#2763de; }
.contact-btnlist li a:hover { -webkit-transform:translateY(5px); transform:translateY(5px); box-shadow:none; }

.contact-btnlist .note { margin-bottom:0; text-align:center; font-size:.9375rem; line-height:1.5; }

.contact-tel { padding:2em; font-size:.9em; border:6px solid #e21327; border-radius:5px; background:#fff; }



/* reason ---------- */
/* reason-intro ---- */
.reason-intro { padding-top:70px; padding-bottom:60px; }

/* reason-word */
.reason-word { position:relative; display:inline-block; padding-right:.5em; color:#fff; font-weight:bold; font-size:3.5rem; line-height:1; white-space:nowrap; }
.reason-word::after { content:""; position:absolute; top:0; right:0; width:.768em; height:.768em; background:url(../img/txt-deco.svg) no-repeat center / 100%; }
.reason-word em { font-size:1.643em; }

/* reason-intro-list */
.reason-intro-list li { width:49%; margin-bottom:2%; }
.reason-intro-list a { overflow:hidden; position:relative; z-index:2;
  display:block; height:100%; text-align:center; border-radius:10px; background:#ffe4e4; }
.reason-intro-list a:hover { text-decoration:none; transform:scale(.98); }
.reason-intro-list .ttl { position:relative; padding:1em 1em 1.45em; background:#e21327; }
.reason-intro-list .ttl:after { content:""; position:absolute; left:0; right:0; bottom:-13px;
  width:0; height:0; margin:0 auto; border-style:solid; border-width:14px 14px 0 14px; border-color:#e21327 transparent transparent transparent; }
.reason-intro-list .con { padding:1.5em; font-size:1.125rem; font-weight:bold; }
.reason-intro-list .lead { margin-bottom:.15em; color:#e21327; font-size:2rem; line-height:1.2; }
.reason-intro-list .lead em { font-size:1.438em; vertical-align:-.05em; }
.reason-intro-list .txt { margin:0; line-height:1.6; }

.reason-intro-list .reason1 .txt { font-size:1.5rem; line-height:1.25; }
.reason-intro-list .reason1 .txt em { color:#e21327; font-size:2em; vertical-align:-.05em; }

/* color */
.reason-intro-list .reason2 a { background:#ebf2ff; }
.reason-intro-list .reason2 .ttl { background:#2763de; }
.reason-intro-list .reason2 .ttl::after { border-top-color:#2763de; }
.reason-intro-list .reason2 .lead { color:#2763de; }

.reason-intro-list .reason3 a { background:#ffeeda; }
.reason-intro-list .reason3 .ttl { background:#ff6c00; }
.reason-intro-list .reason3 .ttl::after { border-top-color:#ff6c00; }
.reason-intro-list .reason3 .lead { color:#ff6c00; }

.reason-intro-list .reason4 a { background:#e7ffe3; }
.reason-intro-list .reason4 .ttl { background:#26c70c; }
.reason-intro-list .reason4 .ttl::after { border-top-color:#26c70c; }
.reason-intro-list .reason4 .lead { margin-bottom:.5em; padding-top:.4em; color:#26c70c; font-size:1.75rem; }


/* reason-sec 共通 */
.reason-sec { position:relative; z-index:2; }

.reason-head { position:relative; overflow:hidden; }
.reason-head-ttl { padding:1.8em 0 2.4em; color:#fff; background-color:#e21327;
  background-size: auto auto;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(255,255,255, .1) 6px, rgba(255,255,255, .1) 12px ); }
.reason-head-ttl .reason-word { font-size:5.4375rem; vertical-align:-.35em; }
.reason-head-ttl .num { display:inline-block; margin-right:1.6em; padding:.5em 1em .5em; font-size:1.875rem; border-top:4px solid #fff; border-bottom:4px solid #fff; }
.reason-head-ttl .num em { margin-left:.1em; font-size:2.333em; vertical-align:-.05em; line-height:1; }

.reason-head-lead { position:relative; z-index:2; padding-top:1.5em; padding-bottom:1.5em; }
.reason-head-lead .lead-txt { margin:0; font-size:2.5rem; font-weight:bold; line-height:1.4; }
.reason-head-lead .font-en { font-size:2em; vertical-align:-.05em; line-height:1.2; }
.reason-head-lead .lead-txt.big { font-size:3.75rem; line-height:1.3; }
.reason-head-lead .lead-txt.big .font-en { line-height:1; font-size:1.667em; }
.reason-head-lead .invert { display:inline-block; padding:.15em .2em; color:#fff; line-height:1.2; border-radius:5px; }

.reason-head-img { position:absolute; top:0; left:0; right:0; text-align:right; }

.reason-con { position:relative; z-index:2; padding:45px 0 70px; }
.reason-msg { margin:0 0 .5em; color:#e21327; text-align:center; font-size:3.125rem; font-weight:bold; line-height:1.4; }
.reason-msg em { font-size:1.6em; vertical-align:-.05em; line-height:1; }
.reason-msg:last-child { margin-bottom:0; }
.reason-txt { text-align:center; font-size:1.125rem; font-weight:bold; }

/* reason1 ---- */
.reason1 .reason-head-lead { color:#e21327; }
.reason1 .reason-head-lead .invert { margin-right:.4em; font-size:.8em; vertical-align:.25em; background:#e21327; }
.reason1 .reason-con { background:#ffe4e4; }

/* reason-discount-list */
.reason-discount-list { margin-bottom:40px; padding:0 2em; border:4px solid #e21327; border-radius:5px; background:#fff; }
.reason-discount-list li { position:relative; padding:.5em 0 .5em 2em; color:#e21327; font-size:2rem; font-weight:bold; line-height:1.2; letter-spacing:0; }
.reason-discount-list li::before { content:""; position:absolute; top:1.3em; left: 0.7em; width:.6em; height:.6em; border-radius:50%; background:#e21327; }
.reason-discount-list li + li { border-top:1px dashed #ccc; }
.reason-discount-list li em { font-size:1.75em; vertical-align:-.06em; }
.reason-discount-list .month { display:inline-block; margin:0 .25em; padding:.1em .6em; color:#e21327; vertical-align:.05em; border-radius:5px; background:#fff335; }
.reason-discount-list .note { margin:0; color:#222; font-size:1rem; font-weight:normal; }

/* reason-point-list */
.reason-point-list { margin-bottom:76px; }
.reason-point-list li { width:32%; padding:2em 1em 1em; color:#fff; text-align:center; font-weight:bold; border-radius:10px; background:#e21327; }
.reason-point-list .ttl { margin-bottom:1em; font-size:1.5rem; line-height:1.4; }
.reason-point-list .txt { margin:1em 0 0; line-height:1.6; }
.reason-point-list  li:nth-child(2) { background:#eb4439; }
.reason-point-list  li:nth-child(2) .ttl { margin-bottom:1.4em; font-size:1.875rem; }

/* reason-price-basic */
.reason-price-basic { -webkit-box-align:start; align-items:flex-start;
  max-width:830px; margin:0 auto 1.6em; font-size:1.125rem; font-weight:bold; }
.reason-price-basic dt { margin-right:1.2em; padding:.3em 1em .45em; color:#fff; border-radius:5px; background:#e21327; }
.reason-price-basic dd { -webkit-box-flex:1; flex:1; padding:.3em 0 .45em; }
.reason-price-basic dd span { display:inline-block; }

/* reason-price-list  */
.reason-price-list li { position:relative; overflow:hidden; margin-bottom:1em; padding:1.5em 2em 1.5em 1.5em; border-radius:5px; border-left:8px solid #e21327; background:#fff; }
.reason-price-list .ttl { width:32%; margin-top:-.2em; margin-right:1.4em; padding-right:1.4em; font-size:1.375rem; text-align:center; font-weight:bold; line-height:1.4; border-right:1px solid #ccc; }
.reason-price-list .ttl-class { color:#e21327; }
.reason-price-list .ttl-weight { margin:0; line-height:1; }
.reason-price-list .ttl-weight span { display:inline-block; margin:.1em 0 .2em; padding:.2em 1em .4em; color:#fff; font-size:.875rem; border-radius:5px; background:#e21327; }
.reason-price-list .ttl-ex { margin:0; font-size:.9rem; }
.reason-price-list .ttl-class + .ttl-img { margin-top:.4em; }

.reason-price-list .price { -webkit-box-flex:1; flex:1; }
.reason-price-list .price-items { margin-bottom:1.2em; }
.reason-price-list .price-items .item { position:relative; width:46%; -webkit-box-flex:1; flex:1; text-align:center; font-weight:bold; border:2px solid #222; }
.reason-price-list .price-items .item:first-child { margin-right:3rem; }
.reason-price-list .price-items .item:first-child::after { content:"＋"; position:absolute; top:.5em; right:-1.35em; z-index:2; font-size:2rem; font-weight:bold; line-height:1; }
.reason-price-list .price-items dt { background:#eee; }
.reason-price-list .price-items dd { font-size:1.25em; line-height:1.6; }

.reason-price-list .price-box { padding:1.5em 1.5em 1em; font-weight:bold; background:#fffecc; }
.reason-price-list .price-box .discount { margin:0; color:#e21327; font-size:1.5625rem; line-height:1; }
.reason-price-list .price-box .discount span { position:relative; display:inline-block; margin-right:1.5em; padding:.6em .5em .6em 1em; color:#fff; font-size:.8em; vertical-align:.3em; background:#e21327; }
.reason-price-list .price-box .discount span::before { content:""; position:absolute; top:0; right:-.84em; width:0; height:0; border-style:solid; border-width:1.1em 0 1.1em .867em; border-color:transparent transparent transparent #e21327; }

.reason-price-list .price-box .discount em { font-size:2em; vertical-align:-.05em; }
.reason-price-list .price-box .regular { margin:.2em 0 0; text-align:center; font-size:1.25rem; }

/* reason2 ---- */
.reason2 .reason-head-ttl { background-color:#2763de; }
.reason2 .reason-head-lead { padding-top:2.5em; padding-bottom:2.5em; }
.reason2 .reason-head-lead,
.reason2 .subttl,
.reason2 .reason-msg { color:#2763de; }
.reason2 .reason-con { background:#ebf2ff; }

/* reason-flow  */
.reason-flow { margin-bottom:50px; }
.reason-flow li { position:relative; margin-bottom:18px; }
.reason-flow .wrap { position:relative; overflow:hidden; padding:1.4em 1em 1.4em 6em; font-size:1.5rem; font-weight:bold; line-height:1.4; border-radius:5px; background:#fff; }
.reason-flow li .num { position:absolute; z-index:2; top:0; left:0; bottom:0; width:1.8em; padding-top:.3em; padding-left:.2em; color:#fff; text-align:center; font-size:2.083em; font-family: 'Fugaz One', sans-serif; font-weight:normal; }
.reason-flow li .num span { position:relative; z-index:2; display:block; }
.reason-flow li .num::after { content:""; position:absolute; top:0; left:0; right:0; bottom:0; transform:perspective(6px) rotateX(-0.7deg); transform-origin:bottom left; background:#2763de; }
.reason-flow li:not(:last-child):before { content:""; position:absolute; top:100%; left:0; right:0; z-index:5;
  width:0; height:0; margin:0 auto; border-style:solid;
  border-width:12px 14px 0 14px; border-color:#2763de transparent transparent transparent; }

/* reason-system */
.reason-system { margin-bottom:40px; }
.reason-system li { position:relative;
  display:-webkit-box; display:flex;
  -webkit-box-orient:vertical; -webkit-box-direction:normal; flex-direction:column;
  -webkit-box-pack:center; justify-content:center;
  -webkit-box-align:center; align-items:center;
  width:32%; padding:1em 1em; color:#fff; text-align:center; font-size:1.75rem; font-weight:bold; line-height:1.3; border-radius:10px; background:#2763de; }
.reason-system li:not(:last-child)::after { content:""; position:absolute; top:0; bottom:0; right:-2.1rem; z-index:2; width:3rem; height:3rem; margin:auto 0; background: url(../img/icon-plus.svg?v2) no-repeat center / 100%; }

.reason-system li:first-child { font-size:2rem; }

/* reason3 ---- */
.reason3 .reason-head-ttl { background-color:#ff6c00; }
.reason3 .reason-head-lead,
.reason3 .subttl,
.reason3 .reason-msg { color:#ff6c00; }
.reason3 .reason-con { background:#ffeeda; }

.reason3 .reason-head-lead { padding-bottom:2.5em; }
.reason3 .lead-txt { font-size:3.125rem; line-height:1.2; }
.reason3 .lead-txt li + li { margin-top:.35em; }
.reason3 .lead-txt .sub { font-size:.64em; }

/* reason-txt-box */
.reason-txt-box { margin-bottom:15px; padding:2em 2.5em; border-radius:5px; background:#fff; }
.reason-txt-box .ttl { margin-bottom:.6em; padding-bottom:.4em; color:#ff6c00; font-size:1.875rem; line-height:1.4; border-bottom:3px solid #ff6c00; }
.reason-txt-box p { margin-bottom:0; font-size:1.125rem; }

.reason-txt-box .period { -webkit-box-align:start; align-items:flex-start; font-size:1.25rem; font-weight:bold; }
.reason-txt-box .period dt { margin-right:1.2em; padding:.3em 1em .45em; color:#fff; font-size:1.111em; border-radius:5px; background:#ff6c00; }
.reason-txt-box .period dd { -webkit-box-flex:1; flex:1; padding-top:.2em; line-height:1.4; }
.reason-txt-box .period dd em { color:#ff6c00; }
.reason-txt-box .period dd .note { font-size:1rem; font-weight:normal; }

.reason3 .reason-msg { margin-top:50px; }
.reason3 .reason-txt { margin:0; }

/* reason4 ---- */
.reason4 .reason-head-ttl { background-color:#26c70c; }
.reason4 .reason-head-lead,
.reason4 .subttl { color:#26c70c; }
.reason4 .reason-con { background:#e7ffe3; }
.reason4 .reason-head-lead .invert { background-color:#26c70c;}

.reason4 .reason-head-lead { padding-top:2em; padding-bottom:2em; }
.reason4 .lead-txt.big { margin:.2em 0; }

/* reason-num-list  */
.reason-num-list li { margin-bottom:14px; padding:2em 2.5em 2.5em; background:#fff; }
.reason-num-list .txt-box { -webkit-box-flex:1; flex:1; }
.reason-num-list .img-box { max-width:28%; margin-left:1.5em; }
.reason-num-list .ttl { position:relative; margin:0 0 .5em; padding:.2em 0 .2em 2.5em; color:#26c70c; font-size:1.875rem; font-weight:bold; line-height:1.4; }
.reason-num-list .ttl span { position:absolute; top:0; left:0; width:1.6em; height:1.6em;  padding-top:.05em; color:#fff; font-size:1.1em; font-weight:normal; line-height:1.6em; text-align:center; vertical-align:.1em; border-radius:50%; background:#26c70c;  }
.reason-num-list .ttl + p { margin-top:0; }
.reason-num-list p { margin-bottom:0; font-size:1.125rem; }

/* shop ---------- */
.shop-area { padding:60px 0; }

/* shop-box */
.shop-box { margin-bottom:40px; border-radius:5px; border:4px solid #fff04b; background:#fffcdf; }
.shop-ttl { padding:.5em 1em; color:#e21327; text-align:center; font-size:2.125rem; line-height:1.4; background:#fff04b; }
.shop-con { padding:2em 2.5em; }
.shop-con .address { margin:0 0 1.5em; text-align:center; font-size:1.125rem; font-weight:bold; }

.shop-list { justify-content: space-around; }
.shop-list li { width:48%; margin-bottom: 1em; }
.shop-list li a { display:block; padding:2em 1em; color:#fff; text-align:center; font-size:1.125rem; font-weight:bold; line-height:1.6; border-radius:5px; background:#ff6c00; }
.shop-list li a:hover { text-decoration:none; background:#e21327; }
.shop-list li em { display:block; font-size:2.2em; }

/* credit-box */
.credit-box { margin-top:50px; border:5px solid #e21327; background:#fff; }
.credit-ttl { padding:.5em 1em .6em; color:#fff; text-align:center; font-size:1.625rem; font-weight:bold; line-height:1.4; background:#e21327; }
.credit-con { padding:1.7em 2.5em; text-align:center; }
.credit-con .note { margin:1em 0 0; line-height:1.5; }

/* voice */
#voice {  padding: 4em 0; }
#voice .secttl { color: #2763de; }
.voice-list li { width: 49%;
    margin-bottom: 1em;
    padding: 0.5em 0 0.5em 0.5em;
    border-radius: 5px;
    background: #fff;
    border: 3px solid #eee; }
#voice a { display: table;
    margin: 1em auto;
    text-align: center;
    padding: 0.65em 2.2em 0.65em 1.2em;
    color: #fff;
    font-size: 1.45rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    box-shadow: 0 3px 0 #0037a7;
    background: #2763de; }
#voice a:hover { -webkit-transform: translateY(3px);
    transform: translateY(3px);
    box-shadow: none; }
#voice a span { position: relative; }
#voice a span:after  { content: "";
    position: absolute;
    top: 43%;
    right: -1.2rem;
    width: 0.6rem;
    height: 0.6rem;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg); }

/* faq */
#faq { position: relative;
    padding-bottom: 40px;
    background-size: auto auto;
    background-color: #eee;
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, #f5f5f5 5px, #f5f5f5 9px ); }
.faq-ttl { position: relative;
    padding: 1em 0;
    color: #fff;
    font-size: 2.375rem;
    text-align: center;
    line-height: 1.4;
    background: #ff6c00; }
.faq-ttl::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -28px;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-style: solid;
    border-width: 28px 28px 0 28px;
    border-color: #ff6c00 transparent transparent transparent;
    }
.faq-ttl .secttl { margin-bottom: 0; color: #fff; }
.faq-list { padding: 4em 25px 3em; }
.faq-list li {
    position: relative;
    margin-bottom: 1em;
    padding: 1em;
    background: #fff;
    border-radius: 5px;
}
.question { padding-left: 2.5em; padding-right: 1.1em; font-size: 1.5rem; position: relative; }
.question span { position: relative; }
.question span { position: absolute;
    top: 0;
    left: 0;
    width: 1.6em;
    height: 1.6em;
    padding-top: 0.05em;
    color: #fff;
    font-size: 1.1em;
    font-weight: normal;
    line-height: 1.6em;
    text-align: center;
    vertical-align: 0.1em;
    border-radius: 50%;
    background: #ff6c00; }
.question:before, .question:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1em;
    height: 3px;
    margin: auto;
    background: #ff6c00;
}
.question:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all .5s;
    transition: all .5s;
}
.question.active:after {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}
.faq-list li .answer {
    padding-top: 1em;
    padding-left: 3.5em;
    font-size: 1.05rem;
    border-top: 1px dashed #ccc;
    position: relative;
}
.faq-list li .answer span { position: absolute;
    top: .8em;
    left: 0;
    width: 1.6em;
    height: 1.6em;
    padding-top: 0.05em;
    color: #fff;
    font-size: 1.5em;
    font-weight: normal;
    line-height: 1.6em;
    text-align: center;
    vertical-align: 0.1em;
    border-radius: 50%;
    background: #999; }

    #faq .answer a {
        display: table;
        margin: 1em auto auto 0;
        padding: 0.65em 2.2em 0.65em 1.2em;
        color: #fff;
        font-weight: bold;
        text-decoration: none;
        border-radius: 5px;
        box-shadow: 0 3px 0 #e36000;
        background: #ff6c00;
        position: relative;
    }
  #faq .answer a:after {
    content: "";
    position: absolute;
    top: 43%;
    right: 1.2rem;
    width: 0.6rem;
    height: 0.6rem;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
}
#faq .answer a:hover {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    box-shadow: none;
}


/* 959px 以下 ------------------------ */
@media screen and (max-width: 959px) {
  /* common ---------------- */
  .g-tel-txt { font-size:3vw; }
  .g-tel-num { font-size:9.5vw; }

  /* title */
  .secttl { font-size:4.5vw; }
  .subttl { font-size:5vw; }

  .logo-img { height: 4.5vw; }

  /* base
  ------------------------------------------------- */
  /* header -------------- */
  #header { padding-left:30px; padding-right:30px; }
  .sitename { width:160px; }

  .header-tel .g-tel-txt { font-size:.8em; }
  .header-tel .g-tel-num { font-size:1.6em; }
  .header-tel .g-tel-txt::before, .header-tel .g-tel-txt::after { width:2px; }

  .header-contact a { font-size:1.1rem; }


  /* top
  ------------------------------------------------- */
  .intro-ttl { font-size:4.5vw; }
  .intro-check-list { font-size:1.35rem; }
  .top-hero img { image-rendering:unset; }

  /* ranking */
  .ranking-ttl { padding: .5em 0; font-size: 2rem; }
  .ranking-box td {  font-size: .85rem; }
  .ranking-box th { font-size: .9rem; }
  #ranking .bg-yellow { font-size: .9rem; }
  /* .ranking-box th, .ranking-box td {  padding-left: 0; padding-right: 0; } */
  .ranking-box th .big {  font-size: 1.8rem; }
  .ranking-box th.one > span, .ranking-box th.two > span, .ranking-box th.three > span { padding: 2em 1.6em 0.5em; }

  /* intro ---------- */

  /* contact------- */
  .contact-btnlist li { width:100%; }

  /* reason -------- */
  /* reason-sec 共通 */
  .reason-head-ttl .num { font-size:2.5vw; }
  .reason-head-ttl .reason-word { font-size:10vw; }
  .reason-head-img img { width:47%; }
  .reason-head-lead .lead-txt { font-size:4vw; }
  .reason-head-lead .lead-txt.big { font-size:6vw; }

  .reason-msg { font-size:5vw; }

  /* reason1 ---- */
  .reason-discount-list li { font-size:3.5vw; }

  .reason-point-list { margin-bottom:40px; }
  .reason-point-list li { position:relative; margin-bottom:14px; padding:2em 1.5em 2em 26%; width:100%; text-align:left; }
  .reason-point-list .icon { position:absolute; top:2em; left:2em; width:14%; margin-right:2em; }
  .reason-point-list .ttl,
  .reason-point-list li:nth-child(2) .ttl { font-size:1.4rem; margin-bottom:0; }
  .reason-point-list li:nth-child(2) .ttl { margin:1em 0; }
  .reason-point-list .txt { margin-top:.5em; }

  .reason-price-basic { display:block; }
  .reason-price-basic dt { width:100%; margin-bottom:.5em; margin-right:0; }

  .reason-price-list li { border-top:6px solid #e21327; border-left:none; }
  .reason-price-list .ttl { width:100%; margin:0; margin-bottom:1.5rem; padding-right:0; padding-bottom:.5rem; font-size:4vw; border-right:none; border-bottom:1px solid #ccc; }
  .reason-price-list .ttl-imgbox { margin-top:1rem;
    display:-webkit-box; display:flex;
     -webkit-box-align:center; align-items:center; }
  .reason-price-list .ttl-img { width:60%; margin-right:2rem; }
  .reason-price-list .ttl-ex { font-size:1.2rem; text-align:left; }

  /* reason2 --- */
  .reason-system li { font-size:2.5vw; }

  /* reason3 --- */
  .reason3 .lead-txt { font-size:5vw; }

  .reason-txt-box .ttl { font-size:1.6rem; }
  .reason-txt-box .period { font-size:1.1rem; }
  .reason-txt-box p,
  .reason3 .reason-txt { font-size:1rem; }

  /* reason4 --- */
  .reason-num-list .ttl { font-size:1.6rem; }
  .reason-num-list p { font-size:1rem; }

  /* shop ---------- */
  .shop-ttl { font-size:4vw; }
  .shop-list li { width:100%; margin-bottom:15px; }

  /* voice */
  #voice a span:after { top: 40%;  right: -1rem; }

}

/* 599px 以下 ------------------------ */
@media screen and (max-width: 599px) {
  html { font-size:15px; }
  /* common ----------- */
  #wrapper { padding-top:72px; padding-bottom:59px; }
  .inner { padding-left:15px; padding-right:15px; }
  .narrow-inner { padding-left:15px; padding-right:15px; }
  #contents > .inner { padding-left:10px; padding-right:10px; }

  .g-tel-txt { font-size:1rem; }
  .g-tel-txt::before, .g-tel-txt::after { width:3px; }

  .tbl { font-size:1rem; }
  .contact-tel { padding:2em 0; }

  /* title */
  .secttl .font-en { font-size:1rem; }
  .secttl { font-size:5.5vw; }
  .subttl { font-size:7vw; }

  .logo-img { height: 5.5vw; }

  /* base
  ------------------------------------------------- */
  /* header ---------- */
  #header { padding:12px 15px 15px; }
  .sitename { width:115px; }

  .header-tel { display:none; }
  .header-contact a { font-size:.85em; }

  /* footer ---------- */
  .flo-btn { left:0; bottom:0; right:0; display:-webkit-box; display:flex; }
  .flo-btn li + li { margin-top:0; }
  .flo-btn li { width:22%; height:auto; }
  .flo-btn li a { padding:38px 10px 8px; font-size:12px; line-height:1; border-radius:0; border:none; background-size:18px; }

  .flo-btn { border-top:3px solid #e21327; }
  .flo-btn .tel { display:block; width:78%; }
  .flo-btn .tel a { padding:22px 10px 6px; color:#e21327; font-size:24px; background:#fff100; }
  .flo-btn .tel a::before { content:""; display:inline-block; width:1em; height:1em; margin-right:.15em; vertical-align:-.08em; background:url(../img/icon-tel-red.svg) no-repeat center / auto 100%; }

  .flo-btn li a { background-color:#e21327; }


  /* top
  ------------------------------------------------- */
  /* hero ---------- */
  .top-area { top:72px; }

  /* tel ---------- */
  .top-tel { padding-top:25px; padding-bottom:25px; }
  .top-tel-box { padding:1.5em 1em; border-width:5px; }
  .modifiedCar { margin-top: 10px; }
  .bnr-information { margin-top: 25px; }

/* ranking */
  #ranking { margin-top: 2em; }
  .ranking-ttl {  font-size: 1.3rem; }
  .ranking-ttl span::after {   right: -5em;  }
  .ranking-box th { font-size: .6rem; }
  .ranking-box th .big {  font-size: 1rem; }
  .ranking-box td {  font-size: .5rem; }
  #ranking .bg-yellow { font-size: .5rem; font-weight: bold; }
  .ranking-box { margin-bottom: 10px; border: 2px solid #ff6100; }
  .ranking-box th, .ranking-box td { padding-left: 0.2em; padding-right: 0.2em; }
  #ranking .green { font-size: .75rem; }
  #ranking .border-r {   border-right: 3px solid #01cc00; }
  #ranking td.tachiai {  border-bottom: 3px solid #01cc00; }

/* --mainte------------------------ */
/* スマホ用tableスクロール */
.scroll{ overflow: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; margin-bottom: 10px; }
.scroll table{ width: 100%; }
.scroll::-webkit-scrollbar{/*tableにスクロールバーを追加*/
 height: 8px;
}
.scroll::-webkit-scrollbar-track{/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}
  /* mainte ---------- */
  .mainte { margin: 2em auto; }
  .mainte .syaken_type { padding: 8px 0 4px; color: #fff; font-size: 1.5em; }
  .mainte .tbl th.tblTtl::before { font-size: 1em; }
  .mainte .tbl th.tblTtl::after { font-size: 1em; }
  .mainte .line_red th { font-size: 1em; padding: 10px 0;}
  .mainte .mt_0 { margin-top: 0; }

  /* intro ---------- */
  .intro-area { padding-bottom:20px; }
  .intro-ttl { padding-top:1.5em; padding-bottom:1.5em; }
  .intro-ttl::after, .intro-area::after { bottom:-15px; border-width:15px 15px 0 15px; }

  .intro-txt { padding:0; }
  .intro-check-list,
  .intro-txt .txt-etc { font-size:1rem; }
  .intro-img { width:25%; margin-left:auto; }
  .intro-msg { margin-top:.8em; font-size:6.5vw; }

  .intro-ttl .deco::before, .intro-ttl .deco::after { width:3px; }

  /* contact -------- */
  .contact-area { padding:40px 0; }
  .contact-btnlist li { margin-bottom:20px; }
  .contact-btnlist a { font-size:6vw; }

  /* reason ---------- */
  /* reason-intro ---- */
  .reason-intro { padding-top:50px; padding-bottom:30px; }

  /* reason-word */
  .reason-word { font-size:2.6rem; }

  /* reason-intro-list */
  .reason-intro-list li { width:100%; margin-bottom:15px; }
  .reason-intro-list .con { padding:1.2em 1em 1em; font-size:1.1rem; }
  .reason-intro-list .lead,
  .reason-intro-list .reason4 .lead { font-size:6vw; }
  .reason-intro-list .reason1 .txt { font-size:1.1rem; }

  /* reason-sec 共通 */
  .reason-head-ttl .num { border-top-width:3px; border-bottom-width:3px; }
  .reason-head-ttl .reason-word { font-size:11vw; }
  .reason-head-img { margin-right:-6%; }
  .reason-head-img img { width:46%; }
  .reason-head-lead .lead-txt { font-size:6vw; }
  .reason-head-lead .lead-txt.big { font-size:8vw; }

  .reason-con { padding:30px 0 50px; }
  .reason-msg { font-size:7vw; }

  /* reason1 ---- */
  .reason-discount-list { padding:0 3vw; }
  .reason-discount-list li { font-size:4vw; }
  .reason-discount-list .note { font-size:12px; }

  .reason-point-list li { margin-bottom:10px; padding:1.2em 3vw 1.2em 35%; }
  .reason-point-list .icon { width:20%; top:4.5vw; left:7vw; }
  .reason-point-list .ttl, .reason-point-list li:nth-child(2) .ttl { font-size:5vw; }
  .reason-point-list .txt { font-size:3.5vw; }

  .reason-price-basic dd { font-size:1rem; }

  .reason-price-list li { padding-left:4vw; padding-right:4vw; padding-bottom:1.2em; }
  .reason-price-list .ttl { font-size:6vw; }
  .reason-price-list .price-items .item { font-size:.85rem; }
  .reason-price-list .price-items .item:first-child { margin-right:2.2rem; }
  .reason-price-list .price-items .item:first-child::after { font-size:1.5rem; }
  .reason-price-list .ttl-ex { font-size:.95rem; }
  .reason-price-list .ttl-img { width:80%; margin-right:1rem; }

  .reason-price-list .price-box { padding:1.4em 1em 1em; }
  .reason-price-list .price-box .discount { font-size:4.1vw; }
  .reason-price-list .price-box .discount span { vertical-align:.4em; }
  .reason-price-list .price-box .regular { font-size:1.1rem; }

  /* reason2 ---- */
  .reason2 .reason-head-img { padding-top:5%; }

  .reason-flow .wrap { font-size:1rem; padding-left:5em; }

  .reason-system { margin-bottom:10px; }
  .reason-system li { width:100%; margin-bottom:14px; padding:1.5em 1em; font-size:4.5vw; }
  .reason-system li:not(:last-child)::after { top:auto; bottom:-1.57rem; left:0; right:0; margin:0 auto; width:2.2rem; height:2.2rem; }

  .reason-system li:first-child { font-size:5.5vw; }

   /* reason3 ---- */
   .reason3 .reason-head-img { margin-right:-10%; }
   .reason3 .reason-head-img img { width:40%; }

   .reason-txt-box { padding:1.5em 1.8em; }
   .reason-txt-box .ttl { font-size:1.4rem; }
   .reason-txt-box .period { display:block; text-align:center; }
   .reason-txt-box .period dt { margin:0 0 .4em; font-size:1.1rem; }

   .reason3 .reason-msg { margin-top:30px; }
   .reason3 .reason-txt { text-align:left; }

   /* reason4 ---- */
   .reason4 .reason-head-img { padding-top:2%; margin-right:-12%; }
   .reason4 .reason-head-lead .lead-txt.big { font-size:6.7vw; }

   .reason-num-list li { padding:1.5em; }
   .reason-num-list .ttl { font-size:1.3rem; }


   .reason-num-list li.flex { display:block; }
   .reason-num-list .img-box { width:100%; max-width:100%; margin:1.5em 0 0; text-align:center; }

   /* shop --------- */
   .shop-area { padding:40px 0 50px; }

   .shop-box { margin-bottom:25px; }
   .shop-ttl { padding:1em; font-size:4.5vw; }
   .shop-con { padding:1.5em; }
   .shop-con .address { font-size:1rem; line-height:1.5; }
   .shop-list li a { padding:1em; font-size:1rem; }

   .credit-box { margin-top:35px; }
   .credit-ttl { font-size:4.5vw; }
   .credit-con { padding:1.7em 1em; }
   .credit-con .brand img { height:50px; }


   /* voice */
   #voice {  padding: 2.5em 0; }
   .voice-list li { width: 100%; }
   #voice a { font-size: 1rem; }

  /* faq */
  #faq {padding-bottom: 0; }
   .question {
     font-size: 1.1rem;
   }
   .faq-ttl { padding: .7em 0; }
   .faq-ttl::after {
    bottom: -15px;
    border-width: 15px 15px 0 15px;
}
   .faq-list li .answer span { font-size: 1rem; }
   .faq-list li .answer { padding-left: 2.5em; }
   #faq .answer a { font-size: .9em; }
}
