@charset "UTF-8";
/* common css */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/* =============================================
 *  01. common settings
 *      - loader
 *      - loader2
 *      - background
 *      - content
 *      - tooltip
 *      - text
 *      - button
 *      - list
 *      - breadcrumb
 *      - pagenation
 *      - form parts
 *  02. header
 *      - upper area
 *      - lower area
 *      - logo
 *      - global navigation
 *      - glonav button
 *      - sub navigation
 *  03. footer
 *      - navigation
 *      - pagetop
 *      - copyright
 *  04. sub page
 *      - breadcrumb
 *      - content area
 *      - prev
 *      - box
 *      - headline
 *      - modal
 *      - stepbox
 * -----------------------------------
 *  10. search
 *  11. index
 *  12. login
 *  13. password
 * -----------------------------------
 *  20. service(common)
 *  21. service-select
 *  22. service-date
 *  23. service-input
 *  24. service-confirm
 *  25. service-complete
 *  26. service-detail
 *  27. service-inquiry
 *  28. service-price
 *  29. service-introduction
 * -----------------------------------
 *  30. guide(common)
 *  31. guide-faq
 *  32. price
 * -----------------------------------
 *  40. mypage(common)
 *  41. mypage-top
 *  42. mypage-authentication
 *  43. mypage-information
 *  44. mypage-history
 *  45. mypage-detail
 *  46. mypage-detail-date
 *  47. mypage-setting
 *  48. mypage-referral
 *  49. mypage-quit
 * -----------------------------------
 *  50. etc(common)
 *  51. privacy policy
 *  52. site policy
 *  53. membership agreement
 *  54. contact
 *  55. sorry
 *  56. column
 *  57. cookie dialog
 * -----------------------------------
 *  60. error(common)
 * -----------------------------------
 *  70. css merge
 * -----------------------------------
 *  80. web document(common)
 *  81. web document warranty
 *  82. web document call
 *  83. web document karte
 *  84. web price
 *  85. web service
 * -----------------------------------
 *  90. entry-input
 *  91. entry-complete
 *  92. mail-authentication
 *  93. mail-authentication-complete
 *  94. register-input
 *  95. register-confirm
 *  96. register-complete
 *  97. accept-terms
 * -----------------------------------
 *  101. driveon-introduce
 * -----------------------------------
 *  999. print style
 * ============================================= */
/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  01. common settings
 * :::::::::::::::::::::::::::::::::::::::::: */
/* loader
 * ---------------------------------- */
#loader-wrap {
  position: fixed;
  background: #fff;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  /* animation */
  animation-delay: 0.5s;
}

#loader {
  margin-top: 200px;
  /* fallback */
  margin-top: 40vh;
  text-align: center;
  color: #DF0515;
}

/* loader2
 * ---------------------------------- */
#loader2-wrap {
  display: none;
  position: fixed;
  background: #000000;
  /* 色コードを指定 */
  opacity: 0.5;
  /* 透明度を指定 */
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9998;
  /* animation */
  animation-delay: 0.5s;
}

#loader2 {
  margin-top: 200px;
  margin-top: 40vh;
  text-align: center;
  color: #ffffff;
  /* 回転するアイコンの色コードを指定 */
}

/* skeleton
 * ---------------------------------- */
.skeleton {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.skeleton::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  animation: skeleton-loading 1s linear infinite alternate;
  z-index: 5;
}

@keyframes skeleton-loading {
  0% {
    background-color: hsl(200, 20%, 80%);
  }
  100% {
    background-color: hsl(200, 20%, 95%);
  }
}
/* reset
 * ---------------------------------- */
*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
  margin: 0;
  width: 100%;
}

/* 20260825ここから修正 */
body {
  background: #EAEBED;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding: 0;
  color: #383838;
  font-size: 14px;
  position: relative;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
body::before {
  transition: height 300ms ease;
}

/* 20260825ここまで修正 */
body.page-home {
  background: #ECEFF4;
}
body.page-home::before {
  background: #fff url(../img/top/body_bg.svg) repeat-x center 101%;
  content: "";
  height: 440px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
@media (max-width: 767px) {
  body.page-home::before {
    background-image: url(../img/top/body_bg_sp.svg);
    height: 315px;
  }
}
@media (max-width: 767px) {
  body.page-home.is-app-banner-show::before {
    height: 395px;
  }
}

body.page-service-introduction::before {
  background: #fff url(../img/common/body_bg.svg) repeat-x center 101%;
  content: "";
  height: 320px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
@media (max-width: 767px) {
  body.page-service-introduction::before {
    background-image: url(../img/common/body_bg_sp.svg);
    height: 220px;
  }
}
@media (max-width: 767px) {
  body.page-service-introduction.is-app-banner-show::before {
    height: 320px;
  }
}

body.fix {
  overflow: hidden;
}

a {
  color: #383838;
  outline: medium none;
  text-decoration: none;
}

a:visited {
  outline: medium none;
}

a:focus {
  outline: medium none;
  text-decoration: none;
}

a:active, a:hover {
  outline: medium none;
}

a:hover {
  color: #383838;
  text-decoration: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 22px;
  margin-bottom: 11px;
}

address {
  font-style: italic;
  margin: 0 0 24px;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: none repeat scroll 0 0 #FFFF00;
  color: #000000;
}

p {
  line-height: 1.65;
  margin: 0 0 36px;
  max-height: 100%;
}
@media (max-width: 767px) {
  p {
    margin-bottom: 24px;
  }
}

code, kbd, pre, samp {
  hyphens: none;
  font-family: monospace, serif;
  font-size: 14px;
}

pre {
  background: none repeat scroll 0 0 #f0f2f3;
  color: #666666;
  font-family: monospace;
  font-size: 14px;
  margin: 20px 0;
  overflow: auto;
  padding: 20px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

blockquote, q {
  hyphens: none;
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

blockquote {
  font-size: 18px;
  font-style: italic;
  font-weight: 300;
  margin: 24px 40px;
}

blockquote blockquote {
  margin-right: 0;
}

blockquote cite, blockquote small {
  font-size: 14px;
  font-weight: normal;
  text-transform: uppercase;
}

blockquote em, blockquote i {
  font-style: normal;
  font-weight: 300;
}

blockquote strong, blockquote b {
  font-weight: 400;
}

small {
  font-size: 13px;
  font-size: 1.3rem;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

dl {
  margin: 0;
}

dt {
  line-height: 1.8;
  font-weight: bold;
  font-weight: 600;
  margin: 0;
}

dd {
  line-height: 1.8;
  margin: 0;
}

menu, ol, ul {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

li {
  line-height: 1.8;
}

th {
  font-weight: bold;
  font-weight: 600;
  line-height: 1.6em;
}

td {
  line-height: 1.6em;
}

img {
  border: 0 none;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  backface-visibility: hidden;
}

input[type=text]:focus,
textarea:focus {
  outline: 0;
}

button {
  outline: 0;
  border: none;
}

a[href^="tel:"] {
  cursor: default;
}

@media (max-width: 479px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1039px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1040px) {
  .hidden-lg {
    display: none !important;
  }
}
/* content
 * ---------------------------------- */
#content-wrap {
  padding-top: 114px;
  position: relative;
  transition: padding-top 300ms ease;
  z-index: 2;
}
@media (max-width: 1039px) {
  #content-wrap {
    padding-top: 80px;
  }
}

.small-page #content-wrap {
  padding-top: 0;
}

@media (max-width: 767px) {
  .is-app-banner-show #content-wrap {
    padding-top: 160px;
  }
}

/* tooltip
 * ---------------------------------- */
.tooltip {
  font-size: #383838;
}
.tooltip.show {
  opacity: 1;
}

.tooltip .tooltip-inner {
  background-color: #ffdd59;
  color: #222;
  font-size: 13px;
  padding: 8px 12px;
  filter: alpha(opacity=100);
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #ffdd59 !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #ffdd59 !important;
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #ffdd59 !important;
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #ffdd59 !important;
}

.tooltip-icon-question {
  background: url(../img/icon/icon_help.svg) no-repeat center center;
  background-size: contain;
  display: inline-block;
  height: 16px;
  width: 16px;
  vertical-align: middle;
}

.form-desc-tooltip {
  --bs-tooltip-max-width: calc(100vw - 10px);
}
.form-desc-tooltip .tooltip-inner {
  background-color: rgba(189, 0, 14, 0.9);
  color: #ffffff;
  font-weight: bold;
  padding: 8px 20px 9px;
  font-size: 14px;
  border-radius: 4px;
  max-width: calc(100vw - 20px);
  word-break: break-word;
}
@media (max-width: 767px) {
  .form-desc-tooltip .tooltip-inner {
    padding: 8px 12px 9px;
  }
}
.form-desc-tooltip .tooltip-arrow::before {
  border-width: 5px 4px 0 4px;
}

.form-desc-tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #DF0515 !important;
}

.form-desc-tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #DF0515 !important;
}

.form-desc-tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #DF0515 !important;
}

.form-desc-tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #DF0515 !important;
}

/* 20260918ここから修正 */
.form-custom-tooltip {
  position: relative;
}

.custom-position-tooltip {
  position: absolute;
  bottom: 100%;
  left: 10px;
  margin-bottom: 5px;
  z-index: 9999;
  background-color: rgba(189, 0, 14, 0.9);
  color: #ffffff;
  font-weight: bold;
  padding: 8px 20px 9px;
  font-size: 14px;
  border-radius: 4px;
  word-break: break-word;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  max-width: calc(100% - 40px);
}
@media (max-width: 767px) {
  .custom-position-tooltip {
    max-width: calc(100% + 20px);
    padding: 8px 12px 9px;
    left: 0;
    font-size: 13px;
  }
}
.custom-position-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 20px;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: rgba(189, 0, 14, 0.9) transparent transparent transparent;
}
.custom-position-tooltip.is-show {
  opacity: 1;
}
/* 20260918ここまで修正 */

/* block
 * ---------------------------------- */
.message {
  margin: 0 auto 16px;
  padding: 16px;
  font-size: 14px;
  border-radius: 4px;
}
.message p {
  margin: 5px auto;
}
.message.message-default {
  background: #f9f9f9;
}
.message.message-error {
  border: 2px solid rgb(217, 5, 46);
  background: #fff;
  color: rgb(217, 5, 46);
}
.message.message-danger {
  border: 2px solid rgb(217, 5, 46);
  background: #fff;
  color: rgb(217, 5, 46);
}
.message.message-complete {
  border: 1px solid #005AAA;
  background: #fff;
  color: #005AAA;
}

/* Image
 * ---------------------------------- */
img {
  height: auto;
  max-width: 100%;
}

/* font
 * ---------------------------------- */
.fc-dark {
  color: #383838;
}

.fc-red {
  color: #DF0515;
}

.fc-link {
  color: #00417D;
}

.fc-danger {
  color: rgb(217, 5, 46);
}

.fc-mute {
  color: #949494;
}

/* text
 * ---------------------------------- */
a {
  outline: none !important;
}

span.font-en {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
}

span.user-name {
  color: #005AAA;
}

span.tel {
  color: #005AAA;
  font-weight: bold;
}

.text-attention {
  color: rgb(217, 5, 46);
  margin: 16px auto;
}
.text-error {
  color: rgb(217, 5, 46);
  font-size: 13px;
}
@media (max-width: 767px) {
  .text-error {
    font-size: 12px;
  }
}

p.text-error {
  margin-bottom: 0;
}

/* form
 * ---------------------------------- */
input, textarea, button, select {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

input[type=text]:focus,
textarea:focus {
  outline: 0;
}

select::-moz-focus-inner,
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border: 0;
  outline: 0;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #333;
}

/* button
 * ---------------------------------- */
button.btn:focus,
button.btn:active:focus,
button.btn.active:focus,
button.btn.focus,
button.btn:active.focus,
button.btn.active.focus {
  outline: none;
}

.btn {
  font-size: 16px;
  font-weight: bold;
  padding: 14px 16px;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
  max-width: 100%;
}
.btn:hover {
  opacity: 0.75;
}
.btn-primary {
  background-color: #DF0515;
  border: none;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
  background-color: #DF0515;
}
.btn-info {
  color: #fff;
  background-color: #005AAA;
  border: none;
}
.btn-info:hover, .btn-info:active, .btn-info:focus {
  color: #fff;
  background-color: #005AAA;
}
.btn-secondary {
  background-color: #949494;
  border: none;
}
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus {
  background-color: #949494;
}
.btn-submit {
  background-color: #DF0515;
  border: none;
  color: #fff;
}
.btn-submit:hover, .btn-submit:active, .btn-submit:focus {
  color: #fff;
  background-color: #DF0515;
}
.btn-submit:disabled {
  background-color: #B3B8BF;
  box-shadow: none;
}
.btn-cancel {
  background-color: #EAEBED;
  border: none;
  color: #383838;
  font-weight: normal;
}
.btn-border {
  background-color: #fff;
  border: 1px solid #DF0515;
  color: #DF0515;
}
.btn-border:hover, .btn-border:active, .btn-border:focus {
  color: #DF0515;
}
.btn-border--next {
  position: relative;
}
.btn-border--next:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #DF0515;
  border-right: 2px solid #DF0515;
  transform: rotate(45deg);
  right: 26px;
}
.btn-full {
  width: 100%;
}
.btn-large {
  width: 480px;
}
.btn-medium {
  width: 320px;
}
.btn-small {
  width: 220px;
}

.btn.btn-etc {
  background: #1c6f94 url("../img/icon-angle4.svg") no-repeat right 16px top 50%/7px 12px;
  color: #fff;
  border-bottom: 3px solid #05405a;
}

.btn.btn-etc:hover {
  opacity: 1;
  background-color: #2488b3;
}

.btn.btn-service {
  background: #DF0515 url("../img/icon-angle4.svg") no-repeat right 16px top 50%/7px 12px;
  color: #fff;
  border-bottom: 3px solid #DF0515;
}

.btn.btn-service:hover {
  opacity: 1;
  background-color: #DF0515;
}

.btn.btn-price {
  background: #005AAA;
  color: #fff;
  border-bottom: 3px solid #05374d;
}

.btn.btn-price:hover {
  opacity: 1;
  background: #2488b3;
}

.btn.btn-guide {
  background: #1491a7;
  color: #fff;
}

.btn.btn-mypage {
  background: #d2b479 url("../img/icon-angle4.svg") no-repeat right 16px top 50%/7px 12px;
  color: #fff;
  border-bottom: 3px solid #ab8c50;
  width: 220px;
}

.btn.btn-mypage:hover {
  opacity: 1;
  background-color: #e1c181;
}

.btn.btn-guest {
  background: #20b595 url("../img/icon-angle4.svg") no-repeat right 16px top 50%/7px 12px;
  color: #fff;
  border-bottom: 3px solid #017e63;
  width: 220px;
}

.btn.btn-guest:hover {
  opacity: 1;
  background-color: #31caa9;
}

/* btn-area */
.btn-area {
  padding: 8px 0 24px;
}

/* search */
.btn.btn-search {
  min-width: 96px;
}

.btn.btn-search:before {
  display: inline-block;
  content: "\f002";
  font-family: "fontAwesome";
  margin: 0 8px 0 0;
}

/* prev/next */
.btn.btn-angle-prev,
.btn.btn-angle-next {
  max-width: 100%;
  min-width: 200px;
  overflow: hidden;
}

.btn.btn-angle-prev:before,
.btn.btn-angle-next:before {
  display: inline-block;
  font-family: "fontAwesome";
  margin: 0;
}

.btn.btn-angle-prev:before {
  content: "\f104";
  float: left;
  margin-right: 8px;
}

.btn.btn-angle-next:before {
  content: "\f105";
  float: right;
  margin-left: 8px;
}

.btn-blue {
  background-color: #1c6f94;
  color: #fff;
  -ms-box-shadow: 0 3px 0 #05405a;
  box-shadow: 0 3px 0 #05405a;
}

.btn-blue:hover {
  color: #fff;
}

.r-btn {
  display: inline-block;
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  padding: 12px 16px;
  transition: background-color 0.14s ease-out, color 0.14s ease-out, opacity 0.14s ease-out, border-color 0.14s ease-out;
}
.r-btn:focus, .r-btn:hover, .r-btn.active {
  text-decoration: none;
}

@media (min-width: 1040px) {
  .r-btn-hover-scale:hover {
    animation: btn_scale 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

@media (min-width: 1040px) {
  .r-btn-hover-opacity:hover {
    opacity: 0.7;
  }
}
@keyframes btn_scale {
  50% {
    transform: scale(1.08);
  }
}
/* list
 * ---------------------------------- */
/*ul*/
ul.default-list {
  list-style: none;
  padding: 0;
  margin: 16px 0;
}

ul.default-list li {
  text-indent: -1em;
  padding-left: 1em;
}

ul.default-list li:before {
  display: inline;
  content: "・";
}

ul.attention-list {
  list-style: none;
  padding: 0;
  margin: 16px 0;
}

ul.attention-list li {
  text-indent: -1em;
  padding-left: 1em;
}

ul.attention-list li:before {
  display: inline;
  content: "※";
}

ul.attention-list li.attention {
  color: #de5233;
  font-size: 120%;
  font-weight: bolder;
}

/* ol */
ol.default-list {
  padding-left: 1.5em;
}

/* dl */
dl.horizontal-list {
  margin: 0;
}

dl.horizontal-list dd {
  margin-bottom: 0.5em;
}

dl.horizontal-list dd.mb-15 {
  margin-bottom: 15px;
}

@media (min-width: 1040px) {
  dl.horizontal-list dt {
    clear: both;
    float: left;
    width: 25%;
  }
  dl.horizontal-list dd {
    padding-left: 25%;
  }
}
/* heading
 * ---------------------------------- */
.heading-1 {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 0 0 18px;
  margin: 30px 0 30px;
  position: relative;
}
@media (max-width: 767px) {
  .heading-1 {
    font-size: 24px;
    padding-bottom: 14px;
    margin-bottom: 26px;
    margin-top: 26px;
  }
}
.heading-1::after {
  background: #DF0515;
  content: "";
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 56px;
}
@media (max-width: 767px) {
  .heading-1::after {
    width: 44px;
  }
}

.heading-2 {
  font-size: 18px;
  font-weight: bold;
  padding: 5px 0 5px 18px;
  line-height: 1.4;
  position: relative;
  letter-spacing: 0.02em;
  margin-bottom: 22px;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .heading-2 {
    font-size: 14px;
    margin-bottom: 16px;
    margin-top: 26px;
  }
}
.heading-2::before {
  background-color: #DF0515;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 6px;
  border-radius: 3px;
}
@media (max-width: 767px) {
  .heading-2::before {
    width: 5px;
  }
}

/* link text
 * ---------------------------------- */
.page-back-link {
  margin-top: 40px;
}
.page-back-link a {
  color: #383838;
  display: inline-block;
  position: relative;
  padding-left: 20px;
}
.page-back-link a::before {
  left: 5px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #383838;
  border-left: 2px solid #383838;
  transform: rotate(45deg);
}

/* breadcrumb
 * ---------------------------------- */
.breadcrumb {
  display: block;
  margin-bottom: 0;
}
.breadcrumb ol {
  font-size: 0;
  letter-spacing: 0;
  list-style: none;
}
.breadcrumb ol li {
  display: inline;
  font-size: 14px;
}
@media (max-width: 767px) {
  .breadcrumb ol li {
    font-size: 11px;
  }
}
.breadcrumb ol li:not(:last-child) {
  margin-right: 12px;
  padding-right: 18px;
  position: relative;
}
@media (max-width: 767px) {
  .breadcrumb ol li:not(:last-child) {
    margin-right: 10px;
    padding-right: 13px;
  }
}
.breadcrumb ol li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #727171;
  border-right: 2px solid #727171;
  transform: rotate(45deg);
  right: 0;
  margin-top: -3px;
}
@media (max-width: 767px) {
  .breadcrumb ol li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid #727171;
    border-right: 1.5px solid #727171;
    transform: rotate(45deg);
    margin-top: -2px;
  }
}
.breadcrumb ol li a {
  color: #383838;
}
@media (min-width: 1040px) {
  .breadcrumb ol li a {
    transition: color 200ms ease;
  }
  .breadcrumb ol li a:hover {
    color: #DF0515;
  }
}
.breadcrumb ol li a, .breadcrumb ol li span {
  display: inline;
  vertical-align: baseline;
}

/* pagenation
 * ---------------------------------- */
.pagenation-list {
  margin: 0 0 12px;
  overflow: hidden;
}

.pagenation-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.pagenation-list li {
  display: inline-block;
  width: 1.8em;
  height: 1.8em;
  margin-bottom: 4px;
  text-align: center;
}

.pagenation-list a {
  display: inline-block;
  background: #eee;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  color: #333;
  text-decoration: none;
  line-height: 1.8;
}

.pagenation-list li.current a {
  color: #fff;
  cursor: default;
}

.pagenation-list li:not(.current):hover a {
  background: #333;
  color: #fff;
}

.cat-etc .pagenation-list li.current a,
.cat-etc .pagenation-list li:active a {
  background: #005AAA;
}

.cat-service .pagenation-list li.current a,
.cat-service .pagenation-list li:active a {
  background: #de5223;
}

.cat-guide .pagenation-list li.current a,
.cat-guide .pagenation-list li:active a {
  background: #1491a7;
}

.cat-mypage .pagenation-list li.current a,
.cat-mypage .pagenation-list li:active a {
  background: #d2b479;
}

@media (min-width: 1040px) {
  .pagenation-list ul {
    text-align: right;
  }
}
/* ==============================================
 05. Form
=============================================== */
/* layout
----------------------------------------------- */
.form-block .form-group {
  margin-bottom: 16px;
}
.form-block .form-label-icon {
  font-size: 12px;
  font-weight: normal;
  display: inline-block;
  padding: 1px 9px;
  margin-left: 10px;
  border-radius: 2px;
  position: relative;
  bottom: 1px;
  vertical-align: baseline;
}
.form-block .form-label-icon--require {
  background-color: #FFE3E3;
  color: rgb(217, 5, 46);
}
.form-block .form-label-icon--option {
  background-color: #d8d8d8;
  color: #383838;
}
.form-block .form-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .form-block .form-label {
    font-size: 14px;
  }
}
.form-block .form-unit {
  font-size: 16px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .form-block .form-unit {
    font-size: 14px;
  }
}
.form-block .form-error-message {
  color: rgb(217, 5, 46);
  font-size: 13px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .form-block .form-error-message {
    font-size: 12px;
  }
}
.form-block .form-message {
  font-size: 13px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .form-block .form-message {
    font-size: 12px;
  }
}
.form-block .form-field .form-control + p {
  margin-top: 4px;
}
.form-block .form-footer {
  margin-top: 24px;
}
.form-block .form-footer .btn {
  width: 100%;
}
.form-block .form-policy {
  font-size: 13px;
  margin: 1.5em auto;
}
@media (max-width: 767px) {
  .form-block .form-policy {
    font-size: 12px;
  }
}
.form-block .form-policy a {
  color: #005AAA;
}
.form-block .form-policy a:hover {
  text-decoration: underline;
}
.form-block .form-password-container {
  position: relative;
}
.form-block .form-password-container input.form-control {
  padding-right: 50px;
}
.form-block .form-password-container .password-switch {
  background: url("../img/icon/icon_passwordview_off.svg") no-repeat center center;
  display: block;
  height: 40px;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -20px;
  width: 40px;
}
.form-block .form-password-container .password-switch span {
  display: none;
}
.form-block .form-password-container input[type=text].form-control + .password-switch {
  background-image: url("../img/icon/icon_passwordview_on.svg");
}
.form-block .form-password-forget a {
  color: #005AAA;
  font-size: 13px;
  display: inline-block;
  padding-right: 12px;
  position: relative;
}
@media (max-width: 767px) {
  .form-block .form-password-forget a {
    font-size: 12px;
  }
}
.form-block .form-password-forget a::after {
  right: 6px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #005AAA;
  border-right: 2px solid #005AAA;
  transform: rotate(45deg);
}
.form-block .form-password-forget a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .form-block .form-password-forget {
    font-size: 11px;
  }
}

/* parts
----------------------------------------------- */
.form-parts-ymd {
  display: flex;
}
@media (max-width: 767px) {
  .form-parts-ymd {
    display: block;
  }
  .form-parts-ymd .form-parts-year {
    margin-bottom: 10px;
  }
  .form-parts-ymd .form-parts-month {
    width: 48%;
  }
  .form-parts-ymd .form-parts-day {
    margin-left: auto;
    width: 48%;
  }
}

.form-parts-daytime {
  display: flex;
}
@media (max-width: 767px) {
  .form-parts-daytime {
    display: block;
  }
  .form-parts-daytime .form-parts-day {
    margin-bottom: 10px;
  }
}

.form-parts-birthday {
  display: flex;
  flex-wrap: wrap;
}

.form-parts-request-date {
  display: flex;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .form-parts-request-date .form-parts-title {
    margin-bottom: 6px;
  }
}
.form-parts-request-date .form-parts-title .title {
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .form-parts-request-date .form-parts-title .title {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .form-parts-request-date {
    display: block;
  }
  .form-parts-request-date .form-parts-year {
    margin-bottom: 10px;
  }
  .form-parts-request-date .form-parts-month {
    width: 48%;
  }
  .form-parts-request-date .form-parts-day {
    margin-left: auto;
    width: 48%;
  }
}
@media (max-width: 767px) {
  .form-parts-request-date.form-parts-ymdhm .form-parts-year-month {
    margin-bottom: 10px;
  }
}
@media (max-width: 767px) {
  .form-parts-request-date.form-parts-ymdhm .form-parts-day {
    margin-left: 0;
    width: 48%;
  }
}
.form-parts-request-date.form-parts-ymdhm .form-parts-day select {
  width: 120px;
}
@media (max-width: 767px) {
  .form-parts-request-date.form-parts-ymdhm .form-parts-day select {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .form-parts-request-date.form-parts-ymdhm .form-parts-hour-minute {
    margin-left: auto;
    width: 48%;
  }
}
.form-parts-request-date.form-parts-ymdhm .form-parts-hour-minute select {
  width: 120px;
}
@media (max-width: 767px) {
  .form-parts-request-date.form-parts-ymdhm .form-parts-hour-minute select {
    width: 100%;
  }
}

.form-car-search {
  position: relative;
}
.form-car-search.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.form-car-search h4 {
  font-size: 14px;
  padding: 14px 14px;
  margin: 0;
}
.form-car-search__selected {
  color: #949494;
  border: 1px solid #d1d1d1;
  background-color: #f8f8f8;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M5,0l5,6H0Z' transform='translate(10 6) rotate(180)' fill='%233b4043'/%3E%3C/svg%3E%0A");
  background-size: 10px 6px;
  background-position: right 12px top 50%;
  font-size: 16px;
  padding: 14px 36px 14px 14px;
  line-height: 1.6;
  border-radius: 6px;
}
.form-car-search__selected.is-selected {
  color: #383838;
}
.form-car-search__selected.is-active {
  border-color: #DF0515;
  outline: solid 2px rgba(223, 5, 21, 0.2);
  box-shadow: none;
}
.form-car-search__toggle {
  border: 1px solid #949494;
  background-color: #fff;
  display: none;
  max-height: 260px;
  overflow: auto;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 5;
}
.form-car-search__maker-list li label {
  font-weight: normal;
  display: block;
  cursor: pointer;
  margin-bottom: 0;
  width: 100%;
}
.form-car-search__maker-list li:nth-child(odd) label {
  background-color: rgba(240, 242, 243, 0.6);
}
.form-car-search__item-input {
  display: none;
}
.form-car-search__item-text {
  display: block;
  padding: 8px 14px;
}
.form-car-search__tab {
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  padding: 6px 0;
  width: 100%;
}
.form-car-search__tab li {
  padding: 0 2px;
  display: flex;
  width: 9%;
}
.form-car-search__tab li:not(:last-child) {
  border-right: 1px solid #949494;
}
.form-car-search__tab-button {
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  padding: 7px 0;
  text-align: center;
  width: 100%;
}
@media (max-width: 767px) {
  .form-car-search__tab-button {
    line-height: 1.2;
  }
}
.form-car-search__tab-button.is-active {
  background-color: #DF0515;
  color: #fff;
}
.form-car-search__car-list {
  display: flex;
  flex-wrap: wrap;
  padding: 12px 14px 6px;
}
.form-car-search__car-list:not(.is-show) {
  display: none;
}
.form-car-search__car-list li {
  border-right: 1px solid #949494;
  padding-right: 1em;
  margin-right: 1em;
  margin-bottom: 10px;
  line-height: 1.4;
}
.form-car-search__car-list li label {
  font-weight: normal;
  display: block;
  cursor: pointer;
  margin-bottom: 0;
  width: 100%;
}
.form-car-search__car-list li label:hover {
  text-decoration: underline;
}
.form-car-search__car-list li .form-car-search__item-text {
  padding: 0;
}
.form-car-search__car-list li:last-child {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}

.form-car-name {
  margin: 16px 0;
}
.form-car-name .form-car-name-input {
  display: none;
  margin: 14px 0 20px;
}
.form-car-name .form-car-name-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}

.form-parts-check-information .box {
  background-color: #fff;
  border-radius: 6px;
  padding: 16px 16px;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .form-parts-check-information .box {
    display: block;
  }
}
.form-parts-check-information .box .information-tit {
  font-size: 16px;
}
@media (max-width: 767px) {
  .form-parts-check-information .box .information-tit {
    font-size: 14px;
    margin-bottom: 8px;
  }
}
.form-parts-check-information .box .form-check {
  margin-left: auto;
  padding-right: 10%;
}
@media (max-width: 767px) {
  .form-parts-check-information .box .form-check {
    padding-right: 0;
  }
}

.form-gift-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .form-gift-list {
    margin-bottom: 0;
  }
}
.form-gift-list li {
  margin-right: 3%;
  width: 22.75%;
}
.form-gift-list li:last-child {
  margin-right: 0;
}
@media (max-width: 767px) {
  .form-gift-list li {
    margin-bottom: 16px;
    margin-right: 3%;
    padding: 4px;
    width: 48.5%;
  }
  .form-gift-list li:nth-child(even) {
    margin-right: 0;
  }
}
.form-gift-list li .gift-label {
  background-color: #fff;
  border: 2px solid #d1d1d1;
  border-radius: 10px;
  display: flex;
  cursor: pointer;
  height: 115px;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 10px;
  margin-bottom: 8px;
  width: 100%;
}
.form-gift-list li .gift-label::before {
  background: url("../img/icon/icon_check_circle_off.svg") no-repeat 0 0;
  background-size: 100%;
  content: "";
  height: 26px;
  display: block;
  position: absolute;
  left: -8px;
  top: -8px;
  width: 26px;
  z-index: 1;
}
.form-gift-list li .gift-input {
  display: none;
}
.form-gift-list li .gift-input:checked + .gift-label {
  border-color: #DF0515;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
}
.form-gift-list li .gift-input:checked + .gift-label::before {
  background-image: url("../img/icon/icon_check_circle.svg");
}
.form-gift-list li p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .form-gift-list li p {
    font-size: 11px;
  }
}
.form-gift-list li .link a {
  color: #383838;
  text-decoration: underline;
}
.form-gift-list li .link a:hover {
  text-decoration: none;
}

/* placeholder */
input.form-control::-moz-placeholder, textarea.form-control::-moz-placeholder {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B2B4B5;
  opacity: 1;
}
input.form-control::placeholder, textarea.form-control::placeholder {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B2B4B5;
  opacity: 1;
}

/* IE */
input.form-control:-ms-input-placeholder, textarea.form-control:-ms-input-placeholder {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B2B4B5;
  opacity: 1;
}

/* Edge */
input.form-control::-ms-input-placeholder, textarea.form-control::-ms-input-placeholder {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #B2B4B5;
  opacity: 1;
}

.message-box {
  font-size: 12px;
  padding: 20px;
}
.message-box p:last-child {
  margin-bottom: 0;
}
.message-box--gray {
  background-color: #f0f2f3;
}
.message-box--orange {
  background-color: rgba(223, 5, 21, 0.06);
}

/* password */
.form-input--password {
  position: relative;
}
.form-input--password::before {
  content: "";
  background: #fff url("../images/common/icon_password01.png") no-repeat 0 0/15px 19px;
  height: 19px;
  left: 16px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  width: 15px;
  z-index: 1;
}
.form-input--password::after {
  background-color: #cccccc;
  content: "";
  height: 70%;
  position: absolute;
  left: 47px;
  top: 15%;
  width: 1px;
  z-index: 1;
}
.form-input--password input.form-control {
  padding-left: 60px;
}

/* checkbox */
.form-check {
  display: inline-block;
  padding-left: 0;
  margin-bottom: 0;
  position: relative;
}
.form-check input[type=checkbox].form-check-input {
  position: absolute;
  display: none;
  z-index: -1;
}
.form-check .form-check-text {
  background: url("../img/common/checkbox_off.png") no-repeat left 0 top 50%;
  background-size: 24px 24px;
  font-size: 16px;
  font-weight: normal;
  display: inline-block;
  position: relative;
  padding: 2px 0 2px 33px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .form-check .form-check-text {
    padding-top: 1px;
  }
}
.form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background-image: url("../img/common/checkbox_on.png");
}
.form-check input[type=checkbox].form-check-input:disabled + .form-check-text {
  color: #949494;
}
.form-check.form-check-no-text .form-check-label {
  display: block;
}
.form-check.form-check-no-text .form-check-text {
  padding-left: 0;
  height: 24px;
  width: 24px;
  display: block;
}

/* radio */
.form-radio {
  display: inline-block;
  padding-left: 0;
  margin-bottom: 0;
  position: relative;
}
.form-radio input[type=radio].form-radio-input {
  position: absolute;
  display: none;
  z-index: -1;
}
.form-radio .form-radio-text {
  background: url("../img/common/radio_off.png") no-repeat left 0 top 50%;
  background-size: 24px 24px;
  font-size: 16px;
  font-weight: normal;
  display: inline-block;
  position: relative;
  padding: 2px 0 2px 33px;
  line-height: 1.6;
}
.form-radio input[type=radio].form-radio-input:checked + .form-radio-text {
  background-image: url("../img/common/radio_on.png");
}
.form-radio input[type=radio].form-radio-input:disabled + .form-radio-text {
  color: #949494;
}

/* selectbox */
.form-select {
  border-color: #d1d1d1;
  background-color: #f8f8f8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M5,0l5,6H0Z' transform='translate(10 6) rotate(180)' fill='%233b4043'/%3E%3C/svg%3E%0A");
  background-size: 10px 6px;
  background-position: right 12px top 50%;
  font-size: 16px;
  padding: 14px 36px 14px 14px;
  line-height: 1.5;
  border-radius: 6px;
}
.form-select.no-value {
  color: #949494;
}
.form-select.no-value option:not(:first-child) {
  color: #383838;
}

.form-select:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.form-select:focus {
  border-color: #DF0515;
  outline: solid 2px rgba(223, 5, 21, 0.2);
  box-shadow: none;
}

.form-select.form-select-sm {
  font-size: 14px;
  padding: 8px 36px 8px 8px;
}

/* form parts
 * ---------------------------------- */
input.form-control, textarea.form-control {
  background-color: #f8f8f8;
  border: 1px solid #d1d1d1;
  font-size: 16px;
  height: inherit;
  padding: 14px 14px;
  box-shadow: none;
  border-radius: 6px;
}
input.form-control:focus, textarea.form-control:focus {
  border-color: #DF0515;
  outline: solid 2px rgba(223, 5, 21, 0.2);
  box-shadow: none;
}

@media (max-width: 767px) {
  input.form-control, textarea.form-control {
    padding: 10px 12px;
  }
}
select.form-control {
  background: #fff;
  background: linear-gradient(to bottom, #ffffff 50%, #f9f9f9 100%);
  font-size: 16px;
  height: 40px;
  padding: 8px 16px;
}

input + p,
select + p {
  font-size: 13px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  input + p,
  select + p {
    font-size: 12px;
  }
}
.form-inline input,
.form-inline select {
  display: inline-block;
}

.form-group .control-label {
  margin-bottom: 4px;
  padding: 14px 0 14px 16px;
}

.form-group .control-label.required:before {
  display: inline-block;
  content: "必須";
  background: #DF0515;
  padding: 3px 7px;
  margin-top: 2px;
  margin-right: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: 14px;
  vertical-align: baseline;
}

.form-group .control-label.option:before {
  display: inline-block;
  content: "任意";
  background: #949999;
  padding: 3px 7px;
  margin-top: 2px;
  margin-right: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  line-height: 14px;
  vertical-align: baseline;
}

/* width */
.form-parts {
  max-width: 100%;
  margin-bottom: 4px;
}

.form-parts.parts-ss {
  width: auto;
  max-width: 96px;
}

.form-parts.parts-s {
  width: 180px;
}

.form-parts.parts-m {
  width: 360px;
}

.form-parts.parts-l {
  width: 600px;
}

.form-parts.parts-ll {
  width: 100%;
}

/* error */
input.form-error,
select.form-error {
  background: linear-gradient(to bottom, #f7e1e1 0%, #fff3f4 50%, #fff3f4 50%);
}

/* form 201910
 * ---------------------------------- */
.form-select-wrap {
  background: #fff;
  background: linear-gradient(to bottom, #ffffff 0%, #f7f7f7 75%, #dddddd 100%);
  border: 2px solid #bfbfbf;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  /* 20191223修正 */
  /* ie9対策 */
}

.form-select-wrap::after {
  content: "";
  background: url("../img/icon-select-arrow.svg") no-repeat 0 0/7px 16px;
  height: 16px;
  top: 50%;
  right: 10px;
  margin-top: -8px;
  position: absolute;
  width: 7px;
}

.form-select-wrap select {
  background: none;
  width: 100%;
  font-size: 16px;
  padding: 12px 30px 12px 10px;
  line-height: 1.6;
  border: none;
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  background: none transparent;
  vertical-align: middle;
  color: #333;
  outline: inherit;
}

@media (max-width: 767px) {
  .form-select-wrap select {
    padding: 10px 30px 10px 12px;
  }
}
.form-select-wrap select:not(:target) {
  width: 120% \9 ;
}

input[type=radio].radio-input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

input[type=radio].radio-input + .radio-label {
  background-image: url("../img/radio_input_off.png");
  background-repeat: no-repeat;
  background-position: 0 3px;
  background-size: 20px 20px;
  padding-left: 25px;
  font-size: 16px;
  font-weight: normal;
}

@media (max-width: 767px) {
  input[type=radio].radio-input + .radio-label {
    background-position: 12px 50%;
    border: 2px solid #f0f1f2;
    background-color: #f0f1f2;
    display: block;
    padding: 13px 15px 13px 40px;
    border-radius: 4px;
  }
}
input[type=radio].radio-input:checked + .radio-label {
  background-image: url("../img/radio_input_on.png");
}

@media (max-width: 767px) {
  input[type=radio].radio-input:checked + .radio-label {
    border: 2px solid #1eb5c5;
  }
}
input[type=checkbox].checkbox-input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

input[type=checkbox].checkbox-input + .checkbox-label {
  background-image: url("../img/checkbox_input_off.png");
  background-repeat: no-repeat;
  background-position: 0 3px;
  background-size: 20px 20px;
  padding-left: 25px;
  font-size: 16px;
  font-weight: normal;
}

@media (max-width: 767px) {
  input[type=checkbox].checkbox-input + .checkbox-label {
    background-position: 12px 50%;
    border: 2px solid #f0f1f2;
    background-color: #f0f1f2;
    display: block;
    padding: 13px 15px 13px 40px;
    border-radius: 4px;
  }
}
input[type=checkbox].checkbox-input:checked + .checkbox-label {
  background-image: url("../img/checkbox_input_on.png");
}

@media (max-width: 767px) {
  input[type=checkbox].checkbox-input:checked + .checkbox-label {
    border: 2px solid #1eb5c5;
  }
}
/* tel link
 * ---------------------------------- */
@media (min-width: 1040px) {
  a[href^="tel:"] {
    cursor: default;
  }
}
@media (max-width: 767px) {
  a[href^="tel:"] {
    cursor: pointer;
  }
}
/* layout
 * ---------------------------------- */
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 480px) {
  .container {
    max-width: none;
    width: 100%;
  }
}
@media (min-width: 480px) {
  .container {
    max-width: none;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: none;
    width: 100%;
  }
  .container.min-container {
    width: 672px;
  }
  .container.min-container-2 {
    width: 732px;
  }
}
@media (min-width: 1040px) {
  .container {
    width: 1032px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.row, .form-horizontal .form-group {
  margin-left: -16px;
  margin-right: -16px;
}

.row > * {
  padding-left: 16px;
  padding-right: 16px;
}

.form-group {
  margin-bottom: 16px;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

.card {
  border-color: #dfdfdf;
  padding: 35px 40px 40px;
  border-radius: 32px;
}
@media (max-width: 767px) {
  .card {
    padding: 20px;
    border-radius: 16px;
  }
}
.card-header {
  background-color: transparent;
}
.card > * {
  min-width: 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  02. header
 * :::::::::::::::::::::::::::::::::::::::::: */
/* 20260901ここから修正 */
.site-header {
  background-color: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  position: fixed;
  padding: 0 48px;
  top: 12px;
  left: 40px;
  right: 40px;
  z-index: 999;
  display: flex;
  transition: top 300ms ease;
  justify-content: space-between;
}
@media (max-width: 1279px) {
  .site-header {
    padding: 0 26px;
    left: 20px;
    right: 20px;
  }
}
@media (max-width: 1039px) {
  .site-header {
    box-shadow: 0 2px 11px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    height: 52px;
    top: 10px;
    left: 10px;
    right: 10px;
    padding: 0 8px 0 14px;
  }
}
.site-header .header-logo {
  margin-right: 5px;
}
.site-header .header-logo a {
  height: 82px;
  align-items: center;
  display: flex;
}
@media (max-width: 1039px) {
  .site-header .header-logo a {
    height: 52px;
  }
}
@media (max-width: 767px) {
  .site-header .header-logo a {
    flex-direction: column;
    align-items: flex-start;
  }
}
.site-header .header-logo img {
  display: block;
}
@media (max-width: 1279px) {
  .site-header .header-logo img {
    width: 250px;
  }
}
@media (max-width: 1039px) {
  .site-header .header-logo img {
    width: 194px;
  }
}
@media (max-width: 767px) {
  .site-header .header-logo img {
    margin: 10px 0 2px;
  }
}
.site-header .header-old-name {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  margin-left: 1.1em;
  margin-top: 0.9em;
  white-space: nowrap;
}
@media (max-width: 1279px) {
  .site-header .header-old-name {
    margin-top: 0.5em;
  }
}
@media (max-width: 1039px) {
  .site-header .header-old-name {
    font-size: 10px;
    margin-top: 0.3em;
  }
}
@media (max-width: 767px) {
  .site-header .header-old-name {
    color: #949494;
    margin-left: 0;
    margin-top: 0;
  }
}
.site-header .header-right {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
@media (max-width: 1039px) {
  .site-header .header-navigation {
    display: none;
  }
}
.site-header .header-navigation-list {
  display: flex;
}
.site-header .header-navigation-list > li > a {
  height: 82px;
  align-items: center;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  transition: color ease 200ms;
  padding: 0 10px;
}
@media (min-width: 1040px) {
  .site-header .header-navigation-list > li > a:hover {
    color: #DF0515;
    font-weight: bold;
  }
}
@media (max-width: 1039px) {
  .site-header .header-navigation-list > li > a {
    height: 52px;
  }
}
.site-header .header-navigation-toggle__content {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity 300ms ease, transform 300ms ease;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 101;
}
.site-header .header-navigation-toggle__content-container {
  padding-top: 12px;
}
.site-header .header-navigation-toggle__main {
  background-color: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 40px;
  display: flex;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 3.5%;
  overflow: auto;
  max-height: calc(100vh - 130px);
}
.site-header .header-navigation-toggle__group-title {
  font-weight: bold;
  display: flex;
  align-items: center;
  margin: 0 0 15px;
}
.site-header .header-navigation-toggle__group-title .ja {
  display: block;
  font-size: 20px;
  margin-right: 15px;
  padding-right: 18px;
  position: relative;
}
.site-header .header-navigation-toggle__group-title .ja::after {
  background-color: #ADBACC;
  border-radius: 1px;
  content: "";
  height: 16px;
  position: absolute;
  top: 0.55em;
  right: 0;
  width: 2px;
}
.site-header .header-navigation-toggle__group-title .en {
  display: block;
  color: #DF0515;
  font-style: "Roboto", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.site-header .header-navigation-toggle__group-list {
  border-top: 1px solid #ADBACC;
}
.site-header .header-navigation-toggle__group-list li a {
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid #ADBACC;
  display: flex;
  align-items: center;
  padding: 11px 24px 12px 0;
  position: relative;
  transition: color ease 240ms;
  width: 100%;
}
.site-header .header-navigation-toggle__group-list li a::before, .site-header .header-navigation-toggle__group-list li a::after {
  content: "";
  transition: all 300ms ease;
  position: absolute;
}
.site-header .header-navigation-toggle__group-list li a::before {
  background-color: #DF0515;
  height: 1px;
  bottom: -1px;
  left: 0;
  width: 0;
}
.site-header .header-navigation-toggle__group-list li a::after {
  background: url(../img/common/link_arrow.svg) no-repeat center center;
  background-size: cover;
  height: 8px;
  top: 50%;
  margin-top: -4px;
  right: 6px;
  width: 12px;
  transition: right 300ms ease;
}
.site-header .header-navigation-toggle__group-list li a .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 40px;
}
.site-header .header-navigation-toggle__group-list li a .icon .svg {
  position: relative;
}
.site-header .header-navigation-toggle__group-list li a .icon .svg-static, .site-header .header-navigation-toggle__group-list li a .icon .svg-anime {
  transition: opacity 200ms ease;
}
.site-header .header-navigation-toggle__group-list li a .icon .svg-anime {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  width: 100%;
}
.site-header .header-navigation-toggle__group-list li a .icon img {
  display: block;
}
.site-header .header-navigation-toggle__group-list li a .txt {
  display: block;
  padding-left: 8px;
  line-height: 1.5;
}
.site-header .header-navigation-toggle__group-list li a .txt small {
  font-size: 12px;
}
@media (min-width: 1040px) {
  .site-header .header-navigation-toggle__group-list li a:hover {
    color: #DF0515;
    font-weight: bold;
  }
  .site-header .header-navigation-toggle__group-list li a:hover::before {
    width: 100%;
  }
  .site-header .header-navigation-toggle__group-list li a:hover::after {
    right: 0;
  }
  .site-header .header-navigation-toggle__group-list li a:hover .icon .svg-static {
    opacity: 0;
  }
  .site-header .header-navigation-toggle__group-list li a:hover .icon .svg-anime {
    opacity: 1;
  }
}
.site-header .header-navigation-toggle__group--shaken .header-navigation-toggle__group-list li:first-child a .icon {
  padding-bottom: 4px;
}
.site-header .header-navigation-toggle__group--coating .header-navigation-toggle__group-list li:nth-child(2) a .icon {
  padding-bottom: 6px;
}
.site-header .header-navigation-toggle__title {
  height: 82px;
  align-items: center;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  transition: color ease 200ms;
  position: relative;
  cursor: pointer;
  padding: 0 10px;
}
.site-header .header-navigation-toggle__title .title-txt {
  padding-right: 15px;
  position: relative;
}
.site-header .header-navigation-toggle__title .title-txt::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #727171;
  border-right: 2px solid #727171;
  transform: rotate(45deg);
  right: 0;
  transform: rotate(135deg);
  margin-top: -5px;
  transition: border-color ease 200ms;
}
.site-header .header-navigation-toggle:hover .header-navigation-toggle__title {
  color: #DF0515;
  font-weight: bold;
}
.site-header .header-navigation-toggle:hover .header-navigation-toggle__title .title-txt::after {
  border-color: #DF0515;
}
.site-header .header-navigation-toggle:hover .header-navigation-toggle__content {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}
.site-header .header-menu-btn {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin-left: 5px;
}
.site-header .header-menu-btn .btn-login {
  display: block;
  border-radius: 4px;
  border: 1px solid #383838;
  font-size: 14px;
  font-weight: 500;
  padding: 6px 16px;
  transition: color ease 200ms, font-weight ease 200ms, border-color ease 200ms;
  white-space: nowrap;
}
@media (min-width: 1040px) {
  .site-header .header-menu-btn .btn-login:hover {
    border-color: #DF0515;
    color: #DF0515;
    font-weight: bold;
  }
}
@media (max-width: 767px) {
  .site-header .header-menu-btn .btn-login {
    font-size: 12px;
    padding: 6px 9px;
  }
}
.site-header .header-menu-btn .hamburger-btn {
  display: none;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0px;
}
@media (max-width: 1039px) {
  .site-header .header-menu-btn .hamburger-btn {
    display: block;
  }
}
.site-header .header-menu-btn .hamburger-btn .btn-icon {
  height: 40px;
  width: 40px;
  position: relative;
}
.site-header .header-menu-btn .hamburger-btn .btn-icon .bar {
  background-color: #383838;
  height: 1px;
  position: absolute;
  left: 50%;
  margin-left: -14px;
  width: 28px;
  border-radius: 1px;
  transition: all 300ms ease;
}
.site-header .header-menu-btn .hamburger-btn .btn-icon .bar.bar-1 {
  top: 12px;
}
.site-header .header-menu-btn .hamburger-btn .btn-icon .bar.bar-2 {
  top: 19px;
}
.site-header .header-menu-btn .hamburger-btn .btn-icon .bar.bar-3 {
  top: 26px;
}

.menu-opened .site-header {
  top: 10px !important;
}
@media (max-width: 1039px) {
  .menu-opened .header-menu-btn .hamburger-btn .btn-icon .bar.bar-1 {
    top: 19px;
    transform: rotate(35deg);
  }
  .menu-opened .header-menu-btn .hamburger-btn .btn-icon .bar.bar-2 {
    opacity: 0;
  }
  .menu-opened .header-menu-btn .hamburger-btn .btn-icon .bar.bar-3 {
    top: 19px;
    transform: rotate(-35deg);
  }
}

/* 20260901ここまで修正 */
/* gside menu
 * ---------------------------------- */
.sp-navigation {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 72px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  opacity: 0;
  padding: 24px;
  transform: translateY(-16px);
  z-index: 1000;
  transition: all 300ms ease;
  pointer-events: none;
  overflow: auto;
}
@media (max-width: 767px) {
  .sp-navigation {
    border-radius: 4px;
    padding: 10px;
  }
}
.sp-navigation .navigation-list {
  border-top: 1px solid #ADBACC;
  margin-top: 20px;
  margin-bottom: 20px;
}
.sp-navigation .navigation-list > li {
  border-bottom: 1px solid #ADBACC;
  line-height: 1.3;
}
.sp-navigation .navigation-list > li > a {
  background: url(../img/common/link_arrow.svg) no-repeat right 5px center;
  background-size: 12px 7px;
  font-size: 14px;
  display: block;
  font-weight: bold;
  padding: 17px 20px 18px 5px;
}
.sp-navigation .navigation-list > li .sp-navigation-service-title {
  cursor: pointer;
  font-weight: bold;
  line-height: 1.3;
  padding: 17px 20px 18px 5px;
  position: relative;
}
.sp-navigation .navigation-list > li .sp-navigation-service-title::before, .sp-navigation .navigation-list > li .sp-navigation-service-title::after {
  content: "";
  border-radius: 1px;
  background-color: #383838;
  position: absolute;
  top: 50%;
}
.sp-navigation .navigation-list > li .sp-navigation-service-title::before {
  height: 1px;
  right: 5px;
  width: 11px;
}
.sp-navigation .navigation-list > li .sp-navigation-service-title::after {
  height: 11px;
  transform: translateY(-50%);
  right: 10px;
  width: 1px;
}
.sp-navigation .navigation-list > li .sp-navigation-service-title.is-active::after {
  content: none;
}
.sp-navigation .navigation-list > li .sp-navigation-service-content {
  overflow: hidden;
  transition: grid-template-rows 240ms ease, padding-bottom 240ms ease;
  display: grid;
  grid-template-rows: 0fr;
}
.sp-navigation .navigation-list > li .sp-navigation-service-content.is-open {
  grid-template-rows: 1fr;
  padding-bottom: 20px;
}
.sp-navigation .navigation-list > li .sp-navigation-service-list {
  min-height: 0;
  grid-template-columns: repeat(2, 1fr);
}
.sp-navigation .navigation-list > li .sp-navigation-service-list li a {
  background: url(../img/common/link_arrow.svg) no-repeat right center;
  background-size: 12px 8px;
  display: inline-block;
  padding: 2px 20px;
  position: relative;
  font-size: 14px;
}
.sp-navigation .link-list > li > a {
  background: url(../img/common/link_arrow_gray.svg) no-repeat right 5px center;
  background-size: 12px 8px;
  font-size: 12px;
  display: block;
  padding: 5px 25px 5px 5px;
}
.sp-navigation .link-list > li > a[target=_blank] {
  background: url(../img/icon/icon_window.svg) no-repeat right 5px 50%;
}

.sp-navigation-bg {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease;
}

.sp-navigation-search {
  background-color: #ECEFF4;
  border-radius: 4px;
  padding: 15px;
}
.sp-navigation-search .form-group {
  margin-bottom: 16px;
}
.sp-navigation-search .form-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-label {
    font-size: 14px;
  }
}
.sp-navigation-search .form-control {
  background-color: #F9FAFC;
  border-color: #ADBACC;
  padding: 15px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .sp-navigation-search .form-control {
    font-size: 14px;
  }
}
.sp-navigation-search .form-control::-moz-placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.sp-navigation-search .form-control::placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.sp-navigation-search .form-check .form-check-text {
  background: none;
  padding: 0 0 0 38px;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-check .form-check-text {
    padding-top: 2px;
    font-size: 14px;
  }
}
.sp-navigation-search .form-check .form-check-text::before {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
}
.sp-navigation-search .form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background: none;
  font-weight: bold;
}
.sp-navigation-search .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  background: #fff url(../img/search/form_check.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #383838;
  opacity: 1;
}
.sp-navigation-search .form-check .tooltip-icon-question {
  background-image: url(../img/search/icon_help.svg);
  height: 20px;
  position: relative;
  top: -2px;
  width: 20px;
  background-size: 20px 20px;
}
.sp-navigation-search .form-group--keyword .form-control {
  background-image: url(../img/search/icon_mappin.svg);
  background-position: left 15px top 52%;
  background-repeat: no-repeat;
  padding-left: 42px;
}
@media (max-width: 767px) {
  .sp-navigation-search .form-group--keyword .form-control {
    background-position: left 7px top 52%;
    background-size: 15px 19px;
    padding-left: 26px;
  }
}
.sp-navigation-search .form-group--service .search-service-list {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--service .search-service-list {
    gap: 4px;
  }
}
.sp-navigation-search .form-group--service .search-service-list li {
  flex: 1;
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-label {
  display: block;
  position: relative;
  margin: 0;
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-input {
  display: none;
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-content {
  font-weight: normal;
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  border-radius: 4px;
  text-align: center;
  padding: 4px 0 8px;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--service .search-service-list li .search-service-content {
    font-size: 12px;
  }
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-content .icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 46px;
  margin: 0 auto 10px;
  width: 100%;
}
@media (max-width: 767px) {
  .sp-navigation-search .form-group--service .search-service-list li .search-service-content .icon {
    margin-bottom: 6px;
  }
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-content .icon img {
  display: block;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--service .search-service-list li .search-service-content .icon img {
    transform: scale(0.9);
  }
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-content .text {
  line-height: 1.1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  width: 100%;
}
@media screen and (max-width: 480px) {
  .sp-navigation-search .form-group--service .search-service-list li .search-service-coating .search-service-content {
    font-size: 10px;
  }
}
.sp-navigation-search .form-group--service .search-service-list li .search-service-input:checked + .search-service-content {
  font-weight: bold;
  background-color: #fff;
  border-color: #DF0515;
}
.sp-navigation-search .form-group--detail-filter .form-field {
  display: flex;
  align-items: center;
}
@media (max-width: 479px) {
  .sp-navigation-search .form-group--detail-filter .form-field {
    display: block;
  }
}
.sp-navigation-search .form-group--detail-filter .form-check {
  margin-left: 10px;
  white-space: nowrap;
}
@media (max-width: 479px) {
  .sp-navigation-search .form-group--detail-filter .form-check {
    margin-left: 0;
    margin-top: 15px;
  }
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  font-size: 16px;
  height: inherit;
  padding: 15px 15px 16px 42px;
  box-shadow: none;
  border-radius: 4px;
  flex: 1;
  position: relative;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--detail-filter .search-detail-datepicker-icon {
    transform: translateY(-54%);
  }
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-icon img {
  display: block;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-control {
  border: none;
  position: absolute;
  font-size: 16px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
  width: 100%;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
  font-size: 15px;
  display: inline-block;
  font-weight: normal;
  overflow: hidden;
  min-width: 1em;
  padding: 0;
  white-space: nowrap;
  vertical-align: top;
}
@media (max-width: 767px) {
  .sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 14px;
  }
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder::before {
  content: "";
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
  content: attr(data-placeholder);
  color: #383838;
}
@media (max-width: 767px) {
  .sp-navigation-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
    content: "予約希望日を選択";
  }
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-icon {
  opacity: 0.5;
}
.sp-navigation-search .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-input .form-placeholder {
  opacity: 0.5;
}
.sp-navigation-search .form-group--detail-time .search-detail-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sp-navigation-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label {
  display: block;
  margin: 0;
}
.sp-navigation-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
  background-color: #fff;
  border-radius: 4px;
  border: 1px dashed #383838;
  display: block;
  font-weight: normal;
  line-height: 1.2;
  font-size: 16px;
  padding: 7px 15px;
}
@media (max-width: 360px) {
  .sp-navigation-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
    font-size: 14px;
  }
}
.sp-navigation-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input {
  display: none;
}
.sp-navigation-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input:checked + .text {
  border: 1px solid #DF0515;
  font-weight: bold;
}
.sp-navigation-search .submit-area {
  margin-top: 18px;
}
.sp-navigation-search .submit-area .search-btn {
  background-color: #DF0515;
  color: #fff;
  border-radius: 4px;
  box-shadow: none;
  font-size: 16px;
  font-weight: bold;
  display: block;
  padding: 16px;
  width: 100%;
}

/* 20260727ここから修正 */
.menu-opened #content-wrap {
  position: relative;
  z-index: 100;
}
.menu-opened .sp-navigation {
  pointer-events: auto;
  opacity: 1 !important;
  transform: translateY(0);
}
.menu-opened .sp-navigation-bg {
  pointer-events: auto;
  opacity: 1 !important;
  z-index: 998;
}

/* 20260727ここまで修正 */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  03. footer
 * :::::::::::::::::::::::::::::::::::::::::: */
/* fixed banner
 * ---------------------------------- */
@media (max-width: 767px) {
  .sp-fixed-banner {
    padding-bottom: 50px;
  }
}
.fixed-banner {
  display: none;
  position: fixed;
  right: 0;
  top: 45%;
  z-index: 10;
}

@media (max-width: 767px) {
  .fixed-banner {
    top: auto;
    bottom: 0;
    width: 100%;
  }
  .fixed-banner a {
    display: block;
    text-decoration: none;
    padding: 8px 16px;
    height: 50px;
    background: rgba(255, 255, 255, 0.8);
  }
  .fixed-banner span {
    display: block;
    font-size: 16px;
    background: #DF0515 url("../img/icon-circle_white_up.svg") no-repeat right 15px top 50%/18px 18px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    height: 34px;
    line-height: 34px;
    border-radius: 20px;
  }
}
.app-induction-banner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  display: none;
}
@media (max-width: 767px) {
  .app-induction-banner {
    display: block;
  }
}
.app-induction-banner.is-hidden {
  transform: translateY(-100%);
  pointer-events: none;
}
.app-induction-banner-inner {
  background-color: #EAEBED;
  padding: 0 10px 0 0;
  display: flex;
  align-items: center;
  height: 80px;
}
.app-induction-banner .banner-close {
  outline: 0;
  border: 0;
  background: none;
  position: relative;
  height: 30px;
  width: 30px;
}
.app-induction-banner .banner-close::before, .app-induction-banner .banner-close::after {
  background-color: #A3AFC0;
  content: "";
  height: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
}
.app-induction-banner .banner-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.app-induction-banner .banner-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.app-induction-banner .banner-logo {
  margin-right: 10px;
  width: 56px;
  box-shadow: 0 1px 8p rgba(0, 0, 0, 0.1);
  border-radius: 24px;
}
.app-induction-banner .banner-text {
  margin-right: 15px;
}
.app-induction-banner .banner-text .tit {
  font-size: 15px;
  font-weight: bold;
}
@media (max-width: 360px) {
  .app-induction-banner .banner-text .tit {
    font-size: 14px;
  }
}
.app-induction-banner .banner-text .tit .free {
  border: 1px solid #383838;
  font-size: 10px;
  border-radius: 4px;
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.12em 0.2em 0.16em;
  vertical-align: bottom;
}
.app-induction-banner .banner-text .txt {
  font-size: 11px;
  font-weight: 500;
  color: rgba(56, 56, 56, 0.5);
  letter-spacing: -0.05em;
  margin-top: 0.6em;
  line-height: 1.2;
}
.app-induction-banner .banner-btn {
  flex: 1;
}
.app-induction-banner .banner-btn a {
  background-color: #383838;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  display: block;
  letter-spacing: -0.05em;
  border-radius: 4px;
  text-align: center;
  padding: 11px 5px;
  white-space: nowrap;
}
@media (max-width: 360px) {
  .app-induction-banner .banner-btn a {
    font-size: 10px;
  }
}

/* footer
 * ---------------------------------- */
.site-footer {
  background-color: #fff;
  padding: 90px 48px;
  margin-top: 100px;
}
@media (max-width: 767px) {
  .site-footer {
    margin-top: 60px;
    padding: 64px 16px 100px;
  }
}
.site-footer::before {
  content: none;
}
.site-footer-main {
  border-bottom: 1px solid #ADBACC;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 32px;
  margin-bottom: 32px;
}
@media (max-width: 1039px) {
  .site-footer-main {
    display: block;
  }
}
@media (max-width: 767px) {
  .site-footer-main {
    padding-bottom: 0;
  }
}
@media (max-width: 1039px) {
  .site-footer .footer-logo {
    margin-bottom: 30px;
  }
  .site-footer .footer-logo img {
    width: 254px;
  }
}
@media (max-width: 767px) {
  .site-footer .footer-logo {
    margin-bottom: 20px;
  }
}
.site-footer .footer-navigation-list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list {
    display: block;
  }
}
.site-footer .footer-navigation-list > li {
  margin-right: 24px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li {
    border-top: 1px solid #ADBACC;
    margin-right: 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .site-footer .footer-navigation-list > li:last-child {
    display: none;
  }
}
.site-footer .footer-navigation-list > li:nth-child(2) {
  margin-right: 0;
}
.site-footer .footer-navigation-list > li:last-child {
  margin-right: 0;
}
.site-footer .footer-navigation-list > li > a {
  align-items: center;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 0;
}
@media (min-width: 1040px) {
  .site-footer .footer-navigation-list > li > a {
    transition: color ease 200ms;
  }
  .site-footer .footer-navigation-list > li > a:hover {
    color: #DF0515;
    font-weight: bold;
  }
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li > a {
    padding: 17px 20px 18px 0;
    position: relative;
  }
  .site-footer .footer-navigation-list > li > a::after {
    right: 10px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #727171;
    border-right: 2px solid #727171;
    transform: rotate(45deg);
  }
}
.site-footer .footer-navigation-list > li .btn-login {
  display: block;
  border-radius: 4px;
  border: 1px solid #383838;
  font-size: 14px;
  font-weight: 500;
  padding: 7px 16px;
  transition: color ease 200ms, font-weight ease 200ms, border-color ease 200ms;
  white-space: nowrap;
  margin-left: 10px;
}
@media (min-width: 1040px) {
  .site-footer .footer-navigation-list > li .btn-login:hover {
    border-color: #DF0515;
    color: #DF0515;
    font-weight: bold;
  }
}
.site-footer .footer-navigation-list > li .footer-navigation-service-title {
  padding-top: 8px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 0.3em;
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li .footer-navigation-service-title {
    cursor: pointer;
    padding: 17px 20px 18px 0;
    margin-bottom: 0;
    position: relative;
  }
  .site-footer .footer-navigation-list > li .footer-navigation-service-title::after {
    transition: transform 240ms ease;
    right: 8px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #727171;
    border-right: 2px solid #727171;
    transform: rotate(45deg);
    transform: rotate(135deg);
    margin-top: -5px;
  }
  .site-footer .footer-navigation-list > li .footer-navigation-service-title.is-active::after {
    transform: rotate(-45deg);
    margin-top: -3px;
  }
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li .footer-navigation-service-content {
    overflow: hidden;
    transition: grid-template-rows 240ms ease, padding-bottom 240ms ease;
    display: grid;
    grid-template-rows: 0fr;
  }
  .site-footer .footer-navigation-list > li .footer-navigation-service-content.is-open {
    grid-template-rows: 1fr;
    padding-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li .footer-navigation-service-list {
    min-height: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
.site-footer .footer-navigation-list > li .footer-navigation-service-list li a {
  font-size: 12px;
  display: inline-block;
  padding-left: 1.2em;
  position: relative;
  transition: color ease 200ms;
}
.site-footer .footer-navigation-list > li .footer-navigation-service-list li a::before {
  content: "";
  background-color: #383838;
  position: absolute;
  left: 0.5em;
  border-radius: 50%;
  height: 3px;
  top: 0.85em;
  width: 3px;
}
@media (min-width: 1040px) {
  .site-footer .footer-navigation-list > li .footer-navigation-service-list li a:hover {
    color: #DF0515;
  }
}
@media (max-width: 767px) {
  .site-footer .footer-navigation-list > li .footer-navigation-service-list li a {
    background: url(../img/common/link_arrow.svg) no-repeat right center;
    background-size: 12px 7px;
    display: inline-block;
    padding: 0 20px;
    position: relative;
  }
  .site-footer .footer-navigation-list > li .footer-navigation-service-list li a::before {
    content: none;
  }
}
.site-footer .footer-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 20px;
}
.site-footer .footer-link-list li a {
  font-size: 12px;
  display: inline-block;
}
.site-footer .footer-link-list li a[target=_blank] {
  background: url(../img/icon/icon_window.svg) no-repeat 100% 50%;
  padding-right: 15px;
}
.site-footer .copyright {
  margin-bottom: 0;
  padding-top: 15px;
}
@media (max-width: 767px) {
  .site-footer .copyright {
    font-size: 12px;
    padding-top: 20px;
  }
}

.page-home .site-footer {
  margin-top: 0px;
}

/* pagetop
 * ---------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  04. sub page
 * :::::::::::::::::::::::::::::::::::::::::: */
.sub-area {
  margin-top: 24px;
}

@media (max-width: 767px) {
  .sub-area {
    margin-top: 8px;
    padding: 8px;
  }
}
/* breadcrumb
 * ---------------------------------- */
#breadcrumb {
  background: #fff;
  margin: 0;
  border-radius: 3px 3px 0 0;
  border-bottom: 1px solid #eee;
  list-style: none;
  padding: 16px 24px;
  font-size: 12px;
  overflow: hidden;
}

#breadcrumb a {
  color: #333;
  text-decoration: none;
}

#breadcrumb a:hover {
  color: #999;
}

#breadcrumb li {
  display: inline-block;
  vertical-align: bottom;
  line-height: 1.2;
}

#breadcrumb li:not(:first-child):before {
  display: inline-block;
  content: "\f105";
  color: #999;
  font-family: FontAwesome;
  padding: 0 0.5em;
}

@media (max-width: 767px) {
  #breadcrumb {
    padding: 8px 16px;
  }
}
.breadcrumbs {
  font-size: 13px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}

@media (max-width: 767px) {
  .breadcrumbs {
    font-size: 11px;
    margin-top: 3px;
  }
}
.breadcrumbs li {
  display: inline;
  line-height: 1.2;
  color: #fff;
  vertical-align: baseline;
}

.breadcrumbs li:not(:last-child)::after {
  content: ">";
  margin: 0 8px 0 10px;
}

@media (max-width: 767px) {
  .breadcrumbs li:not(:last-child)::after {
    margin: 0 2px 0 5px;
  }
}
.breadcrumbs li a {
  color: #fff;
  vertical-align: baseline;
}

.yoyaku-v1 .breadcrumbs li, .yoyaku-v1 .breadcrumbs li a {
  color: #383838;
}

.pagenavi {
  display: flex;
}
.pagenavi span, .pagenavi a {
  font-size: 13px;
  border-radius: 3px;
  display: inline-block;
  text-align: center;
  line-height: 30px;
  height: 32px;
  padding: 0 4px;
  min-width: 32px;
  margin: 0 4px 4px;
  vertical-align: top;
}
.pagenavi a {
  border: 1px solid #ccc;
  background-color: #fff;
  color: #383838;
  transition: background-color ease 200ms;
}
@media (min-width: 1040px) {
  .pagenavi a:hover {
    background-color: #F5F6FA;
  }
}
.pagenavi .current {
  color: #fff;
  border: 1px solid #383838;
  background: #383838;
  border: none;
}
.pagenavi .extend {
  border-radius: 0;
  background: none;
  border: none;
  padding: 0;
  min-width: inherit;
}

/* page title
 * ---------------------------------- */
.page-title {
  color: #383838;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin: 38px auto 35px;
}
@media (max-width: 767px) {
  .page-title {
    font-size: 21px;
    margin: 20px auto 22px;
  }
}

/* content area
 * ---------------------------------- */
.sub-area .sub-area-contents {
  background: #fff;
  margin-bottom: 4px;
  border-radius: 3px;
  padding: 16px 24px 32px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

@media (max-width: 767px) {
  .sub-area .sub-area-contents {
    padding: 8px 16px 16px;
  }
}
@media (max-width: 767px) {
  .main-contents {
    padding-left: 0;
    padding-right: 0;
  }
}
.main-contents .inner {
  background: #fff;
  margin-bottom: 4px;
  padding: 26px 24px 32px;
  -ms-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .main-contents .inner {
    padding: 12px 16px 16px;
    border-radius: 0;
  }
}
.main-contents .inner.no-bg {
  background-color: inherit;
  padding: 0;
  -ms-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
}

.main-contents section > h3 {
  font-size: 20px;
  margin-top: 0;
  position: relative;
  margin-left: -24px;
  margin-right: -24px;
  border-left: 6px solid #DF0515;
  padding: 3px 18px 3px;
}

@media (max-width: 767px) {
  .main-contents section > h3 {
    font-size: 16px;
    margin-left: -16px;
    margin-right: -16px;
    padding: 3px 16px 3px 10px;
  }
}
.main-contents .back-page {
  margin-top: 20px;
  margin-bottom: 10px;
}

.main-contents .back-page a {
  background: url("../img/icon-backpage.png") no-repeat 0 50%/14px 10px;
  padding-left: 20px;
}

/* 20191205追加 */
.min-contents {
  max-width: 612px;
  width: 100%;
}

/* prev
 * ---------------------------------- */
.sub-area-prev {
  border-top: 1px solid #eee;
  margin: 16px -16px 0;
  padding: 16px;
}

@media (min-width: 768px) {
  .sub-area-prev {
    margin: 16px -24px 0;
    padding: 16px 24px 24px;
  }
}
/* box
 * ---------------------------------- */
.gray-box {
  border: 8px solid #dfdfdf;
  padding: 16px 8px;
}

.gray-box-header {
  margin: -8px -8px 8px;
  padding: 0 8px 8px;
  border-bottom: 1px solid #dfdfdf;
}

.gray-box-header img:first-child {
  margin-right: 0.5em;
}

.gray-box h3 {
  padding: 16px 0 8px;
  font-size: 20px;
  border-bottom: 1px dotted #dfdfdf;
}

.gray-box h3:first-child {
  margin-top: 0;
}

@media (min-width: 768px) {
  .gray-box {
    padding: 16px 24px;
  }
  .gray-box-header {
    margin: -16px -24px 16px;
    padding: 8px;
  }
}
/* headline
 * ---------------------------------- */
h1 {
  font-size: inherit;
  font-weight: normal;
  margin: 0;
}

h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1.3;
  overflow: hidden;
  clear: both;
}

h4 {
  font-size: 16px;
}

/* h2 */
.sub-area h2 {
  border-bottom: 2px solid;
  margin: 16px -16px 8px;
  padding: 0 16px 8px;
  font-size: 28px;
  font-weight: 400;
}

.sub-area.cat-etc h2 {
  border-color: #DF0515;
  color: #DF0515;
}

.sub-area.cat-service h2 {
  border-color: #de5223;
  color: #de5223;
}

.sub-area.cat-guide h2 {
  border-color: #1491a7;
  color: #1491a7;
}

.sub-area.cat-mypage h2 {
  border-color: #d2b479;
  color: #d2b479;
}

.sub-area h2.unstyled {
  border: 0;
  color: inherit;
}

/* h3 */
.sub-area section:not(.gray-box) > h3 {
  border-left: 6px solid;
  margin: 24px -16px 18px;
  padding: 0 16px;
  font-size: 20px;
}

.sub-area section:not(.gray-box) > h3.mb-5 {
  margin-bottom: 5px;
}

.modal-box h3 {
  margin-left: -12px;
  padding: 0 12px;
  border-left: 6px solid;
  font-size: 20px;
}

.sub-area.cat-etc section:not(.gray-box) > h3 {
  border-color: #DF0515;
}

.sub-area.cat-service section:not(.gray-box) > h3 {
  border-color: #de5233;
}

.sub-area.cat-guide section:not(.gray-box) > h3 {
  border-color: #1491a7;
}

.sub-area.cat-mypage section:not(.gray-box) > h3 {
  border-color: #d2b479;
}

.sub-area section > h3.unstyled {
  border-left: none;
  color: inherit;
  margin: 24px 0 8px;
  padding: 0;
}

/* h4 */
h4 {
  font-size: 16px;
}

@media (min-width: 768px) {
  /* h2 */
  .sub-area h2 {
    margin: 16px -24px 8px;
    padding: 8px 24px;
    font-size: 36px;
  }
  /* h3 */
  .sub-area section:not(.gray-box) > h3 {
    margin: 40px -24px 24px;
    padding: 0 18px;
  }
  .modal-box h3 {
    margin-left: -24px;
    padding: 0 18px;
    border-left: 6px solid;
  }
  .sub-area section > h3.unstyled {
    margin: 40px 0 24px;
    padding: 0;
  }
}
/* modal
 * ---------------------------------- */
.modal-header {
  border-bottom-color: #d1d1d1;
  padding: 20px 30px;
}
@media (max-width: 767px) {
  .modal-header {
    padding: 20px 16px;
  }
}
.modal-header .btn-close {
  background: #949494 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  background-size: 1.4rem 1.4rem;
  height: 44px;
  width: 44px;
  opacity: 1;
  padding: 0;
  margin: 0;
  border-radius: 50%;
}
.modal-header .btn-close:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .modal-header .btn-close {
    background-size: 1.2rem 1.2rem;
    height: 40px;
    width: 40px;
  }
}
.modal-body {
  padding: 20px 30px;
}
@media (max-width: 767px) {
  .modal-body {
    padding: 20px 16px;
  }
}
.modal-footer {
  border-top-color: #d1d1d1;
  padding: 15px 30px;
}
@media (max-width: 767px) {
  .modal-footer {
    padding: 10px 16px;
  }
}
.modal-title {
  margin: 0;
}
.modal .btn-close:focus {
  box-shadow: none;
}

body.modal-open {
  padding-right: 0 !important;
}
body.modal-open .modal {
  padding-right: 0 !important;
}

#modal-wrap {
  display: none;
  width: 100%;
  height: 100%;
  padding: 24px 8px;
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  overflow: auto;
  z-index: 1000;
  -webkit-overflow-scrolling: touch;
}

.modal-box {
  display: none;
  background: #fff;
  width: 90%;
  max-width: 800px;
  padding: 8px 12px 16px;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.modal-box a.modal-close {
  color: #333;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
}

.modal-box a.modal-close img {
  margin-left: 0.3em;
}

@media (min-width: 768px) {
  .modal-box {
    padding: 16px 24px 24px;
  }
}
.modal-type1 .modal-dialog {
  margin-top: 26px;
}

.modal-type1 button.close {
  opacity: 1;
  position: absolute;
  right: -5px;
  top: -14px;
  background: #fff;
  height: 30px;
  line-height: 30px;
  text-align: center;
  width: 30px;
  z-index: 1;
  border-radius: 50%;
}

.modal-type1 button.close img {
  display: block;
  margin: 0 auto;
}

.modal-type1 .modal-content {
  border: none;
  border-radius: 4px;
  -ms-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

#settingModal .modal-body {
  overflow: hidden;
  padding-top: 0;
}

#settingModal .modal-body h4 {
  background-color: #949999;
  color: #fff;
  font-size: 16px;
  padding: 10px 15px;
  position: relative;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 15px;
  margin-top: 0;
}

@media (max-width: 767px) {
  #settingModal .modal-body h4 {
    padding: 8px 15px;
  }
}
#settingModal .modal-body h4.first {
  border-radius: 4px 4px 0 0;
}

#settingModal .modal-body h4 span {
  background-repeat: no-repeat;
  background-position: 0 5px;
  padding-left: 24px;
}

#settingModal .modal-body h4 .title-service {
  background-image: url("../img/icon-tool3.svg");
  background-size: 18px 18px;
}

#settingModal .modal-body h4 .title-setting {
  background-image: url("../img/icon-setting2.svg");
  background-size: 16px 16px;
}

#settingModal .modal-body h5 {
  font-size: 16px;
  margin-top: 15px;
  margin-bottom: 15px;
  position: relative;
  margin-left: -15px;
  margin-right: -15px;
  border-left: 6px solid #DF0515;
  padding: 3px 18px 3px;
}

#settingModal .modal-body .form-select-wrap {
  margin-bottom: 15px;
}

#settingModal .modal-body .radio-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#settingModal .modal-body .radio-list li {
  float: left;
  margin-right: 30px;
  position: relative;
}

#settingModal .modal-body .radio-list li:last-child {
  margin-right: 0;
}

@media (max-width: 767px) {
  #settingModal .modal-body .radio-list li {
    float: none;
    margin-right: auto;
    margin-bottom: 10px;
  }
}
#settingModal .modal-body .radio-list li .setting-data {
  line-height: 1;
  margin-top: 5px;
  font-size: 13px;
}

#settingModal .modal-body .radio-list li .setting-data span {
  margin-right: 5px;
}

@media (max-width: 767px) {
  #settingModal .modal-body .radio-list li .setting-data {
    position: absolute;
    top: 5px;
    right: 13px;
  }
  #settingModal .modal-body .radio-list li .setting-data span {
    display: block;
    margin-right: 0;
    margin-bottom: 6px;
  }
}
#settingModal .modal-body .btn-area {
  padding-top: 20px;
  padding-bottom: 10px;
}

@media (max-width: 767px) {
  #settingModal .modal-body .btn-area {
    padding-top: 8px;
  }
}
#settingModal .modal-body .btn-area .btn-blue {
  width: 220px;
}

#settingModal .modal-body .btn-area .btn-blue span {
  background: url("../img/icon_search.png") no-repeat 2px 50%/20px 20px;
  padding: 3px 0 3px 30px;
}

@media (min-width: 1040px) {
  #priceModal .modal-dialog {
    width: 860px;
  }
}
#priceModal .modal-header {
  border-bottom: 3px solid #DF0515;
  text-align: center;
}

#priceModal .modal-header h2 {
  color: #DF0515;
  font-size: 26px;
}

@media (max-width: 767px) {
  #priceModal .modal-header h2 {
    font-size: 22px;
  }
}
#priceModal .modal-body {
  padding-top: 0;
}

#priceModal #price-ss {
  position: relative;
  margin-left: -15px;
  margin-right: -15px;
}

#priceModal h3 {
  font-size: 18px;
  margin-top: 15px;
  margin-bottom: 0;
  position: relative;
  margin-left: -15px;
  margin-right: -15px;
  border-left: 6px solid #DF0515;
  padding: 3px 18px 3px 9px;
}

@media (max-width: 767px) {
  #priceModal h3 {
    font-size: 16px;
  }
}
#inflowModal .modal-dialog {
  margin-top: 60px;
}

#inflowModal .close {
  background: #fff;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  position: absolute;
  right: -10px;
  top: -10px;
  color: #aaa;
  opacity: 1;
  z-index: 1;
}

#inflowModal .modal-img img {
  width: 100%;
}

#inflowModal .modal-contents {
  text-align: center;
  padding: 30px 10px 0;
}

#inflowModal .modal-contents p {
  font-size: 18px;
  font-weight: bold;
}

#inflowModal .modal-contents .large {
  color: #1eb5c5;
  font-size: 24px;
  margin-bottom: 13px;
  line-height: 1.5;
}

#inflowModal .modal-contents .btn-etc {
  background-image: none;
}

@media (max-width: 767px) {
  #inflowModal .modal-dialog {
    margin-top: 60px;
  }
  #inflowModal .modal-body {
    padding: 7px;
  }
  #inflowModal .modal-contents {
    padding: 20px 0 0;
  }
  #inflowModal .modal-contents p {
    font-size: 14px;
  }
  #inflowModal .modal-contents .large {
    font-size: 18px;
  }
}
#campaignAppealModal .modal-content {
  border: none;
  background: rgb(222, 247, 250);
  background: linear-gradient(90deg, rgb(222, 247, 250) 0%, rgb(255, 228, 239) 100%);
}
#campaignAppealModal .modal-header {
  border-bottom: none;
}
#campaignAppealModal .modal-header .btn-close {
  opacity: 1;
}
#campaignAppealModal .modal-body p {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 14px;
  line-height: 1.65;
}
@media (max-width: 767px) {
  #campaignAppealModal .modal-body p {
    font-size: 18px;
  }
}
#campaignAppealModal .modal-body p b {
  display: block;
  font-size: 110%;
}
#campaignAppealModal .modal-body p .fc-red {
  color: #DF0515;
}
#campaignAppealModal .modal-body p.caps {
  font-size: 13px;
  font-weight: normal;
}
#campaignAppealModal .modal-footer {
  background: #fff;
  border-top: none;
  display: block;
  padding: 25px 20px 15px;
  border-radius: 0 0 0.3rem 0.3rem;
}
#campaignAppealModal .modal-footer .r-btn {
  background: #DF0515 url("../img/icon-angle4.svg") no-repeat right 18px top 50%/7px 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  padding: 18px 30px;
  border-radius: 50px;
  position: relative;
  max-width: 100%;
  width: 300px;
}
@media (max-width: 767px) {
  #campaignAppealModal .modal-footer .r-btn {
    font-size: 14px;
  }
}
#campaignAppealModal .modal-footer .btn {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.04em;
  text-decoration: underline;
}
@media (max-width: 767px) {
  #campaignAppealModal .modal-footer .btn {
    font-size: 13px;
  }
}
#campaignAppealModal .modal-footer .btn:hover {
  text-decoration: none;
}

@media (max-width: 767px) {
  #serviceSearchModal.fade .modal-dialog {
    transform: translate(0, 20px);
  }
}
@media (max-width: 767px) {
  #serviceSearchModal.fade.show .modal-dialog {
    transform: none;
  }
}
#serviceSearchModal .modal-dialog {
  max-width: 840px;
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-dialog {
    margin: 0;
  }
}
#serviceSearchModal .modal-content {
  border: none;
  border-radius: 10px;
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-content {
    border-radius: 0;
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-header {
    text-align: center;
    display: block;
    position: relative;
  }
  #serviceSearchModal .modal-header .btn-close {
    background: transparent url("../img/icon/icon_arrow_back.svg") no-repeat 50% 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-footer {
    background-color: #fff;
    display: block;
    border-top: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
  }
}
#serviceSearchModal .modal-footer .form-buttons {
  margin: 0;
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-footer .form-buttons .btn {
    font-size: 14px;
  }
}
#serviceSearchModal .modal-footer .form-buttons .btn-reset {
  margin-right: 10px;
  width: 150px;
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-footer .form-buttons .btn-reset {
    margin-right: 7px;
    white-space: nowrap;
    width: auto;
  }
}
#serviceSearchModal .modal-footer .form-buttons .btn-submit {
  background-color: #DF0515;
  width: 240px;
}
@media (max-width: 767px) {
  #serviceSearchModal .modal-footer .form-buttons .btn-submit {
    flex: 1;
    width: auto;
  }
}
#serviceSearchModal .setting-sort-content h3 {
  font-size: 16px;
  margin: 0;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content h3 {
    font-size: 14px;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-area {
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-area {
    display: block;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-area h3 {
  margin-right: 20px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-area h3 {
    margin-right: auto;
    margin-bottom: 10px;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-area .form-group {
  display: flex;
  margin-bottom: 0;
}
#serviceSearchModal .setting-sort-content .setting-sort-area .form-group .form-select {
  background-color: transparent;
  width: 220px;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-area .form-group .form-select {
    width: 49%;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-area .form-group .form-select:first-child {
  margin-right: 10px;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-area .form-group .form-select:first-child {
    margin-right: 2%;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service h3 {
  margin-bottom: 10px;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .form-group {
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 12px;
  padding-bottom: 16px;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service .form-group {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 26px;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service .form-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .form-block {
  display: flex;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service .form-block {
    display: block;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service h4 {
  font-size: 14px;
  margin-right: 12px;
  line-height: 1.6;
  width: 180px;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 {
    margin-right: auto;
    width: auto;
  }
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 .sort-checkbox {
    background-color: transparent;
  }
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 .sort-checkbox .sort-checkbox-text {
    font-weight: bold;
    padding: 2px 40px 2px 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 .sort-checkbox .sort-checkbox-text {
    display: flex;
    align-items: center;
  }
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 .sort-checkbox .sort-checkbox-text .icon {
    display: flex;
    align-items: center;
    height: 37px;
    text-align: center;
    justify-content: center;
    margin-right: 5px;
    width: 37px;
  }
  #serviceSearchModal .setting-sort-content .setting-sort-service h4 .sort-checkbox .sort-checkbox-text .text {
    display: block;
    flex: 1;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list {
    display: block;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list li {
  margin-bottom: 0;
  width: 50%;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list li {
    margin-bottom: 2px;
    width: auto;
  }
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list--vertical {
  display: block;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-service-list--vertical li {
  width: 100%;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox {
  display: block;
  line-height: 1.6;
  position: relative;
  margin: 0;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox input[type=checkbox]:checked + .sort-checkbox-text {
  background-image: url("../img/common/checkbox_on.png");
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox .sort-checkbox-text {
  background: url("../img/common/checkbox_off.png") no-repeat left 0 top 50%;
  background-size: 24px 24px;
  display: block;
  font-weight: normal;
  padding: 6px 10px 7px 32px;
}
#serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox .sort-checkbox-text .icon {
  display: none;
}
@media (max-width: 767px) {
  #serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox {
    background-color: #f0f2f3;
  }
  #serviceSearchModal .setting-sort-content .setting-sort-service .sort-checkbox .sort-checkbox-text {
    background-position: right 16px top 50%;
    background-size: 20px 20px;
    padding: 18px 40px 18px 16px;
  }
}

@media (max-width: 767px) {
  #alacarteSelectModal.fade .modal-dialog {
    transform: translate(0, 20px);
  }
}
@media (max-width: 767px) {
  #alacarteSelectModal.fade.show .modal-dialog {
    transform: none;
  }
}
#alacarteSelectModal .modal-dialog {
  max-width: 840px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-dialog {
    margin: 0;
  }
}
#alacarteSelectModal .modal-content {
  border: none;
  border-radius: 10px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-content {
    border-radius: 0;
    padding-bottom: 70px;
  }
}
#alacarteSelectModal .modal-header {
  border-bottom: none;
  text-align: center;
  display: block;
  position: relative;
  border-radius: 0;
}
#alacarteSelectModal .modal-header .btn-close {
  display: none;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-header .btn-close {
    display: block;
    background: transparent url("../img/icon/icon_arrow_back.svg") no-repeat 50% 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
#alacarteSelectModal .modal-body {
  padding-top: 0;
  padding-bottom: 0;
}
#alacarteSelectModal .modal-footer {
  border-top: none;
  justify-content: center;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-footer {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
  }
}
#alacarteSelectModal .modal-footer .buttons {
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 0;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-footer .buttons {
    display: block;
  }
}
#alacarteSelectModal .modal-footer .btn-submit {
  background-color: #DF0515;
  padding: 16px;
  display: block;
  margin-top: 10px;
  margin-bottom: 20px;
  width: 440px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-footer .btn-submit {
    font-size: 14px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 14px;
    width: 100%;
  }
}
#alacarteSelectModal .modal-footer .btn-back {
  color: #383838;
  font-size: 14px;
  font-weight: normal;
  box-shadow: none;
  text-decoration: none;
  margin-bottom: 20px;
}
#alacarteSelectModal .modal-footer .btn-back::before {
  content: "";
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233B4043'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  background-size: 100%;
  height: 10px;
  display: inline-block;
  margin-right: 8px;
  width: 10px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-footer .btn-back {
    display: none;
  }
}
#alacarteSelectModal .modal-title {
  text-align: center;
  padding: 6px 0;
}
@media (max-width: 767px) {
  #alacarteSelectModal .modal-title {
    padding: 0;
  }
}
#alacarteSelectModal .alacarte-select-list {
  border-top: 1px solid #d1d1d1;
  position: relative;
  margin: 0 -16px;
}
#alacarteSelectModal .alacarte-select-list li {
  border-bottom: 1px solid #d1d1d1;
  padding: 24px 0;
  display: flex;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li {
    display: block;
    padding: 20px 16px;
  }
}
#alacarteSelectModal .alacarte-select-list li .img {
  text-align: center;
  margin-right: 3.6%;
  width: 29.5%;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .img {
    margin-bottom: 18px;
    margin-right: auto;
    width: auto;
  }
}
#alacarteSelectModal .alacarte-select-list li .content {
  flex: 1;
  min-width: 0;
}
#alacarteSelectModal .alacarte-select-list li h3 {
  font-size: 18px;
  margin: 0 0 18px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li h3 {
    font-size: 16px;
    margin-bottom: 12px;
  }
}
#alacarteSelectModal .alacarte-select-list li h3 small {
  color: #DF0515;
  font-size: 14px;
  display: block;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li h3 small {
    font-size: 12px;
    margin-bottom: 8px;
  }
}
#alacarteSelectModal .alacarte-select-list li p {
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li p {
    font-size: 12px;
    margin-bottom: 12px;
  }
}
#alacarteSelectModal .alacarte-select-list li .content-footer {
  display: flex;
  justify-content: flex-end;
}
#alacarteSelectModal .alacarte-select-list li .content-footer .item-price {
  color: #DF0515;
  display: flex;
  align-items: baseline;
  margin-right: 24px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .item-price {
    margin-right: 18px;
  }
}
#alacarteSelectModal .alacarte-select-list li .content-footer .item-price .label {
  background: url("../img/shop/icon_yen.png") no-repeat 0 50%;
  background-size: 19px 19px;
  color: #383838;
  display: block;
  margin-right: 8px;
  padding-left: 24px;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .item-price .label {
    background-size: 16px 16px;
    font-size: 12px;
    padding-left: 20px;
  }
}
#alacarteSelectModal .alacarte-select-list li .content-footer .item-price .price {
  display: block;
  font-size: 23px;
  font-family: "Roboto", sans-serif;
  position: relative;
  margin-right: 0.07em;
  top: 0.03em;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .item-price .price {
    font-size: 21px;
  }
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox {
  cursor: pointer;
  position: relative;
  font-weight: normal;
  letter-spacing: 0.02em;
  display: inline-block;
  margin-bottom: auto;
  vertical-align: middle;
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox input[type=checkbox] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text {
  color: #fff;
  background-color: #DF0515;
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text::before {
  background: url("../img/icon/icon_check_circle_white.svg") no-repeat center center;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  top: 0.18em;
  margin-right: 5px;
  position: relative;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text::before {
    margin-right: 4px;
    height: 13px;
    top: 0.12em;
    width: 13px;
  }
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox input[type=checkbox]:disabled + .select-checkbox-text {
  border-color: #e8e8e8;
  color: #ccc;
  cursor: auto;
}
#alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox .select-checkbox-text {
  border: 1px solid #DF0515;
  color: #DF0515;
  font-weight: 500;
  display: inline-block;
  text-align: center;
  padding: 10px 2px;
  width: 110px;
  vertical-align: middle;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
}
@media (max-width: 767px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox .select-checkbox-text {
    font-size: 12px;
    width: 80px;
  }
}
@media (min-width: 1040px) {
  #alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox:hover .select-checkbox-text {
    border-color: #DF0515;
    color: #DF0515;
  }
  #alacarteSelectModal .alacarte-select-list li .content-footer .select-control .select-checkbox:hover input[type=checkbox]:disabled + .select-checkbox-text {
    border-color: #e8e8e8;
    color: #ccc;
  }
}

#yearSampleModal .modal-dialog {
  max-width: 1040px;
}
#yearSampleModal .modal-content {
  border: none;
  border-radius: 10px;
}
#yearSampleModal .modal-header {
  justify-content: center;
  border-radius: 0;
  position: relative;
  padding-left: 0;
  padding-right: 0;
  margin-left: 30px;
  margin-right: 30px;
}
@media (max-width: 767px) {
  #yearSampleModal .modal-header {
    margin-left: 16px;
    margin-right: 16px;
  }
}
#yearSampleModal .modal-header .btn-close {
  right: 0;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}
#yearSampleModal h3 {
  background-color: #798996;
  color: #fff;
  font-weight: normal;
  font-size: 12px;
  padding: 8px;
  text-align: center;
  margin: 0;
  display: none;
}
@media (max-width: 767px) {
  #yearSampleModal h3 {
    display: block;
  }
}
#yearSampleModal .year-table-wrapper {
  overflow: auto;
}
#yearSampleModal .year-table {
  width: 100%;
}
#yearSampleModal .year-table th, #yearSampleModal .year-table td {
  padding: 10px 2px;
  border: 1px solid #d1d1d1;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #yearSampleModal .year-table th, #yearSampleModal .year-table td {
    font-size: 12px;
    padding: 7px 2px;
  }
}
#yearSampleModal .year-table th {
  background-color: #798996;
  font-weight: normal;
  color: #fff;
  padding: 8px;
}
@media (max-width: 767px) {
  #yearSampleModal .year-table th {
    display: none;
  }
}
#yearSampleModal .sample-image {
  margin: 20px auto;
  text-align: center;
}
@media (max-width: 767px) {
  #yearSampleModal .sample-image {
    margin: 10px auto;
  }
}
#yearSampleModal .sample-image img {
  display: block;
  width: 100%;
}

.edit-customer-modal .modal-dialog {
  max-width: 620px;
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-dialog {
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    transform: translate(0, 20px);
  }
}
@media (max-width: 767px) {
  .edit-customer-modal.show .modal-dialog {
    transform: none;
  }
}
.edit-customer-modal .modal-content {
  border: none;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-content {
    border-radius: 10px 10px 0 0;
    padding-bottom: 70px;
  }
}
.edit-customer-modal .modal-header {
  border-radius: 0;
  padding: 12px 30px;
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-header {
    padding: 12px 16px;
  }
}
.edit-customer-modal .modal-title {
  background: url("../img/icon/icon_pen.svg") no-repeat 0 50%;
  background-size: 27px 27px;
  padding: 4px 0 4px 35px;
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-title {
    background-size: 24px 24px;
    padding: 2px 0 2px 30px;
  }
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-footer {
    background-color: #fff;
    display: block;
    border-top: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
    z-index: 5;
  }
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-footer .buttons .btn {
    font-size: 14px;
  }
}
.edit-customer-modal .modal-footer .buttons .btn-cancel {
  margin-right: 10px;
  white-space: nowrap;
}
.edit-customer-modal .modal-footer .buttons .btn-submit {
  width: 200px;
}
@media (max-width: 767px) {
  .edit-customer-modal .modal-footer .buttons .btn-submit {
    flex: 1;
    width: auto;
  }
}
.edit-customer-modal .form-block .form-group:last-child {
  margin-bottom: 10px;
}

#deleteAlacarteModal .buttons {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  #deleteAlacarteModal .buttons .btn {
    font-size: 14px;
  }
}
#deleteAlacarteModal .buttons .btn-cancel {
  margin-right: 10px;
}
#deleteAlacarteModal .buttons .btn-submit {
  width: 200px;
}
@media (max-width: 767px) {
  #deleteAlacarteModal .buttons .btn-submit {
    width: 140px;
  }
}

#confirmCancelModal .buttons {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  #confirmCancelModal .buttons .btn {
    font-size: 14px;
  }
}
#confirmCancelModal .buttons .btn-cancel {
  margin-right: 10px;
}
#confirmCancelModal .buttons .btn-submit {
  width: 200px;
}
@media (max-width: 767px) {
  #confirmCancelModal .buttons .btn-submit {
    width: 140px;
  }
}

#cvvSampleModal .modal-dialog {
  max-width: 840px;
}
#cvvSampleModal .modal-content {
  border: none;
  border-radius: 10px;
}
#cvvSampleModal .modal-header {
  justify-content: center;
  border-radius: 0;
  position: relative;
  padding-left: 0;
  padding-right: 0;
  margin-left: 30px;
  margin-right: 30px;
}
@media (max-width: 767px) {
  #cvvSampleModal .modal-header {
    margin-left: 16px;
    margin-right: 16px;
  }
}
#cvvSampleModal .modal-header .btn-close {
  right: 0;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}
#cvvSampleModal .cvv-sample {
  display: flex;
  justify-content: space-between;
  padding: 0 2%;
}
@media (max-width: 767px) {
  #cvvSampleModal .cvv-sample {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    padding: 0;
    width: 270px;
  }
}
#cvvSampleModal .cvv-sample li {
  margin-bottom: 30px;
  width: 45%;
}
@media (max-width: 767px) {
  #cvvSampleModal .cvv-sample li {
    width: 100%;
  }
}
#cvvSampleModal .cvv-sample li h4 {
  font-weight: normal;
}
@media (max-width: 767px) {
  #cvvSampleModal .cvv-sample li h4 {
    font-size: 14px;
  }
}
#cvvSampleModal .cvv-sample li img {
  width: 100%;
}
#selectTimeModal .modal-dialog {
  max-width: 460px;
}
#selectTimeModal .modal-content {
  border: none;
  border-radius: 10px;
}
#selectTimeModal .modal-header {
  border-radius: 0;
  padding: 12px 30px;
}
@media (max-width: 767px) {
  #selectTimeModal .modal-header {
    padding: 12px 16px;
  }
}
#selectTimeModal .modal-title {
  background: url("../img/icon/icon_clock.svg") no-repeat 0 50%;
  background-size: 23px 23px;
  padding: 2px 0 2px 30px;
  font-size: 18px;
}
@media (max-width: 767px) {
  #selectTimeModal .modal-title {
    font-size: 16px;
  }
}
#selectTimeModal .time-list {
  display: flex;
  flex-wrap: wrap;
}
#selectTimeModal .time-list li {
  margin-bottom: 10px;
  width: 48%;
}
#selectTimeModal .time-list li:nth-child(odd) {
  margin-right: 4%;
}
#selectTimeModal .time-list li .time-button {
  background-color: #DF0515;
  border-radius: 6px;
  cursor: pointer;
  color: #fff;
  display: block;
  text-align: center;
  padding: 9px;
  font-weight: 500;
  width: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}
#selectTimeModal .time-list li .time-button .text {
  background: url("../img/reserve/calendar_mark_1_white.svg") no-repeat 0 center;
  background-size: 20px 20px;
  display: inline-block;
  padding: 2px 0 2px 28px;
}
#selectTimeModal .time-list li .time-button[data-status="0"] {
  background-color: #EFF0F0;
  color: #949494;
  cursor: auto;
  box-shadow: none;
  pointer-events: none;
}
#selectTimeModal .time-list li .time-button[data-status="0"] .text {
  background: url("../img/reserve/calendar_mark_0.svg") no-repeat 0 center;
}
#selectTimeModal .select-date {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  margin-right: auto;
}
@media (max-width: 767px) {
  #selectTimeModal .select-date {
    font-size: 14px;
  }
}
#selectTimeModal .select-price {
  font-size: 16px;
  margin-left: auto;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #selectTimeModal .select-price {
    font-size: 14px;
  }
}
#selectTimeModal .select-price .label {
  color: #00417D;
  border: 1px solid #00417D;
  display: inline;
  font-size: 12px;
  line-height: 1;
  padding: 0px 6px;
  margin-right: 8px;
}
@media (max-width: 767px) {
  #selectTimeModal .select-price .label {
    font-size: 11px;
  }
}

#confirmCustomerModal .modal-title {
  background: none;
  padding: 0;
  color: #DF0515;
  margin-bottom: 15px;
  text-align: center;
}
@media (max-width: 767px) {
  #confirmCustomerModal .modal-title {
    font-size: 16px;
  }
}
#confirmCustomerModal .modal-title .icon {
  background: url("../img/icon/icon_circle_alert.svg") no-repeat 0 50%;
  background-size: 22px 22px;
  display: inline-block;
  padding: 0.2em 0 0.2em 30px;
}
@media (max-width: 767px) {
  #confirmCustomerModal .modal-title .icon {
    background-position: 50% 0;
    padding: 28px 0 0;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  10. search
 * :::::::::::::::::::::::::::::::::::::::::: */
/* 20260727ここから修正 */
.location-search-button {
  text-align: center;
  position: fixed;
  right: 50px;
  bottom: 40px;
  z-index: 10;
  transition: transform 0.3s ease, opacity 0.3s ease, max-height 0.3s ease;
  transform: translateY(0);
  max-height: 500px;
  opacity: 1;
}
.location-search-button.is-hidden {
  transform: translateY(100%);
  opacity: 0;
  max-height: 0 !important;
  pointer-events: none;
}
@media (max-width: 1039px) {
  .location-search-button {
    bottom: 10px;
    right: 20px;
  }
}
@media (max-width: 767px) {
  .location-search-button {
    right: 0;
    bottom: 0;
    width: 100vw;
  }
}
.location-search-button .close-btn {
  display: none;
  border: none;
  outline: 0;
  background: url(../img/common/chatplus_close_btn.svg) no-repeat center center;
  position: absolute;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  right: -7px;
  top: -7px;
  z-index: 1;
}
@media (max-width: 767px) {
  .location-search-button .close-btn {
    display: block;
    right: 8px;
    top: -10px;
  }
}
.location-search-button a {
  transition: background-color 300ms ease;
  background-color: #383838;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  display: block;
  letter-spacing: 0.05em;
  height: 100px;
  width: 100px;
  padding: 20px 0 0;
}
.location-search-button a:hover {
  opacity: 1;
  color: #fff;
}
@media (min-width: 1040px) {
  .location-search-button a:hover {
    background-color: #232323;
  }
}
@media (max-width: 767px) {
  .location-search-button a {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
    border-radius: 8px 8px 0 0;
    font-size: 14px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 100%;
  }
}
.location-search-button .btn-txt {
  background: url(../img/search/icon_location_white.svg) no-repeat 50% 0;
  background-size: 18px 18px;
  display: inline-block;
  padding-left: 0.1em;
  padding-top: 23px;
}
@media (max-width: 767px) {
  .location-search-button .btn-txt {
    background-position: 0 50%;
    padding-top: 0;
    padding-left: 25px;
  }
}
@media (max-width: 767px) {
  .location-search-button .btn-txt br {
    display: none;
  }
}

/* 20260727ここまで修正 */
.detailed-search-button {
  background-color: #DF0515;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  cursor: pointer;
  position: fixed;
  right: 0;
  padding: 28px 16px;
  border-radius: 8px 0 0 8px;
  letter-spacing: -0.2em;
  top: 32vh;
  transition: background-color 300ms ease;
  z-index: 100;
}
@media (min-width: 1040px) {
  .detailed-search-button:hover {
    opacity: 1;
    background-color: #c50210;
  }
}
@media (max-width: 1039px) {
  .detailed-search-button {
    display: none;
  }
}
.detailed-search-button .btn-txt {
  background: url(../img/search/icon_search_white.svg) no-repeat 50% 0%;
  background-size: 18px 18px;
  padding: 25px 6px 0;
}
.detailed-search-button .btn-txt img {
  display: block;
}

.detailed-search-modal .modal-dialog {
  max-width: 1200px;
}
.detailed-search-modal .modal-content {
  border-radius: 8px;
  padding: 0;
  position: relative;
}
.detailed-search-modal .btn-close {
  background: #fff;
  border: 1px solid #383838;
  border-radius: 4px;
  height: 40px;
  position: absolute;
  right: 15px;
  top: 15px;
  opacity: 1;
  width: 40px;
  z-index: 1;
}
.detailed-search-modal .btn-close::before, .detailed-search-modal .btn-close::after {
  background-color: #383838;
  content: "";
  height: 1px;
  border-radius: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 21px;
}
.detailed-search-modal .btn-close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.detailed-search-modal .btn-close::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.detailed-search-modal .modal-header {
  background: none;
}
.detailed-search-modal .modal-body {
  padding: 60px 40px 90px;
  position: static;
  max-height: calc(100vh - 3.5rem);
  overflow: auto;
}
.detailed-search-modal .modal-footer {
  background-color: #fff;
  border-top: none;
  padding: 0 40px;
  display: block;
  position: absolute;
  border-radius: 0 0 8px 8px;
  bottom: 0;
  left: 0;
  right: 0;
}
.detailed-search-modal .modal-footer .modal-footer-container {
  border-top: 1px solid #ADBACC;
  margin: 0;
  display: flex;
  justify-content: center;
  padding: 15px 0;
}
.detailed-search-modal .modal-footer .btn-submit {
  background-color: #DF0515;
  border-radius: 4px;
  box-shadow: none;
  max-width: 100%;
  padding: 18px;
  width: 480px;
  transition: background-color 300ms ease;
}
@media (min-width: 1040px) {
  .detailed-search-modal .modal-footer .btn-submit:hover {
    opacity: 1;
    background-color: #c50210;
  }
}
.detailed-search-modal .detailed-search-modal__content {
  display: flex;
  gap: 0 3.2%;
}
.detailed-search-modal .detailed-search-modal__sort {
  width: 36%;
}
.detailed-search-modal .detailed-search-modal__service {
  flex: 1;
}
.detailed-search-modal .detailed-search-modal__service .form-block {
  display: flex;
}
@media (max-width: 767px) {
  .detailed-search-modal .detailed-search-modal__service .form-block {
    display: block;
  }
}
.detailed-search-modal .detailed-search-modal__service .form-block .form-check-text {
  font-size: 14px;
  padding-top: 0.12em;
}
.detailed-search-modal .detailed-search-modal__service .form-block:not(:last-child) {
  border-bottom: 1px solid #ADBACC;
  margin-bottom: 24px;
  padding-bottom: 12px;
}
.detailed-search-modal .detailed-search-modal__service .sort-service-title {
  width: 30%;
}
.detailed-search-modal .detailed-search-modal__service .sort-service-list {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
}
.detailed-search-modal .detailed-search-modal__service .sort-service-list li {
  margin-right: 2%;
  margin-bottom: 10px;
  width: 49%;
}
.detailed-search-modal .detailed-search-modal__service .sort-service-list li:nth-child(even) {
  margin-right: 0;
}
.detailed-search-modal .form-group {
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .detailed-search-modal .form-group {
    display: block;
    margin-bottom: 18px;
  }
}
.detailed-search-modal .form-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 14px;
}
@media (max-width: 360px) {
  .detailed-search-modal .form-label {
    font-size: 14px;
  }
}
.detailed-search-modal .form-control {
  background-color: #F9FAFC;
  border-color: #ADBACC;
  padding: 15px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .detailed-search-modal .form-control {
    font-size: 14px;
  }
}
.detailed-search-modal .form-control::-moz-placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.detailed-search-modal .form-control::placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.detailed-search-modal .form-check .form-check-text {
  background: none;
  padding: 0 0 0 38px;
}
@media (max-width: 360px) {
  .detailed-search-modal .form-check .form-check-text {
    font-size: 14px;
    padding-top: 2px;
  }
}
.detailed-search-modal .form-check .form-check-text::before {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
}
.detailed-search-modal .form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background: none;
  font-weight: bold;
}
.detailed-search-modal .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  background: #fff url(../img/search/form_check_red.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #DF0515;
  opacity: 1;
}
.detailed-search-modal .form-check .tooltip-icon-question {
  background-image: url(../img/search/icon_help.svg);
  height: 20px;
  position: relative;
  top: -2px;
  width: 20px;
  background-size: 20px 20px;
}
.detailed-search-modal .form-group--keyword .form-control {
  background-image: url(../img/search/icon_mappin.svg);
  background-position: left 15px top 52%;
  background-repeat: no-repeat;
  padding-left: 42px;
}
@media (max-width: 767px) {
  .detailed-search-modal .form-group--keyword .form-control {
    background-position: left 7px top 52%;
    background-size: 15px 19px;
    padding-left: 26px;
  }
}
.detailed-search-modal .form-group--detail-filter .form-field {
  display: flex;
  align-items: center;
}
@media (max-width: 479px) {
  .detailed-search-modal .form-group--detail-filter .form-field {
    display: block;
  }
}
.detailed-search-modal .form-group--detail-filter .form-check {
  margin-left: 20px;
}
@media (max-width: 479px) {
  .detailed-search-modal .form-group--detail-filter .form-check {
    margin-left: 0;
    margin-top: 15px;
  }
}
.detailed-search-modal .form-group--detail-filter .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  border-color: #383838;
  background: #fff url(../img/search/form_check.svg) no-repeat 55% center;
  background-size: 17px 14px;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  font-size: 16px;
  height: inherit;
  padding: 15px 15px 16px 42px;
  box-shadow: none;
  border-radius: 4px;
  flex: 1;
  position: relative;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-52%);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 360px) {
  .detailed-search-modal .form-group--detail-filter .search-detail-datepicker-icon {
    transform: translateY(-54%);
  }
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-icon img {
  display: block;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-input .form-control {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  font-size: 16px;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
  width: 100%;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
  font-size: 15px;
  display: block;
  font-weight: normal;
  overflow: hidden;
  min-width: 1em;
  padding: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .detailed-search-modal .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 16px;
  }
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-input .form-placeholder::before {
  content: "";
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
  content: attr(data-placeholder);
  color: #383838;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-icon {
  opacity: 0.5;
}
.detailed-search-modal .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-input .form-placeholder {
  opacity: 0.5;
}
.detailed-search-modal .form-group--detail-time .search-detail-filter-list {
  background-color: #ECEFF4;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  padding: 16px;
}
.detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label {
  display: block;
  margin: 0;
}
.detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
  background-color: #fff;
  border-radius: 4px;
  border: 1px dashed #383838;
  display: block;
  font-weight: normal;
  line-height: 1.2;
  font-size: 16px;
  padding: 7px 15px;
}
@media (max-width: 360px) {
  .detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
    font-size: 14px;
  }
}
.detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input {
  display: none;
}
.detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input:checked + .text {
  border: 1px solid #DF0515;
  font-weight: bold;
}
@media (min-width: 1040px) {
  .detailed-search-modal .form-group--detail-time .search-detail-filter-list .search-detail-filter-label:hover input:not(.is-disabled) + .text {
    border: 1px solid #DF0515;
    font-weight: bold;
  }
}

@media (max-width: 767px) {
  .detailed-filter-modal.fade .modal-dialog {
    transform: translate(0, 20px);
  }
}
@media (max-width: 767px) {
  .detailed-filter-modal.fade.show .modal-dialog {
    transform: none;
  }
}
.detailed-filter-modal .modal-dialog {
  max-width: 840px;
}
@media (max-width: 767px) {
  .detailed-filter-modal .modal-dialog {
    margin: 0;
  }
}
.detailed-filter-modal .modal-dialog > * {
  flex: 1;
  min-width: 0;
}
.detailed-filter-modal .modal-content {
  border: none;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .detailed-filter-modal .modal-content {
    border-radius: 0;
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .detailed-filter-modal .modal-header {
    text-align: center;
    display: block;
    position: relative;
  }
  .detailed-filter-modal .modal-header .btn-close {
    background: transparent url("../img/icon/icon_arrow_back.svg") no-repeat 50% 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.detailed-filter-modal .modal-footer {
  background-color: #fff;
  display: block;
  border-top: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
}
.detailed-filter-modal .modal-footer .btn {
  color: #fff;
  font-size: 16px;
  border-radius: 4px;
  width: 100%;
}
.detailed-filter-modal .modal-footer .btn-submit {
  background-color: #DF0515;
}
.detailed-filter-modal .detailed-filter-modal__main h3 {
  border-top: 1px solid #d1d1d1;
  font-size: 14px;
  margin: 25px 0 0;
  padding-top: 25px;
}
.detailed-filter-modal .detailed-filter-modal__main .form-check .form-check-text {
  background: none;
  padding: 0 0 0 38px;
}
@media (max-width: 360px) {
  .detailed-filter-modal .detailed-filter-modal__main .form-check .form-check-text {
    font-size: 14px;
    padding-top: 2px;
  }
}
.detailed-filter-modal .detailed-filter-modal__main .form-check .form-check-text::before {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
}
.detailed-filter-modal .detailed-filter-modal__main .form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background: none;
  font-weight: bold;
}
.detailed-filter-modal .detailed-filter-modal__main .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  background: #fff url(../img/search/form_check_red.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #DF0515;
  opacity: 1;
}
.detailed-filter-modal .detailed-filter-modal__main .form-check .tooltip-icon-question {
  background-image: url(../img/search/icon_help.svg);
  height: 20px;
  position: relative;
  top: -2px;
  width: 20px;
  background-size: 20px 20px;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-checkbox {
  font-weight: normal;
  display: block;
  background: #f0f2f3;
  padding: 1em 40px 1em 15px;
  position: relative;
  margin: 0;
}
@media (max-width: 360px) {
  .detailed-filter-modal .detailed-filter-modal__main .sort-checkbox {
    font-size: 14px;
    padding-top: 2px;
  }
}
.detailed-filter-modal .detailed-filter-modal__main .sort-checkbox .sort-checkbox-text::before {
  background-color: #fff;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 1;
  position: absolute;
  right: 15px;
  top: 1em;
  height: 24px;
  width: 24px;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-checkbox input[type=checkbox] {
  display: none;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-checkbox input[type=checkbox]:checked + .sort-checkbox-text {
  background: none;
  font-weight: bold;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-checkbox input[type=checkbox]:checked + .sort-checkbox-text::before {
  background: #fff url(../img/search/form_check_red.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #DF0515;
  opacity: 1;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-title .sort-checkbox {
  background: none;
  padding-left: 0;
  padding-bottom: 5px;
  padding-top: 0.8em;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-title .sort-checkbox-text {
  font-weight: bold;
  display: flex;
  align-items: center;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-title .sort-checkbox-text::before {
  top: 1.2em;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-title .sort-checkbox-text .icon {
  align-items: center;
  justify-content: center;
  display: flex;
  height: 40px;
  margin-right: 5px;
  width: 40px;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-title .sort-checkbox-text .text {
  flex: 1;
}
.detailed-filter-modal .detailed-filter-modal__main .sort-service-list {
  display: flex;
  gap: 2px;
  flex-direction: column;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  11. index
 * :::::::::::::::::::::::::::::::::::::::::: */
/* index heading
 * ---------------------------------- */
.top-heading-2 {
  margin-top: 0;
  margin-bottom: 40px;
  padding: 0 0 0 20px;
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .top-heading-2 {
    padding-left: 14px;
  }
}
.top-heading-2::before {
  background-color: #DF0515;
  content: "";
  height: 65%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 3px;
  width: 5px;
}
@media (max-width: 767px) {
  .top-heading-2 {
    margin-bottom: 24px;
  }
}
.top-heading-2 .en {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 40px;
  display: block;
  margin-right: 0.35em;
  line-height: 1.2;
  position: relative;
  top: 0.01em;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .top-heading-2 .en {
    font-size: 32px;
    margin-right: 0.3em;
  }
}
@media (max-width: 360px) {
  .top-heading-2 .en {
    font-size: 24px;
  }
}
.top-heading-2 .ja {
  color: rgba(56, 56, 56, 0.5);
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .top-heading-2 .ja {
    font-size: 14px;
    letter-spacing: 0;
    position: relative;
    top: -0.09em;
  }
}
@media (max-width: 360px) {
  .top-heading-2 .ja {
    font-size: 12px;
  }
}

.top-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* main visual
 * ---------------------------------- */
/* 20260825ここから修正 */
.top-kv {
  background: url(../img/top/road_illust_1.svg) no-repeat 0 100%;
  padding-bottom: 60px;
  padding-top: 40px;
}
@media (max-width: 767px) {
  .top-kv {
    background: none;
    padding-top: 15px;
    padding-bottom: 12px;
  }
}
.top-kv-container {
  position: relative;
  z-index: 1;
}
.top-kv-txt {
  text-align: center;
  position: relative;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}
.top-kv-txt.is-animated {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.top-kv-copy {
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .top-kv-copy img {
    width: 62vw;
  }
}
@media screen and (max-width: 380px) {
  .top-kv-copy img {
    width: 214px;
  }
}
.top-kv-tit {
  line-height: 1.35;
  font-weight: 900;
  font-size: 40px;
  margin-bottom: 10px;
}
@media (max-width: 1039px) {
  .top-kv-tit {
    font-size: 32px;
  }
}
@media (max-width: 767px) {
  .top-kv-tit {
    font-size: 27px;
    font-size: clamp(2rem, 1.9rem + 1.39vw, 2.56rem);
    margin-bottom: 7px;
  }
}
@media (max-width: 360px) {
  .top-kv-tit {
    font-size: 6.4vw;
  }
}
.top-kv-tit .fc-red {
  color: #DF0515;
}
.top-kv-label {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  border: 1px solid #383838;
  border-radius: 5em;
  letter-spacing: 0.02em;
  padding: 0.55em;
  width: 200px;
}
@media (max-width: 767px) {
  .top-kv-label {
    font-size: 11px;
    width: 110px;
  }
}
.top-kv-label .label-txt {
  display: inline-block;
  padding: 0 12px;
  position: relative;
  vertical-align: bottom;
}
@media (max-width: 767px) {
  .top-kv-label .label-txt {
    padding: 0 10px;
  }
}
.top-kv-label .label-txt::before, .top-kv-label .label-txt::after {
  background-color: #383838;
  content: "";
  height: 4px;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  margin-top: -1px;
  width: 4px;
}
@media (max-width: 767px) {
  .top-kv-label .label-txt::before, .top-kv-label .label-txt::after {
    height: 3px;
    width: 3px;
  }
}
.top-kv-label .label-txt::before {
  left: 0;
}
.top-kv-label .label-txt::after {
  right: 0;
}
.top-kv-illust-wrapper {
  text-align: center;
  position: relative;
  margin-top: -60px;
}
@media (max-width: 767px) {
  .top-kv-illust-wrapper {
    margin-top: 10px;
  }
}
.top-kv-svg-container {
  max-width: 1440px;
  margin: 0 auto;
  aspect-ratio: 1300/260;
  position: relative;
  width: 100%;
}
@media (max-width: 767px) {
  .top-kv-svg-container {
    aspect-ratio: 374/232;
  }
}
.top-kv-svg-container svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-kv-search {
  background-color: rgba(173, 186, 204, 0.3);
  border-radius: 16px;
  position: relative;
  padding: 8px;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .top-kv-search {
    margin-top: 30px;
    padding: 4px;
  }
}
.top-kv-search-container {
  background-color: #fff;
  border-radius: 8px;
  padding: 45px;
}
@media (max-width: 767px) {
  .top-kv-search-container {
    padding: 30px 16px 20px;
  }
}
.top-kv-search h2 {
  background-color: #383838;
  color: #fff;
  border-radius: 5em;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-align: center;
  width: 520px;
  margin: 0 auto;
  padding: 0.6em;
  position: absolute;
  overflow: visible;
  left: 50%;
  top: -1em;
  transform: translateX(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .top-kv-search h2 {
    letter-spacing: 0;
    font-size: 14px;
    width: 92%;
  }
}
@media screen and (max-width: 380px) {
  .top-kv-search h2 {
    font-size: 3.6vw;
  }
}
.top-kv-search h2::after {
  content: "";
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 7px solid #383838;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
}
.top-kv .form-group {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
@media (max-width: 1039px) {
  .top-kv .form-group {
    display: block;
    margin-bottom: 18px;
  }
}
.top-kv .form-label {
  font-size: 16px;
  font-weight: bold;
  width: 10em;
}
@media (max-width: 1039px) {
  .top-kv .form-label {
    width: auto;
    margin-bottom: 8px;
  }
}
@media (max-width: 360px) {
  .top-kv .form-label {
    font-size: 14px;
  }
}
.top-kv .form-field {
  flex: 1;
  min-width: 0;
}
.top-kv .form-control {
  background-color: #F9FAFC;
  border-color: #ADBACC;
  padding: 15px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .top-kv .form-control {
    font-size: 14px;
  }
}
.top-kv .form-control::-moz-placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.top-kv .form-control::placeholder {
  color: rgba(56, 56, 56, 0.5);
}
.top-kv .form-check .form-check-text {
  background: none;
  padding: 0 0 0 38px;
}
@media (max-width: 360px) {
  .top-kv .form-check .form-check-text {
    padding-top: 2px;
    font-size: 14px;
  }
}
.top-kv .form-check .form-check-text::before {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
}
.top-kv .form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background: none;
  font-weight: bold;
}
.top-kv .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  background: #fff url(../img/search/form_check.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #383838;
  opacity: 1;
}
.top-kv .form-group--keyword .form-control {
  background-image: url(../img/search/icon_mappin.svg);
  background-position: left 15px top 52%;
  background-repeat: no-repeat;
  padding-left: 42px;
}
@media (max-width: 767px) {
  .top-kv .form-group--keyword .form-control {
    background-position: left 7px top 52%;
    background-size: 15px 19px;
    padding-left: 26px;
  }
}
.top-kv .form-group--service .search-service-list {
  display: flex;
  gap: 8px;
}
@media (max-width: 1039px) {
  .top-kv .form-group--service .search-service-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
  }
}
@media (max-width: 360px) {
  .top-kv .form-group--service .search-service-list {
    gap: 4px;
  }
}
.top-kv .form-group--service .search-service-list li {
  flex: 1;
}
.top-kv .form-group--service .search-service-list li .search-service-label {
  cursor: pointer;
  display: block;
  position: relative;
  margin: 0;
}
.top-kv .form-group--service .search-service-list li .search-service-input {
  display: none;
}
.top-kv .form-group--service .search-service-list li .search-service-content {
  font-weight: normal;
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  border-radius: 4px;
  text-align: center;
  padding: 4px 0 13px;
}
@media (max-width: 767px) {
  .top-kv .form-group--service .search-service-list li .search-service-content {
    padding-bottom: 8px;
  }
}
@media (max-width: 360px) {
  .top-kv .form-group--service .search-service-list li .search-service-content {
    font-size: 12px;
  }
}
.top-kv .form-group--service .search-service-list li .search-service-content .icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 46px;
  margin: 0 auto 10px;
  width: 100%;
}
@media (max-width: 767px) {
  .top-kv .form-group--service .search-service-list li .search-service-content .icon {
    margin-bottom: 6px;
  }
}
.top-kv .form-group--service .search-service-list li .search-service-content .icon img {
  display: block;
}
@media (max-width: 360px) {
  .top-kv .form-group--service .search-service-list li .search-service-content .icon img {
    transform: scale(0.9);
  }
}
.top-kv .form-group--service .search-service-list li .search-service-content .text {
  line-height: 1.1;
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  .top-kv .form-group--service .search-service-list li .search-service-content .text {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
  }
}
@media screen and (max-width: 480px) {
  .top-kv .form-group--service .search-service-list li .search-service-coating .search-service-content {
    font-size: 10px;
  }
}
.top-kv .form-group--service .search-service-list li .search-service-input:checked + .search-service-content {
  font-weight: bold;
  background-color: #fff;
  border-color: #DF0515;
}
@media (min-width: 1040px) {
  .top-kv .form-group--service .search-service-list li:hover .search-service-label .search-service-content {
    font-weight: bold;
    background-color: #fff;
    border-color: #DF0515;
  }
}
.top-kv .form-group--detail-filter .form-field {
  display: flex;
  align-items: center;
}
@media (max-width: 479px) {
  .top-kv .form-group--detail-filter .form-field {
    display: block;
  }
}
.top-kv .form-group--detail-filter .form-check {
  margin-left: 25px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .top-kv .form-group--detail-filter .form-check {
    margin-left: 10px;
  }
}
@media (max-width: 479px) {
  .top-kv .form-group--detail-filter .form-check {
    margin-left: 0;
    margin-top: 15px;
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  font-size: 16px;
  height: inherit;
  padding: 16px 15px 16px 42px;
  box-shadow: none;
  border-radius: 4px;
  flex: 1;
  position: relative;
}
@media (max-width: 767px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker {
    padding: 15px 15px 17px 42px;
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
.top-kv .form-group--detail-filter .search-detail-datepicker-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-52%);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 360px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker-icon {
    transform: translateY(-54%);
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker-icon img {
  display: block;
}
.top-kv .form-group--detail-filter .search-detail-datepicker-input .form-control {
  border: none;
  position: absolute;
  font-size: 16px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
  width: 100%;
}
@media (max-width: 360px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker-input .form-control {
    font-size: 14px;
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
  font-size: 15px;
  display: inline-block;
  font-weight: normal;
  overflow: hidden;
  min-width: 1em;
  padding: 0;
  white-space: nowrap;
  vertical-align: top;
}
@media (max-width: 767px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 14px;
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder::before {
  content: "";
}
.top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
  content: attr(data-placeholder);
  color: #383838;
}
@media (max-width: 767px) {
  .top-kv .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
    content: "予約希望日を選択";
  }
}
.top-kv .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
.top-kv .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-icon {
  opacity: 0.5;
}
.top-kv .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-input .form-placeholder {
  opacity: 0.5;
}
.top-kv .form-group--detail-time .search-detail-filter-list {
  background-color: #ECEFF4;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  padding: 16px;
}
@media (max-width: 767px) {
  .top-kv .form-group--detail-time .search-detail-filter-list {
    background: none;
    padding: 0;
  }
}
.top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label {
  cursor: pointer;
  display: block;
  margin: 0;
}
.top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
  background-color: #fff;
  border-radius: 4px;
  border: 1px dashed #383838;
  display: block;
  font-weight: normal;
  line-height: 1.2;
  font-size: 16px;
  padding: 7px 15px;
}
@media (max-width: 360px) {
  .top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
    font-size: 14px;
  }
}
.top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input {
  display: none;
}
.top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input:checked + .text {
  border: 1px solid #DF0515;
  font-weight: bold;
}
@media (min-width: 1040px) {
  .top-kv .form-group--detail-time .search-detail-filter-list .search-detail-filter-label:hover input:not(.is-disabled) + .text {
    border: 1px solid #DF0515;
    font-weight: bold;
  }
}
.top-kv .form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-kv .form-footer {
    display: block;
  }
}
@media (max-width: 767px) {
  .top-kv .submit-area {
    margin-top: 18px;
  }
}
.top-kv .submit-area .search-btn {
  background-color: #DF0515;
  border-radius: 4px;
  box-shadow: none;
  color: #fff;
  font-size: 16px;
  padding: 20px 16px;
  font-weight: bold;
  width: 240px;
  transition: background-color ease 200ms;
}
@media (min-width: 1040px) {
  .top-kv .submit-area .search-btn:hover {
    opacity: 1;
    background-color: #c50210;
  }
}
@media (max-width: 767px) {
  .top-kv .submit-area .search-btn {
    width: 100%;
  }
}
.top-kv .submit-area .search-btn .btn-txt {
  background: url(../img/search/icon_search_white.svg) no-repeat 0 55%;
  background-size: 18px 18px;
  display: inline-block;
  padding-left: 25px;
  padding-bottom: 2px;
}
.top-kv .search-filter-modal-open {
  display: block;
  border: none;
  color: #383838;
  background: url(../img/icon/icon_filter.svg) no-repeat left center;
  background-size: 18px 13px;
  padding: 5px 0 7px 25px;
  font-size: 16px;
  font-weight: 500;
}

/* 20260825ここまで修正 */
/* top pickup
 * ---------------------------------- */
.top-pickup {
  background-color: #fff;
  padding: 90px 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-pickup {
    padding: 60px 0;
  }
}

.top-pickup-slider-wrapper {
  position: relative;
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  .top-pickup-slider-wrapper {
    padding-bottom: 0;
  }
}
.top-pickup-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .top-pickup-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
  background-color: transparent;
  bottom: 0;
  height: 20px;
  top: auto;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .top-pickup-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .top-pickup-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    bottom: auto;
    flex: 1;
  }
}
.top-pickup-slider-wrapper .swiper-horizontal > .swiper-scrollbar::before, .top-pickup-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal::before {
  content: "";
  background-color: #ADBACC;
  height: 2px;
  display: block;
  bottom: 9px;
  position: absolute;
  left: 0;
  border-radius: 1px;
  width: 100%;
}
.top-pickup-slider-wrapper .swiper-scrollbar-drag {
  background-color: #DF0515;
  top: 9px;
  height: 8px;
  top: 6px;
}
@media (max-width: 767px) {
  .top-pickup-slider-wrapper .slide-control {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 24px;
  }
}
.top-pickup-slider-wrapper .slide-button-wrapper {
  position: absolute;
  right: 0;
  top: -85px;
  display: flex;
  gap: 8px;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-pickup-slider-wrapper .slide-button-wrapper {
    position: static;
    top: auto;
  }
}
.top-pickup-slider-wrapper .slide-button-arrow {
  background: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px 11px;
  position: relative;
  width: 48px;
  height: 48px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.top-pickup-slider-wrapper .slide-button-arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: auto;
}
.top-pickup-slider-wrapper .slide-button-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-pickup-slider-wrapper .slide-button-prev .bg-line,
.top-pickup-slider-wrapper .slide-button-next .bg-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 6 4;
}
.top-pickup-slider-wrapper {
  /* hover時に伸びてくる実線 */
}
.top-pickup-slider-wrapper .slide-button-prev .draw-line,
.top-pickup-slider-wrapper .slide-button-next .draw-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 456;
  stroke-dashoffset: 456; /* 最初は隠しておく */
  transition: stroke-dashoffset 0.4s ease-in-out;
}
.top-pickup-slider-wrapper {
  /* アニメーションの発火 */
}
@media (min-width: 1040px) {
  .top-pickup-slider-wrapper .slide-button-prev:not(.swiper-button-disabled):hover .draw-line,
  .top-pickup-slider-wrapper .slide-button-next:not(.swiper-button-disabled):hover .draw-line {
    stroke-dashoffset: 0;
  }
}
.top-pickup-slider-wrapper .slide-button-prev {
  background-image: url(../img/top/slide_arrow_prev.svg);
}
.top-pickup-slider-wrapper .slide-button-next {
  background-image: url(../img/top/slide_arrow_next.svg);
}

.top-pickup-slider .swiper-slide img {
  display: block;
  width: 100%;
}

/* top service
 * ---------------------------------- */
.top-service {
  background-color: #f2f4f7;
  background-image: url(../img/top/road_illust_2.svg), url(../img/top/road_illust_1.svg);
  background-position: 100% 0, 0 100%;
  background-repeat: no-repeat, no-repeat;
  padding: 90px 0;
}
@media (max-width: 1039px) {
  .top-service {
    background-image: url(../img/top/road_illust_4.svg), url(../img/top/road_illust_5.svg);
  }
}
@media (max-width: 767px) {
  .top-service {
    padding: 60px 0;
  }
}
.top-service .service-groups {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.top-service .service-group {
  background-color: #fff;
  border-radius: 8px;
  padding: 24px 48px 24px 24px;
  display: flex;
  align-items: flex-start;
}
@media (max-width: 1039px) {
  .top-service .service-group {
    display: block;
    padding: 24px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group {
    padding: 16px 16px 24px;
  }
}
.top-service .service-group .img {
  margin-right: 4%;
  width: 28.4%;
}
@media (max-width: 1039px) {
  .top-service .service-group .img {
    margin-right: auto;
    width: 100%;
  }
}
.top-service .service-group .img img {
  display: block;
  border-radius: 4px;
  width: 100%;
}
@media (max-width: 1039px) {
  .top-service .service-group .img img {
    margin: 0 auto;
    border-radius: 28px;
    max-width: 400px;
  }
}
.top-service .service-group .cont {
  padding-top: 32px;
  flex: 1;
}
@media (max-width: 767px) {
  .top-service .service-group .cont {
    padding-top: 24px;
  }
}
.top-service .service-group h3 {
  display: flex;
  align-items: center;
  margin: 0 0 15px;
}
.top-service .service-group h3 .ja {
  display: block;
  font-size: 24px;
  margin-right: 15px;
  padding-right: 18px;
  position: relative;
}
@media (max-width: 767px) {
  .top-service .service-group h3 .ja {
    font-size: 20px;
  }
}
@media (max-width: 360px) {
  .top-service .service-group h3 .ja {
    font-size: 18px;
    margin-right: 12px;
    padding-right: 15px;
  }
}
.top-service .service-group h3 .ja::after {
  background-color: #ADBACC;
  border-radius: 1px;
  content: "";
  height: 16px;
  position: absolute;
  top: 0.4em;
  right: 0;
  width: 2px;
}
@media (max-width: 360px) {
  .top-service .service-group h3 .ja::after {
    top: 0.3em;
  }
}
.top-service .service-group h3 .en {
  display: block;
  color: #DF0515;
  font-style: "Roboto", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  position: relative;
  top: 0.08em;
  font-size: 14px;
}
@media (max-width: 767px) {
  .top-service .service-group h3 .en {
    top: 0.1em;
  }
}
@media (max-width: 360px) {
  .top-service .service-group h3 .en {
    font-size: 12px;
  }
}
.top-service .service-group p {
  line-height: 2;
  letter-spacing: 0.04em;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .top-service .service-group p {
    margin-bottom: 27px;
  }
}
.top-service .service-group .service-link-list {
  display: flex;
  gap: 20px;
}
@media (max-width: 1039px) {
  .top-service .service-group .service-link-list {
    border-top: 1px solid #ADBACC;
    flex-direction: column;
    gap: 0;
  }
}
.top-service .service-group .service-link-list li {
  flex: 1;
}
.top-service .service-group .service-link-list li a {
  font-size: 16px;
  font-weight: 500;
  border-top: 1px solid #ADBACC;
  border-bottom: 1px solid #ADBACC;
  display: flex;
  align-items: center;
  padding: 14px 24px 16px 0;
  position: relative;
  transition: color ease 240ms;
}
@media (max-width: 767px) {
  .top-service .service-group .service-link-list li a {
    padding: 10px 24px 12px 0;
  }
}
.top-service .service-group .service-link-list li a::before, .top-service .service-group .service-link-list li a::after {
  content: "";
  transition: all 300ms ease;
  position: absolute;
}
.top-service .service-group .service-link-list li a::before {
  background-color: #DF0515;
  height: 1px;
  bottom: -1px;
  left: 0;
  width: 0;
}
.top-service .service-group .service-link-list li a::after {
  background: url(../img/common/link_arrow_gray.svg) no-repeat center center;
  background-size: cover;
  height: 8px;
  top: 50%;
  margin-top: -4px;
  right: 6px;
  width: 12px;
  transition: right 300ms ease;
}
@media (min-width: 1040px) {
  .top-service .service-group .service-link-list li a:hover {
    color: #DF0515;
    font-weight: bold;
  }
  .top-service .service-group .service-link-list li a:hover::before {
    width: 100%;
  }
  .top-service .service-group .service-link-list li a:hover::after {
    right: 0;
  }
}
@media (max-width: 1039px) {
  .top-service .service-group .service-link-list li a {
    border-top: none;
  }
}
@media (max-width: 360px) {
  .top-service .service-group .service-link-list li a {
    font-size: 14px;
  }
}
.top-service .service-group .service-link-list li a .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 55px;
  width: 45px;
}
.top-service .service-group .service-link-list li a .icon svg {
  display: block;
}
.top-service .service-group .service-link-list li a .txt {
  display: block;
  padding-left: 8px;
  line-height: 1.5;
}
.top-service .service-group .service-link-list li a .txt small {
  font-size: 12px;
  display: block;
}
.top-service .service-group .service-link-list li a .txt small.indent {
  text-indent: -0.5em;
}
@media (max-width: 767px) {
  .top-service .service-group--wash .service-link-list li:nth-child(1) .icon img {
    width: 42px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group--oil .service-link-list li:nth-child(1) .icon img {
    width: 29px;
  }
}
.top-service .service-group--oil .service-link-list li:nth-child(2) .icon {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .top-service .service-group--oil .service-link-list li:nth-child(2) .icon img {
    width: 38px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group--oil .service-link-list li:nth-child(3) .icon img {
    width: 43px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group--tire .service-link-list li:nth-child(1) .icon img {
    width: 37px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group--tire .service-link-list li:nth-child(2) .icon img {
    width: 30px;
  }
}
.top-service .service-group--shaken .service-link-list li:first-child a .icon {
  padding-bottom: 4px;
}
@media (max-width: 767px) {
  .top-service .service-group--shaken .service-link-list li:first-child a .icon img {
    width: 38px;
  }
}
@media (max-width: 767px) {
  .top-service .service-group--shaken .service-link-list li:nth-child(2) a .icon img {
    width: 30px;
  }
}
.top-service .service-group--coating .service-link-list li:nth-child(2) a .icon {
  padding-bottom: 6px;
}
@media (max-width: 767px) {
  .top-service .service-group--coating .service-link-list li:nth-child(2) a .icon svg {
    width: 39px;
  }
}

/* top guide
 * ---------------------------------- */
.top-guide {
  background: #fff url(../img/top/road_illust_3.svg) right bottom no-repeat;
  padding: 90px 0;
}
@media (max-width: 1039px) {
  .top-guide {
    background-image: url(../img/top/road_illust_6.svg);
    background-position: right bottom -160px;
  }
}
@media (max-width: 767px) {
  .top-guide {
    padding: 60px 0;
  }
}
.top-guide .top-guide-tags {
  background: #ECEFF4 url(../img/top/guide_bg_gra.png) no-repeat center center;
  border-radius: 8px;
  aspect-ratio: 1200/640;
  text-align: center;
  margin-bottom: 50px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1039px) {
  .top-guide .top-guide-tags {
    aspect-ratio: 1200/800;
  }
}
@media (max-width: 767px) {
  .top-guide .top-guide-tags {
    background-size: 120%;
    aspect-ratio: 343/640;
  }
}
@media (max-width: 360px) {
  .top-guide .top-guide-tags {
    margin-bottom: 30px;
  }
}
.top-guide .top-guide-tags .logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 23.333%;
}
@media (max-width: 767px) {
  .top-guide .top-guide-tags .logo {
    text-align: center;
    width: 55%;
  }
}
.top-guide .top-guide-tags .logo img {
  display: block;
  margin: auto;
}
@media (max-width: 767px) {
  .top-guide .top-guide-tags .logo img {
    width: 200px;
  }
}
.top-guide .top-guide-tag {
  position: absolute;
  border-radius: 5em;
  padding: 1% 2% 1.2%;
  font-size: clamp(10px, 1.4vw, 14px);
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap;
  animation: floatAnimation 3s ease-in-out infinite alternate;
  z-index: 1;
}
.top-guide .top-guide-tag__1, .top-guide .top-guide-tag__7, .top-guide .top-guide-tag__12 {
  animation-delay: 0s;
}
.top-guide .top-guide-tag__2, .top-guide .top-guide-tag__6, .top-guide .top-guide-tag__10 {
  animation-delay: -0.8s; /* マイナス値にすることで、ページを開いた瞬間からズレて動きます */
}
.top-guide .top-guide-tag__3, .top-guide .top-guide-tag__8, .top-guide .top-guide-tag__11 {
  animation-delay: -1.5s;
}
.top-guide .top-guide-tag__4, .top-guide .top-guide-tag__5, .top-guide .top-guide-tag__9, .top-guide .top-guide-tag__13 {
  animation-delay: -2.3s;
}
@keyframes floatAnimation {
  0% {
    /* 最初は元の位置、ほんの少しだけ右に傾ける */
    transform: translateY(0) rotate(0deg);
  }
  100% {
    transform: translateY(-8px) rotate(-1deg);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  }
}
.top-guide .top-guide-tag::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: inherit;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.top-guide {
  /* ブルー (青) */
}
.top-guide .top-guide-tag__blue {
  background-color: #549ab7;
}
.top-guide {
  /* イエロー (オレンジ・黄) */
}
.top-guide .top-guide-tag__yellow {
  background-color: #f1a842;
}
.top-guide {
  /* グリーン (緑) */
}
.top-guide .top-guide-tag__green {
  background-color: #52a578;
}
.top-guide {
  /* --- 各番号ごとの位置と、突起（三角形）の位置指定 --- */
  /* 1. #近所の出光で完結してラク (中央上) */
}
.top-guide .top-guide-tag__1 {
  top: 15.6%;
  left: 42.2%;
}
.top-guide .top-guide-tag__1::after {
  bottom: -10px;
  left: 25%;
}
.top-guide {
  /* 2. #スマホでサクッとメンテ予約 (左上) */
}
.top-guide .top-guide-tag__2 {
  top: 23.4%;
  left: 18.8%;
}
.top-guide .top-guide-tag__2::after {
  bottom: -10px;
  left: 33%;
}
.top-guide {
  /* 3. #面倒な電話予約から解放 (左上・中) */
}
.top-guide .top-guide-tag__3 {
  top: 37.5%;
  left: 16.8%;
  z-index: 2;
}
.top-guide .top-guide-tag__3::after {
  bottom: -10px;
  right: 33%;
}
.top-guide {
  /* 4. #24時間いつでも予約OK (左中央) */
}
.top-guide .top-guide-tag__4 {
  top: 43.8%;
  left: 6%;
}
.top-guide .top-guide-tag__4::after {
  bottom: -10px;
  right: 33%;
}
.top-guide {
  /* 5. #車検の予約もネットで楽々 (左下・中) */
}
.top-guide .top-guide-tag__5 {
  top: 58.6%;
  left: 13%;
}
.top-guide .top-guide-tag__5::after {
  bottom: -10px;
  left: 33%;
}
.top-guide {
  /* 6. #会員登録で愛車の履歴をサクッと管理 (左下) */
}
.top-guide .top-guide-tag__6 {
  top: 73.4%;
  left: 10.8%;
  z-index: 2;
}
.top-guide .top-guide-tag__6::after {
  bottom: -10px;
  right: 40%;
}
.top-guide {
  /* 7. #オイル交換がめちゃスムーズ (下・中央寄り) */
}
.top-guide .top-guide-tag__7 {
  top: 79.7%;
  left: 29.2%;
}
.top-guide .top-guide-tag__7::after {
  bottom: -10px;
  right: 25%;
}
.top-guide {
  /* 8. #スキマ時間で賢くカーメンテ (右上) */
}
.top-guide .top-guide-tag__8 {
  top: 22.7%;
  right: 15.4%;
}
.top-guide .top-guide-tag__8::after {
  bottom: -10px;
  right: 25%;
}
.top-guide {
  /* 9. #手洗い洗車も待たずに完了 (右中央・上) */
}
.top-guide .top-guide-tag__9 {
  top: 34.4%;
  right: 18.8%;
}
.top-guide .top-guide-tag__9::after {
  bottom: -10px;
  left: 20%;
}
.top-guide {
  /* 10. #プロのコーティングを手軽に予約 (右中央) */
}
.top-guide .top-guide-tag__10 {
  top: 41%;
  right: 5%;
  z-index: 2;
}
.top-guide .top-guide-tag__10::after {
  bottom: -10px;
  left: 60%;
}
.top-guide {
  /* 12. #オイル履歴が残って便利 (右下・中) */
}
.top-guide .top-guide-tag__12 {
  top: 53.9%;
  right: 13.8%;
}
.top-guide .top-guide-tag__12::after {
  bottom: -10px;
  left: 25%;
}
.top-guide {
  /* 11. #サービスステーションの待ち時間ゼロ (右下) */
}
.top-guide .top-guide-tag__11 {
  top: 66.4%;
  right: 6%;
}
.top-guide .top-guide-tag__11::after {
  bottom: -10px;
  left: 65%;
}
.top-guide {
  /* 13. #タイヤ履き替えシーズンの行列回避 (最下部・右寄り) */
}
.top-guide .top-guide-tag__13 {
  top: 77.3%;
  right: 21.8%;
}
@media (max-width: 1039px) {
  .top-guide .top-guide-tag__13 {
    right: 16%;
  }
}
.top-guide .top-guide-tag__13::after {
  bottom: -10px;
  left: 65%;
}
.top-guide .top-guide-tag__8::after, .top-guide .top-guide-tag__9::after, .top-guide .top-guide-tag__10::after, .top-guide .top-guide-tag__11::after, .top-guide .top-guide-tag__12::after, .top-guide .top-guide-tag__13::after {
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media (max-width: 767px) {
  .top-guide {
    /* 親コンテナの比率固定を解除し、縦に長く伸びるようにする */
  }
  .top-guide .top-guide-tags {
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    padding: 20px 0; /* 上下に余白を確保 */
    min-height: 680px;
  }
  .top-guide {
    /* スマホ時の共通フォントサイズ調整 */
  }
  .top-guide .top-guide-tag {
    font-size: 12px;
    padding: 6px 14px 7px;
  }
  .top-guide {
    /* --- 💡 各番号ごとのスマホ位置調整 --- */
    /* 【上半分グループ】 */
    /* 1. #近所の出光で完結してラク */
  }
  .top-guide .top-guide-tag__1 {
    top: 3%;
    left: 41%;
    right: auto;
  }
  .top-guide .top-guide-tag__1::after {
    bottom: -10px;
    left: auto;
    right: 20%;
    top: auto;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }
  .top-guide {
    /* 2. #スマホでサクッとメンテ予約 */
  }
  .top-guide .top-guide-tag__2 {
    top: 7%;
    left: 15%;
    right: auto;
  }
  .top-guide .top-guide-tag__2::after {
    bottom: -10px;
    right: auto;
    left: 30%;
    top: auto;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
  }
  .top-guide {
    /* 3. #面倒な電話予約から解放 */
  }
  .top-guide .top-guide-tag__3 {
    top: 13%;
    left: auto;
    right: 10%;
  }
  .top-guide .top-guide-tag__3::after {
    bottom: -10px;
    left: 50%;
    right: auto;
    top: auto;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }
  .top-guide {
    /* 4. #24時間いつでも予約OK */
  }
  .top-guide .top-guide-tag__4 {
    top: 18%;
    left: 6%;
    right: auto;
  }
  .top-guide .top-guide-tag__4::after {
    bottom: -10px;
    right: auto;
    left: 23%;
    top: auto;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
  }
  .top-guide {
    /* 5. #車検の予約もネットで楽々 */
  }
  .top-guide .top-guide-tag__5 {
    top: 22%;
    left: auto;
    right: 18%;
  }
  .top-guide .top-guide-tag__5::after {
    bottom: -10px;
    left: 25%;
    right: auto;
    top: auto;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }
  .top-guide {
    /* 6. #会員登録で愛車の履歴をサクッと管理 */
  }
  .top-guide .top-guide-tag__6 {
    top: 28%;
    left: 10%;
    right: auto;
  }
  .top-guide .top-guide-tag__6::after {
    bottom: -10px;
    right: auto;
    left: 22%;
    top: auto;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
  }
  .top-guide {
    /* 7. #オイル交換がめちゃスムーズ */
  }
  .top-guide .top-guide-tag__7 {
    top: 33%;
    left: auto;
    right: 20%;
  }
  .top-guide .top-guide-tag__7::after {
    bottom: -10px;
    right: 20%;
    left: auto;
    top: auto;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }
  .top-guide {
    /* 【下半分グループ（中央の余白を空けて再配置）】 */
    /* 8. #スキマ時間で賢くカーメンテ */
  }
  .top-guide .top-guide-tag__8 {
    top: 65%;
    left: auto;
    right: 13%;
  }
  .top-guide .top-guide-tag__8::after {
    bottom: auto;
    top: -10px;
    left: auto;
    right: 25%;
    clip-path: polygon(0 100%, 100% 100%, 0 0);
  }
  .top-guide {
    /* 9. #手洗い洗車も待たずに完了 */
  }
  .top-guide .top-guide-tag__9 {
    top: 71%;
    left: 12%;
    right: auto;
  }
  .top-guide .top-guide-tag__9::after {
    bottom: auto;
    top: -10px;
    left: 25%;
    right: auto;
    clip-path: polygon(100% 100%, 0 100%, 100% 0);
  }
  .top-guide {
    /* 10. #プロのコーティングを手軽に予約 */
  }
  .top-guide .top-guide-tag__10 {
    top: 76%;
    left: auto;
    right: 22%;
  }
  .top-guide .top-guide-tag__10::after {
    bottom: auto;
    top: -10px;
    left: 60%;
    right: auto;
    clip-path: polygon(0 100%, 100% 100%, 0 0);
  }
  .top-guide {
    /* 11. #サービスステーションの待ち時間ゼロ */
  }
  .top-guide .top-guide-tag__11 {
    top: 82%;
    left: auto;
    right: 3%;
  }
  .top-guide .top-guide-tag__11::after {
    bottom: auto;
    top: -10px;
    left: 55%;
    right: auto;
    clip-path: polygon(0 100%, 100% 100%, 0 0);
  }
  .top-guide {
    /* 12. #オイル履歴が残って便利 */
  }
  .top-guide .top-guide-tag__12 {
    top: 87%;
    left: 4%;
    right: auto;
  }
  .top-guide .top-guide-tag__12::after {
    bottom: auto;
    top: -10px;
    left: 25%;
    right: auto;
    clip-path: polygon(100% 100%, 0 100%, 100% 0);
  }
  .top-guide {
    /* 13. #タイヤ履き替えシーズンの行列回避 */
  }
  .top-guide .top-guide-tag__13 {
    top: 92%;
    left: auto;
    right: 15%;
  }
  .top-guide .top-guide-tag__13::after {
    bottom: auto;
    top: -10px;
    left: 68%;
    right: auto;
    clip-path: polygon(0 100%, 100% 100%, 0 0);
  }
}
.top-guide .top-guide-txt {
  font-size: 16px;
  text-align: center;
  line-height: 2;
}
@media (max-width: 767px) {
  .top-guide .top-guide-txt {
    text-align: left;
  }
}
@media (max-width: 360px) {
  .top-guide .top-guide-txt {
    font-size: 14px;
  }
}
.top-guide .top-guide-txt .label {
  display: inline-block;
  border-radius: 4px;
  background-color: #383838;
  color: #fff;
  line-height: 1.5;
  padding: 0 0.5em 2px;
  margin-right: 0.2em;
  vertical-align: baseline;
}
.top-guide .top-guide-btn {
  display: flex;
  justify-content: center;
}
.top-guide .top-guide-btn .btn-wrapper {
  display: flex;
  gap: 20px;
}
@media (max-width: 767px) {
  .top-guide .top-guide-btn .btn-wrapper {
    flex-direction: column;
    gap: 16px;
  }
}
.top-guide .top-guide-btn .btn {
  box-shadow: none;
  background: #fff url(../img/common/link_arrow_gray.svg) no-repeat right 14px center;
  font-size: 16px;
  border: 1px solid #383838;
  font-weight: bold;
  display: block;
  padding: 20px 20px 21px;
  width: 280px;
  transition: background-position 300ms ease, box-shadow 300ms ease;
  position: relative;
  box-shadow: inset 0 0 0 0px #383838;
}
.top-guide .top-guide-btn .btn:hover {
  opacity: 1;
}
@media (min-width: 1040px) {
  .top-guide .top-guide-btn .btn:hover {
    background-position: right 10px center;
    box-shadow: inset 0 0 0 1px #383838;
  }
}

/* top movie gallery
 * ---------------------------------- */
.top-movie-gallery {
  background-color: #383838;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.top-movie-gallery .top-container {
  padding-top: 140px;
  padding-bottom: 140px;
}
@media (max-width: 1039px) {
  .top-movie-gallery .top-container {
    padding-top: 0;
    padding-bottom: 60px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .top-movie-gallery .top-container {
    padding-bottom: 50px;
  }
}
.top-movie-gallery .top-container h2 {
  margin: 0 0 18px;
}
@media (max-width: 767px) {
  .top-movie-gallery .top-container h2 img {
    width: 240px;
  }
}
.top-movie-gallery .top-container h2 + p {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .top-movie-gallery .top-container h2 + p {
    margin-bottom: 30px;
  }
}
.top-movie-gallery .top-movie-gallery-btn .btn {
  box-shadow: none;
  background: #fff url(../img/common/link_arrow_gray.svg) no-repeat right 14px center;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  padding: 20px 20px 21px;
  width: 280px;
  transition: background-position 300ms ease;
}
.top-movie-gallery .top-movie-gallery-btn .btn:hover {
  opacity: 1;
}
@media (min-width: 1040px) {
  .top-movie-gallery .top-movie-gallery-btn .btn:hover {
    background-position: right 10px center;
  }
}

@media (max-width: 1039px) {
  .top-movie-gallery-slider-group {
    position: relative;
    height: 64vw;
    margin-bottom: 60px;
    overflow: hidden;
  }
}
@media (max-width: 767px) {
  .top-movie-gallery-slider-group {
    margin-bottom: 40px;
  }
}

.top-movie-gallery-slider-wrapper {
  display: flex;
  gap: 16px;
  width: 1037px;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  margin-left: -130px;
  top: 0;
}
@media (max-width: 1039px) {
  .top-movie-gallery-slider-wrapper {
    max-width: none;
    left: -10vw;
    right: -10vw;
    margin-left: 0;
    gap: 6px;
    width: auto;
  }
}

.top-movie-gallery-slider {
  flex: 1;
  min-width: 0;
  height: 100% !important;
  overflow: visible !important;
  aspect-ratio: 335/620;
}
@media (max-width: 767px) {
  .top-movie-gallery-slider {
    aspect-ratio: 335/604;
  }
}
.top-movie-gallery-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
.top-movie-gallery-slider .swiper-slide {
  width: 100% !important;
  height: auto !important;
  padding-bottom: 16px;
}
@media (max-width: 767px) {
  .top-movie-gallery-slider .swiper-slide {
    padding-bottom: 8px;
  }
}
.top-movie-gallery-slider .swiper-slide img {
  border-radius: 8px;
  display: block;
  max-width: none;
  width: 100%;
}
@media (max-width: 767px) {
  .top-movie-gallery-slider .swiper-slide img {
    border-radius: 4px;
  }
}

/* top app
 * ---------------------------------- */
.top-app {
  padding: 90px 0;
  background: #f2f4f7 url(../img/top/road_illust_1.svg) no-repeat left bottom;
}
@media (max-width: 1039px) {
  .top-app {
    background-image: url(../img/top/road_illust_5.svg);
  }
}
@media (max-width: 767px) {
  .top-app {
    padding: 60px 0;
  }
}
.top-app .top-app-main {
  background-color: #fff;
  border-radius: 8px;
  text-align: center;
  padding: 96px 48px 48px;
  margin-bottom: 15px;
  position: relative;
}
@media (max-width: 1039px) {
  .top-app .top-app-main {
    padding-top: 60px;
  }
}
@media (max-width: 767px) {
  .top-app .top-app-main {
    padding: 48px 24px 84px;
  }
}
.top-app .top-app-main .logo {
  margin-bottom: 18px;
}
@media (max-width: 1039px) {
  .top-app .top-app-main .logo {
    margin-bottom: 22px;
  }
  .top-app .top-app-main .logo img {
    width: 380px;
  }
}
@media (max-width: 767px) {
  .top-app .top-app-main .logo img {
    max-width: 380px;
    width: 88%;
  }
}
.top-app .top-app-main p {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: 40px;
}
@media (max-width: 1039px) {
  .top-app .top-app-main p {
    margin-bottom: 24px;
  }
}
@media (max-width: 767px) {
  .top-app .top-app-main p {
    text-align: left;
    letter-spacing: 0;
  }
}
@media (max-width: 360px) {
  .top-app .top-app-main p {
    font-size: 14px;
  }
}
.top-app .top-app-main .illust-wrapper {
  position: absolute;
  top: 140px;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 7%;
  pointer-events: none;
  width: 100%;
}
@media (max-width: 1039px) {
  .top-app .top-app-main .illust-wrapper {
    position: static;
    top: auto;
    padding: 0;
    text-align: center;
    display: block;
    margin-bottom: 30px;
  }
  .top-app .top-app-main .illust-wrapper .illust-1 {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 190px;
    z-index: 1;
  }
}
.top-app .top-app-flow-list {
  display: flex;
  gap: 20px;
}
@media (max-width: 1039px) {
  .top-app .top-app-flow-list {
    flex-direction: column;
  }
}
.top-app .top-app-flow-list li {
  background-color: #ECEFF4;
  border-radius: 8px;
  flex: 1;
  padding: 48px 24px 40px;
}
@media (max-width: 767px) {
  .top-app .top-app-flow-list li {
    padding-bottom: 32px;
  }
}
@media (max-width: 360px) {
  .top-app .top-app-flow-list li {
    padding-left: 12px;
    padding-right: 12px;
  }
}
.top-app .top-app-flow-list li .img {
  position: relative;
  margin-bottom: 20px;
}
.top-app .top-app-flow-list li .img > img {
  display: block;
  width: 100%;
}
@media (max-width: 1039px) {
  .top-app .top-app-flow-list li .img > img {
    margin: 0 auto;
    max-width: 400px;
  }
}
.top-app .top-app-flow-list li .img .step {
  position: absolute;
  left: 50%;
  top: -32px;
  z-index: 1;
  transform: translateX(-50%);
}
@media (max-width: 360px) {
  .top-app .top-app-flow-list li .img .step {
    width: 60px;
  }
}
.top-app .top-app-flow-list li:not(:last-child) .img::before {
  background-color: #fff;
  border-radius: 50%;
  content: "";
  height: 34px;
  top: 50%;
  right: -52px;
  width: 34px;
  position: absolute;
  transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 1039px) {
  .top-app .top-app-flow-list li:not(:last-child) .img::before {
    content: none;
  }
}
.top-app .top-app-flow-list li:not(:last-child) .img::after {
  content: "";
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #383838;
  border-right: 0;
  top: 50%;
  right: -66px;
  width: 34px;
  position: absolute;
  transform: translateY(-50%);
  z-index: 1;
}
@media (max-width: 1039px) {
  .top-app .top-app-flow-list li:not(:last-child) .img::after {
    content: none;
  }
}
@media (max-width: 1039px) {
  .top-app .top-app-flow-list li:not(:last-child) {
    position: relative;
  }
}
@media (max-width: 1039px) and (max-width: 1039px) {
  .top-app .top-app-flow-list li:not(:last-child)::before {
    background-color: #fff;
    border-radius: 50%;
    content: "";
    height: 34px;
    top: auto;
    left: 50%;
    right: auto;
    bottom: -26px;
    width: 34px;
    transform: translateX(-50%);
    position: absolute;
    z-index: 1;
  }
}
@media (max-width: 1039px) and (max-width: 1039px) {
  .top-app .top-app-flow-list li:not(:last-child)::after {
    content: "";
    border-style: solid;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 9px solid #383838;
    border-bottom: 0;
    top: auto;
    right: auto;
    left: 50%;
    bottom: -16px;
    position: absolute;
    transform: translateX(-50%);
    z-index: 2;
  }
}
.top-app .top-app-flow-list li p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
  text-align: center;
}
@media (max-width: 360px) {
  .top-app .top-app-flow-list li p {
    font-size: 14px;
  }
}
.top-app .top-app-flow-list li p strong {
  color: #DF0515;
}
.top-app .top-app-cv {
  display: flex;
  gap: 4px;
  margin-bottom: 50px;
}
@media (max-width: 1039px) {
  .top-app .top-app-cv {
    flex-direction: column;
    gap: 3px;
  }
}
.top-app .top-app-cv__container {
  display: flex;
  align-items: center;
  padding: 48px;
  white-space: nowrap;
}
@media (max-width: 1039px) {
  .top-app .top-app-cv__container {
    padding: 24px;
  }
}
.top-app .top-app-cv__tit {
  background-color: #fff;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1039px) {
  .top-app .top-app-cv__tit {
    border-radius: 8px 8px 0 0;
  }
}
.top-app .top-app-cv__tit .logo {
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 86px;
  margin-right: 16px;
  width: 86px;
}
.top-app .top-app-cv__tit .logo img {
  /* 20260825ここから修正 */
  display: block;
  margin-left: 2%;
  width: 72%;
  /* 20260825ここまで修正 */
}
.top-app .top-app-cv__tit p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin: 0;
}
.top-app .top-app-cv__main {
  background-color: #fff;
  border-radius: 0 8px 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
@media (max-width: 1039px) {
  .top-app .top-app-cv__main {
    border-radius: 0 0 8px 8px;
  }
}
.top-app .top-app-cv__main .top-app-cv__btn {
  display: flex;
  gap: 14px;
}
@media (max-width: 767px) {
  .top-app .top-app-cv__main .top-app-cv__btn {
    flex-direction: column;
    gap: 10px;
  }
  .top-app .top-app-cv__main .top-app-cv__btn img {
    width: 203px;
  }
}
.top-app .top-app-cv__main .top-app-cv__qr {
  border-left: 1px dotted #383838;
  padding-left: 42px;
  margin-left: 42px;
}
@media (max-width: 767px) {
  .top-app .top-app-cv__main .top-app-cv__qr {
    display: none;
  }
}
.top-app .top-app-members {
  text-align: center;
}
.top-app .top-app-members img {
  border-radius: 8px;
}

/* top column
 * ---------------------------------- */
.top-column {
  padding: 90px 0 110px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-column {
    padding: 60px 0;
  }
}
.top-column .top-column-btn {
  padding: 50px 0 0;
  margin: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .top-column .top-column-btn {
    padding-top: 10px;
  }
}
.top-column .top-column-btn .btn {
  box-shadow: none;
  background: #fff url(../img/common/link_arrow_gray.svg) no-repeat right 14px center;
  border: 1px solid #383838;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  padding: 20px 20px 21px;
  width: 280px;
  transition: background-position 300ms ease, box-shadow 300ms ease;
  position: relative;
  box-shadow: inset 0 0 0 0px #383838;
}
.top-column .top-column-btn .btn:hover {
  opacity: 1;
}
@media (min-width: 1040px) {
  .top-column .top-column-btn .btn:hover {
    background-position: right 10px center;
    box-shadow: inset 0 0 0 1px #383838;
  }
}

.top-column-slider-wrapper {
  position: relative;
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  .top-column-slider-wrapper {
    padding-bottom: 30px;
  }
}
.top-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .top-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
  background-color: transparent;
  bottom: 0;
  height: 20px;
  top: auto;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .top-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .top-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    bottom: auto;
    flex: 1;
  }
}
.top-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar::before, .top-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal::before {
  content: "";
  background-color: #ADBACC;
  height: 2px;
  display: block;
  bottom: 9px;
  position: absolute;
  left: 0;
  border-radius: 1px;
  width: 100%;
}
.top-column-slider-wrapper .swiper-scrollbar-drag {
  background-color: #DF0515;
  top: 9px;
  height: 8px;
  top: 6px;
}
@media (max-width: 767px) {
  .top-column-slider-wrapper .slide-control {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 24px;
  }
}
.top-column-slider-wrapper .slide-button-wrapper {
  position: absolute;
  right: 0;
  top: -85px;
  display: flex;
  gap: 8px;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-column-slider-wrapper .slide-button-wrapper {
    position: static;
    top: auto;
  }
}
.top-column-slider-wrapper .slide-button-arrow {
  background: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px 11px;
  position: relative;
  width: 48px;
  height: 48px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.top-column-slider-wrapper .slide-button-arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: auto;
}
.top-column-slider-wrapper .slide-button-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-column-slider-wrapper .slide-button-prev .bg-line,
.top-column-slider-wrapper .slide-button-next .bg-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 6 4;
}
.top-column-slider-wrapper {
  /* hover時に伸びてくる実線 */
}
.top-column-slider-wrapper .slide-button-prev .draw-line,
.top-column-slider-wrapper .slide-button-next .draw-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 456;
  stroke-dashoffset: 456; /* 最初は隠しておく */
  transition: stroke-dashoffset 0.4s ease-in-out;
}
.top-column-slider-wrapper {
  /* アニメーションの発火 */
}
@media (min-width: 1040px) {
  .top-column-slider-wrapper .slide-button-prev:not(.swiper-button-disabled):hover .draw-line,
  .top-column-slider-wrapper .slide-button-next:not(.swiper-button-disabled):hover .draw-line {
    stroke-dashoffset: 0;
  }
}
.top-column-slider-wrapper .slide-button-prev {
  background-image: url(../img/top/slide_arrow_prev.svg);
}
.top-column-slider-wrapper .slide-button-next {
  background-image: url(../img/top/slide_arrow_next.svg);
}

.top-column-slider .swiper-slide {
  background-color: #fff;
  border-radius: 8px;
  height: auto;
  overflow: hidden;
  position: relative;
}
.top-column-slider .swiper-slide .post-thumbnail a {
  display: block;
  position: relative;
  overflow: hidden;
}
.top-column-slider .swiper-slide .post-thumbnail a img {
  display: block;
  transition: transform 0.3s ease;
  width: 100%;
}
@media (min-width: 1040px) {
  .top-column-slider .swiper-slide:hover .post-thumbnail a img {
    transform: scale(1.1);
  }
}
.top-column-slider .swiper-slide .post-category {
  background-color: #777;
  color: #fff;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  padding: 2px 8px;
  z-index: 1;
}
@media (max-width: 360px) {
  .top-column-slider .swiper-slide .post-category {
    font-size: 12px;
  }
}
.top-column-slider .swiper-slide .post-category.category-oil {
  background-color: #3eb370;
}
.top-column-slider .swiper-slide .post-category.category-shaken {
  background-color: #DF0515;
}
.top-column-slider .swiper-slide .post-category.category-tire {
  background-color: #F0AA41;
}
.top-column-slider .swiper-slide .post-category.category-break {
  background-color: #495f72;
}
.top-column-slider .swiper-slide .post-category.category-wash {
  background-color: #5096B4;
}
.top-column-slider .swiper-slide .post-category.category-other {
  background-color: #777;
}
.top-column-slider .swiper-slide .post-category.category-coating {
  background-color: #5AA578;
}
.top-column-slider .swiper-slide .post-data {
  padding: 24px 32px;
}
@media (max-width: 767px) {
  .top-column-slider .swiper-slide .post-data {
    padding: 18px 16px 18px;
  }
}
.top-column-slider .swiper-slide .post-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  min-height: 5.2em;
  margin-bottom: 15px;
}
@media (max-width: 360px) {
  .top-column-slider .swiper-slide .post-title {
    font-size: 14px;
  }
}
.top-column-slider .swiper-slide .post-title a {
  color: #383838;
}
.top-column-slider .swiper-slide .post-date {
  font-size: 12px;
  display: block;
  margin-bottom: 4px;
  opacity: 0.5;
}
.top-column-slider .swiper-slide .post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.top-column-slider .swiper-slide .post-tags a {
  border: 1px dashed #383838;
  display: block;
  border-radius: 4px;
  font-size: 12px;
  color: #383838;
  line-height: 1.5;
  padding: 3px 12px;
  opacity: 0.5;
}
.top-column-slider .swiper-slide .post-tags a::before {
  content: "#";
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  12. login
 * :::::::::::::::::::::::::::::::::::::::::: */
#login-main h2 {
  font-size: 24px;
  margin: 0 0 20px;
  text-align: center;
}
@media (max-width: 767px) {
  #login-main h2 {
    font-size: 18px;
  }
}
#login-main .form-control {
  background-color: #fff;
}
#login-main .login-reserve-data {
  margin-top: 36px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #login-main .login-reserve-data {
    margin-top: 20px;
    margin-bottom: 34px;
  }
}
#login-main .login-reserve-data .card {
  border: 3px solid #d1d1d1;
  padding: 18px 22px 16px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  #login-main .login-reserve-data .card {
    padding: 14px 16px 12px;
  }
}
#login-main .login-reserve-data h4 {
  color: #949494;
  font-size: 12px;
  font-weight: normal;
  margin: 0 0 6px;
}
#login-main .login-reserve-data .shop-title {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
#login-main .login-reserve-data .shop-title .shop-logo {
  margin-right: 8px;
  width: 33px;
}
@media (max-width: 767px) {
  #login-main .login-reserve-data .shop-title .shop-logo {
    width: 30px;
  }
}
#login-main .login-reserve-data .shop-title .shop-name .name-company {
  display: block;
  font-weight: normal;
}
#login-main .login-reserve-data .shop-title .shop-name .name-ss {
  display: block;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #login-main .login-reserve-data .shop-title .shop-name .name-ss {
    font-size: 16px;
  }
}
#login-main .login-reserve-data .service-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
}
#login-main .login-reserve-data .service-list li {
  background-color: #f0f2f3;
  color: #383838;
  font-weight: bold;
  padding: 3px 15px;
  margin: 0 5px 5px 0;
  border-radius: 40px;
}
@media (max-width: 767px) {
  #login-main .login-reserve-data .service-list li {
    font-size: 12px;
  }
}
#login-main .login-area {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #login-main .login-area {
    margin-bottom: 34px;
  }
}
#login-main .login-area .before-text {
  text-align: center;
  position: relative;
}
#login-main .login-area .before-text::before {
  background-color: #C3CACE;
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
}
#login-main .login-area .before-text span {
  /* 20260810修正 */
  background-color: #EAEBED;
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding: 0 17px;
  z-index: 1;
  white-space: nowrap;
}
#login-main .register-area {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #login-main .register-area {
    margin-bottom: 34px;
  }
}
#login-main .register-area h2 {
  margin-top: 28px;
}
@media (max-width: 767px) {
  #login-main .register-area h2 {
    margin-top: 16px;
  }
}
#login-main .register-area .before-text {
  text-align: center;
  position: relative;
}
#login-main .register-area .before-text::before {
  background-color: #C3CACE;
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
}
#login-main .register-area .before-text span {
  background-color: #EAEBED;
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding: 0 17px;
  z-index: 1;
  white-space: nowrap;
}
#login-main .register-area .select-member-guest {
  display: flex;
  border-radius: 6px;
  margin: 24px auto;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}
#login-main .register-area .select-member-guest .form-radio {
  display: flex;
  width: 50%;
}
#login-main .register-area .select-member-guest .form-radio .form-radio-text {
  display: flex;
  align-items: center;
  background: #fff;
  text-align: center;
  justify-content: center;
  line-height: 1.4;
  padding: 18px 30px;
  width: 100%;
}
@media (max-width: 767px) {
  #login-main .register-area .select-member-guest .form-radio .form-radio-text {
    font-size: 14px;
    padding: 10px 30px;
  }
}
#login-main .register-area .select-member-guest .form-radio .form-radio-text br {
  display: none;
}
@media (max-width: 767px) {
  #login-main .register-area .select-member-guest .form-radio .form-radio-text br {
    display: inline;
  }
}
#login-main .register-area .select-member-guest .form-radio .form-radio-input:checked + .form-radio-text {
  background: #DF0515 url("../img/icon/icon_check_circle_white.svg") no-repeat 18px center;
  background-size: 22px 22px;
  color: #fff;
}
@media (max-width: 767px) {
  #login-main .register-area .select-member-guest .form-radio .form-radio-input:checked + .form-radio-text {
    background-position: 14px center;
    background-size: 20px 20px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  13. password reissue
 * :::::::::::::::::::::::::::::::::::::::::: */
#password-reissue-request .card {
  max-width: 740px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #password-reissue-request .card {
    padding: 20px 16px;
  }
}
#password-reissue-request .form-block {
  max-width: 540px;
  margin: 0 auto;
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  20. service
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  21. service-select
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-select {
  margin-top: 36px;
}
@media (max-width: 767px) {
  #service-select {
    margin-top: 20px;
  }
}

#service-link-list {
  padding: 0 7%;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  #service-link-list {
    padding: 0;
  }
}
#service-link-list li {
  padding: 0 10px;
  margin-bottom: 40px;
  text-align: center;
  width: 33.333%;
}
@media (max-width: 767px) {
  #service-link-list li {
    margin-bottom: 30px;
    padding: 0 5px;
  }
}
#service-link-list li a {
  color: #383838;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: all 0.14s ease-out;
}
@media (min-width: 1040px) {
  #service-link-list li a:hover {
    color: #DF0515;
  }
  #service-link-list li a:hover img {
    transform: translateY(-2px);
  }
}
#service-link-list li img {
  width: 117px;
  transition: all 0.14s ease-out;
}
@media (max-width: 767px) {
  #service-link-list li img {
    width: 70px;
  }
}
#service-link-list li .txt {
  display: block;
  font-size: 16px;
  margin-top: 12px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  #service-link-list li .txt {
    font-size: 12px;
  }
}

#service-select-header .shop-title {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 12px;
}
#service-select-header .shop-title .shop-logo {
  margin-right: 15px;
  width: 60px;
}
@media (max-width: 767px) {
  #service-select-header .shop-title .shop-logo {
    margin-right: 10px;
    width: 36px;
  }
}
#service-select-header .shop-title h1 {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.02em;
  flex: 1;
}
@media (max-width: 767px) {
  #service-select-header .shop-title h1 {
    font-size: 20px;
  }
}
#service-select-header .shop-title .shop-company {
  font-size: 16px;
  font-weight: normal;
  display: block;
}
@media (max-width: 767px) {
  #service-select-header .shop-title .shop-company {
    font-size: 12px;
  }
}
#service-select-header .shop-title .shop-name {
  display: block;
}
#service-select-header .distance {
  background: url("../img/shop/icon_mappin02.png") no-repeat 1px 2px;
  background-size: 12px 16px;
  float: left;
  padding-left: 18px;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  #service-select-header .distance {
    background-size: 11px 15px;
    font-size: 12px;
  }
}
#service-select-header .link-info {
  float: right;
  letter-spacing: 0.02em;
}
#service-select-header .link-info a {
  color: #383838;
  display: block;
  float: left;
}
@media (max-width: 767px) {
  #service-select-header .link-info a {
    font-size: 12px;
  }
}
#service-select-header .link-info a:hover {
  text-decoration: underline;
}
#service-select-header .link-info a.icon-info {
  background: url("../img/shop/icon_info.png") no-repeat 0 2px;
  background-size: 17px 17px;
  padding-left: 24px;
}
@media (max-width: 767px) {
  #service-select-header .link-info a.icon-info {
    background-position: 0 3px;
    background-size: 14px 14px;
    padding-left: 19px;
  }
}
#service-select-header .link-info a.icon-flyer {
  background: url("../img/shop/icon_flyer.png") no-repeat 0 2px;
  margin-right: 20px;
  background-size: 16px 18px;
  padding-left: 22px;
}
@media (max-width: 767px) {
  #service-select-header .link-info a.icon-flyer {
    background-position: 0 3px;
    background-size: 12px 14px;
    padding-left: 16px;
    margin-right: 10px;
  }
}

#service-select-image .shop-detail-image-slider-wrapper {
  position: relative;
  padding: 0 50px;
}
@media (max-width: 767px) {
  #service-select-image .shop-detail-image-slider-wrapper {
    padding: 0;
  }
}
#service-select-image .shop-detail-image-slider-wrapper .swiper-button-prev, #service-select-image .shop-detail-image-slider-wrapper .swiper-button-next {
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 42px 42px;
  position: absolute;
  top: 50%;
  margin-top: -21px;
  height: 42px;
  width: 42px;
}
#service-select-image .shop-detail-image-slider-wrapper .swiper-button-prev::after, #service-select-image .shop-detail-image-slider-wrapper .swiper-button-next::after {
  content: none;
}
@media (max-width: 1039px) {
  #service-select-image .shop-detail-image-slider-wrapper .swiper-button-prev, #service-select-image .shop-detail-image-slider-wrapper .swiper-button-next {
    display: none;
  }
}
#service-select-image .shop-detail-image-slider-wrapper .swiper-button-prev {
  background-image: url("../img/shop/slider_nav_prev.png");
  left: 28px;
}
#service-select-image .shop-detail-image-slider-wrapper .swiper-button-next {
  background-image: url("../img/shop/slider_nav_next.png");
  right: 28px;
}
#service-select-image #shop-detail-image-slider {
  overflow: hidden;
}
@media (max-width: 767px) {
  #service-select-image #shop-detail-image-slider {
    position: relative;
    margin: 0 -16px;
    padding: 0 16px;
  }
}
#service-select-image #shop-detail-image-slider .swiper-slide {
  overflow: hidden;
  border-radius: 40px;
}
@media (max-width: 767px) {
  #service-select-image #shop-detail-image-slider .swiper-slide {
    border-radius: 20px;
  }
}
#service-select-image .shop-pr-message {
  border: 1px solid #ededed;
  background-color: #fff;
  border-radius: 6px;
  margin: 30px 0 40px;
  padding: 24px 28px;
}
@media (max-width: 767px) {
  #service-select-image .shop-pr-message {
    padding: 20px;
  }
}
#service-select-image .shop-pr-message p {
  font-size: 15px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-select-image .shop-pr-message p {
    font-size: 14px;
  }
}
#service-select-image .shop-pr-message .message-copy {
  background: url(../img/icon/icon_megaphone.svg) no-repeat 0 0.2em;
  background-size: 31px 20px;
  padding-left: 40px;
  color: #DF0515;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.5em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-select-image .shop-pr-message .message-copy {
    background-position: 50% 0;
    background-size: 28px 18px;
    font-size: 16px;
    padding: 30px 0 0;
  }
}

#service-select-main .heading-2 {
  margin-top: 0;
}
#service-select-main .service-block {
  margin-top: -20px;
  margin-bottom: 20px;
  padding-top: 20px;
  position: relative;
}
#service-select-main .card h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 767px) {
  #service-select-main .card h3 {
    font-size: 14px;
  }
}
#service-select-main .card h3 .icon {
  display: inline-block;
  margin-right: 12px;
}
@media (max-width: 767px) {
  #service-select-main .card h3 .icon {
    margin-right: 10px;
  }
  #service-select-main .card h3 .icon__tire img {
    width: 35px;
  }
  #service-select-main .card h3 .icon__oil img {
    width: 37px;
  }
  #service-select-main .card h3 .icon__wash img {
    width: 38px;
  }
  #service-select-main .card h3 .icon__coating img {
    width: 40px;
  }
  #service-select-main .card h3 .icon__shaken img {
    width: 33px;
  }
  #service-select-main .card h3 .icon__other img {
    width: 37px;
  }
}
#service-select-main .card .select-type {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-select-main .card .select-type {
    font-size: 12px;
  }
}
#service-select-main .card .select-type p {
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  #service-select-main .card .select-type p {
    margin-bottom: 10px;
  }
}
#service-select-main .card .select-type .form-select-wrap {
  background: #f0f2f3;
  border: none;
  border-radius: 50px;
}
#service-select-main .card .select-type .form-select-wrap::after {
  background: none;
  right: 20px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
  transform: rotate(135deg);
  margin-top: -6px;
}
#service-select-main .card .select-type .form-select-wrap select {
  padding: 16px 30px;
}
#service-select-main .card .service-list {
  border-top: 1px solid #e8e8e8;
}
#service-select-main .card .service-list li {
  border-bottom: 1px solid #e8e8e8;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li {
    font-size: 12px;
  }
}
#service-select-main .card .service-list li > .d-flex {
  padding: 20px 0;
  align-items: center;
  width: 100%;
}
#service-select-main .card .service-list li .service-menu {
  margin-right: 20px;
}
#service-select-main .card .service-list li .service-menu .caps {
  font-size: 84%;
}
#service-select-main .card .service-list li .service-menu .service-name {
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-name {
    font-size: 14px;
    margin-bottom: 3px;
  }
}
#service-select-main .card .service-list li .service-menu .service-price {
  color: #DF0515;
}
#service-select-main .card .service-list li .service-menu .service-price .price {
  font-size: 23px;
  font-family: "Roboto", sans-serif;
  position: relative;
  margin-right: 0.07em;
  top: 0.03em;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price .price {
    font-size: 21px;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment {
  display: flex;
  margin-top: 10px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment {
    display: block;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .price-group {
  width: 48%;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .price-group {
    width: auto;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .price-group:first-child {
  margin-right: 4%;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .price-group:first-child {
    margin: 0 0 16px 0;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .label {
  background-color: #949494;
  color: #fff;
  font-size: 13px;
  display: block;
  padding: 3px 10px;
  text-align: center;
  position: relative;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .label {
    background: none;
    border-top: 2px solid #949494;
    font-size: 12px;
    text-align: left;
    margin-bottom: -8px;
    padding: 0;
  }
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .label .label-text {
    background-color: #949494;
    padding: 0 8px 2px;
    display: inline-block;
    text-align: center;
    width: 7em;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .label--web {
  background-color: #005AAA;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .label--web {
    border-top-color: #005AAA;
    background: none;
  }
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .label--web .label-text {
    background-color: #005AAA;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .d-flex {
  align-items: center;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-menu .service-price--web-payment .d-flex {
    align-items: flex-end;
  }
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .select-control .select-checkbox--web input[type=checkbox]:checked + .select-checkbox-text {
  background-color: #005AAA;
}
#service-select-main .card .service-list li .service-menu .service-price--web-payment .select-control .select-checkbox--web .select-checkbox-text {
  border-color: #005AAA;
  color: #005AAA;
}
#service-select-main .card .service-list li > .service-menu {
  padding: 20px 0;
  margin-right: 0;
}
#service-select-main .card .service-list li .select-control {
  margin-left: auto;
}
#service-select-main .card .service-list li .select-control .select-checkbox {
  cursor: pointer;
  position: relative;
  font-weight: normal;
  letter-spacing: 0.02em;
  display: inline-block;
  margin-bottom: auto;
  vertical-align: middle;
}
#service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
#service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text {
  color: #fff;
  background-color: #DF0515;
}
#service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text::before {
  background: url("../img/icon/icon_check_circle_white.svg") no-repeat center center;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 16px;
  width: 16px;
  top: 0.18em;
  margin-right: 5px;
  position: relative;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text::before {
    margin-right: 4px;
    height: 13px;
    top: 0.12em;
    width: 13px;
  }
}
#service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox]:checked + .select-checkbox-text::after {
  content: "中";
}
#service-select-main .card .service-list li .select-control .select-checkbox input[type=checkbox]:disabled + .select-checkbox-text {
  border-color: #e8e8e8;
  color: #ccc;
  cursor: auto;
}
#service-select-main .card .service-list li .select-control .select-checkbox .select-checkbox-text {
  border: 1px solid #DF0515;
  color: #DF0515;
  font-weight: 500;
  display: inline-block;
  text-align: center;
  padding: 12px;
  width: 110px;
  vertical-align: middle;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
}
#service-select-main .card .service-list li .select-control .select-checkbox .select-checkbox-text::after {
  content: "する";
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .select-control .select-checkbox .select-checkbox-text {
    font-size: 12px;
    width: 80px;
  }
}
@media (min-width: 1040px) {
  #service-select-main .card .service-list li .select-control .select-checkbox:hover .select-checkbox-text {
    border-color: #DF0515;
    color: #DF0515;
  }
  #service-select-main .card .service-list li .select-control .select-checkbox:hover input[type=checkbox]:disabled + .select-checkbox-text {
    border-color: #e8e8e8;
    color: #ccc;
  }
}
#service-select-main .card .service-list li .select-control .select-checkbox--request .select-checkbox-text {
  width: 160px;
}
#service-select-main .card .service-list li .select-control .select-checkbox--request .select-checkbox-text::after {
  content: none;
}
#service-select-main .card .service-list li .select-control .select-checkbox--request input[type=checkbox]:checked + .select-checkbox-text::after {
  content: none;
}
#service-select-main .card .service-list li .select-control .select-link {
  border: 1px solid #DF0515;
  color: #DF0515;
  font-weight: 500;
  display: inline-block;
  text-align: center;
  padding: 12px 2px;
  width: 140px;
  vertical-align: middle;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .select-control .select-link {
    font-size: 12px;
    width: 100px;
  }
}
#service-select-main .card .service-list li .select-control .tel-btn {
  background: #fff url("../img/shop/icon_phone.png") no-repeat 18px 50%;
  background-size: 11px 17px;
  border: 1px solid #d1d1d1;
  color: #383838;
  display: inline-block;
  text-align: center;
  padding: 12px 18px 12px 35px;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 6px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.16);
  white-space: nowrap;
}
@media (min-width: 1040px) {
  #service-select-main .card .service-list li .select-control .tel-btn:hover {
    border-color: #005AAA;
  }
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .select-control .tel-btn {
    background-size: 10px 15px;
    padding-left: 32px;
  }
}
#service-select-main .card .service-list li .service-list-table {
  width: 100%;
}
#service-select-main .card .service-list li .service-list-table th {
  padding: 20px 24px;
  font-weight: normal;
  vertical-align: middle;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-list-table th {
    padding: 20px;
  }
}
#service-select-main .card .service-list li .service-list-table th.first {
  padding-left: 0;
}
#service-select-main .card .service-list li .service-list-table td {
  padding: 20px 24px;
  font-weight: normal;
  vertical-align: middle;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-list-table td {
    padding: 20px;
  }
}
#service-select-main .card .service-list li .service-list-table td.col {
  padding-right: 0;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-list-table td.col {
    padding-left: 0;
  }
}
#service-select-main .card .service-list li .service-list-table .bg-gray {
  background-color: #f6f6f6;
}
#service-select-main .card .service-list li .service-list-table .text-red {
  color: #DF0515;
}
#service-select-main .card .service-list li .service-list-table .table-price {
  padding-left: 0;
  text-align: right;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-list-table .table-price {
    font-size: 12px;
  }
}
#service-select-main .card .service-list li .service-list-table .table-price .price {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
}
#service-select-main .card .service-list li .service-list-table .table-price__large .price {
  font-size: 23px;
}
#service-select-main .card .service-list li .service-detail {
  border: 1px solid #f0f2f3;
  margin-bottom: 20px;
  border-radius: 4px;
  overflow: hidden;
}
#service-select-main .card .service-list li .service-detail__content {
  display: none;
}
#service-select-main .card .service-list li .service-detail__content h4 {
  background-color: #f0f2f3;
  font-size: 14px;
  line-height: 1.5;
  padding: 13px 20px;
  margin: 0;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail__content h4 {
    padding: 12px 15px;
  }
}
#service-select-main .card .service-list li .service-detail__content p {
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail__content p {
    margin-bottom: 14px;
  }
}
#service-select-main .card .service-list li .service-detail__main {
  padding: 20px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail__main {
    padding: 15px;
  }
}
#service-select-main .card .service-list li .service-detail__toggle {
  background-color: #f0f2f3;
  display: block;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  padding: 10px;
  border-radius: 0;
  width: 100%;
  box-shadow: none;
}
#service-select-main .card .service-list li .service-detail__toggle .btn-text {
  background: url("../img/icon/icon_slide_down.svg") no-repeat 100% 50%;
  background-size: 9px 9px;
  display: inline-block;
  padding-right: 15px;
}
#service-select-main .card .service-list li .service-detail.is-show {
  border-color: #d1d1d1;
}
#service-select-main .card .service-list li .service-detail.is-show .service-detail__toggle {
  background-color: transparent;
}
#service-select-main .card .service-list li .service-detail.is-show .service-detail__toggle .btn-text {
  background-image: url("../img/icon/icon_slide_up.svg");
}
#service-select-main .card .service-list li .service-detail .service-tire-3 .img {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-tire-3 .img {
    display: block;
  }
}
#service-select-main .card .service-list li .service-detail .service-tire-3 .img-1 {
  margin-right: 25px;
}
#service-select-main .card .service-list li .service-detail .service-tire-3 .img-1 img {
  width: 265px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-tire-3 .img-1 {
    margin: 0 auto 20px;
    text-align: center;
  }
  #service-select-main .card .service-list li .service-detail .service-tire-3 .img-1 img {
    width: 240px;
  }
}
#service-select-main .card .service-list li .service-detail .service-tire-3 .img-2 {
  border: 2px dotted #adadad;
  padding: 20px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
}
#service-select-main .card .service-list li .service-detail .service-tire-3 .img-2 img {
  width: 100px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-tire-3 .img-2 {
    display: block;
    margin: 0 auto;
    padding: 15px;
    max-width: 240px;
    border-radius: 10px;
    text-align: center;
  }
  #service-select-main .card .service-list li .service-detail .service-tire-3 .img-2 img {
    width: 100px;
  }
}
#service-select-main .card .service-list li .service-detail .service-oil-1 .box {
  border: 2px solid #dbe4e5;
  padding: 24px 10%;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-oil-1 .box {
    padding: 18px 5%;
  }
}
#service-select-main .card .service-list li .service-detail .service-oil-1 .img {
  text-align: center;
  width: 45%;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-oil-1 .img {
    margin-bottom: 18px;
    width: 100%;
  }
  #service-select-main .card .service-list li .service-detail .service-oil-1 .img img {
    width: 180px;
  }
}
#service-select-main .card .service-list li .service-detail .service-oil-1 .txt {
  flex: 1;
  text-align: center;
}
#service-select-main .card .service-list li .service-detail .service-oil-1 h5 {
  color: #DF0515;
  font-size: 15px;
  margin: 0 0 10px;
}
#service-select-main .card .service-list li .service-detail .service-oil-1 a {
  color: #383838;
  text-decoration: underline;
}
#service-select-main .card .service-list li .service-detail .service-oil-1 a:hover {
  text-decoration: none;
}
#service-select-main .card .service-list li .service-detail .service-wash-1 .img {
  margin-left: 5%;
  text-align: center;
  width: 35%;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-wash-1 .img {
    margin-left: auto;
    margin-top: 18px;
    width: 100%;
  }
  #service-select-main .card .service-list li .service-detail .service-wash-1 .img img {
    width: 240px;
  }
}
#service-select-main .card .service-list li .service-detail .service-wash-1 .txt {
  flex: 1;
}
#service-select-main .card .service-list li .service-detail .service-coating-1 .img {
  margin-left: 5%;
  text-align: center;
  width: 30%;
}
@media (max-width: 767px) {
  #service-select-main .card .service-list li .service-detail .service-coating-1 .img {
    margin-left: auto;
    margin-top: 18px;
    width: 100%;
  }
  #service-select-main .card .service-list li .service-detail .service-coating-1 .img img {
    width: 150px;
  }
}
#service-select-main .card .service-list li .service-detail .service-coating-1 .txt {
  flex: 1;
}
#service-select-main .card .service-list li .service-detail .service-shaken-1 ul {
  margin: 20px 0;
}
#service-select-main .card .service-list li .service-detail .service-shaken-1 ul li {
  font-weight: 500;
  border: none;
  padding-left: 1em;
  margin-bottom: 0.4em;
  position: relative;
}
#service-select-main .card .service-list li .service-detail .service-shaken-1 ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#service-select-main .card .service-list li .service-detail .service-shaken-2 h5 {
  color: #DF0515;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
  margin-bottom: 4px;
}
#service-select-main .card .service-list li .service-detail .service-shaken-2 .img {
  margin-top: 20px;
}
#service-select-main .card .link-price {
  text-align: right;
  margin-top: 22px;
}
#service-select-main .card .link-price a {
  background: url("../img/shop/icon_yen.png") no-repeat 0 1px;
  background-size: 19px 19px;
  color: #383838;
  letter-spacing: 0.04em;
  padding-left: 26px;
}
#service-select-main .card .link-price a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  #service-select-main .card .link-price a {
    background-size: 16px 16px;
    font-size: 12px;
    padding-left: 22px;
  }
}
#service-select-main .card .service-btn {
  text-align: center;
  margin-top: 22px;
  margin-bottom: 4px;
}
#service-select-main .card .service-btn .btn {
  border: 1px solid #a7a7a7;
  background: url("../img/common/icon_link01.png") no-repeat right 22px top 50%;
  background-size: 11px 11px;
  letter-spacing: 0.02em;
  font-weight: normal;
  font-size: 14px;
  padding: 20px 40px;
  width: 100%;
  box-shadow: none;
  border-radius: 50px;
}
#service-select-main .card .service-btn .btn:hover {
  opacity: 1;
}
#service-select-main .card .service-btn .btn .twrap {
  display: inline-block;
}
@media (min-width: 1040px) {
  #service-select-main .card .service-btn .btn:hover {
    color: #DF0515;
    border-color: #DF0515;
  }
}
@media (max-width: 767px) {
  #service-select-main .card .service-btn .btn {
    background-size: 10px 10px;
    font-size: 12px;
    padding: 17px 36px;
  }
}

#service-select-submit {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 98;
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: opacity 0.1s, transform 0.1s cubic-bezier(0.47, 0, 0.745, 0.715);
}
#service-select-submit.is-show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
#service-select-submit .container {
  max-width: 872px;
  padding-bottom: 20px;
}
@media (max-width: 767px) {
  #service-select-submit .container {
    max-width: none;
    padding: 0;
    width: 100%;
  }
}
#service-select-submit .box {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  padding: 16px 22px;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (max-width: 767px) {
  #service-select-submit .box {
    display: block;
    border-radius: 16px 16px 0 0;
    padding: 16px;
  }
}
#service-select-submit .select-result {
  flex: 1;
  padding-right: 24px;
}
@media (max-width: 767px) {
  #service-select-submit .select-result {
    padding-right: 0;
  }
}
#service-select-submit .select-result h5 {
  margin: 0 0 7px;
  font-weight: normal;
}
@media (max-width: 767px) {
  #service-select-submit .select-result h5 {
    margin-bottom: 0;
  }
  #service-select-submit .select-result h5::after {
    content: "：";
  }
}
#service-select-submit .select-result .d-flex {
  width: 100%;
}
@media (max-width: 767px) {
  #service-select-submit .select-result .d-flex {
    flex-direction: column;
  }
}
#service-select-submit .select-result .d-flex .setname {
  flex: 1;
}
@media (max-width: 767px) {
  #service-select-submit .select-result .d-flex .setname h5 {
    display: none;
  }
}
#service-select-submit .select-result .d-flex .setname ul {
  display: flex;
  flex-wrap: wrap;
}
#service-select-submit .select-result .d-flex .setname ul li {
  background-color: #f0f2f3;
  color: #383838;
  font-weight: bold;
  padding: 3px 15px 3px 15px;
  margin: 0 8px 5px 0;
  border-radius: 40px;
  position: relative;
}
@media (max-width: 767px) {
  #service-select-submit .select-result .d-flex .setname ul li {
    font-size: 12px;
  }
}
#service-select-submit .select-result .d-flex .setname ul li .delete-btn {
  background: none;
  position: absolute;
  top: -0.7em;
  right: -0.7em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  height: 20px;
  width: 20px;
  z-index: 1;
  border-radius: 0;
  margin: 0;
}
#service-select-submit .select-result .d-flex .settime {
  margin-left: auto;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-select-submit .select-result .d-flex .settime {
    display: flex;
    align-items: baseline;
    font-size: 12px;
  }
}
#service-select-submit .select-result .d-flex .settime .total-time {
  font-weight: 500;
  line-height: 1;
}
#service-select-submit .select-result .d-flex .settime .total-time .time {
  font-family: "Roboto", sans-serif;
  font-size: 180%;
  position: relative;
  top: 1px;
  line-height: 1;
  font-weight: bold;
  margin: 0 0.02em 0 0.1em;
}
#service-select-submit .btn-primary {
  margin-left: auto;
}
@media (max-width: 767px) {
  #service-select-submit .btn-primary {
    font-size: 14px;
    margin-top: 10px;
    width: 100%;
  }
}
#service-select-submit .btn-clear {
  box-shadow: none;
  background-color: #fff;
  position: absolute;
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: normal;
  right: 20px;
  height: 2.4em;
  padding: 0 8px;
  top: -1.8em;
  white-space: nowrap;
  border-radius: 4px 4px 0 0;
}
#service-select-submit .btn-clear:before {
  content: "";
}
#service-select-submit .btn-clear:hover {
  opacity: 1;
}

#service-select-dialog .modal-content {
  border: none;
  border-radius: 10px;
}
#service-select-dialog .modal-header {
  padding: 2rem;
}
#service-select-dialog .modal-body {
  padding: 2rem;
}
#service-select-dialog .modal-footer {
  padding: 0 2rem 2rem;
  border-top: none;
}
#service-select-dialog .btn {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.04em;
  border-radius: 6px;
}

#service-select-info {
  position: relative;
  margin-top: -20px;
  padding-top: 20px;
}
#service-select-info .heading-2 {
  margin-top: 15px;
}
#service-select-info .info-map {
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  #service-select-info .info-map #map {
    height: 280px;
  }
}
#service-select-info .info-title {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 12px;
}
#service-select-info .info-title .shop-logo {
  margin-right: 15px;
  width: 60px;
}
@media (max-width: 767px) {
  #service-select-info .info-title .shop-logo {
    margin-right: 10px;
    width: 36px;
  }
}
#service-select-info .info-title .shop-title {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.02em;
  flex: 1;
}
@media (max-width: 767px) {
  #service-select-info .info-title .shop-title {
    font-size: 20px;
  }
}
#service-select-info .info-title .shop-company {
  font-size: 16px;
  font-weight: normal;
  display: block;
}
@media (max-width: 767px) {
  #service-select-info .info-title .shop-company {
    font-size: 12px;
  }
}
#service-select-info .info-title .shop-name {
  display: block;
}
#service-select-info .distance {
  background: url("../img/shop/icon_mappin02.png") no-repeat 1px 2px;
  background-size: 12px 16px;
  float: left;
  padding-left: 18px;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  #service-select-info .distance {
    background-size: 11px 15px;
    font-size: 12px;
  }
}
#service-select-info .link-info {
  float: right;
  letter-spacing: 0.02em;
}
#service-select-info .link-info a {
  color: #383838;
  display: block;
  float: left;
}
@media (max-width: 767px) {
  #service-select-info .link-info a {
    font-size: 12px;
  }
}
#service-select-info .link-info a:hover {
  text-decoration: underline;
}
#service-select-info .link-info a.icon-flyer {
  background: url("../img/shop/icon_flyer.png") no-repeat 0 2px;
  background-size: 16px 18px;
  padding-left: 22px;
}
@media (max-width: 767px) {
  #service-select-info .link-info a.icon-flyer {
    background-position: 0 3px;
    background-size: 12px 14px;
    padding-left: 16px;
  }
}
#service-select-info .info-table {
  margin-top: 20px;
}
@media (max-width: 767px) {
  #service-select-info .info-table {
    margin-top: 10px;
  }
}
#service-select-info .info-table th {
  border-bottom: 1px solid #e8e8e8;
  font-weight: normal;
  letter-spacing: 0.02em;
  text-align: left;
  padding: 20px 0;
  width: 8em;
  vertical-align: top;
}
@media (max-width: 767px) {
  #service-select-info .info-table th {
    font-size: 12px;
    padding: 12px 0;
    width: 6em;
  }
}
#service-select-info .info-table td {
  border-bottom: 1px solid #e8e8e8;
  font-weight: normal;
  letter-spacing: 0.02em;
  text-align: left;
  padding: 20px 0;
  vertical-align: top;
}
@media (max-width: 767px) {
  #service-select-info .info-table td {
    font-size: 12px;
    padding: 12px 0;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  22. service-date
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-reserve {
  margin-top: 30px;
}
@media (max-width: 767px) {
  #service-reserve {
    margin-top: 0;
  }
}
#service-reserve-date h1, #service-reserve-confirm h1 {
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 30px;
}
@media (max-width: 767px) {
  #service-reserve-date h1, #service-reserve-confirm h1 {
    font-size: 22px;
    margin-bottom: 28px;
  }
}
#service-reserve-date .card, #service-reserve-confirm .card {
  border: none;
  border-radius: 10px;
  padding: 0;
  margin-bottom: 20px;
}
#service-reserve-date .card-header, #service-reserve-confirm .card-header {
  border-bottom: 1px solid #d1d1d1;
  padding: 18px 20px;
  border-radius: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .card-header, #service-reserve-confirm .card-header {
    padding: 18px 16px;
  }
}
#service-reserve-date .card-body, #service-reserve-confirm .card-body {
  padding: 20px;
  border-radius: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .card-body, #service-reserve-confirm .card-body {
    padding: 18px 16px;
  }
}
#service-reserve-date .card-body .card-title, #service-reserve-confirm .card-body .card-title {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-body .card-title, #service-reserve-confirm .card-body .card-title {
    margin-bottom: 14px;
  }
}
#service-reserve-date .card-title, #service-reserve-confirm .card-title {
  font-size: 18px;
  margin: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title, #service-reserve-confirm .card-title {
    font-size: 16px;
  }
}
#service-reserve-date .card-title.title-icon-bg, #service-reserve-confirm .card-title.title-icon-bg {
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding: 0.2em 0 0.2em 34px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg, #service-reserve-confirm .card-title.title-icon-bg {
    padding-left: 30px;
  }
}
#service-reserve-date .card-title.title-icon-bg.title-info, #service-reserve-confirm .card-title.title-icon-bg.title-info {
  background-image: url("../img/icon/icon_tit_chat.svg");
  background-size: 23px 23px;
  background-position: 0 100%;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg.title-info, #service-reserve-confirm .card-title.title-icon-bg.title-info {
    background-size: 20px 20px;
  }
}
#service-reserve-date .card-title.title-icon-bg.title-calendar, #service-reserve-confirm .card-title.title-icon-bg.title-calendar {
  background-image: url("../img/icon/icon_tit_calendar.svg");
  background-size: 24px 24px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg.title-calendar, #service-reserve-confirm .card-title.title-icon-bg.title-calendar {
    background-size: 21px 21px;
  }
}
#service-reserve-date .card-title.title-icon-bg.title-gift, #service-reserve-confirm .card-title.title-icon-bg.title-gift {
  background-image: url("../img/icon/icon_tit_gift.svg");
  background-size: 22px 23px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg.title-gift, #service-reserve-confirm .card-title.title-icon-bg.title-gift {
    background-size: 19px 20px;
  }
}
#service-reserve-date .card-title.title-icon-bg.title-payment, #service-reserve-confirm .card-title.title-icon-bg.title-payment {
  background-image: url("../img/icon/icon_tit_payment.svg");
  background-size: 23px 18px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg.title-payment, #service-reserve-confirm .card-title.title-icon-bg.title-payment {
    background-size: 21px 16px;
  }
}
#service-reserve-date .card-title.title-icon-bg.title-car, #service-reserve-confirm .card-title.title-icon-bg.title-car {
  background-image: url("../img/icon/icon_tit_car.svg");
  background-size: 23px 20px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-icon-bg.title-car, #service-reserve-confirm .card-title.title-icon-bg.title-car {
    background-size: 20px 17px;
  }
}
#service-reserve-date .card-title.title-circle-icon-bg, #service-reserve-confirm .card-title.title-circle-icon-bg {
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: 44px 44px;
  padding: 0.8em 0 0.8em 58px;
}
@media (max-width: 767px) {
  #service-reserve-date .card-title.title-circle-icon-bg, #service-reserve-confirm .card-title.title-circle-icon-bg {
    background-size: 40px 40px;
    padding-left: 50px;
  }
}
#service-reserve-date .card-title.title-circle-icon-bg.title-ss, #service-reserve-confirm .card-title.title-circle-icon-bg.title-ss {
  background-image: url("../img/icon/icon_tit_circle_ss.svg");
}
#service-reserve-date .card-title.title-circle-icon-bg.title-customer, #service-reserve-confirm .card-title.title-circle-icon-bg.title-customer {
  background-image: url("../img/icon/icon_tit_circle_customer.svg");
}
#service-reserve-date .card-title.title-circle-icon-bg.title-car, #service-reserve-confirm .card-title.title-circle-icon-bg.title-car {
  background-image: url("../img/icon/icon_tit_circle_car.svg");
}
#service-reserve-date .card-title.title-circle-icon-bg.title-credit, #service-reserve-confirm .card-title.title-circle-icon-bg.title-credit {
  background-image: url("../img/icon/icon_tit_circle_credit.svg");
}
#service-reserve .edit-link {
  color: #005AAA;
  font-weight: normal;
  font-size: 14px;
  padding-right: 16px;
  position: relative;
}
#service-reserve .edit-link:hover {
  text-decoration: underline;
}
#service-reserve .edit-link::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #005AAA;
  border-right: 1px solid #005AAA;
  transform: rotate(45deg);
  right: 6px;
}
@media (max-width: 767px) {
  #service-reserve .edit-link {
    font-size: 12px;
  }
}
#service-reserve .submit-area {
  text-align: center;
}
#service-reserve .submit-area .btn-submit {
  padding: 18px;
  position: relative;
  width: 360px;
  max-width: 100%;
}
#service-reserve .submit-area .btn-submit::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  right: 20px;
}

#service-reserve-progress {
  margin: 0 -5% 35px;
  position: relative;
}
@media (max-width: 767px) {
  #service-reserve-progress {
    margin: 0 -10px 22px;
  }
}
#service-reserve-progress .progressbar {
  list-style: none;
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#service-reserve-progress .progressbar li {
  line-height: 1.5;
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 25%;
  color: #949494;
  font-size: 16px;
  font-weight: 500;
  counter-increment: progresssteps;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li {
    font-size: 12px;
    line-height: 1.3;
  }
}
#service-reserve-progress .progressbar li br {
  display: none;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li br {
    display: inline;
  }
}
#service-reserve-progress .progressbar li:before {
  border: 5px solid #949494;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  line-height: 1;
  height: 40px;
  margin: 7px auto 10px auto;
  content: "";
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  border-radius: 50%;
  font-family: "Roboto", sans-serif;
  color: #949494;
  background-color: #fff;
  content: counter(progresssteps);
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li:before {
    border-width: 3px;
    font-size: 15px;
    width: 30px;
    height: 30px;
  }
}
#service-reserve-progress .progressbar li:after {
  position: absolute;
  z-index: -1;
  top: 15px;
  right: -50%;
  width: 100%;
  height: 24px;
  content: "";
  background-color: #949494;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li:after {
    height: 18px;
    top: 13px;
  }
}
#service-reserve-progress .progressbar li:last-child:after {
  content: none;
}
#service-reserve-progress .progressbar li.active:before {
  background-color: #DF0515;
  color: #FFF;
}
#service-reserve-progress .progressbar li.complete:before {
  border-color: #DF0515;
  color: #DF0515;
}
#service-reserve-progress .progressbar li.complete:after {
  background-color: #DF0515;
}
#service-reserve-progress .progressbar li.active {
  color: #DF0515;
  position: relative;
  margin-top: -9px;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li.active {
    margin-top: -8px;
  }
}
#service-reserve-progress .progressbar li.active:before {
  font-size: 24px;
  border: none;
  margin-bottom: 5px;
  height: 54px;
  width: 54px;
  box-shadow: 0 0 16px #DF0515;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li.active:before {
    font-size: 22px;
    height: 44px;
    width: 44px;
  }
}
#service-reserve-progress .progressbar li.active:after {
  top: 24px;
}
@media (max-width: 767px) {
  #service-reserve-progress .progressbar li.active:after {
    top: 21px;
  }
}
#service-reserve-progress .progressbar.progress-step3 li {
  width: 33.333%;
}

@media (max-width: 767px) {
  #service-reserve-date .card {
    border-radius: 0;
    position: relative;
    margin-left: -16px;
    margin-right: -16px;
  }
  #service-reserve-date .card-header {
    border-bottom: none;
  }
  #service-reserve-date .card-header + .card-body {
    padding-top: 0;
  }
}
#service-reserve-date .reserve-calendar-wrapper {
  margin: 0 0 20px;
}
#service-reserve-date .yearcheck-link {
  color: #00417D;
  background: url("../img/icon/icon_info.svg") no-repeat 0 50%;
  background-size: 18px 18px;
  display: inline-block;
  padding-left: 24px;
  cursor: pointer;
}
#service-reserve-date .yearcheck-link:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  #service-reserve-date .yearcheck-link {
    font-size: 12px;
    background-size: 15px 15px;
    padding-left: 20px;
  }
}
#service-reserve-date .carselect-message {
  font-size: 16px;
  text-align: center;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .carselect-message {
    font-size: 14px;
  }
}
#service-reserve-date .select-car-size {
  border: 1px solid #DF0515;
  margin-top: 40px;
  position: relative;
}
#service-reserve-date .select-car-size::before {
  content: "";
  border-style: solid;
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  border-top: 18px solid #DF0515;
  border-bottom: 0;
  top: -28px;
  left: 50%;
  position: absolute;
  margin-left: -18px;
}
#service-reserve-date .select-car-size h3 {
  background-color: rgba(223, 5, 21, 0.06);
  color: #DF0515;
  font-size: 16px;
  text-align: center;
  margin: 0;
  padding: 15px;
}
@media (max-width: 767px) {
  #service-reserve-date .select-car-size h3 {
    font-size: 14px;
  }
}
#service-reserve-date .select-car-size .text {
  padding: 12px 14px 20px;
  text-align: center;
}
#service-reserve-date .select-car-size .text p {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 500;
  margin: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .select-car-size .text p {
    font-size: 16px;
  }
}
#service-reserve-date .select-car-size .text p .size {
  color: #DF0515;
  font-size: 30px;
  font-weight: bold;
  display: inline-block;
  margin: 0 0.1em;
  position: relative;
  line-height: 1.3;
}
@media (max-width: 767px) {
  #service-reserve-date .select-car-size .text p .size {
    font-size: 26px;
  }
}
#service-reserve-date .select-car-size .text p .size::after {
  background-color: #DF0515;
  content: "";
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
}
#service-reserve-date .select-car-size .text p small {
  font-size: 14px;
}
@media (max-width: 767px) {
  #service-reserve-date .select-car-size .text p small {
    font-size: 12px;
  }
}
#service-reserve-date .form-block .large-message {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 22px;
}
@media (max-width: 767px) {
  #service-reserve-date .form-block .large-message {
    font-size: 14px;
    margin-bottom: 16px;
    line-height: 1.5;
  }
}
#service-reserve-date .form-block .form-group:last-child {
  margin-bottom: 0;
}
#service-reserve-date .form-block .form-label {
  background-color: #f0f2f3;
  padding: 9px 12px;
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  #service-reserve-date .form-block .form-label {
    padding: 9px 16px;
    position: relative;
    margin-left: -16px;
    margin-right: -16px;
  }
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-shop-information {
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
    background: none;
  }
  #service-reserve-date .reserve-shop-information .card-body {
    padding: 0;
  }
  #service-reserve-date .reserve-shop-information .card-title {
    margin-bottom: 12px;
  }
}
#service-reserve-date .reserve-shop-information .information-detail {
  background-color: #f0f2f3;
  padding: 20px;
  border-radius: 0 16px 16px 16px;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-shop-information .information-detail {
    background-color: #fff;
  }
}
#service-reserve-date .reserve-shop-information .information-detail p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment {
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
    background: none;
  }
  #service-reserve-date .reserve-select-payment .card-header {
    padding: 0;
  }
  #service-reserve-date .reserve-select-payment .card-body {
    padding: 0 0 10px;
  }
  #service-reserve-date .reserve-select-payment .card-title {
    margin-bottom: 14px;
  }
}
#service-reserve-date .reserve-select-payment .select-payment {
  display: flex;
  justify-content: space-around;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment .select-payment {
    justify-content: space-between;
    padding: 0 1%;
  }
}
#service-reserve-date .reserve-select-payment .select-payment__label {
  display: flex;
  margin: 0;
  width: 47%;
}
#service-reserve-date .reserve-select-payment .select-payment__text {
  background-color: #fff;
  display: flex;
  border: 2px solid #dfdfdf;
  border-radius: 6px;
  line-height: 1.4;
  padding: 0;
  position: relative;
  width: 100%;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment .select-payment__text {
    flex-direction: column;
    padding: 8px 2px;
  }
}
#service-reserve-date .reserve-select-payment .select-payment__text::before {
  background: url("../img/icon/icon_check_circle_off.svg") no-repeat 0 0;
  background-size: 100%;
  content: "";
  height: 26px;
  display: block;
  position: absolute;
  left: -8px;
  top: -8px;
  width: 26px;
  z-index: 1;
}
#service-reserve-date .reserve-select-payment .select-payment__text .image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 76px;
  padding: 0 0 0 25px;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment .select-payment__text .image {
    padding: 0;
    height: 60px;
  }
}
#service-reserve-date .reserve-select-payment .select-payment__text .text {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment .select-payment__text .text {
    font-size: 16px;
    line-height: 1.3;
  }
}
#service-reserve-date .reserve-select-payment .select-payment__text .text small {
  display: block;
  font-size: 16px;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-select-payment .select-payment__text .text small {
    font-size: 12px;
  }
}
#service-reserve-date .reserve-select-payment .select-payment__input {
  display: none;
}
#service-reserve-date .reserve-select-payment .select-payment__input:checked + .select-payment__text {
  border-color: #DF0515;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
  color: #DF0515;
}
#service-reserve-date .reserve-select-payment .select-payment__input:checked + .select-payment__text::before {
  background-image: url("../img/icon/icon_check_circle.svg");
}
#service-reserve-date .reserve-details {
  border: #dfdfdf 3px solid;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details {
    margin-left: 0;
    margin-right: 0;
    border-radius: 10px;
  }
}
#service-reserve-date .reserve-details-table {
  border-top: 1px solid #d1d1d1;
  width: 100%;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr {
    display: block;
    position: relative;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > th {
  border-bottom: 1px solid #d1d1d1;
  font-weight: normal;
  line-height: 1.5;
  text-align: left;
  padding: 15px 0;
  width: 8.2em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > th {
    border-bottom: none;
    font-size: 12px;
    padding: 12px 0 0;
    display: block;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > td {
  border-bottom: 1px solid #d1d1d1;
  font-weight: bold;
  line-height: 1.5;
  padding: 15px 0;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > td {
    display: block;
    padding: 5px 0 12px;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > td .shop-logo {
  margin-right: 5px;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > td .shop-logo img {
    width: 24px;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > td .shop-name {
  font-size: 16px;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > td .shop-name {
    font-size: 14px;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > td .edit-link {
  margin-left: auto;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > td .edit-link {
    position: absolute;
    right: 0;
    top: 12px;
  }
}
#service-reserve-date .reserve-details-table > tbody > tr > td .reserve-details-work {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-table > tbody > tr > td .reserve-details-work {
    display: block;
  }
}
#service-reserve-date .reserve-details-edit-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-edit-item {
    display: block;
  }
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-worktime {
    width: 100%;
  }
}
#service-reserve-date .reserve-details-worktime th {
  padding-right: 2em;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
#service-reserve-date .reserve-details-worktime th.return-time {
  color: #DF0515;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-reserve-date .reserve-details-worktime th {
    padding-right: 1em;
  }
}
#service-reserve-date .reserve-details-worktime td {
  text-align: right;
  vertical-align: top;
}
#service-reserve-date .reserve-details-worktime td.return-time {
  color: #DF0515;
  font-weight: bold;
}

/* Fullcalendar
----------------------------------------------- */
#reserve-weekly-calendar th, #reserve-weekly-calendar td, #reserve-weekly-price-calendar th, #reserve-weekly-price-calendar td {
  border-color: #DBDCDD;
}
#reserve-weekly-calendar .fc-col-header-cell,
#reserve-weekly-calendar .fc-timegrid-col, #reserve-weekly-price-calendar .fc-col-header-cell,
#reserve-weekly-price-calendar .fc-timegrid-col {
  border: none;
}
#reserve-weekly-calendar .fc-header-toolbar, #reserve-weekly-price-calendar .fc-header-toolbar {
  margin-bottom: 14px;
}
#reserve-weekly-calendar .fc-toolbar-chunk, #reserve-weekly-price-calendar .fc-toolbar-chunk {
  display: flex;
  align-items: center;
}
#reserve-weekly-calendar .fc-toolbar-title, #reserve-weekly-price-calendar .fc-toolbar-title {
  font-size: 18px;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-toolbar-title, #reserve-weekly-price-calendar .fc-toolbar-title {
    font-size: 16px;
  }
}
#reserve-weekly-calendar .fc-monthCalendar-button, #reserve-weekly-price-calendar .fc-monthCalendar-button {
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #d1d1d1;
  display: block;
  height: 22px;
  overflow: hidden;
  text-indent: -9999px;
  position: relative;
  margin-left: 6px;
  width: 22px;
}
#reserve-weekly-calendar .fc-monthCalendar-button:after, #reserve-weekly-price-calendar .fc-monthCalendar-button:after {
  content: "";
  border-style: solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 5px solid #383838;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#reserve-weekly-calendar .fc-prev-button,
#reserve-weekly-calendar .fc-next-button, #reserve-weekly-price-calendar .fc-prev-button,
#reserve-weekly-price-calendar .fc-next-button {
  border: none;
  box-shadow: none;
  background: none;
  color: #383838;
  font-size: 14px;
  position: relative;
  border-radius: 0;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-prev-button,
  #reserve-weekly-calendar .fc-next-button, #reserve-weekly-price-calendar .fc-prev-button,
  #reserve-weekly-price-calendar .fc-next-button {
    font-size: 12px;
  }
}
#reserve-weekly-calendar .fc-prev-button:hover, #reserve-weekly-calendar .fc-prev-button:active, #reserve-weekly-calendar .fc-prev-button:focus,
#reserve-weekly-calendar .fc-next-button:hover,
#reserve-weekly-calendar .fc-next-button:active,
#reserve-weekly-calendar .fc-next-button:focus, #reserve-weekly-price-calendar .fc-prev-button:hover, #reserve-weekly-price-calendar .fc-prev-button:active, #reserve-weekly-price-calendar .fc-prev-button:focus,
#reserve-weekly-price-calendar .fc-next-button:hover,
#reserve-weekly-price-calendar .fc-next-button:active,
#reserve-weekly-price-calendar .fc-next-button:focus {
  border: none;
  outline: none;
}
#reserve-weekly-calendar .fc-prev-button:before,
#reserve-weekly-calendar .fc-next-button:before, #reserve-weekly-price-calendar .fc-prev-button:before,
#reserve-weekly-price-calendar .fc-next-button:before {
  background-color: #f0f2f3;
  content: "";
  display: block;
  border-radius: 8px;
  position: absolute;
  height: 33px;
  top: 50%;
  transform: translateY(-50%);
  width: 33px;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-prev-button:before,
  #reserve-weekly-calendar .fc-next-button:before, #reserve-weekly-price-calendar .fc-prev-button:before,
  #reserve-weekly-price-calendar .fc-next-button:before {
    border-radius: 6px;
    height: 26px;
    width: 26px;
  }
}
#reserve-weekly-calendar .fc-prev-button, #reserve-weekly-price-calendar .fc-prev-button {
  padding: 3px 0 3px 40px;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-prev-button, #reserve-weekly-price-calendar .fc-prev-button {
    padding-left: 32px;
  }
}
#reserve-weekly-calendar .fc-prev-button:before, #reserve-weekly-price-calendar .fc-prev-button:before {
  left: 0;
}
#reserve-weekly-calendar .fc-prev-button:after, #reserve-weekly-price-calendar .fc-prev-button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #383838;
  border-left: 2px solid #383838;
  transform: rotate(45deg);
  left: 15px;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-prev-button:after, #reserve-weekly-price-calendar .fc-prev-button:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    width: 7px;
    height: 7px;
    border-bottom: 2px solid #383838;
    border-left: 2px solid #383838;
    transform: rotate(45deg);
    left: 11px;
  }
}
#reserve-weekly-calendar .fc-next-button, #reserve-weekly-price-calendar .fc-next-button {
  padding: 3px 40px 3px 0;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-next-button, #reserve-weekly-price-calendar .fc-next-button {
    padding-right: 32px;
  }
}
#reserve-weekly-calendar .fc-next-button:before, #reserve-weekly-price-calendar .fc-next-button:before {
  right: 0;
}
#reserve-weekly-calendar .fc-next-button:after, #reserve-weekly-price-calendar .fc-next-button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
  right: 15px;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-next-button:after, #reserve-weekly-price-calendar .fc-next-button:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #383838;
    border-right: 2px solid #383838;
    transform: rotate(45deg);
    right: 11px;
  }
}
#reserve-weekly-calendar .fc-col-header-cell a, #reserve-weekly-price-calendar .fc-col-header-cell a {
  padding: 5px 4px 3px;
}
#reserve-weekly-calendar .fc-col-header-cell b, #reserve-weekly-calendar .fc-col-header-cell small, #reserve-weekly-price-calendar .fc-col-header-cell b, #reserve-weekly-price-calendar .fc-col-header-cell small {
  color: #383838;
  display: block;
}
#reserve-weekly-calendar .fc-col-header-cell b, #reserve-weekly-price-calendar .fc-col-header-cell b {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 0.15em;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-col-header-cell b, #reserve-weekly-price-calendar .fc-col-header-cell b {
    font-size: 18px;
  }
}
#reserve-weekly-calendar .fc-col-header-cell small, #reserve-weekly-price-calendar .fc-col-header-cell small {
  font-size: 12px;
  font-weight: normal;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-col-header-cell small, #reserve-weekly-price-calendar .fc-col-header-cell small {
    font-size: 11px;
  }
}
#reserve-weekly-calendar .fc-col-header-cell.fc-day-sat small, #reserve-weekly-price-calendar .fc-col-header-cell.fc-day-sat small {
  color: #1668E3;
}
#reserve-weekly-calendar .fc-col-header-cell.fc-day-sun small, #reserve-weekly-price-calendar .fc-col-header-cell.fc-day-sun small {
  color: #DF0714;
}
#reserve-weekly-calendar .fc-col-header-cell, #reserve-weekly-price-calendar .fc-col-header-cell {
  border-bottom: 2px solid #d1d1d1;
}
#reserve-weekly-calendar .fc-highlight, #reserve-weekly-price-calendar .fc-highlight {
  background-color: transparent;
}
#reserve-weekly-calendar .fc-day, #reserve-weekly-price-calendar .fc-day {
  background-color: #fff;
}
#reserve-weekly-calendar .fc-col-header tr > th:nth-child(even), #reserve-weekly-price-calendar .fc-col-header tr > th:nth-child(even) {
  background-color: rgb(245.6666666667, 246.9111111111, 247.5333333333);
}
#reserve-weekly-calendar .fc-timegrid-cols table tbody tr > .fc-day:nth-child(even), #reserve-weekly-price-calendar .fc-timegrid-cols table tbody tr > .fc-day:nth-child(even) {
  background-color: rgb(245.6666666667, 246.9111111111, 247.5333333333);
}
#reserve-weekly-calendar .fc-day-disabled, #reserve-weekly-price-calendar .fc-day-disabled {
  background-color: rgba(148, 148, 148, 0.12);
}
#reserve-weekly-calendar .fc-day-past, #reserve-weekly-price-calendar .fc-day-past {
  background-color: rgba(148, 148, 148, 0.12);
}
#reserve-weekly-calendar .fc-timegrid-axis, #reserve-weekly-price-calendar .fc-timegrid-axis {
  background-color: rgb(228.6666666667, 232.1777777778, 233.9333333333);
  border-bottom-width: 2px;
}
#reserve-weekly-calendar .fc-timegrid-slot-label-frame, #reserve-weekly-price-calendar .fc-timegrid-slot-label-frame {
  background-color: rgb(231.5, 234.6333333333, 236.2);
  font-weight: bold;
  text-align: center;
}
#reserve-weekly-calendar .fc-timegrid-slot-label-cushion, #reserve-weekly-price-calendar .fc-timegrid-slot-label-cushion {
  font-weight: 500;
  padding: 1.25rem 0.75rem;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-timegrid-slot-label-cushion, #reserve-weekly-price-calendar .fc-timegrid-slot-label-cushion {
    font-size: 12px;
    padding: 0.75rem 0.5rem;
  }
}
#reserve-weekly-calendar .fc-timegrid-col-events, #reserve-weekly-price-calendar .fc-timegrid-col-events {
  margin: 0 1px;
}
#reserve-weekly-calendar .fc-v-event, #reserve-weekly-price-calendar .fc-v-event {
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  color: #383838;
  display: flex;
  justify-items: center;
  padding: 5px 0;
  width: 100%;
}
#reserve-weekly-calendar .fc-v-event:focus, #reserve-weekly-calendar .fc-v-event:active, #reserve-weekly-calendar .fc-v-event:hover, #reserve-weekly-price-calendar .fc-v-event:focus, #reserve-weekly-price-calendar .fc-v-event:active, #reserve-weekly-price-calendar .fc-v-event:hover {
  background-color: transparent;
  opacity: 1;
}
#reserve-weekly-calendar .fc-v-event.is-selected, #reserve-weekly-price-calendar .fc-v-event.is-selected {
  background-color: #DF0515;
  color: #fff;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-v-event, #reserve-weekly-price-calendar .fc-v-event {
    padding: 3px 0 5px;
  }
}
@media (min-width: 1040px) {
  #reserve-weekly-calendar .fc-v-event:not([data-status="0"]):not(.is-selected):hover, #reserve-weekly-price-calendar .fc-v-event:not([data-status="0"]):not(.is-selected):hover {
    background: rgba(223, 5, 21, 0.1);
  }
}
#reserve-weekly-calendar .fc-v-event .event-content, #reserve-weekly-price-calendar .fc-v-event .event-content {
  display: flex;
  align-items: center;
  margin: 0;
  width: 100%;
}
#reserve-weekly-calendar .fc-v-event .event-content.view-price, #reserve-weekly-price-calendar .fc-v-event .event-content.view-price {
  align-items: stretch;
  flex-direction: column;
  justify-content: space-between;
}
#reserve-weekly-calendar .fc-v-event .price, #reserve-weekly-price-calendar .fc-v-event .price {
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-v-event .price, #reserve-weekly-price-calendar .fc-v-event .price {
    font-size: 10px;
  }
}
#reserve-weekly-calendar .fc-v-event .mark, #reserve-weekly-price-calendar .fc-v-event .mark {
  background: url("../img/reserve/calendar_mark_0.svg") no-repeat center center;
  background-size: 20px 20px;
  padding: 0;
  height: 30px;
  width: 100%;
}
@media (max-width: 767px) {
  #reserve-weekly-calendar .fc-v-event .mark, #reserve-weekly-price-calendar .fc-v-event .mark {
    background-size: 18px 18px;
  }
}
#reserve-weekly-calendar .fc-v-event[data-status="0"], #reserve-weekly-price-calendar .fc-v-event[data-status="0"] {
  pointer-events: none;
}
#reserve-weekly-calendar .fc-v-event[data-status="1"] .mark, #reserve-weekly-price-calendar .fc-v-event[data-status="1"] .mark {
  background-image: url("../img/reserve/calendar_mark_1.svg");
}
#reserve-weekly-calendar .fc-v-event[data-status="1"].is-selected .mark, #reserve-weekly-price-calendar .fc-v-event[data-status="1"].is-selected .mark {
  background-image: url("../img/reserve/calendar_mark_1_white.svg");
}
#reserve-weekly-calendar .fc-v-event[data-status="2"] .mark, #reserve-weekly-price-calendar .fc-v-event[data-status="2"] .mark {
  background-image: url("../img/reserve/calendar_mark_2.svg");
}
#reserve-weekly-calendar .fc-v-event[data-status="2"].is-selected .mark, #reserve-weekly-price-calendar .fc-v-event[data-status="2"].is-selected .mark {
  background-image: url("../img/reserve/calendar_mark_2_white.svg");
}
#reserve-weekly-calendar .fc-event-main, #reserve-weekly-price-calendar .fc-event-main {
  display: none;
}

#reserve-weekly-price-calendar .fc-timegrid-slot-label-cushion {
  padding: 1.75rem 0.75rem;
}
@media (max-width: 767px) {
  #reserve-weekly-price-calendar .fc-timegrid-slot-label-cushion {
    padding: 1.35rem 0.5rem;
  }
}

#reserve-month-calendar th, #reserve-month-calendar td, #reserve-month-price-calendar th, #reserve-month-price-calendar td {
  border-color: #dfdfdf;
}
#reserve-month-calendar .fc-col-header-cell,
#reserve-month-calendar .fc-timegrid-col, #reserve-month-price-calendar .fc-col-header-cell,
#reserve-month-price-calendar .fc-timegrid-col {
  border: none;
}
#reserve-month-calendar .fc-header-toolbar, #reserve-month-price-calendar .fc-header-toolbar {
  margin-bottom: 14px;
}
#reserve-month-calendar .fc-toolbar-chunk, #reserve-month-price-calendar .fc-toolbar-chunk {
  display: flex;
  align-items: center;
}
#reserve-month-calendar .fc-toolbar-title, #reserve-month-price-calendar .fc-toolbar-title {
  font-size: 18px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-toolbar-title, #reserve-month-price-calendar .fc-toolbar-title {
    font-size: 16px;
  }
}
#reserve-month-calendar .fc-prev-button,
#reserve-month-calendar .fc-next-button, #reserve-month-price-calendar .fc-prev-button,
#reserve-month-price-calendar .fc-next-button {
  border: none;
  box-shadow: none;
  background: none;
  color: #383838;
  font-size: 14px;
  position: relative;
  border-radius: 0;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-prev-button,
  #reserve-month-calendar .fc-next-button, #reserve-month-price-calendar .fc-prev-button,
  #reserve-month-price-calendar .fc-next-button {
    font-size: 12px;
  }
}
#reserve-month-calendar .fc-prev-button:hover, #reserve-month-calendar .fc-prev-button:active, #reserve-month-calendar .fc-prev-button:focus,
#reserve-month-calendar .fc-next-button:hover,
#reserve-month-calendar .fc-next-button:active,
#reserve-month-calendar .fc-next-button:focus, #reserve-month-price-calendar .fc-prev-button:hover, #reserve-month-price-calendar .fc-prev-button:active, #reserve-month-price-calendar .fc-prev-button:focus,
#reserve-month-price-calendar .fc-next-button:hover,
#reserve-month-price-calendar .fc-next-button:active,
#reserve-month-price-calendar .fc-next-button:focus {
  border: none;
  outline: none;
}
#reserve-month-calendar .fc-prev-button:before,
#reserve-month-calendar .fc-next-button:before, #reserve-month-price-calendar .fc-prev-button:before,
#reserve-month-price-calendar .fc-next-button:before {
  background-color: #f0f2f3;
  content: "";
  display: block;
  border-radius: 8px;
  position: absolute;
  height: 33px;
  top: 50%;
  transform: translateY(-50%);
  width: 33px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-prev-button:before,
  #reserve-month-calendar .fc-next-button:before, #reserve-month-price-calendar .fc-prev-button:before,
  #reserve-month-price-calendar .fc-next-button:before {
    border-radius: 6px;
    height: 26px;
    width: 26px;
  }
}
#reserve-month-calendar .fc-prev-button, #reserve-month-price-calendar .fc-prev-button {
  padding: 3px 0 3px 40px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-prev-button, #reserve-month-price-calendar .fc-prev-button {
    padding-left: 32px;
  }
}
#reserve-month-calendar .fc-prev-button:before, #reserve-month-price-calendar .fc-prev-button:before {
  left: 0;
}
#reserve-month-calendar .fc-prev-button:after, #reserve-month-price-calendar .fc-prev-button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #383838;
  border-left: 2px solid #383838;
  transform: rotate(45deg);
  left: 15px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-prev-button:after, #reserve-month-price-calendar .fc-prev-button:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    width: 7px;
    height: 7px;
    border-bottom: 2px solid #383838;
    border-left: 2px solid #383838;
    transform: rotate(45deg);
    left: 11px;
  }
}
#reserve-month-calendar .fc-next-button, #reserve-month-price-calendar .fc-next-button {
  padding: 3px 40px 3px 0;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-next-button, #reserve-month-price-calendar .fc-next-button {
    padding-right: 32px;
  }
}
#reserve-month-calendar .fc-next-button:before, #reserve-month-price-calendar .fc-next-button:before {
  right: 0;
}
#reserve-month-calendar .fc-next-button:after, #reserve-month-price-calendar .fc-next-button:after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
  right: 15px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-next-button:after, #reserve-month-price-calendar .fc-next-button:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #383838;
    border-right: 2px solid #383838;
    transform: rotate(45deg);
    right: 11px;
  }
}
#reserve-month-calendar .fc-day.fc-col-header-cell, #reserve-month-price-calendar .fc-day.fc-col-header-cell {
  background-color: #f0f2f3;
  border-bottom: 2px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
}
#reserve-month-calendar .fc-day.fc-col-header-cell a, #reserve-month-price-calendar .fc-day.fc-col-header-cell a {
  color: #383838;
}
#reserve-month-calendar .fc-day.fc-col-header-cell.fc-day-sat a, #reserve-month-price-calendar .fc-day.fc-col-header-cell.fc-day-sat a {
  color: #1668E3;
}
#reserve-month-calendar .fc-day.fc-col-header-cell.fc-day-sun a, #reserve-month-price-calendar .fc-day.fc-col-header-cell.fc-day-sun a {
  color: #DF0714;
}
#reserve-month-calendar .fc-highlight, #reserve-month-price-calendar .fc-highlight {
  background-color: transparent;
}
#reserve-month-calendar .fc-day, #reserve-month-price-calendar .fc-day {
  background-color: #fff;
}
#reserve-month-calendar .fc-day-today, #reserve-month-price-calendar .fc-day-today {
  background-color: #FFFBDB;
}
#reserve-month-calendar .fc-day-disabled, #reserve-month-price-calendar .fc-day-disabled {
  background-color: rgba(148, 148, 148, 0.12);
}
#reserve-month-calendar .fc-day-past, #reserve-month-price-calendar .fc-day-past {
  background-color: rgba(148, 148, 148, 0.12);
}
#reserve-month-calendar .fc-daygrid-day-top, #reserve-month-price-calendar .fc-daygrid-day-top {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  padding: 2px;
  text-align: center;
  top: 0;
  z-index: 2;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-daygrid-day-top, #reserve-month-price-calendar .fc-daygrid-day-top {
    padding: 0;
  }
}
#reserve-month-calendar .fc-daygrid-day-number, #reserve-month-price-calendar .fc-daygrid-day-number {
  color: #383838;
  font-size: 15px;
  z-index: 7;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-daygrid-day-number, #reserve-month-price-calendar .fc-daygrid-day-number {
    font-size: 14px;
  }
}
#reserve-month-calendar .fc-day-sat .fc-daygrid-day-number, #reserve-month-price-calendar .fc-day-sat .fc-daygrid-day-number {
  color: #1668E3;
}
#reserve-month-calendar .fc-day-sun .fc-daygrid-day-number, #reserve-month-price-calendar .fc-day-sun .fc-daygrid-day-number {
  color: #DF0714;
}
#reserve-month-calendar .fc-daygrid-day-events, #reserve-month-price-calendar .fc-daygrid-day-events {
  display: flex;
  margin: 0;
  height: 78px;
  width: 100%;
}
#reserve-month-calendar .fc-daygrid-day-events:before, #reserve-month-calendar .fc-daygrid-day-events:after, #reserve-month-price-calendar .fc-daygrid-day-events:before, #reserve-month-price-calendar .fc-daygrid-day-events:after {
  content: none;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-daygrid-day-events, #reserve-month-price-calendar .fc-daygrid-day-events {
    height: 68px;
  }
}
#reserve-month-calendar .fc-daygrid-event-harness, #reserve-month-price-calendar .fc-daygrid-event-harness {
  flex: 1;
  height: 100%;
  display: flex;
  width: 100%;
  z-index: 1;
}
#reserve-month-calendar .fc-daygrid-event-harness:before, #reserve-month-calendar .fc-daygrid-event-harness:after, #reserve-month-price-calendar .fc-daygrid-event-harness:before, #reserve-month-price-calendar .fc-daygrid-event-harness:after {
  content: none;
}
#reserve-month-calendar .fc-h-event, #reserve-month-price-calendar .fc-h-event {
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  color: #383838;
  display: flex;
  justify-items: center;
  padding: 7px 0;
  margin: 0;
  width: 100%;
}
#reserve-month-calendar .fc-h-event:before, #reserve-month-calendar .fc-h-event:after, #reserve-month-price-calendar .fc-h-event:before, #reserve-month-price-calendar .fc-h-event:after {
  content: none;
}
#reserve-month-calendar .fc-h-event:focus, #reserve-month-calendar .fc-h-event:active, #reserve-month-calendar .fc-h-event:hover, #reserve-month-price-calendar .fc-h-event:focus, #reserve-month-price-calendar .fc-h-event:active, #reserve-month-price-calendar .fc-h-event:hover {
  background-color: transparent;
  opacity: 1;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-h-event, #reserve-month-price-calendar .fc-h-event {
    padding: 3px 0 5px;
  }
}
@media (min-width: 1040px) {
  #reserve-month-calendar .fc-h-event:not([data-status="0"]):hover, #reserve-month-price-calendar .fc-h-event:not([data-status="0"]):hover {
    background: rgba(223, 5, 21, 0.1);
  }
}
#reserve-month-calendar .fc-h-event .event-content, #reserve-month-price-calendar .fc-h-event .event-content {
  display: flex;
  align-items: center;
  margin: 0;
  width: 100%;
}
#reserve-month-calendar .fc-h-event .event-content.view-price, #reserve-month-price-calendar .fc-h-event .event-content.view-price {
  align-items: stretch;
  flex-direction: column;
  justify-content: flex-end;
}
#reserve-month-calendar .fc-h-event .price, #reserve-month-price-calendar .fc-h-event .price {
  font-size: 12px;
  line-height: 1.2;
  margin: 2px 0 0;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-h-event .price, #reserve-month-price-calendar .fc-h-event .price {
    font-size: 10px;
  }
}
#reserve-month-calendar .fc-h-event .mark, #reserve-month-price-calendar .fc-h-event .mark {
  background: url("../img/reserve/calendar_mark_0.svg") no-repeat center center;
  background-size: 20px 20px;
  padding: 0;
  height: 30px;
  width: 100%;
  margin-top: 12px;
}
@media (max-width: 767px) {
  #reserve-month-calendar .fc-h-event .mark, #reserve-month-price-calendar .fc-h-event .mark {
    background-size: 18px 18px;
  }
}
#reserve-month-calendar .fc-h-event[data-status="0"] .mark, #reserve-month-price-calendar .fc-h-event[data-status="0"] .mark {
  background-image: url("../img/reserve/calendar_mark_0.svg");
  pointer-events: none;
}
#reserve-month-calendar .fc-h-event[data-status="1"] .mark, #reserve-month-price-calendar .fc-h-event[data-status="1"] .mark {
  background-image: url("../img/reserve/calendar_mark_1.svg");
}
#reserve-month-calendar .fc-h-event[data-status="2"] .mark, #reserve-month-price-calendar .fc-h-event[data-status="2"] .mark {
  background-image: url("../img/reserve/calendar_mark_2.svg");
}
#reserve-month-calendar .fc-day.selected-day .fc-daygrid-day-number, #reserve-month-price-calendar .fc-day.selected-day .fc-daygrid-day-number {
  color: #fff;
}
#reserve-month-calendar .fc-day.selected-day .fc-h-event, #reserve-month-price-calendar .fc-day.selected-day .fc-h-event {
  background-color: #DF0515;
}
#reserve-month-calendar .fc-day.selected-day .fc-h-event[data-status="1"] .mark, #reserve-month-price-calendar .fc-day.selected-day .fc-h-event[data-status="1"] .mark {
  background-image: url("../img/reserve/calendar_mark_1_white.svg");
}
#reserve-month-calendar .fc-day.selected-day .fc-h-event[data-status="2"] .mark, #reserve-month-price-calendar .fc-day.selected-day .fc-h-event[data-status="2"] .mark {
  background-image: url("../img/reserve/calendar_mark_2_white.svg");
}
#reserve-month-calendar .fc-day.selected-day .fc-h-event .price, #reserve-month-price-calendar .fc-day.selected-day .fc-h-event .price {
  color: #fff;
}
#reserve-month-calendar .fc-day.fc-day-past .fc-h-event .mark, #reserve-month-price-calendar .fc-day.fc-day-past .fc-h-event .mark {
  background-image: url("../img/reserve/calendar_mark_default.svg");
}
#reserve-month-calendar .fc-day.fc-day-other .fc-daygrid-day-events, #reserve-month-price-calendar .fc-day.fc-day-other .fc-daygrid-day-events {
  display: none;
}
#reserve-month-calendar .fc-event-main, #reserve-month-calendar .fc-daygrid-day-bottom, #reserve-month-price-calendar .fc-event-main, #reserve-month-price-calendar .fc-daygrid-day-bottom {
  display: none;
}

@media (max-width: 767px) {
  #reserve-month-calendar .fc-daygrid-day-events {
    height: 57px;
  }
}
#reserve-month-calendar .fc-h-event .mark {
  margin-top: 16px;
}

/* jQuery UI datepicker
----------------------------------------------- */
.form-datepicker:-moz-read-only {
  background-color: #f8f8f8;
}
.form-datepicker:read-only {
  background-color: #f8f8f8;
}

.ui-datepicker.ui-widget-content {
  border: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
  padding: 20px;
  width: auto;
  max-width: 100%;
  z-index: 2000 !important;
}
@media (max-width: 767px) {
  .ui-datepicker.ui-widget-content {
    border-radius: 10px 10px 0 0;
    top: auto !important;
    bottom: 0;
    left: 0 !important;
    position: fixed !important;
    width: 100vw !important;
    z-index: 2000 !important;
  }
}
.ui-datepicker.ui-widget-content .sp-close-btn {
  color: #fff;
  font-size: 20px;
  display: none;
}
@media (max-width: 767px) {
  .ui-datepicker.ui-widget-content .sp-close-btn {
    display: block;
    position: absolute;
    right: 15px;
    top: -40px;
  }
  .ui-datepicker.ui-widget-content .sp-close-btn::before {
    content: "×";
    font-size: 150%;
  }
}
.ui-datepicker.ui-widget-content .ui-datepicker-header {
  background: none;
  border: none;
  color: #383838;
  font-size: 17px;
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-prev .ui-icon {
  background: none;
  position: relative;
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-prev .ui-icon::before {
  left: 5px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #383838;
  border-left: 2px solid #383838;
  transform: rotate(45deg);
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-prev.ui-state-hover {
  border: none;
  background-color: #f0f2f3;
  top: 0;
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-next .ui-icon {
  background: none;
  position: relative;
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-next .ui-icon::before {
  right: 5px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
}
.ui-datepicker.ui-widget-content .ui-datepicker-header .ui-datepicker-next.ui-state-hover {
  border: none;
  background-color: #f0f2f3;
  top: 0;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar thead tr th {
  font-size: 15px;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar thead tr th:nth-child(6) {
  color: #3B64BF;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar thead tr th:nth-child(7) {
  color: #B44B3E;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td {
  font-size: 15px;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td .ui-state-default {
  border: none;
  background: none;
  text-align: center;
  color: #383838;
  padding: 0.5em 0.8em;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td .ui-state-default:hover {
  background: #f2f2f2;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td .ui-state-active {
  background: #DF0515;
  color: #fff !important;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td.day-saturday .ui-state-default {
  color: #3B64BF;
}
.ui-datepicker.ui-widget-content .ui-datepicker-calendar tbody tr td.day-sunday .ui-state-default {
  color: #B44B3E;
}
.ui-datepicker.ui-widget-content.box-shadow {
  box-shadow: 0 3px 8px rgba(56, 56, 56, 0.26);
}

.search-popup-overlay {
  display: none;
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  zoom: 1;
  opacity: 0.35;
  z-index: 100;
}

/* Bootstrap calendar
----------------------------------------------- */
.datepicker-dropdown {
  background-color: #f0f2f3;
  padding: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .datepicker-dropdown {
    width: 90% !important;
    left: 5% !important;
    transform: none;
  }
}
.datepicker-dropdown::before {
  content: none;
}
.datepicker-dropdown .table-condensed {
  width: 100%;
}
.datepicker-dropdown .table-condensed .datepicker-switch {
  font-size: 14px;
  width: 145px;
}
.datepicker-dropdown .table-condensed th, .datepicker-dropdown .table-condensed td {
  font-size: 14px;
  height: 40px;
  width: 40px;
  border-radius: 0;
}
.datepicker-dropdown .table-condensed thead tr th:hover, .datepicker-dropdown .table-condensed thead tr td:hover {
  background-color: #f0f2f3;
}
.datepicker-dropdown .table-condensed thead tr .dow:nth-child(6) {
  color: #1668E3;
}
.datepicker-dropdown .table-condensed thead tr .dow:last-child {
  color: #DF0714;
}
.datepicker-dropdown .table-condensed tbody tr th, .datepicker-dropdown .table-condensed tbody tr td {
  background-color: #fff;
}
.datepicker-dropdown .table-condensed tbody tr th.disabled, .datepicker-dropdown .table-condensed tbody tr td.disabled {
  background-color: #fff;
  color: #ccc;
}
.datepicker-dropdown .table-condensed tbody tr th.active, .datepicker-dropdown .table-condensed tbody tr td.active {
  background: #DF0515;
  color: #fff;
}
.datepicker-dropdown .table-condensed tbody tr th:hover, .datepicker-dropdown .table-condensed tbody tr td:hover {
  background-color: #f0f2f3;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  23. service-input
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  24. service-confirm
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-reserve-confirm .card-header {
  border-bottom: none;
  padding: 14px 0;
  margin: 0 20px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .card-header {
    margin: 0 16px;
  }
}
#service-reserve-confirm .card-body {
  padding-top: 0;
}
#service-reserve-confirm .reserve-details-table {
  border-top: 1px solid #d1d1d1;
  width: 100%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody {
    padding-top: 8px;
    display: block;
  }
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr {
    display: block;
    position: relative;
    margin-bottom: 8px;
  }
}
#service-reserve-confirm .reserve-details-table > tbody > tr > th {
  border-bottom: 1px solid #d1d1d1;
  text-align: left;
  font-weight: bold;
  line-height: 1.5;
  padding: 20px 0;
  width: 10.2em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > th {
    border-bottom: none;
    font-size: 12px;
    padding: 0;
    display: block;
    width: 100%;
  }
}
#service-reserve-confirm .reserve-details-table > tbody > tr > td {
  border-bottom: 1px solid #d1d1d1;
  line-height: 1.5;
  padding: 20px 0;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > td {
    display: block;
    padding: 6px 0 10px;
  }
}
#service-reserve-confirm .reserve-details-table > tbody > tr > td .shop-logo {
  margin-right: 5px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > td .shop-logo img {
    width: 24px;
  }
}
#service-reserve-confirm .reserve-details-table > tbody > tr > td .shop-name {
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > td .shop-name {
    font-size: 14px;
  }
}
#service-reserve-confirm .reserve-details-table > tbody > tr > td .address {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > td .address {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-table > tbody > tr > td .edit-link {
    position: absolute;
    right: 0;
    top: 0;
  }
}
#service-reserve-confirm .reserve-details-edit-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-edit-item {
    display: block;
  }
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-worktime {
    width: 100%;
  }
}
#service-reserve-confirm .reserve-details-worktime th {
  padding-right: 2em;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
#service-reserve-confirm .reserve-details-worktime th.return-time {
  color: #DF0515;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-worktime th {
    padding-right: 1em;
  }
}
#service-reserve-confirm .reserve-details-worktime td {
  text-align: right;
  vertical-align: top;
}
#service-reserve-confirm .reserve-details-worktime td.return-time {
  color: #DF0515;
  font-weight: bold;
}
#service-reserve-confirm .reserve-details-services {
  position: relative;
}
#service-reserve-confirm .reserve-details-services h4 {
  font-size: 14px;
  margin: 0 0 16px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services h4 {
    font-size: 12px;
    margin-bottom: 14px;
  }
}
#service-reserve-confirm .reserve-details-services .edit-link {
  position: absolute;
  top: 16px;
  right: 0;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .edit-link {
    top: 4px !important;
  }
}
#service-reserve-confirm .reserve-details-services .services-table {
  width: 100%;
}
#service-reserve-confirm .reserve-details-services .services-table th, #service-reserve-confirm .reserve-details-services .services-table td {
  border-bottom: 1px solid #d1d1d1;
  line-height: 1.4;
  padding: 11px 0 11px 15px;
  text-align: left;
  vertical-align: middle;
}
#service-reserve-confirm .reserve-details-services .services-table th:last-child, #service-reserve-confirm .reserve-details-services .services-table td:last-child {
  padding-right: 15px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .services-table th, #service-reserve-confirm .reserve-details-services .services-table td {
    font-size: 12px;
    padding: 8px 0 8px 8px;
  }
  #service-reserve-confirm .reserve-details-services .services-table th:last-child, #service-reserve-confirm .reserve-details-services .services-table td:last-child {
    padding-right: 8px;
  }
}
#service-reserve-confirm .reserve-details-services .services-table th {
  background-color: rgb(228.6666666667, 232.1777777778, 233.9333333333);
  white-space: nowrap;
}
#service-reserve-confirm .reserve-details-services .services-table td {
  background-color: rgb(245.6666666667, 246.9111111111, 247.5333333333);
}
#service-reserve-confirm .reserve-details-services .services-table td.price {
  white-space: nowrap;
}
#service-reserve-confirm .reserve-details-services .services-table td .alacarte-icon {
  background-color: #949494;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  padding: 2px 8px;
  margin-right: 8px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .services-table td .alacarte-icon {
    font-size: 10px;
    margin-right: 5px;
  }
}
#service-reserve-confirm .reserve-details-services .services-table td .delete-btn {
  background: none;
  padding: 2px;
  width: 19px;
}
#service-reserve-confirm .reserve-details-services .services-table td .delete-btn img {
  display: block;
}
#service-reserve-confirm .reserve-details-services .services-total {
  text-align: right;
  margin-top: 10px;
}
#service-reserve-confirm .reserve-details-services .services-total .total-price {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .services-total .total-price {
    font-size: 14px;
    margin-bottom: 2px;
  }
}
#service-reserve-confirm .reserve-details-services .services-total .total-price .price {
  color: #DF0515;
  font-size: 26px;
  display: inline-block;
  margin-left: 12px;
  line-height: 1;
  padding-right: 0.3em;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .services-total .total-price .price {
    font-size: 22px;
  }
}
#service-reserve-confirm .reserve-details-services .services-total .total-price .price small {
  font-size: 16px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-details-services .services-total .total-price .price small {
    font-size: 14px;
  }
}
#service-reserve-confirm .reserve-details-services .services-total .tax {
  font-size: 12px;
}
#service-reserve-confirm .reserve-confirm-customer .edit-customer-link {
  color: #005AAA;
  background: url("../img/icon/icon_pen_blue.svg") no-repeat 0 50%;
  background-size: 17px 17px;
  display: inline-block;
  padding-left: 22px;
  cursor: pointer;
}
#service-reserve-confirm .reserve-confirm-customer .edit-customer-link:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-customer .edit-customer-link {
    font-size: 12px;
    background-size: 15px 15px;
    padding-left: 20px;
  }
}
#service-reserve-confirm .reserve-confirm-customer .customer-list dt {
  margin-bottom: 4px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-customer .customer-list dt {
    font-size: 12px;
  }
}
#service-reserve-confirm .reserve-confirm-customer .customer-list dd {
  background-color: #f0f2f3;
  border-radius: 6px;
  padding: 14px;
  font-size: 16px;
  margin-bottom: 18px;
}
#service-reserve-confirm .reserve-confirm-customer .customer-list dd:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-customer .customer-list dd {
    font-size: 14px;
  }
}
#service-reserve-confirm .reserve-confirm-customer .customer-list dd a {
  color: #383838;
  text-decoration: none;
  pointer-events: none;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item:not(:last-child) {
  margin-bottom: 15px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-label {
  display: block;
  font-weight: normal;
  width: 100%;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content {
  background-color: #F5F6F7;
  border: 1px solid #d1d1d1;
  border-radius: 6px;
  padding: 18px 25px 18px 70px;
  position: relative;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content {
    padding: 14px 14px 14px 49px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content:before, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content:after {
  display: block;
  content: "";
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  border-radius: 50%;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content:before {
  left: 25px;
  border: 2px solid #d1d1d1;
  background-color: #fff;
  height: 24px;
  width: 24px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content:before {
    left: 14px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .item-container {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .item-container {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-data {
  font-size: 16px;
  width: 28%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-data {
    font-size: 14px;
    margin-bottom: 12px;
    width: 100%;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-data .brand {
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-data .brand {
    font-size: 14px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-data .icon {
  margin-right: 6px;
  width: 46px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-name {
  width: 33%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-name {
    width: 60%;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-expiry {
  width: 14%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-expiry {
    width: 40%;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content dl {
  padding-right: 10px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content dl dt {
  color: #949494;
  font-size: 11px;
  line-height: 1.2;
  margin-bottom: 7px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content dl dd {
  font-size: 16px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content dl dd {
    font-size: 14px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-times {
  visibility: hidden;
  margin-left: auto;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-times {
    display: none;
    margin-top: 12px;
    width: 100%;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-times .form-select {
  background-position: right 10px top 50%;
  background-color: #fff;
  border-color: #B2B4B5;
  border-radius: 4px;
  font-size: 14px;
  padding: 8px 26px 8px 8px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-content .credit-times .form-select {
    font-size: 16px;
    padding: 6px 26px 6px 8px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input {
  display: none;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content {
  background-color: #F5F6FF;
  border-color: #00417D;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content:before {
  border-color: #00417D;
  background-color: #fff;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content:after {
  background-color: #00417D;
  height: 14px;
  left: 30px;
  width: 14px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content:after {
    left: 19px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content .credit-times {
  visibility: visible;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item .item-input:checked + .item-content .credit-times {
    display: block;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content {
  padding: 30px 25px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content {
    padding: 26px 14px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content::before, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::before {
  top: 27px;
  transform: none;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content::before, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::before {
    top: 23px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content::after, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::after {
  top: 32px;
  transform: none;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content::after, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::after {
    top: 28px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .item-container, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .item-container {
  display: block;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block {
  display: none;
  margin-top: 20px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .groups-wrapper, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .groups-wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .groups-wrapper, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .groups-wrapper {
    display: block;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .groups-wrapper .form-group, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .groups-wrapper .form-group {
  width: 47%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .groups-wrapper .form-group, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .groups-wrapper .form-group {
    width: auto;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-label, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-label {
  font-size: 14px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-label .cvv-sample-link, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-label .cvv-sample-link {
  display: inline-block;
  margin-left: 8px;
  cursor: pointer;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-control, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-select, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-control, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-select {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #CFD3D5;
  background-color: #fff;
  border-radius: 0;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-check .form-check-text, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-check .form-check-text {
  background-image: url("../img/icon/icon_check_off.svg");
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-check .form-check-text, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-check .form-check-text {
    font-size: 14px;
    padding-top: 3px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .form-block .form-group .form-check .form-check-input:checked + .form-check-text, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block .form-group .form-check .form-check-input:checked + .form-check-text {
  background-image: url("../img/icon/icon_check_on.svg");
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .credit-icons, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .credit-icons {
  display: flex;
  margin-bottom: 20px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content .credit-icons img, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .credit-icons img {
  display: block;
  margin-right: 5px;
  width: 56px;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content h4, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content h4 {
  padding-left: 45px;
  margin: 0;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-content h4, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content h4 {
    padding-left: 35px;
  }
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--new .item-input:checked + .item-content .form-block, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-input:checked + .item-content .form-block {
  display: block;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::before, #service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content::after {
  content: none;
}
#service-reserve-confirm .reserve-confirm-credit .credit-list .list-item--guest .item-content .form-block {
  display: block;
  margin: 0 auto;
}
#service-reserve-confirm .reserve-confirm-terms {
  border: #dfdfdf 3px solid;
}
#service-reserve-confirm .reserve-confirm-terms .card-header {
  display: block;
  padding: 28px 20px 12px;
  text-align: center;
  margin: 0;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .card-header {
    padding: 20px 16px 12px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .card-title {
  color: #DF0515;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .card-title {
    font-size: 16px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .card-title .icon {
  background: url("../img/icon/icon_circle_alert.svg") no-repeat 0 50%;
  background-size: 22px 22px;
  display: inline-block;
  padding: 0.2em 0 0.2em 30px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .card-title .icon {
    background-position: 50% 0;
    padding: 28px 0 0;
  }
}
#service-reserve-confirm .reserve-confirm-terms .attention-bg-message {
  font-size: 15px;
  margin: 10px 0 20px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .attention-bg-message {
    font-size: 12px;
    margin: 8px 0 14px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .attention-bg-message b {
  background-color: #DF0515;
  color: #fff;
  display: inline-block;
  padding: 5px 16px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .attention-bg-message b {
    padding: 5px 8px;
    display: block;
  }
}
#service-reserve-confirm .reserve-confirm-terms .attention-message {
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .attention-message {
    font-size: 12px;
    margin-bottom: 18px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .attention-message a {
  background: url("../img/icon/icon_open_new.svg") no-repeat 100% 50%;
  background-size: 11px 11px;
  color: #005AAA;
  padding-right: 13px;
  margin: 0 3px;
}
#service-reserve-confirm .reserve-confirm-terms .attention-message a:hover {
  text-decoration: underline;
}
#service-reserve-confirm .reserve-confirm-terms h3 {
  background-color: rgb(132.7, 132.7, 132.7);
  color: #fff;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 12px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms h3 {
    font-size: 14px;
    padding: 12px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy {
  margin-bottom: 20px;
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy .content {
  border: 2px solid #dfdfdf;
  border-top: none;
  padding: 20px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy .content {
    padding: 14px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy p {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy p {
    font-size: 12px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table {
  border-top: 1px solid #d1d1d1;
  border-left: 1px solid #d1d1d1;
  width: 100%;
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th, #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table td {
  padding: 15px;
  border-bottom: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th, #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table td {
    padding: 12px 8px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th {
  background-color: #F5F6F7;
  font-weight: normal;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th {
    font-size: 12px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th br {
  display: none;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table th br {
    display: inline;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table td {
  font-size: 18px;
  font-weight: bold;
  width: 35%;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-policy table td {
    font-size: 15px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .box {
  background-color: rgb(245.6666666667, 246.9111111111, 247.5333333333);
  overflow: auto;
  max-height: 400px;
  padding: 24px;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .box {
    padding: 18px 15px;
  }
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .box h4:not(:first-child) {
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .box {
    font-size: 12px;
  }
  #service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .box h4 {
    font-size: 13px;
  }
}

#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .iframe-box {
  max-height: none;
  padding: 0;
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .iframe-box iframe {
  margin: 0;
  padding: 0;
  width: 100%;
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .iframe-box .open-newpage {
  background: url("../img/icon/icon_open_new.svg") no-repeat 100% 50%;
  background-size: 11px 11px;
  color: #005AAA;
  padding-right: 13px;
  margin: 0 3px;
}
#service-reserve-confirm .reserve-confirm-terms .service-confirm-attention .iframe-box .open-newpage:hover {
  text-decoration: underline;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  25. service-complete
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-complete {
  margin-top: 50px;
}
@media (max-width: 767px) {
  #service-complete {
    margin-top: 30px;
  }
}
#service-complete .card {
  border: none;
}
#service-complete h1 {
  background: url("../img/reserve/complete_mark.svg") no-repeat 50% 0;
  background-size: 40px 40px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding-top: 54px;
  margin: 0 0 28px;
}
@media (max-width: 767px) {
  #service-complete h1 {
    background-size: 36px 36px;
    font-size: 18px;
    padding-top: 46px;
    margin-bottom: 18px;
  }
}
#service-complete .complete-message {
  color: #DF0515;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-complete .complete-message {
    font-size: 16px;
  }
}
#service-complete p {
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  #service-complete p {
    margin-bottom: 12px;
  }
}
@media (max-width: 767px) {
  #service-complete .reserve-email b {
    display: block;
  }
}
#service-complete .reserve-data {
  background-color: #f0f2f3;
  text-align: center;
  padding: 25px 40px;
  margin: 18px 0 24px;
}
@media (max-width: 767px) {
  #service-complete .reserve-data {
    padding: 20px 16px;
    margin: 12px 0 20px;
  }
}
#service-complete .reserve-data .shop-name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 4px;
}
@media (max-width: 767px) {
  #service-complete .reserve-data .shop-name {
    font-size: 18px;
  }
}
#service-complete .reserve-data .reserve-date {
  background-color: #fff;
  padding: 20px 10px;
  margin: 20px 0;
}
@media (max-width: 767px) {
  #service-complete .reserve-data .reserve-date {
    margin: 15px 0;
  }
}
#service-complete .reserve-data .reserve-date h4 {
  color: #DF0515;
  margin: 0 0 8px;
}
#service-complete .reserve-data .reserve-date .date {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 767px) {
  #service-complete .reserve-data .reserve-date .date {
    font-size: 20px;
  }
}
#service-complete .reserve-data .reserve-date .date small {
  font-size: 18px;
  margin-right: 0.5em;
}
@media (max-width: 767px) {
  #service-complete .reserve-data .reserve-date .date small {
    font-size: 14px;
  }
}
#service-complete .reserve-data .reserve-id {
  font-weight: bold;
}
#service-complete .shaken-document {
  border: 5px solid #EAEBEB;
  padding: 25px;
  margin-bottom: 28px;
}
@media (max-width: 767px) {
  #service-complete .shaken-document {
    padding: 24px 20px;
    margin-bottom: 15px;
  }
}
#service-complete .shaken-document h3 {
  font-size: 18px;
  margin: 0 0 12px;
}
@media (max-width: 767px) {
  #service-complete .shaken-document h3 {
    font-size: 16px;
  }
}
#service-complete .shaken-document p {
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #service-complete .shaken-document p {
    font-size: 13px;
  }
}
#service-complete .shaken-document ul {
  margin-bottom: 12px;
}
#service-complete .shaken-document ul li {
  background: url("../img/reserve/check_red.svg") no-repeat 0 3px;
  border-bottom: 1px solid #d1d1d1;
  line-height: 1.2;
  font-size: 16px;
  padding: 0 0 10px 26px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-complete .shaken-document ul li {
    font-size: 15px;
  }
}
#service-complete .shaken-document a {
  color: #00417D;
}
#service-complete .callcenter {
  font-weight: bold;
}
#service-complete .callcenter .tel {
  display: inline-block;
  line-height: 1;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-complete .callcenter .tel {
    display: block;
    margin-bottom: 3px;
  }
}
#service-complete .callcenter .tel a {
  background: url("../img/icon/icon_phone.svg") no-repeat 0 70%;
  background-size: 17px 17px;
  color: #383838;
  display: inline-block;
  line-height: 1.2;
  font-size: 24px;
  padding-left: 22px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-complete .callcenter .tel a {
    background-size: 15px 15px;
    font-size: 21px;
    padding-left: 20px;
  }
}
#service-complete .callcenter .time {
  display: inline-block;
  line-height: 1.2;
  margin-left: 0.75em;
  position: relative;
  top: -1px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-complete .callcenter .time {
    display: block;
    top: auto;
    margin-left: 0;
    font-size: 13px;
  }
}
#service-complete .attention-bg-message {
  font-size: 15px;
  margin: 0 0 10px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-complete .attention-bg-message {
    font-size: 12px;
    margin: 8px 0 14px;
  }
}
#service-complete .attention-bg-message b {
  background-color: #DF0515;
  color: #fff;
  display: inline-block;
  padding: 8px 16px;
}
@media (max-width: 767px) {
  #service-complete .attention-bg-message b {
    padding: 8px;
    display: block;
  }
}
#service-complete .service-complete-policy {
  margin: 24px 0;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy {
    margin: 18px 0;
  }
}
#service-complete .service-complete-policy h3 {
  background-color: #949494;
  color: #fff;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 12px;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy h3 {
    font-size: 14px;
    padding: 12px;
  }
}
#service-complete .service-complete-policy .content {
  border: 2px solid #dfdfdf;
  border-top: none;
  padding: 20px;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy .content {
    padding: 14px;
  }
}
#service-complete .service-complete-policy p {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy p {
    font-size: 12px;
  }
}
#service-complete .service-complete-policy table {
  border-top: 1px solid #d1d1d1;
  border-left: 1px solid #d1d1d1;
  width: 100%;
}
#service-complete .service-complete-policy table th, #service-complete .service-complete-policy table td {
  padding: 15px;
  border-bottom: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy table th, #service-complete .service-complete-policy table td {
    padding: 12px 8px;
  }
}
#service-complete .service-complete-policy table th {
  background-color: #f0f2f3;
  font-weight: normal;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy table th {
    font-size: 12px;
  }
}
#service-complete .service-complete-policy table th br {
  display: none;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy table th br {
    display: inline;
  }
}
#service-complete .service-complete-policy table td {
  font-size: 18px;
  font-weight: bold;
  width: 35%;
}
@media (max-width: 767px) {
  #service-complete .service-complete-policy table td {
    font-size: 15px;
  }
}

#service-complete .linkage-merit {
  border: 1px solid #DF0515;
  border-radius: 16px;
  padding: 30px;
  text-align: center;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit {
    border-radius: 12px;
    padding: 25px 20px;
  }
}
#service-complete .linkage-merit::before {
  display: block;
  background-color: rgba(223, 5, 21, 0.06);
  content: "";
  height: 400px;
  position: absolute;
  left: 50%;
  top: -200px;
  width: 840px;
  transform: translateX(-50%);
  border-radius: 50%;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit::before {
    top: -220px;
  }
}
#service-complete .linkage-merit .linkage-contents {
  position: relative;
  z-index: 1;
}
#service-complete .linkage-merit .linkage-img {
  display: flex;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit .linkage-img {
    font-size: 16px;
    margin-bottom: 14px;
  }
}
#service-complete .linkage-merit .linkage-img-container {
  display: flex;
  align-items: center;
}
#service-complete .linkage-merit .linkage-img .cross {
  height: 1em;
  position: relative;
  margin: 0 0.5em;
  width: 1em;
}
#service-complete .linkage-merit .linkage-img .cross::before, #service-complete .linkage-merit .linkage-img .cross::after {
  content: "";
  background-color: #717071;
  height: 1em;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -0.5em;
  width: 1px;
}
#service-complete .linkage-merit .linkage-img .cross::before {
  transform: rotate(45deg);
}
#service-complete .linkage-merit .linkage-img .cross::after {
  transform: rotate(-45deg);
}
#service-complete .linkage-merit .copy {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 26px;
  position: relative;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit .copy {
    font-size: 15px;
    margin-bottom: 20px;
  }
}
#service-complete .linkage-merit .copy strong {
  font-size: 144%;
  display: inline-block;
  letter-spacing: 0.08em;
}
#service-complete .linkage-merit .merit-wrap {
  display: flex;
  justify-content: center;
}
#service-complete .linkage-merit .merit-wrap dl dt {
  background-color: #fff;
  border-top: 1px solid #DF0515;
  border-bottom: 1px solid #DF0515;
  color: #DF0515;
  font-size: 16px;
  padding: 5px;
  margin-bottom: 14px;
  text-align: center;
  width: 100%;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit .merit-wrap dl dt {
    font-size: 14px;
  }
}
#service-complete .linkage-merit .merit-wrap dl dd {
  border-bottom: 1px solid #DBDCDD;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 8px;
  text-align: left;
  margin-bottom: 10px;
  padding-left: 1.3em;
  position: relative;
}
#service-complete .linkage-merit .merit-wrap dl dd::before {
  background-color: #DF0515;
  border-radius: 50%;
  content: "";
  height: 4px;
  left: 0.5em;
  position: absolute;
  top: 0.6em;
  width: 4px;
}
@media (max-width: 767px) {
  #service-complete .linkage-merit .merit-wrap dl dd {
    font-size: 12px;
  }
}

#service-mailsubmit {
  margin-top: 35px;
}
@media (max-width: 767px) {
  #service-mailsubmit {
    margin-top: 30px;
  }
}
#service-mailsubmit h1 {
  background: url("../img/reserve/submit_mail.svg") no-repeat 51% 0;
  background-size: 61px 45px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding-top: 54px;
  margin: 0 0 22px;
}
@media (max-width: 767px) {
  #service-mailsubmit h1 {
    background-size: 36px 36px;
    font-size: 18px;
    padding-top: 46px;
    margin-bottom: 18px;
  }
}
#service-mailsubmit .attention-message {
  color: #DF0515;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-mailsubmit .attention-message {
    font-size: 16px;
  }
}
#service-mailsubmit ul li {
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  26. service-detail
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-detail {
  margin-bottom: 4px;
  padding: 0 0 32px;
  overflow: hidden;
}

/* category link */
.service-detail-cats-list {
  border-bottom: none;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .service-detail-cats-list {
    margin-bottom: 15px;
  }
}
.service-detail-cats-list::after, .service-detail-cats-list::before {
  content: none;
}

.service-detail-cats-list li {
  margin-right: 2%;
  margin-bottom: 30px;
  width: 15%;
}

@media (max-width: 767px) {
  .service-detail-cats-list li {
    margin-bottom: 10px;
    width: 32%;
  }
  .service-detail-cats-list li:nth-child(3n) {
    margin-right: 0;
  }
}
.service-detail-cats-list li:last-child {
  margin-right: 0;
}

.service-detail-cats-list li.current a {
  background-color: #DF0515;
  color: #fff;
  position: relative;
  -ms-box-shadow: none;
  box-shadow: none;
}

.service-detail-cats-list li.current a::after {
  content: "";
  top: 100%;
  left: 50%;
  margin-left: -10px;
  position: absolute;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #DF0515 transparent transparent transparent;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.current a::after {
    margin-left: -6px;
    border-width: 6px 6px 0 6px;
  }
}
.service-detail-cats-list li a {
  background-color: #fff;
  display: block;
  border: 2px solid #DF0515;
  color: #333;
  padding: 5px 10px 10px;
  text-align: center;
  cursor: pointer;
  -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  border-radius: 6px;
}

.service-detail-cats-list li a.current {
  background-color: #DF0515;
  background-image: url("../img/icon-angle7.svg");
  color: #fff;
  -ms-box-shadow: none;
  box-shadow: none;
}

@media (max-width: 767px) {
  .service-detail-cats-list li a {
    background-position: left 50% bottom 8px;
    font-size: 12px;
    padding: 2px 0 5px;
  }
}
.service-detail-cats-list li a .icon {
  height: 70px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  .service-detail-cats-list li a .icon {
    height: 52px;
  }
}
.service-detail-cats-list li a .txt {
  line-height: 1.4;
  display: block;
  font-weight: bold;
}

@media (max-width: 767px) {
  .service-detail-cats-list li a .txt {
    min-height: 20px;
  }
}
.service-detail-cats-list li a:hover {
  text-decoration: none;
}

.service-detail-cats-list li.nav-item1 .icon {
  background-image: url("../img/icon-service1.svg");
  background-size: 68px 51px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item1 .icon {
    background-size: 50px 35px;
  }
}
.service-detail-cats-list li.nav-item1.current .icon {
  background-image: url("../img/icon-service1-white.svg");
}

.service-detail-cats-list li.nav-item2 .icon {
  background-image: url("../img/icon-service2.svg");
  background-size: 71px 53px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item2 .icon {
    background-size: 52px 36px;
  }
}
.service-detail-cats-list li.nav-item2.current .icon {
  background-image: url("../img/icon-service2-white.svg");
}

.service-detail-cats-list li.nav-item3 .icon {
  background-image: url("../img/icon-service3.svg");
  background-size: 69px 42px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item3 .icon {
    background-size: 50px 32px;
  }
}
.service-detail-cats-list li.nav-item3.current .icon {
  background-image: url("../img/icon-service3-white.svg");
}

.service-detail-cats-list li.nav-item4 .icon {
  background-image: url("../img/icon-service4.svg");
  background-size: 65px 54px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item4 .icon {
    background-size: 48px 37px;
  }
}
.service-detail-cats-list li.nav-item4.current .icon {
  background-image: url("../img/icon-service4-white.svg");
}

.service-detail-cats-list li.nav-item5 .icon {
  background-image: url("../img/icon-service5.svg");
  background-size: 75px 51px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item5 .icon {
    background-size: 56px 35px;
  }
}
.service-detail-cats-list li.nav-item5.current .icon {
  background-image: url("../img/icon-service5-white.svg");
}

.service-detail-cats-list li.nav-item6 .icon {
  background-image: url("../img/icon-service6.svg");
  background-size: 75px 51px;
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item6 .icon {
    background-size: 56px 35px;
  }
}
.service-detail-cats-list li.nav-item6.current .icon {
  background-image: url("../img/icon-service6-white.svg");
}

@media (max-width: 767px) {
  .service-detail-cats-list li.nav-item6 a {
    font-size: 10px;
  }
  .service-detail-cats-list li.nav-item6 a .txt {
    padding-top: 1px;
  }
}
#service-detail .service-detail-btn-area {
  clear: both;
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-btn-area {
    margin-top: 0;
    margin-bottom: 20px;
  }
}
#service-detail .service-detail-btn-area .btn-area {
  text-align: center;
}

@media (max-width: 767px) {
  #service-detail .service-detail-btn-area .btn-area {
    padding-bottom: 0;
  }
}
#service-detail .service-detail-btn-area .btn {
  background-size: 10px 14px;
  font-size: 20px;
  padding: 12px;
  max-width: 100%;
  width: 420px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-btn-area .btn {
    font-size: 18px;
    padding: 12px;
  }
}
#service-detail .service-detail-menu {
  float: right;
  overflow: hidden;
  width: 240px;
}

#service-detail .service-detail-menu h2 {
  background: #de5223;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0;
  padding: 14px 24px;
}

#service-detail .service-detail-menu h2 span {
  display: block;
  margin-bottom: 6px;
}

#service-detail .service-detail-menu .service-detail-menu__list {
  list-style-type: none;
  padding: 0;
  margin-bottom: 0;
}

#service-detail .service-detail-menu .service-detail-menu__list a {
  color: #333;
  display: block;
  line-height: 1;
  letter-spacing: 0.1em;
}

#service-detail .service-detail-menu .service-detail-menu__list > li {
  background: #f4f4f4;
}

#service-detail .service-detail-menu .service-detail-menu__list > li.current {
  background: #ffffe5;
}

#service-detail .service-detail-menu .service-detail-menu__list > li > a {
  background: url("../img/icon-circle_red.svg") no-repeat right 24px top 50%;
  font-weight: bold;
  padding: 20px 24px;
  position: relative;
}

#service-detail .service-detail-menu .service-detail-menu__list > li > a::before {
  background: #dcdcdc;
  content: "";
  position: absolute;
  height: 1px;
  left: 50%;
  top: -1px;
  margin-left: -120px;
  width: 240px;
}

#service-detail .service-detail-menu .service-detail-menu__list > li:first-child > a::before {
  content: none;
}

#service-detail .service-detail-menu .service-detail-menu__list > li > ul {
  list-style-type: none;
  padding: 0 24px 15px 24px;
  margin-bottom: 0;
}

#service-detail .service-detail-menu .service-detail-menu__list > li > ul li {
  margin-bottom: 12px;
}

#service-detail .service-detail-menu .service-detail-menu__list > li > ul li a {
  background: url("../img/icon-angle2.svg") no-repeat 2px 3px/6px 10px;
  padding-left: 14px;
}

#service-detail .service-detail-content {
  margin-right: 240px;
  overflow: hidden;
}

#service-detail .service-detail-content .fc-red {
  color: #de5223;
}

#service-detail .service-detail-content p {
  line-height: 2;
}

#service-detail .service-detail-content > section {
  padding: 0 24px;
}

#service-detail .service-detail-content > section > h3 {
  margin-top: 30px;
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content > section > h3 {
    margin-top: 20px;
  }
}
#service-detail .service-detail-content .service-detail__about p {
  position: relative;
  top: -5px;
}

#service-detail .service-detail-content .service-detail__about img {
  float: right;
  margin: 0 0 10px 25px;
  width: 240px;
}

#service-detail .service-detail-content .service-detail__flow1 .img-wrap {
  max-width: 640px;
  margin: 40px auto 80px;
  /* 20191127修正 gifからvideoに変更 */
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow1 .img-wrap {
    margin: 30px auto 60px;
  }
}
#service-detail .service-detail-content .service-detail__flow1 .img-wrap .img-fluid {
  background-color: #fff;
  border: 10px solid #c5edf1;
  overflow: hidden;
  border-radius: 16px;
  -ms-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow1 .img-wrap .img-fluid {
    border-width: 5px;
    border-radius: 8px;
  }
}
#service-detail .service-detail-content .service-detail__flow1 .img-wrap .img-fluid .anime {
  overflow: hidden;
  position: relative;
  padding-top: 52%;
  height: 0;
}

#service-detail .service-detail-content .service-detail__flow1 .img-wrap .img-fluid .anime video {
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: 100%;
  position: absolute;
  z-index: 1;
}

#service-detail .service-detail-content .service-detail__warranty .img-wrap {
  max-width: 640px;
  margin: 40px auto 50px;
  /* 20191127修正 gifからvideoに変更 */
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__warranty .img-wrap {
    margin: 30px auto 30px;
  }
}
#service-detail .service-detail-content .service-detail__warranty .img-wrap .img-fluid {
  background-color: #d7f2f6;
  border: 10px solid #48cad8;
  overflow: hidden;
  border-radius: 16px;
  -ms-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__warranty .img-wrap .img-fluid {
    border-width: 5px;
    border-radius: 8px;
  }
}
#service-detail .service-detail-content .service-detail__warranty .img-wrap .img-fluid .anime {
  overflow: hidden;
  position: relative;
  padding-top: 52%;
  height: 0;
}

#service-detail .service-detail-content .service-detail__warranty .img-wrap .img-fluid .anime video {
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: 100%;
  position: absolute;
  z-index: 1;
}

#service-detail .service-detail-content .service-detail__lineup ul {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__lineup ul {
    display: block;
  }
}
#service-detail .service-detail-content .service-detail__lineup ul li {
  border: 2px solid #c7c7c7;
  background: #fff;
  overflow: hidden;
  padding: 16px;
  margin: 0 3% 20px 0;
  width: 48.5%;
  border-radius: 10px;
}

#service-detail .service-detail-content .service-detail__lineup ul li:nth-child(even) {
  margin-right: 0;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__lineup ul li {
    margin-right: 0;
    width: 100%;
  }
}
#service-detail .service-detail-content .service-detail__lineup ul li h5 {
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.02em;
  position: relative;
  margin-top: 0;
  padding-bottom: 10px;
  margin-bottom: 6px;
}

#service-detail .service-detail-content .service-detail__lineup ul li h5 span {
  font-size: 13px;
  display: block;
  margin-bottom: 5px;
}

#service-detail .service-detail-content .service-detail__lineup ul li h5 small {
  color: #808080;
  display: block;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-top: 10px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__lineup ul li h5 small {
    font-size: 12px;
  }
}
#service-detail .service-detail-content .service-detail__lineup ul li .img {
  float: left;
  padding-top: 2px;
  width: 32%;
}

#service-detail .service-detail-content .service-detail__lineup ul li .txt {
  font-size: 10px;
  float: right;
  margin-bottom: 0;
  width: 63%;
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn {
  background-position: right 10px top 50%;
  font-size: 13px;
  border: none !important;
  text-align: center;
  letter-spacing: 0.02em;
  padding: 7px 0 9px;
  overflow: hidden;
  width: 100%;
  border-radius: 30px;
  -ms-box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.1);
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn.btn-shell {
  background-color: #f2ae32;
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn.btn-shell:hover {
  background-color: #fdc45c;
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn.btn-apollostation {
  background: rgb(227, 0, 0);
  background: linear-gradient(90deg, rgb(255, 255, 0) 0%, rgb(227, 0, 0) 75%);
  position: relative;
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn.btn-apollostation:hover {
  opacity: 0.8;
}

#service-detail .service-detail-content .service-detail__lineup ul li .btn.btn-apollostation::after {
  content: "";
  background: url("../img/icon-angle4.svg") no-repeat 0 0/7px 12px;
  height: 12px;
  right: 10px;
  top: 50%;
  margin-top: -6px;
  position: absolute;
  width: 7px;
}

@media (max-width: 350px) {
  #service-detail .service-detail-content .service-detail__lineup ul li .btn {
    font-size: 11px;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul {
  list-style: none;
  padding: 10px 0 20px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul {
    display: block;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li {
  font-weight: bold;
  background-color: #f2f2f2;
  margin-right: 4%;
  padding: 26px 10px 14px;
  position: relative;
  text-align: center;
  width: 22%;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  border-radius: 4px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul li {
    margin-right: 0;
    margin-bottom: 45px;
    width: 100%;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li::after {
  content: "";
  border-style: solid;
  border-width: 15px 0 15px 16px;
  border-color: transparent transparent transparent #cccccc;
  position: absolute;
  right: -23px;
  top: 50%;
  margin-top: -15px;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul li::after {
    border-width: 16px 15px 0 15px;
    border-color: #cccccc transparent transparent transparent;
    right: 50%;
    margin-right: -15px;
    top: auto;
    bottom: -25px;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li:last-child {
  margin-right: 0;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul li:last-child {
    margin-bottom: 0;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li:last-child::after {
  content: none;
}

#service-detail .service-detail-content .service-detail__flow2 ul li p {
  margin: 0;
  line-height: 1.6;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul li p {
    font-size: 16px;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li small {
  font-size: 11px;
  color: #333;
  display: block;
  line-height: 1.6;
  font-weight: normal;
  margin-top: 2px;
}

#service-detail .service-detail-content .service-detail__flow2 ul li small b {
  display: block;
}

@media (max-width: 767px) {
  #service-detail .service-detail-content .service-detail__flow2 ul li small b {
    display: inline;
    font-weight: normal;
  }
}
#service-detail .service-detail-content .service-detail__flow2 ul li .step {
  position: absolute;
  left: 0;
  top: -13px;
  text-align: center;
  width: 100%;
}

#service-detail .service-detail-content .service-detail__flow2 ul li .step img {
  width: 92px;
}

#service-detail .service-detail-content .service-detail__tire h4 {
  background: #4dd4e4;
  color: #fff;
  font-weight: bold;
  padding: 8px;
  border-radius: 20px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin: 0 0 20px;
}

#service-detail .service-detail-content .service-detail__tire .block {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

#service-detail .service-detail-content .service-detail__tire .block .txt {
  padding-right: 10px;
  width: 50%;
}

#service-detail .service-detail-content .service-detail__tire .block .txt p {
  margin: 0;
}

#service-detail .service-detail-content .service-detail__tire .block .txt img {
  display: block;
  margin: 10px auto 0;
}

#service-detail .service-detail-content .service-detail__tire .block .img {
  text-align: center;
  width: 50%;
}

#service-detail .service-detail-content .service-detail__other h4 {
  background: #4dd4e4;
  color: #fff;
  font-weight: bold;
  padding: 8px;
  border-radius: 20px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.1em;
  margin: 0 0 20px;
}

#service-detail .service-detail-content .service-detail__other .block {
  margin-bottom: 20px;
}

#service-detail .service-detail-content .service-detail__other .block#other-service3 {
  margin-bottom: 0;
}

#service-detail .service-detail-content .service-detail__other .block img {
  float: right;
  margin: 0 0 20px 25px;
  width: 240px;
}

#service-detail .service-detail-content .service-detail__other .block p {
  position: relative;
  top: -5px;
}

#service-detail .service-detail-content .service-detail__other ul {
  font-size: 0;
  letter-spacing: 0;
  margin-bottom: 12px;
  padding-bottom: 5px;
  border-bottom: 1px solid #dbdbdb;
  list-style-type: none;
  padding-left: 0;
}

#service-detail .service-detail-content .service-detail__other ul.last {
  border-bottom: none;
  padding-bottom: 0;
}

#service-detail .service-detail-content .service-detail__other ul li {
  font-size: 16px;
  display: inline-block;
  margin-bottom: 6px;
  width: 33.333%;
  vertical-align: top;
}

#service-detail .service-detail-content .service-detail__other ul li::before {
  content: "・";
  font-weight: bold;
  color: #de5223;
}

@media (max-width: 979px) {
  #service-detail .service-detail-content .service-detail__flow1 ul li {
    width: 48%;
  }
  #service-detail .service-detail-content .service-detail__flow1 ul li:nth-child(even) {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  #service-detail .service-detail-menu {
    float: none;
    width: 100%;
  }
  #service-detail .service-detail-menu h2 {
    padding: 14px 16px;
    font-size: 16px;
    position: relative;
  }
  #service-detail .service-detail-menu h2::after {
    display: inline-block;
    font-family: FontAwesome;
    content: "\f107";
    color: #fff;
    position: absolute;
    right: 10px;
    top: 16px;
  }
  #service-detail .service-detail-menu.open h2::after {
    content: "\f106";
  }
  #service-detail .service-detail-menu h2 span {
    display: inline;
    font-weight: normal;
    font-size: 11px;
    margin-right: 6px;
  }
  #service-detail .service-detail-menu .service-detail-menu__list {
    display: none;
  }
  #service-detail .service-detail-menu .service-detail-menu__list a:hover {
    text-decoration: none;
  }
  #service-detail .service-detail-menu .service-detail-menu__list > li > a::before {
    margin-left: -47%;
    width: 94%;
  }
  #service-detail .service-detail-content {
    margin-right: 0;
  }
  #service-detail .service-detail-content p {
    line-height: 1.7;
  }
  #service-detail .service-detail-content > section {
    padding: 0 16px;
  }
  #service-detail .service-detail-content .service-detail__about img {
    float: none;
    display: block;
    margin: 0 auto 15px;
    width: auto;
  }
  #service-detail .service-detail-content .service-detail__about p {
    top: 0;
  }
  #service-detail .service-detail-content .service-detail__tire .block {
    display: block;
  }
  #service-detail .service-detail-content .service-detail__tire .block .txt {
    margin-right: 0;
    margin-bottom: 15px;
    width: 100%;
  }
  #service-detail .service-detail-content .service-detail__tire .block .img {
    width: 100%;
  }
  #service-detail .service-detail-content .service-detail__other .block {
    margin-bottom: 10px;
  }
  #service-detail .service-detail-content .service-detail__other .block img {
    float: none;
    display: block;
    margin: 0 auto 15px;
    width: auto;
  }
  #service-detail .service-detail-content .service-detail__other .block p {
    top: 0;
  }
  #service-detail .service-detail-content .service-detail__other ul li {
    font-size: 12px;
    width: 50%;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  27. service-inquiry
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-inquiry .page-title {
  color: #383838;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin: 36px 0 34px;
}
@media (max-width: 767px) {
  #service-inquiry .page-title {
    font-size: 22px;
    margin: 20px 0 28px;
    margin-bottom: 28px;
  }
}
#service-inquiry .container {
  width: 572px;
}
@media (max-width: 767px) {
  #service-inquiry .container {
    width: 100%;
  }
}
#service-inquiry .card {
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-inquiry .card {
    padding: 20px 16px;
  }
}
#service-inquiry h2 {
  font-size: 20px;
  line-height: 1.55;
  margin-top: 0;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-inquiry h2 {
    font-size: 16px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  28. service-price
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-price .page-back-btn {
  margin: 40px auto;
  max-width: 560px;
}
#service-price .page-back-btn .r-btn {
  background-color: #fff;
  color: #383838;
  border: 1px solid #a7a7a7;
  font-weight: normal;
  font-size: 14px;
  text-align: center;
  padding: 18px;
  width: 100%;
  border-radius: 50px;
}
@media (max-width: 767px) {
  #service-price .page-back-btn .r-btn {
    font-size: 12px;
  }
}

#service-price-header {
  margin-bottom: 30px;
}
#service-price-header h3 {
  font-size: 18px;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  #service-price-header h3 {
    font-size: 14px;
  }
}
#service-price-header .shop-title {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
#service-price-header .shop-title .shop-logo {
  display: block;
  margin-right: 15px;
  width: 60px;
}
@media (max-width: 767px) {
  #service-price-header .shop-title .shop-logo {
    margin-right: 10px;
    width: 36px;
  }
}
#service-price-header .shop-title .shop-name {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.02em;
  flex: 1;
}
@media (max-width: 767px) {
  #service-price-header .shop-title .shop-name {
    font-size: 20px;
  }
}
#service-price-header .shop-title .shop-name .name-company {
  font-size: 16px;
  font-weight: normal;
  display: block;
}
@media (max-width: 767px) {
  #service-price-header .shop-title .shop-name .name-company {
    font-size: 12px;
  }
}
#service-price-header .shop-title .shop-name .name-ss {
  display: block;
  font-size: 34px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-price-header .shop-title .shop-name .name-ss {
    font-size: 18px;
  }
}

#service-price-main .heading-2 {
  margin-top: 0;
}
#service-price-main .price-section {
  padding-top: 20px;
  margin-top: -20px;
  margin-bottom: 40px;
  position: relative;
}
#service-price-main .caps-list {
  font-size: 12px;
}
@media (max-width: 767px) {
  #service-price-main .caps-list {
    font-size: 10px;
  }
}
#service-price-main .price-block {
  margin-bottom: 25px;
  margin-top: 25px;
}
#service-price-main .price-block .caps-tax {
  font-size: 12px;
  text-align: right;
  margin-top: 8px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .caps-tax {
    font-size: 10px;
  }
}
#service-price-main .price-block .card .card-header {
  background: none;
  border: none;
  text-align: center;
  border-radius: 0;
}
#service-price-main .price-block .card .card-header .card-img {
  margin: 10px auto 20px;
}
#service-price-main .price-block .card .card-header .card-img + .card-title {
  margin-top: 25px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-img + .card-title {
    margin-top: 20px;
  }
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-img {
    margin-bottom: 10px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-tire-1 {
    width: 247px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-tire-2 {
    width: 204px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-tire-3 {
    width: 250px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-tire-4 {
    width: 181px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type1_1 {
    width: 172px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type1_2 {
    width: 179px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type1_3 {
    width: 197px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type1_4 {
    width: 179px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type2_1 {
    width: 136px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type2_2 {
    width: 172px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type2_3 {
    width: 196px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type2_4 {
    width: 190px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-car-type2_5 {
    width: 209px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-wash_1 {
    width: 126px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-wash_2 {
    width: 154px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-wash_3 {
    width: 81px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-logo_keeper {
    width: 143px;
  }
  #service-price-main .price-block .card .card-header .card-img .img-logo_keeper_item {
    width: 200px;
  }
}
#service-price-main .price-block .card .card-header .card-title {
  margin: 10px auto 20px;
}
#service-price-main .price-block .card .card-header .card-title + .card-img {
  margin-top: 35px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-title + .card-img {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-title {
    margin-top: 5px;
    margin-bottom: 20px;
  }
}
#service-price-main .price-block .card .card-header .card-title h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 3px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-title h3 {
    font-size: 16px;
  }
}
#service-price-main .price-block .card .card-header .card-title p {
  margin: 0 auto;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-header .card-title p {
    font-size: 12px;
  }
}
#service-price-main .price-block .card .card-header .card-title p.fw-bold {
  font-weight: bold;
  margin-bottom: 4px;
}
#service-price-main .price-block .card .card-body {
  padding: 0;
}
#service-price-main .price-block .card .card-body h4 {
  line-height: 1.45;
  font-size: 16px;
  position: relative;
  padding-left: 40px;
  margin-left: -40px;
  margin-top: 44px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-body h4 {
    margin-left: -20px;
    padding-left: 20px;
    margin-bottom: 12px;
    margin-top: 30px;
    font-size: 14px;
  }
}
#service-price-main .price-block .card .card-body h4:first-child {
  margin-top: 0;
}
#service-price-main .price-block .card .card-body h4::before {
  background: #DF0515;
  content: "";
  left: 0;
  top: 0.68em;
  position: absolute;
  height: 3px;
  width: 22px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-body h4::before {
    height: 2px;
    width: 12px;
  }
}
#service-price-main .price-block .card .card-footer {
  background: none;
  border: none;
  text-align: center;
  border-radius: 0;
  padding: 2.5rem 0 0;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-footer {
    padding: 2.4rem 0 0.7rem;
  }
}
#service-price-main .price-block .card .card-footer .r-btn {
  background: #fff;
  border: 1px solid #a7a7a7;
  color: #383838;
  font-size: 14px;
  display: inline-block;
  padding: 18px;
  letter-spacing: 0.04em;
  width: 100%;
  border-radius: 50px;
}
@media (min-width: 1040px) {
  #service-price-main .price-block .card .card-footer .r-btn:not(.tel-btn):hover {
    color: #DF0515;
    border-color: #DF0515;
  }
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-footer .r-btn {
    font-size: 14px;
    padding: 15px;
  }
}
#service-price-main .price-block .card .card-footer .tel-btn {
  color: #383838;
  cursor: pointer;
  padding: 15px 18px;
}
#service-price-main .price-block .card .card-footer .tel-btn .btn-icon {
  background: #fff url("../img/shop/icon_phone.png") no-repeat 0 50%;
  background-size: 12px 19px;
  display: inline-block;
  text-align: center;
  padding: 3px 0 3px 22px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .card-footer .tel-btn .btn-icon {
    background-size: 11px 16px;
    padding-left: 18px;
  }
}
#service-price-main .price-block .card .price-list {
  border-top: 1px solid #e8e8e8;
}
#service-price-main .price-block .card .price-list li {
  border-bottom: 1px solid #e8e8e8;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li {
    font-size: 12px;
  }
}
#service-price-main .price-block .card .price-list li .d-flex {
  padding: 20px 0;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
}
#service-price-main .price-block .card .price-list li .service-name {
  line-height: 1.52;
  margin-right: 20px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-name {
    font-size: 13px;
  }
}
#service-price-main .price-block .card .price-list li .service-name .icon {
  border: 1px solid #999999;
  display: inline-block;
  font-size: 12px;
  padding: 1px 4px;
  min-width: 7em;
  text-align: center;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-name .icon {
    font-size: 10px;
  }
}
#service-price-main .price-block .card .price-list li .service-price {
  color: #DF0515;
  margin-left: auto;
}
#service-price-main .price-block .card .price-list li .service-price.fc-black {
  color: #383838;
}
#service-price-main .price-block .card .price-list li .service-price.fs-large .price {
  font-size: 33px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price.fs-large .price {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price {
    font-size: 12px;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price {
  font-size: 23px;
  font-family: "Roboto", sans-serif;
  position: relative;
  margin-right: 0.07em;
  top: 0.03em;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price {
    font-size: 21px;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-off {
  font-size: 14px;
  text-decoration: line-through;
  line-height: 1.2;
  display: block;
  color: #383838;
  text-align: right;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-off {
    font-size: 12px;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-shaken-table {
  width: 240px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-shaken-table {
    width: auto;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-shaken-table th {
  font-weight: normal;
  padding: 6px 0;
  width: 100px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-shaken-table th {
    width: 90px;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-shaken-table td {
  padding: 6px 0;
  text-align: right;
}
#service-price-main .price-block .card .price-list li .service-price .price-tire-layout {
  width: 310px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-tire-layout {
    width: 220px;
  }
}
@media (max-width: 360px) {
  #service-price-main .price-block .card .price-list li .service-price .price-tire-layout {
    display: block;
    width: auto;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-tire-layout .row-col {
  display: flex;
  align-items: flex-end;
  padding: 3px 0;
  width: 40%;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-tire-layout .row-col {
    width: 48%;
  }
}
@media (max-width: 360px) {
  #service-price-main .price-block .card .price-list li .service-price .price-tire-layout .row-col {
    width: 120px;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-tire-layout .unit {
  color: #383838;
  display: inline-block;
  position: relative;
  top: -0.2em;
  width: 3em;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price .price-tire-layout .unit {
    width: 2.4em;
  }
}
#service-price-main .price-block .card .price-list li .service-price .price-tire-layout .price-wrap {
  flex: 1;
}
#service-price-main .price-block .card .price-list li .service-price--web-payment {
  display: flex;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price--web-payment {
    display: block;
  }
}
#service-price-main .price-block .card .price-list li .service-price--web-payment .price-group:first-child {
  margin-right: 22px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price--web-payment .price-group:first-child {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
#service-price-main .price-block .card .price-list li .service-price--web-payment .icon {
  border: 1px solid #383838;
  color: #383838;
  font-size: 12px;
  display: inline-block;
  margin-right: 0.3em;
  padding: 1px 5px;
  position: relative;
  bottom: 0.2em;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-price-main .price-block .card .price-list li .service-price--web-payment .icon {
    text-align: center;
    padding: 1px;
    width: 6em;
  }
}
#service-price-main .price-block .card .price-list li .service-price--web-payment .icon--web {
  color: #005AAA;
  border-color: #005AAA;
}
#service-price-main .price-block .price-off-box {
  border: 2px solid #DF0515;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 30px;
  padding: 0.4rem 1rem;
  position: relative;
  overflow: hidden;
}
#service-price-main .price-block .price-off-box::before, #service-price-main .price-block .price-off-box::after {
  content: "";
  position: absolute;
}
#service-price-main .price-block .price-off-box::before {
  border-style: solid;
  border-width: 16px 16px 0 0;
  border-color: #DF0515 transparent transparent transparent;
  left: 0;
  top: 0;
}
#service-price-main .price-block .price-off-box::after {
  border-style: solid;
  border-width: 0 0 16px 16px;
  border-color: transparent transparent #DF0515 transparent;
  right: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  #service-price-main .price-block .price-off-box {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
#service-price-main .price-block .price-off-box .off {
  display: inline-block;
  color: #DF0515;
}
#service-price-main .price-block .price-off-box .off .off-num {
  font-family: "Roboto", sans-serif;
  font-size: 200%;
  position: relative;
  top: 1px;
  margin: 0 0.04em 0 0.1em;
}
#service-price-main .price-block .price-contact-tel {
  border: 1px solid #d1d1d1;
  border-top: 2px solid #DF0515;
  position: relative;
  padding: 16px 30px;
  text-align: center;
  margin: 20px auto;
}
#service-price-main .price-block .price-contact-tel p {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 0;
  margin-right: 10px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-price-main .price-block .price-contact-tel p {
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
#service-price-main .price-block .price-contact-tel .tel-btn {
  background: #ffffff;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #f0f1f2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f1f2',GradientType=0 );
  /* IE6-9 */
  font-weight: bold;
  color: #333;
  border: 1px solid #dfdfdf;
  display: block;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  width: 240px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  border-radius: 30px;
}
#service-price-main .price-block .price-contact-tel .tel-btn span {
  background: url("../img/icon-phone.svg") no-repeat 0 50%/16px 17px;
  padding: 3px 0 3px 23px;
}
#service-price-main .price-block .price-contact-tel .tel-number {
  display: inline-block;
  font-weight: bold;
  vertical-align: baseline;
}
#service-price-main .price-block .price-contact-tel .tel-number a {
  background: url("../img/icon-phone.svg") no-repeat 0 50%/16px 17px;
  padding: 2px 0 2px 22px;
  color: #333;
  font-size: 22px;
}
@media (max-width: 767px) {
  #service-price-main .price-block .price-contact-tel .tel-number a {
    display: block;
  }
}

#service-price-oil-modal .modal-content, #service-price-shaken-modal .modal-content, #service-price-wash-modal .modal-content {
  border: none;
  border-radius: 10px;
}
#service-price-oil-modal .modal-header, #service-price-shaken-modal .modal-header, #service-price-wash-modal .modal-header {
  padding: 2rem;
}
#service-price-oil-modal .modal-body, #service-price-shaken-modal .modal-body, #service-price-wash-modal .modal-body {
  padding: 0 2rem 2rem;
}
#service-price-oil-modal .modal-body .select-type, #service-price-shaken-modal .modal-body .select-type, #service-price-wash-modal .modal-body .select-type {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-price-oil-modal .modal-body .select-type, #service-price-shaken-modal .modal-body .select-type, #service-price-wash-modal .modal-body .select-type {
    font-size: 12px;
  }
}
#service-price-oil-modal .modal-body .select-type p, #service-price-shaken-modal .modal-body .select-type p, #service-price-wash-modal .modal-body .select-type p {
  margin-bottom: 14px;
}
@media (max-width: 767px) {
  #service-price-oil-modal .modal-body .select-type p, #service-price-shaken-modal .modal-body .select-type p, #service-price-wash-modal .modal-body .select-type p {
    margin-bottom: 10px;
  }
}
#service-price-oil-modal .modal-body .select-type .form-select-wrap, #service-price-shaken-modal .modal-body .select-type .form-select-wrap, #service-price-wash-modal .modal-body .select-type .form-select-wrap {
  background: #f0f2f3;
  border: none;
  border-radius: 50px;
}
#service-price-oil-modal .modal-body .select-type .form-select-wrap::after, #service-price-shaken-modal .modal-body .select-type .form-select-wrap::after, #service-price-wash-modal .modal-body .select-type .form-select-wrap::after {
  background: none;
  right: 20px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
  transform: rotate(135deg);
  margin-top: -6px;
}
#service-price-oil-modal .modal-body .select-type .form-select-wrap select, #service-price-shaken-modal .modal-body .select-type .form-select-wrap select, #service-price-wash-modal .modal-body .select-type .form-select-wrap select {
  padding: 16px 30px;
}
#service-price-oil-modal .modal-body .service-list li, #service-price-shaken-modal .modal-body .service-list li, #service-price-wash-modal .modal-body .service-list li {
  border-bottom: 1px solid #e8e8e8;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-price-oil-modal .modal-body .service-list li, #service-price-shaken-modal .modal-body .service-list li, #service-price-wash-modal .modal-body .service-list li {
    font-size: 12px;
  }
}
#service-price-oil-modal .modal-body .service-list li .d-flex, #service-price-shaken-modal .modal-body .service-list li .d-flex, #service-price-wash-modal .modal-body .service-list li .d-flex {
  padding: 20px 0;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
}
#service-price-oil-modal .modal-body .service-list li .service-menu, #service-price-shaken-modal .modal-body .service-list li .service-menu, #service-price-wash-modal .modal-body .service-list li .service-menu {
  margin-right: 20px;
}
#service-price-oil-modal .modal-body .service-list li .service-menu .caps, #service-price-shaken-modal .modal-body .service-list li .service-menu .caps, #service-price-wash-modal .modal-body .service-list li .service-menu .caps {
  font-size: 84%;
}
#service-price-oil-modal .modal-body .service-list li .select-control, #service-price-shaken-modal .modal-body .service-list li .select-control, #service-price-wash-modal .modal-body .service-list li .select-control {
  margin-left: auto;
}
#service-price-oil-modal .modal-body .service-list li .select-control .r-btn, #service-price-shaken-modal .modal-body .service-list li .select-control .r-btn, #service-price-wash-modal .modal-body .service-list li .select-control .r-btn {
  background: #fff;
  cursor: pointer;
  position: relative;
  font-weight: normal;
  letter-spacing: 0.04em;
  display: inline-block;
  margin: auto;
  color: #383838;
  border: 1px solid #e8e8e8;
  display: inline-block;
  text-align: center;
  padding: 12px;
  width: 106px;
  vertical-align: middle;
  border-radius: 50px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-price-oil-modal .modal-body .service-list li .select-control .r-btn, #service-price-shaken-modal .modal-body .service-list li .select-control .r-btn, #service-price-wash-modal .modal-body .service-list li .select-control .r-btn {
    font-size: 12px;
    width: 90px;
  }
}
@media (min-width: 1040px) {
  #service-price-oil-modal .modal-body .service-list li .select-control .r-btn:hover, #service-price-shaken-modal .modal-body .service-list li .select-control .r-btn:hover, #service-price-wash-modal .modal-body .service-list li .select-control .r-btn:hover {
    border-color: #DF0515;
    color: #DF0515;
  }
}
#service-price-oil-modal .modal-body .service-list li .select-control .tel-btn, #service-price-shaken-modal .modal-body .service-list li .select-control .tel-btn, #service-price-wash-modal .modal-body .service-list li .select-control .tel-btn {
  background: #fff url("../img/shop/icon_phone.png") no-repeat 18px 50%;
  background-size: 11px 17px;
  border: 1px solid #e8e8e8;
  color: #383838;
  display: inline-block;
  text-align: center;
  padding: 12px 18px 12px 35px;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 50px;
  white-space: nowrap;
}
@media (min-width: 1040px) {
  #service-price-oil-modal .modal-body .service-list li .select-control .tel-btn:hover, #service-price-shaken-modal .modal-body .service-list li .select-control .tel-btn:hover, #service-price-wash-modal .modal-body .service-list li .select-control .tel-btn:hover {
    border-color: #005AAA;
  }
}
@media (max-width: 767px) {
  #service-price-oil-modal .modal-body .service-list li .select-control .tel-btn, #service-price-shaken-modal .modal-body .service-list li .select-control .tel-btn, #service-price-wash-modal .modal-body .service-list li .select-control .tel-btn {
    background-size: 10px 15px;
    padding-left: 32px;
  }
}
#service-price-oil-modal .modal-body .service-list li .select-control--web-payment .control-group:first-child, #service-price-shaken-modal .modal-body .service-list li .select-control--web-payment .control-group:first-child, #service-price-wash-modal .modal-body .service-list li .select-control--web-payment .control-group:first-child {
  margin-bottom: 10px;
}
#service-price-oil-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn, #service-price-shaken-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn, #service-price-wash-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn {
  border-color: #005AAA;
  color: #005AAA;
}
@media (min-width: 1040px) {
  #service-price-oil-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn:hover, #service-price-shaken-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn:hover, #service-price-wash-modal .modal-body .service-list li .select-control--web-payment .control-group--web .r-btn:hover {
    border-color: #DF0515;
    color: #DF0515;
  }
}
#service-price-oil-modal .modal-body .service-list li .select-control--web-payment .r-btn, #service-price-shaken-modal .modal-body .service-list li .select-control--web-payment .r-btn, #service-price-wash-modal .modal-body .service-list li .select-control--web-payment .r-btn {
  border-color: #383838;
  width: 240px;
}
#service-price-oil-modal .modal-footer, #service-price-shaken-modal .modal-footer, #service-price-wash-modal .modal-footer {
  padding: 0 2rem 2rem;
  border-top: none;
}
#service-price-oil-modal .btn, #service-price-shaken-modal .btn, #service-price-wash-modal .btn {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.04em;
  border-radius: 6px;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  29. service-introduction
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-introduction {
  font-size: 15px;
}
@media (max-width: 767px) {
  #service-introduction {
    font-size: 14px;
  }
}
#service-introduction .introduction-section {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-section {
    margin-bottom: 24px;
  }
}
#service-introduction .service-introduction-heading {
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 46px;
  padding: 0 0 0 20px;
  position: relative;
  line-height: 1.2;
  overflow: visible;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-heading {
    padding-left: 14px;
    font-size: 24px;
    margin-bottom: 26px;
  }
}
@media (max-width: 360px) {
  #service-introduction .service-introduction-heading {
    font-size: 20px;
  }
}
#service-introduction .service-introduction-heading::before {
  background-color: #DF0515;
  content: "";
  height: 96%;
  position: absolute;
  left: 0;
  top: 0.1em;
  border-radius: 3px;
  width: 5px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-heading {
    margin-bottom: 24px;
  }
}
#service-introduction h3 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.45;
}
@media (max-width: 767px) {
  #service-introduction h3 {
    font-size: 15px;
  }
}
#service-introduction h4 {
  color: #383838;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.45;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-introduction h4 {
    font-size: 14px;
  }
}
#service-introduction p {
  line-height: 1.7;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  #service-introduction p {
    line-height: 1.8;
    margin-bottom: 20px;
  }
}
#service-introduction .fc-blue {
  color: #2c4585;
}
#service-introduction .highlight-1 {
  background: linear-gradient(transparent 60%, rgba(223, 5, 21, 0.1) 60%);
}
#service-introduction .block {
  margin-bottom: 65px;
}
@media (max-width: 767px) {
  #service-introduction .block {
    margin-bottom: 45px;
  }
}
#service-introduction .text-link {
  background-size: 11px 9px;
  color: #DF0515;
  text-decoration: underline;
}
@media (max-width: 767px) {
  #service-introduction .text-link {
    background-position: 100% 6px;
  }
}
#service-introduction .text-link:hover {
  text-decoration: none;
}
#service-introduction .sub-title {
  background: #383838;
  color: #fff;
  padding: 15px 20px 17px;
  position: relative;
  margin: 60px auto 30px;
  text-align: center;
  overflow: visible;
  border-radius: 8px;
}
@media (max-width: 767px) {
  #service-introduction .sub-title {
    padding: 12px 20px;
    margin: 40px auto 24px;
  }
}
#service-introduction .sub-title .twrap {
  display: inline-block;
}
#service-introduction .sub-title::after {
  content: "";
  border-style: solid;
  border-width: 12px 12px 0 12px;
  border-color: #383838 transparent transparent transparent;
  position: absolute;
  left: 50%;
  margin-left: -12px;
  top: 100%;
}
@media (max-width: 767px) {
  #service-introduction .sub-title::after {
    border-width: 10px 10px 0 10px;
    margin-left: -10px;
  }
}
#service-introduction .sub-title__no-radius {
  margin-bottom: 24px;
  border-radius: 0;
}
#service-introduction .sub-title__no-radius::after {
  content: none;
}
#service-introduction .section-copy {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  margin-bottom: 30px;
}
#service-introduction .section-copy .twrap {
  display: inline-block;
}
@media (max-width: 767px) {
  #service-introduction .section-copy {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
#service-introduction .card {
  border: none;
  display: block;
  padding: 40px 60px;
  border-radius: 16px;
}
@media (max-width: 1039px) {
  #service-introduction .card {
    padding: 40px;
  }
}
@media (max-width: 767px) {
  #service-introduction .card {
    padding: 35px 20px;
    border-radius: 8px;
  }
}
#service-introduction .full-img {
  clear: both;
  text-align: center;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  #service-introduction .full-img {
    margin-bottom: 20px;
  }
}
#service-introduction .full-img img {
  width: 100%;
}
#service-introduction .full-img .img-radius {
  border-radius: 20px;
}
@media (max-width: 767px) {
  #service-introduction .full-img .img-radius {
    border-radius: 10px;
  }
}
#service-introduction .introduction-box {
  background-color: #EFF1F4;
  padding: 50px 55px;
  margin-bottom: 30px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-box {
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 10px;
  }
}
#service-introduction .introduction-box p {
  margin-bottom: 0;
}
#service-introduction .introduction-box .large {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 1.45;
}
@media (max-width: 767px) {
  #service-introduction .introduction-box .large {
    font-size: 16px;
    margin-bottom: 12px;
  }
}
#service-introduction .introduction-box .clearfix .txt {
  float: left;
  width: 60%;
}
@media (max-width: 767px) {
  #service-introduction .introduction-box .clearfix .txt {
    float: none;
    width: auto;
  }
}
#service-introduction .introduction-box .clearfix .img {
  float: right;
  width: 34%;
}
@media (max-width: 767px) {
  #service-introduction .introduction-box .clearfix .img {
    float: none;
    margin: 20px auto 5px;
    text-align: center;
    width: auto;
  }
}
#service-introduction .introduction-step h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 60px auto 24px;
  text-align: center;
}
#service-introduction .introduction-step h3 .twrap {
  display: inline-block;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step h3 {
    font-size: 16px;
    margin: 40px auto 20px;
  }
}
#service-introduction .introduction-step h3 + p {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step h3 + p {
    margin-bottom: 35px;
    text-align: left;
  }
}
#service-introduction .introduction-step-list {
  display: flex;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list {
    display: block;
  }
}
#service-introduction .introduction-step-list li {
  background-color: #EFF1F4;
  line-height: 1.4;
  font-size: 16px;
  font-weight: 500;
  position: relative;
  text-align: center;
  padding: 12px 10px 0;
  margin-right: 3.64%;
  width: 22.27%;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li {
    font-size: 13px;
    margin-bottom: 40px;
    margin-right: 0;
    padding: 32px 10px 22px;
    width: 100%;
    border-radius: 10px;
  }
}
#service-introduction .introduction-step-list li::after {
  content: "";
  border-style: solid;
  border-width: 8px 0 8px 11px;
  border-color: transparent transparent transparent #727171;
  top: 50%;
  margin-top: -8px;
  right: -22px;
  position: absolute;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li::after {
    margin-left: -7px;
    border-width: 10px 7px 0 7px;
    border-color: #727171 transparent transparent transparent;
    left: 50%;
    right: auto;
    top: auto;
    bottom: -20px;
  }
}
#service-introduction .introduction-step-list li:last-child {
  margin-right: auto;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li:last-child {
    margin-bottom: 0;
  }
}
#service-introduction .introduction-step-list li:last-child::after {
  content: none;
}
#service-introduction .introduction-step-list li .step-num {
  background-color: #383838;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  left: 50%;
  top: -18px;
  padding: 0.35em;
  border-radius: 5em;
  z-index: 1;
  transform: translateX(-50%);
  text-align: center;
  width: 98px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-num {
    font-size: 14px;
    padding: 0.25em;
    width: 66px;
  }
}
#service-introduction .introduction-step-list li .step-num small {
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  margin-right: 0.2em;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-num small {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-num {
    top: -12px;
  }
}
#service-introduction .introduction-step-list li .step-num::after {
  content: "";
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #383838 transparent transparent transparent;
  position: absolute;
  left: 50%;
  margin-left: -6px;
  top: 100%;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-num::after {
    border-width: 6px 5px 0 5px;
    margin-left: -5px;
  }
}
#service-introduction .introduction-step-list li .txt-wrap {
  min-height: 7.5em;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .txt-wrap {
    min-height: 0;
    display: block;
  }
}
#service-introduction .introduction-step-list li .step-txt {
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-txt {
    font-size: 13px;
  }
}
#service-introduction .introduction-step-list li .step-txt sup {
  font-size: 11px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .step-txt sup {
    font-size: 10px;
  }
}
#service-introduction .introduction-step-list li small {
  font-weight: normal;
  font-size: 13px;
  display: block;
  line-height: 1.5;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li small {
    font-size: 11px;
  }
}
#service-introduction .introduction-step-list li .caps {
  font-size: 11px;
}
@media (max-width: 767px) {
  #service-introduction .introduction-step-list li .caps {
    font-size: 10px;
  }
}
#service-introduction .service-introduction-search {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search {
    margin-bottom: 24px;
  }
}
#service-introduction .service-introduction-search .card {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  padding: 0;
}
#service-introduction .service-introduction-search-header {
  background-color: #383838;
  color: #fff;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search-header {
    text-align: left;
  }
}
#service-introduction .service-introduction-search-header h2 {
  color: currentColor;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  padding: 17px 50px 18px 30px;
  margin: 0;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search-header h2 {
    font-size: 15px;
    padding: 16px 50px 17px 24px;
  }
}
#service-introduction .service-introduction-search-header::before, #service-introduction .service-introduction-search-header::after {
  background-color: #fff;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#service-introduction .service-introduction-search-header::before {
  right: 29px;
  height: 13px;
  width: 3px;
}
#service-introduction .service-introduction-search-header::after {
  right: 24px;
  height: 3px;
  width: 13px;
}
#service-introduction .service-introduction-search-header.ac-open::before {
  content: none;
}
#service-introduction .service-introduction-search-main {
  padding: 30px 50px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search-main {
    padding: 16px;
  }
}
#service-introduction .service-introduction-search .form-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
@media (max-width: 1039px) {
  #service-introduction .service-introduction-search .form-row {
    display: block;
  }
}
#service-introduction .service-introduction-search .form-group {
  margin-bottom: 16px;
}
#service-introduction .service-introduction-search .form-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-label {
    font-size: 14px;
  }
}
#service-introduction .service-introduction-search .form-control {
  background-color: #F9FAFC;
  border-color: #ADBACC;
  padding: 15px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-control {
    font-size: 14px;
  }
}
#service-introduction .service-introduction-search .form-control::-moz-placeholder {
  color: rgba(56, 56, 56, 0.5);
}
#service-introduction .service-introduction-search .form-control::placeholder {
  color: rgba(56, 56, 56, 0.5);
}
#service-introduction .service-introduction-search .form-check .form-check-text {
  background: none;
  padding: 0 0 0 38px;
}
#service-introduction .service-introduction-search .form-check .form-check-text::before {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  content: "";
  border-radius: 4px;
  opacity: 0.7;
  position: absolute;
  left: 0;
  top: 0;
  height: 28px;
  width: 28px;
}
#service-introduction .service-introduction-search .form-check input[type=checkbox].form-check-input:checked + .form-check-text {
  background: none;
  font-weight: bold;
}
#service-introduction .service-introduction-search .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  background: #fff url(../img/search/form_check.svg) no-repeat 55% center;
  background-size: 17px 14px;
  border-color: #383838;
  opacity: 1;
}
#service-introduction .service-introduction-search .form-check .tooltip-icon-question {
  background-image: url(../img/search/icon_help.svg);
  height: 20px;
  position: relative;
  top: -2px;
  width: 20px;
  background-size: 20px 20px;
}
#service-introduction .service-introduction-search .form-group--keyword {
  flex: 1;
}
#service-introduction .service-introduction-search .form-group--keyword .form-control {
  background-image: url(../img/search/icon_mappin.svg);
  background-position: left 15px top 52%;
  background-repeat: no-repeat;
  padding-left: 42px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--keyword .form-control {
    background-position: left 7px top 52%;
    background-size: 15px 19px;
    padding-left: 26px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .form-field {
  display: flex;
  align-items: center;
}
@media (max-width: 479px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .form-field {
    display: block;
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .form-check {
  margin-left: 25px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .form-check {
    margin-left: 10px;
  }
}
@media (max-width: 479px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .form-check {
    margin-left: 0;
    margin-top: 15px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .form-check input[type=checkbox].form-check-input:checked + .form-check-text::before {
  border-color: #383838;
  background: #fff url(../img/search/form_check.svg) no-repeat 55% center;
  background-size: 17px 14px;
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker {
  background-color: #F9FAFC;
  border: 1px solid #ADBACC;
  font-size: 16px;
  height: inherit;
  padding: 15px 15px 16px 42px;
  box-shadow: none;
  border-radius: 4px;
  width: 320px;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker {
    padding: 15px 15px 17px 42px;
    width: 100%;
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-52%);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 360px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-icon {
    transform: translateY(-54%);
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-icon img {
  display: block;
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-control {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  font-size: 16px;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
  width: 100%;
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
  font-size: 15px;
  display: block;
  font-weight: normal;
  overflow: hidden;
  min-width: 1em;
  padding: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder {
    font-size: 14px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder::before {
  content: "";
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
  content: attr(data-placeholder);
  color: #383838;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker-input .form-placeholder:empty::before {
    content: "予約希望日を選択";
  }
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker.is-disabled {
  pointer-events: none;
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-icon {
  opacity: 0.5;
}
#service-introduction .service-introduction-search .form-group--detail-filter .search-detail-datepicker.is-disabled .search-detail-datepicker-input .form-placeholder {
  opacity: 0.5;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-time {
    background-color: #F5F6F8;
    border-radius: 4px;
    padding: 12px 16px 16px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list {
  background-color: #ECEFF4;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  padding: 16px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list {
    background-color: transparent;
    padding: 0;
    gap: 9px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label {
  display: block;
  margin: 0;
}
#service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
  background-color: #fff;
  border-radius: 4px;
  border: 1px dashed #383838;
  display: block;
  font-weight: normal;
  line-height: 1.2;
  font-size: 16px;
  padding: 7px 15px;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label .text {
    font-size: 14px;
    padding: 7px 10px;
  }
}
#service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input {
  display: none;
}
#service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label input:checked + .text {
  border: 1px solid #DF0515;
  font-weight: bold;
}
@media (min-width: 1040px) {
  #service-introduction .service-introduction-search .form-group--detail-time .search-detail-filter-list .search-detail-filter-label:hover input:not(.is-disabled) + .text {
    border: 1px solid #DF0515;
    font-weight: bold;
  }
}
#service-introduction .service-introduction-search .form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .form-footer {
    display: block;
  }
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .submit-area {
    margin-top: 18px;
  }
}
#service-introduction .service-introduction-search .submit-area .search-btn {
  background-color: #DF0515;
  border-radius: 4px;
  box-shadow: none;
  color: #fff;
  font-size: 16px;
  padding: 20px 16px;
  font-weight: bold;
  width: 240px;
  transition: background-color ease 200ms;
}
@media (min-width: 1040px) {
  #service-introduction .service-introduction-search .submit-area .search-btn:hover {
    opacity: 1;
    background-color: #c50210;
  }
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search .submit-area .search-btn {
    width: 100%;
  }
}
#service-introduction .service-introduction-search .submit-area .search-btn .btn-txt {
  background: url(../img/search/icon_search_white.svg) no-repeat 0 55%;
  background-size: 18px 18px;
  display: inline-block;
  padding-left: 25px;
  padding-bottom: 2px;
}
#service-introduction .service-introduction-search .search-filter-modal-open {
  display: block;
  border: none;
  color: #383838;
  background: url(../img/icon/icon_filter.svg) no-repeat left center;
  background-size: 18px 13px;
  padding: 5px 0 7px 25px;
  font-size: 16px;
  font-weight: 500;
}
#service-introduction .service-introduction-search-link {
  padding: 0.5em 0 1em;
  text-align: center;
}
#service-introduction .service-introduction-search-link p {
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 767px) {
  #service-introduction .service-introduction-search-link p {
    font-size: 15px;
  }
}
#service-introduction .service-introduction-search-link p .twrap {
  display: inline-block;
}
#service-introduction .service-introduction-search-link .link-area .btn {
  background-color: #DF0515;
  border-radius: 5em;
  box-shadow: none;
  color: #fff;
  font-size: 16px;
  padding: 20px 16px;
  font-weight: bold;
  max-width: 100%;
  width: 320px;
  transition: background-color ease 200ms;
}
@media (min-width: 1040px) {
  #service-introduction .service-introduction-search-link .link-area .btn:hover {
    opacity: 1;
    background-color: #c50210;
  }
}
#service-introduction .service-introduction-search-link .link-area .btn .btn-txt {
  background: url(../img/search/icon_search_white.svg) no-repeat 0 55%;
  background-size: 18px 18px;
  display: inline-block;
  padding-left: 25px;
  padding-bottom: 2px;
}

#service-introduction-header {
  padding: 40px 0;
  margin: 0 auto;
}
@media (max-width: 767px) {
  #service-introduction-header {
    padding: 24px 0 30px;
  }
}
#service-introduction-header .container {
  display: flex;
  justify-content: center;
}
#service-introduction-header h1 {
  display: flex;
  align-items: center;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.3;
  padding-right: 0.5em;
}
@media (max-width: 767px) {
  #service-introduction-header h1 {
    font-size: 25px;
  }
}
@media (max-width: 360px) {
  #service-introduction-header h1 {
    font-size: 22px;
  }
}
#service-introduction-header h1 .title {
  display: inline-block;
  padding-bottom: 0.05em;
}
#service-introduction-header h1 .icon {
  display: flex;
  align-items: center;
  margin-right: 8px;
}
#service-introduction-header h1 .icon img {
  display: block;
  width: 64px;
}
@media (max-width: 767px) {
  #service-introduction-header h1 .icon img {
    width: 52px;
  }
}
@media (max-width: 360px) {
  #service-introduction-header h1 .icon img {
    width: 48px;
  }
}

#service-introduction-link {
  margin-top: 80px;
}
@media (max-width: 767px) {
  #service-introduction-link {
    margin-top: 50px;
  }
}
#service-introduction-link .service-introduction-heading {
  margin-bottom: 30px;
  margin-top: 50px;
}
@media (max-width: 767px) {
  #service-introduction-link .service-introduction-heading {
    margin-bottom: 20px;
  }
}
#service-introduction-link .service-link-block {
  margin-bottom: 16px;
}
#service-introduction-link .service-link-block .service-link-header {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
#service-introduction-link .service-link-block .service-link-header .img {
  margin-right: 20px;
  width: 60px;
}
#service-introduction-link .service-link-block .service-link-header .img img {
  display: block;
  border-radius: 50%;
  width: 100%;
}
#service-introduction-link .service-link-block h3 {
  display: flex;
  align-items: center;
  margin: 0;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block h3 {
    display: block;
  }
}
#service-introduction-link .service-link-block h3 .ja {
  display: block;
  font-size: 24px;
  margin-right: 15px;
  padding-right: 18px;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block h3 .ja {
    font-size: 20px;
  }
}
@media (max-width: 360px) {
  #service-introduction-link .service-link-block h3 .ja {
    font-size: 18px;
  }
}
#service-introduction-link .service-link-block h3 .ja::after {
  background-color: #ADBACC;
  border-radius: 1px;
  content: "";
  height: 16px;
  position: absolute;
  top: 0.45em;
  right: 0;
  width: 2px;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block h3 .ja::after {
    content: none;
  }
}
#service-introduction-link .service-link-block h3 .en {
  display: block;
  color: #DF0515;
  font-style: "Roboto", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  position: relative;
  font-size: 14px;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block h3 .en {
    margin-top: 0.2em;
  }
}
@media (max-width: 360px) {
  #service-introduction-link .service-link-block h3 .en {
    font-size: 12px;
  }
}
#service-introduction-link .service-link-block .service-link-list {
  display: flex;
  gap: 22px;
}
@media (max-width: 1039px) {
  #service-introduction-link .service-link-block .service-link-list {
    border-top: 1px solid #ADBACC;
    flex-direction: column;
    gap: 0;
  }
}
#service-introduction-link .service-link-block .service-link-list li {
  flex: 1;
}
#service-introduction-link .service-link-block .service-link-list li a {
  font-size: 16px;
  font-weight: 500;
  border-top: 1px solid #ADBACC;
  border-bottom: 1px solid #ADBACC;
  display: flex;
  align-items: center;
  padding: 14px 24px 16px 0;
  position: relative;
  transition: color ease 240ms;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block .service-link-list li a {
    padding: 10px 24px 12px 0;
  }
}
@media (max-width: 360px) {
  #service-introduction-link .service-link-block .service-link-list li a {
    font-size: 14px;
  }
}
#service-introduction-link .service-link-block .service-link-list li a::before, #service-introduction-link .service-link-block .service-link-list li a::after {
  content: "";
  transition: all 300ms ease;
  position: absolute;
}
#service-introduction-link .service-link-block .service-link-list li a::before {
  background-color: #DF0515;
  height: 1px;
  bottom: -1px;
  left: 0;
  width: 0;
}
#service-introduction-link .service-link-block .service-link-list li a::after {
  background: url(../img/common/link_arrow_gray.svg) no-repeat center center;
  background-size: cover;
  height: 8px;
  top: 50%;
  margin-top: -4px;
  right: 6px;
  width: 12px;
  transition: right 300ms ease;
}
@media (min-width: 1040px) {
  #service-introduction-link .service-link-block .service-link-list li a:hover {
    color: #DF0515;
    font-weight: bold;
  }
  #service-introduction-link .service-link-block .service-link-list li a:hover::before {
    width: 100%;
  }
  #service-introduction-link .service-link-block .service-link-list li a:hover::after {
    right: 0;
  }
}
@media (max-width: 1039px) {
  #service-introduction-link .service-link-block .service-link-list li a {
    border-top: none;
  }
}
#service-introduction-link .service-link-block .service-link-list li a .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 55px;
  width: 45px;
}
#service-introduction-link .service-link-block .service-link-list li a .icon svg {
  display: block;
}
#service-introduction-link .service-link-block .service-link-list li a .txt {
  display: block;
  padding-left: 8px;
  line-height: 1.5;
}
#service-introduction-link .service-link-block .service-link-list li a .txt small {
  font-size: 12px;
  display: block;
}
#service-introduction-link .service-link-block .service-link-list li a .txt small.indent {
  text-indent: -0.5em;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--wash .service-link-list li:nth-child(1) .icon img {
    width: 42px;
  }
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--oil .service-link-list li:nth-child(1) .icon img {
    width: 29px;
  }
}
#service-introduction-link .service-link-block--oil .service-link-list li:nth-child(2) .icon {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--oil .service-link-list li:nth-child(2) .icon img {
    width: 38px;
  }
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--oil .service-link-list li:nth-child(3) .icon img {
    width: 43px;
  }
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--tire .service-link-list li:nth-child(1) .icon img {
    width: 37px;
  }
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--tire .service-link-list li:nth-child(2) .icon img {
    width: 30px;
  }
}
#service-introduction-link .service-link-block--shaken .service-link-list li:first-child a .icon {
  padding-bottom: 4px;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--shaken .service-link-list li:first-child a .icon img {
    width: 38px;
  }
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--shaken .service-link-list li:nth-child(2) a .icon img {
    width: 30px;
  }
}
#service-introduction-link .service-link-block--coating .service-link-list li:nth-child(2) a .icon {
  padding-bottom: 6px;
}
@media (max-width: 767px) {
  #service-introduction-link .service-link-block--coating .service-link-list li:nth-child(2) a .icon svg {
    width: 39px;
  }
}

#service-introduction-column {
  overflow: hidden;
  padding-top: 10px;
}
#service-introduction-column .service-introduction-column-btn {
  padding: 50px 0 0;
  margin: auto;
  text-align: center;
}
@media (max-width: 767px) {
  #service-introduction-column .service-introduction-column-btn {
    padding-top: 10px;
  }
}
#service-introduction-column .service-introduction-column-btn .btn {
  box-shadow: none;
  background: #fff url(../img/common/link_arrow_gray.svg) no-repeat right 14px center;
  border: 1px solid #383838;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  padding: 20px 20px 21px;
  width: 280px;
  transition: background-position 300ms ease, box-shadow 300ms ease;
  position: relative;
  box-shadow: inset 0 0 0 0 #383838;
}
#service-introduction-column .service-introduction-column-btn .btn:hover {
  opacity: 1;
}
@media (min-width: 1040px) {
  #service-introduction-column .service-introduction-column-btn .btn:hover {
    background-position: right 10px center;
    box-shadow: inset 0 0 0 1px #383838;
  }
}

.service-introduction-column-slider-wrapper {
  position: relative;
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  .service-introduction-column-slider-wrapper {
    padding-bottom: 30px;
  }
}
.service-introduction-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .service-introduction-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
  background-color: transparent;
  bottom: 0;
  height: 20px;
  top: auto;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .service-introduction-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar, .service-introduction-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    bottom: auto;
    flex: 1;
  }
}
.service-introduction-column-slider-wrapper .swiper-horizontal > .swiper-scrollbar::before, .service-introduction-column-slider-wrapper .swiper-scrollbar.swiper-scrollbar-horizontal::before {
  content: "";
  background-color: #ADBACC;
  height: 2px;
  display: block;
  bottom: 9px;
  position: absolute;
  left: 0;
  border-radius: 1px;
  width: 100%;
}
.service-introduction-column-slider-wrapper .swiper-scrollbar-drag {
  background-color: #DF0515;
  top: 9px;
  height: 8px;
  top: 6px;
}
@media (max-width: 767px) {
  .service-introduction-column-slider-wrapper .slide-control {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 24px;
  }
}
.service-introduction-column-slider-wrapper .slide-button-wrapper {
  position: absolute;
  right: 0;
  top: -85px;
  display: flex;
  gap: 8px;
  z-index: 1;
}
@media (max-width: 767px) {
  .service-introduction-column-slider-wrapper .slide-button-wrapper {
    position: static;
    top: auto;
  }
}
.service-introduction-column-slider-wrapper .slide-button-arrow {
  background: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px 11px;
  position: relative;
  width: 48px;
  height: 48px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.service-introduction-column-slider-wrapper .slide-button-arrow.swiper-button-disabled {
  opacity: 0.4;
  cursor: auto;
}
.service-introduction-column-slider-wrapper .slide-button-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.service-introduction-column-slider-wrapper .slide-button-prev .bg-line,
.service-introduction-column-slider-wrapper .slide-button-next .bg-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 6 4;
}
.service-introduction-column-slider-wrapper {
  /* hover時に伸びてくる実線 */
}
.service-introduction-column-slider-wrapper .slide-button-prev .draw-line,
.service-introduction-column-slider-wrapper .slide-button-next .draw-line {
  fill: none;
  stroke: #383838;
  stroke-width: 3;
  stroke-dasharray: 456;
  stroke-dashoffset: 456; /* 最初は隠しておく */
  transition: stroke-dashoffset 0.4s ease-in-out;
}
.service-introduction-column-slider-wrapper {
  /* アニメーションの発火 */
}
@media (min-width: 1040px) {
  .service-introduction-column-slider-wrapper .slide-button-prev:not(.swiper-button-disabled):hover .draw-line,
  .service-introduction-column-slider-wrapper .slide-button-next:not(.swiper-button-disabled):hover .draw-line {
    stroke-dashoffset: 0;
  }
}
.service-introduction-column-slider-wrapper .slide-button-prev {
  background-image: url(../img/top/slide_arrow_prev.svg);
}
.service-introduction-column-slider-wrapper .slide-button-next {
  background-image: url(../img/top/slide_arrow_next.svg);
}

.service-introduction-column-slider .swiper-slide {
  background-color: #fff;
  border-radius: 8px;
  height: auto;
  overflow: hidden;
  position: relative;
}
.service-introduction-column-slider .swiper-slide .post-thumbnail a {
  display: block;
  position: relative;
  overflow: hidden;
}
.service-introduction-column-slider .swiper-slide .post-thumbnail a img {
  display: block;
  transition: transform 0.3s ease;
  width: 100%;
}
@media (min-width: 1040px) {
  .service-introduction-column-slider .swiper-slide:hover .post-thumbnail a img {
    transform: scale(1.1);
  }
}
.service-introduction-column-slider .swiper-slide .post-category {
  background-color: #777;
  color: #fff;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500;
  padding: 2px 8px;
  z-index: 1;
}
@media (max-width: 360px) {
  .service-introduction-column-slider .swiper-slide .post-category {
    font-size: 12px;
  }
}
.service-introduction-column-slider .swiper-slide .post-category.category-oil {
  background-color: #3eb370;
}
.service-introduction-column-slider .swiper-slide .post-category.category-shaken {
  background-color: #DF0515;
}
.service-introduction-column-slider .swiper-slide .post-category.category-tire {
  background-color: #F0AA41;
}
.service-introduction-column-slider .swiper-slide .post-category.category-break {
  background-color: #495f72;
}
.service-introduction-column-slider .swiper-slide .post-category.category-wash {
  background-color: #5096B4;
}
.service-introduction-column-slider .swiper-slide .post-category.category-other {
  background-color: #777;
}
.service-introduction-column-slider .swiper-slide .post-category.category-coating {
  background-color: #5AA578;
}
.service-introduction-column-slider .swiper-slide .post-data {
  padding: 24px 32px;
}
@media (max-width: 767px) {
  .service-introduction-column-slider .swiper-slide .post-data {
    padding: 18px 16px 18px;
  }
}
.service-introduction-column-slider .swiper-slide .post-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  min-height: 5.2em;
  margin-bottom: 15px;
}
@media (max-width: 360px) {
  .service-introduction-column-slider .swiper-slide .post-title {
    font-size: 14px;
  }
}
.service-introduction-column-slider .swiper-slide .post-title a {
  color: #383838;
}
.service-introduction-column-slider .swiper-slide .post-date {
  font-size: 12px;
  display: block;
  margin-bottom: 4px;
  opacity: 0.5;
}
.service-introduction-column-slider .swiper-slide .post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.service-introduction-column-slider .swiper-slide .post-tags a {
  border: 1px dashed #383838;
  display: block;
  border-radius: 4px;
  font-size: 12px;
  color: #383838;
  line-height: 1.5;
  padding: 3px 12px;
  opacity: 0.5;
}
.service-introduction-column-slider .swiper-slide .post-tags a::before {
  content: "#";
}

/* 車検 */
#service-introduction-shaken1-1 .introduction-shaken-deadline table {
  border-top: 1px solid #e8e8e8;
  border-left: 1px solid #e8e8e8;
  margin-bottom: 22px;
  width: 100%;
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table th {
  background-color: #F5F6F8;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  font-weight: normal;
  padding: 12px;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-deadline table th {
    font-size: 12px;
    padding: 10px;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-1 {
  width: 46%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-1 {
    width: 56%;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-2 {
  width: 27%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-2 {
    width: 22%;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-3 {
  width: 27%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-deadline table th.col-3 {
    width: 22%;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table td {
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  font-weight: normal;
  padding: 12px 20px;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-deadline table td {
    font-size: 12px;
    padding: 10px;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-deadline table td.col-1 {
  text-align: left;
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs {
  margin-bottom: 22px;
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table {
  width: 100%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table {
    display: block;
  }
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table tbody, #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table tr {
    display: block;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td {
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td {
    display: block;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box {
  background-color: #EFF1F4;
  padding: 35px 20px;
  width: 30%;
  border-radius: 10px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box {
    padding: 20px 20px;
    min-height: 90px;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    display: flex;
    width: 100%;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box .txt {
  display: inline-block;
  color: #383838;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  padding: 0 0 0 26px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box .txt {
    font-size: 16px;
    padding: 0 0 0 24px;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box .txt .num {
  background-color: #DF0515;
  color: #fff;
  display: inline-block;
  font-size: 80%;
  font-weight: 400;
  height: 21px;
  line-height: 20px;
  text-align: center;
  position: absolute;
  left: 0;
  top: 1px;
  width: 21px;
  vertical-align: middle;
  border-radius: 50%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box .txt .num {
    height: 19px;
    line-height: 18px;
    width: 19px;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box small {
  color: #383838;
  font-size: 15px;
  font-weight: normal;
  display: block;
  margin-top: 2px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.box small {
    font-size: 13px;
  }
}
#service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.plus {
  width: 5%;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.plus {
    padding: 3px;
    width: auto;
  }
  #service-introduction-shaken1-1 .introduction-shaken-price .price-boxs table td.plus img {
    width: 16px;
  }
}

#service-introduction-shaken1-2 .introduction-shaken-rakuraku h4 {
  margin-bottom: 4px;
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .img {
  text-align: center;
  margin: 40px auto 60px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .img {
    margin: 30px auto;
  }
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .img img {
    width: 230px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .box {
  border: 1px solid #ADBACC;
  position: relative;
  padding: 28px 20px 22px;
  margin-top: 40px;
  margin-bottom: 70px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .box {
    margin-bottom: 50px;
    padding: 22px 20px 18px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .box h5 {
  background-color: #DF0515;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  font-size: 18px;
  padding: 4px 12px;
  position: absolute;
  left: 20px;
  top: -15px;
  border-radius: 4px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .box h5 {
    font-size: 15px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .box p {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .box p {
    font-size: 13px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .list-large {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .list-large {
    margin-bottom: 20px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .list-large li {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  margin-bottom: 4px;
  position: relative;
  padding-left: 1em;
}
#service-introduction-shaken1-2 .introduction-shaken-rakuraku .list-large li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-rakuraku .list-large li {
    font-size: 16px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app {
  display: flex;
  gap: 4px;
  margin-bottom: 60px;
}
@media (max-width: 1039px) {
  #service-introduction-shaken1-2 .introduction-shaken-app {
    flex-direction: column;
    gap: 3px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app__container {
  display: flex;
  align-items: center;
  padding: 36px 48px;
  white-space: nowrap;
}
@media (max-width: 1039px) {
  #service-introduction-shaken1-2 .introduction-shaken-app__container {
    padding: 24px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app__tit {
  background-color: #EFF1F4;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1039px) {
  #service-introduction-shaken1-2 .introduction-shaken-app__tit {
    border-radius: 8px 8px 0 0;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app__tit .logo {
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 86px;
  margin-right: 16px;
  width: 86px;
}
#service-introduction-shaken1-2 .introduction-shaken-app__tit .logo img {
  /* 20260825ここから修正 */
  display: block;
  margin-left: 2%;
  width: 72%;
  /* 20260825ここまで修正 */
}
#service-introduction-shaken1-2 .introduction-shaken-app__tit p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin: 0;
}
#service-introduction-shaken1-2 .introduction-shaken-app__main {
  background-color: #EFF1F4;
  border-radius: 0 8px 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
@media (max-width: 1039px) {
  #service-introduction-shaken1-2 .introduction-shaken-app__main {
    border-radius: 0 0 8px 8px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app__main .introduction-shaken-app__btn {
  display: flex;
  gap: 14px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-app__main .introduction-shaken-app__btn {
    flex-direction: column;
    gap: 10px;
  }
  #service-introduction-shaken1-2 .introduction-shaken-app__main .introduction-shaken-app__btn img {
    width: 203px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-app__main .introduction-shaken-app__qr {
  border-left: 1px dotted #383838;
  padding-left: 42px;
  margin-left: 42px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-app__main .introduction-shaken-app__qr {
    display: none;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .img {
  text-align: center;
  padding: 30px 0 50px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .img {
    padding: 20px 0 20px;
  }
  #service-introduction-shaken1-2 .introduction-shaken-triple .img img {
    width: 160px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .tit {
  margin-top: 50px;
  margin-bottom: 20px;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .tit {
    display: block;
    margin-bottom: 12px;
    margin-top: 30px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .tit h4 {
  color: #383838;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .tit h4 {
    font-size: 15px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .tit p {
  color: #e63113;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
  line-height: 1.4;
  margin-left: 12px;
  padding-top: 2px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .tit p {
    font-size: 12px;
    margin-left: auto;
    padding-top: 5px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list {
  background-color: #EFF1F4;
  padding: 0 50px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list {
    padding: 0 20px;
    border-radius: 10px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li {
  padding: 40px 0;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li {
    display: block;
    text-align: center;
    padding: 25px 0;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li:not(:last-child) {
  border-bottom: 1px solid #DBE2E3;
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .icon {
  margin-right: 4%;
  text-align: center;
  width: 128px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .icon {
    margin: 0 auto 16px;
    width: 90px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt {
  flex: 1;
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt h5 {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 auto 5px;
  padding: 0;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt h5 {
    font-size: 17px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price {
  color: #DF0515;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 auto 3px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price {
    font-size: 14px;
    margin-bottom: 6px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price .en {
  font-family: "Roboto", sans-serif;
  font-size: 22px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price .en {
    font-size: 17px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price small {
  font-size: 13px;
  margin-left: 2px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt .price small {
    font-size: 11px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt p {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt p {
    font-size: 12px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt p.large {
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .shaken-triple-list li .txt p.large {
    font-size: 14px;
    margin-bottom: 6px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-triple .caps {
  margin-top: 16px;
}
#service-introduction-shaken1-2 .introduction-shaken-triple .caps dd {
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 3px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-triple .caps dd {
    font-size: 10px;
  }
}
#service-introduction-shaken1-2 .introduction-step {
  margin-bottom: 40px;
}
#service-introduction-shaken1-2 .introduction-step h3 {
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-step h3 {
    margin-bottom: 12px;
  }
}
#service-introduction-shaken1-2 .introduction-step h3 + p {
  margin-bottom: 55px;
  text-align: center;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-step h3 + p {
    margin-bottom: 35px;
    text-align: left;
  }
}
#service-introduction-shaken1-2 .introduction-step .introduction-step-list {
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-step .introduction-step-list {
    margin-bottom: 0;
  }
  #service-introduction-shaken1-2 .introduction-step .introduction-step-list + p {
    margin-top: 35px;
  }
}
#service-introduction-shaken1-2 .introduction-shaken-mypage .img {
  text-align: center;
  padding-top: 20px;
}
@media (max-width: 767px) {
  #service-introduction-shaken1-2 .introduction-shaken-mypage .img img {
    width: 320px;
  }
}

/* 法定点検 */
#service-introduction-shaken2-1 .introduction-tenken-type h4 {
  color: #383838;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type h4 {
    font-size: 16px;
    margin-bottom: 16px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type h4::before {
  background-color: #383838;
  content: "";
  height: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type h4::before {
    height: 2px;
    margin-top: -1px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type h4 .tit-inner {
  background-color: #fff;
  display: inline-block;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type h4 .tit-inner {
    padding: 0 12px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type table {
  border-left: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
}
#service-introduction-shaken2-1 .introduction-tenken-type table.table-1 {
  margin-bottom: 24px;
  width: 100%;
}
#service-introduction-shaken2-1 .introduction-tenken-type table th, #service-introduction-shaken2-1 .introduction-tenken-type table td {
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  padding: 15px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  width: 33.333%;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type table th, #service-introduction-shaken2-1 .introduction-tenken-type table td {
    font-size: 12px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type table th {
  background-color: #f3f3f3;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type table th {
    padding: 9px;
  }
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type table td {
    padding: 12px 9px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type table td.col-1 {
  font-weight: bold;
}
#service-introduction-shaken2-1 .introduction-tenken-type .d-flex {
  justify-content: space-between;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type .d-flex {
    display: block !important;
    margin-top: 20px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type .d-flex .table-2 {
  width: 48.5%;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-type .d-flex .table-2 {
    margin-top: 10px;
    width: 100%;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-type .d-flex .table-2 th {
  width: 45%;
}
#service-introduction-shaken2-1 .introduction-tenken-type .d-flex .table-2 td {
  width: 55%;
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box {
  background-color: #EFF1F4;
  border: 1px solid #ADBACC;
  padding: 58px;
  position: relative;
  margin-top: 50px;
  margin-bottom: 30px;
  border-radius: 20px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box {
    padding: 0;
    margin-top: 40px;
    margin-bottom: 24px;
    border-radius: 10px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box h4 {
  color: #fff;
  background-color: #383838;
  text-align: center;
  font-size: 18px;
  padding: 8px;
  max-width: 0 none;
  position: absolute;
  top: -24px;
  left: 50%;
  width: 280px;
  transform: translateX(-50%);
  border-radius: 6px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box h4 {
    font-size: 14px;
    top: -18px;
    width: 220px;
    border-radius: 3px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box h4 .tit-bg {
  background: url("../img/introduction/shaken2_tenken_check.png") no-repeat 0 50%;
  background-size: 23px 19px;
  display: inline-block;
  padding: 2px 0 2px 30px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box h4 .tit-bg {
    background-size: 14px 11px;
    padding: 0 0 0 22px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl {
  background-color: #fff;
  padding: 35px 40px;
  border-radius: 12px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl {
    padding: 35px 20px 20px;
    border-radius: 10px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt {
  color: #DF0515;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.04em;
  padding: 5px 0 5px 60px;
  margin-bottom: 10px;
  margin-top: 25px;
  line-height: 1.6;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt {
    padding-left: 30px;
    margin-top: 20px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt:first-child {
  margin-top: 0;
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt::before {
  content: "";
  background-position: 0 50%;
  background-repeat: no-repeat;
  height: 32px;
  position: absolute;
  left: 18px;
  top: 2px;
  width: 60px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt::before {
    left: 0;
    width: 40px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-1::before {
  background-image: url("../img/introduction/shaken2_tenken_icon01.png");
  background-size: 30px 30px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-1::before {
    background-size: 20px 20px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-2::before {
  background-image: url("../img/introduction/shaken2_tenken_icon02.png");
  background-size: 30px 30px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-2::before {
    background-size: 20px 20px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-3::before {
  background-image: url("../img/introduction/shaken2_tenken_icon03.png");
  background-size: 30px 30px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-3::before {
    background-size: 20px 20px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-4::before {
  background-image: url("../img/introduction/shaken2_tenken_icon04.png");
  background-size: 32px 24px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-4::before {
    background-size: 21px 18px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-5::before {
  background-image: url("../img/introduction/shaken2_tenken_icon05.png");
  background-size: 28px 27px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-5::before {
    background-size: 19px 18px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-6::before {
  background-image: url("../img/introduction/shaken2_tenken_icon06.png");
  background-size: 28px 32px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-6::before {
    background-size: 19px 21px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-7::before {
  background-image: url("../img/introduction/shaken2_tenken_icon07.png");
  background-size: 34px 21px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dt.icon-7::before {
    background-size: 22px 16px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dd {
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 0 0 0 60px;
  position: relative;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dd {
    padding-left: 30px;
    margin-bottom: 6px;
  }
}
#service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dd .num {
  background-color: #383838;
  color: #fff;
  display: inline-block;
  height: 24px;
  font-weight: bold;
  font-family: "Roboto", sans-serif;
  position: absolute;
  left: 22px;
  top: 1px;
  line-height: 24px;
  text-align: center;
  width: 24px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .introduction-tenken-list .tenken-list-box dl dd .num {
    font-size: 80%;
    left: 0;
    height: 20px;
    line-height: 20px;
    width: 20px;
  }
}
#service-introduction-shaken2-1 .section-copy {
  margin-top: 60px;
}
@media (max-width: 767px) {
  #service-introduction-shaken2-1 .section-copy {
    margin-top: 40px;
  }
}

/* エンジンオイル交換 */
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-role .d-flex {
    display: block !important;
  }
}
#service-introduction-oil1-1 .introduction-oil-role .txt {
  flex: 1;
}
#service-introduction-oil1-1 .introduction-oil-role .txt ol {
  padding: 0;
  margin: 0 auto 26px;
  list-style: none;
}
#service-introduction-oil1-1 .introduction-oil-role .txt ol li {
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
#service-introduction-oil1-1 .introduction-oil-role .txt ol li dl {
  color: #383838;
  padding: 1px 0 0 70px;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-role .txt ol li dl {
    padding: 0;
  }
}
#service-introduction-oil1-1 .introduction-oil-role .txt ol li dl dt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-role .txt ol li dl dt {
    font-size: 14px;
    position: static;
    margin-bottom: 4px;
  }
}
#service-introduction-oil1-1 .introduction-oil-role .txt ol li dl dd {
  font-size: 15px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-role .txt ol li dl dd {
    font-size: 13px;
  }
}
#service-introduction-oil1-1 .introduction-oil-role .img {
  text-align: center;
  width: 50%;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-role .img {
    width: auto;
  }
}
#service-introduction-oil1-1 .introduction-oil-season .img {
  margin: 40px auto;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-season .img {
    margin: 20px auto;
  }
}
#service-introduction-oil1-1 .introduction-oil-place {
  margin-bottom: 54px;
}
#service-introduction-oil1-1 .introduction-oil-place ul {
  margin-bottom: 26px;
  display: flex;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-place ul {
    display: block;
  }
}
#service-introduction-oil1-1 .introduction-oil-place ul li {
  border: 2px solid #dbe4e5;
  line-height: 1.5;
  text-align: center;
  overflow: hidden;
  margin-right: 2.3%;
  width: 31.8%;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-1 .introduction-oil-place ul li {
    margin-right: auto;
    margin-bottom: 20px;
    width: auto;
    border-radius: 10px;
  }
}
#service-introduction-oil1-1 .introduction-oil-place ul li:last-child {
  margin-right: auto;
}
#service-introduction-oil1-1 .introduction-oil-place ul li .txt {
  font-weight: bold;
  letter-spacing: 0.04em;
  padding: 1em;
}

#service-introduction-oil1-2 p.large {
  color: #383838;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin: 20px auto 18px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 p.large {
    font-size: 16px;
    margin: 18px auto;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation {
    display: block;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation .box {
  max-width: 680px;
  display: flex;
  align-items: center;
  border: 2px solid #dbe4e5;
  background: #fff;
  font-size: 14px;
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box {
    padding: 24px;
    display: block;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation .box .img {
  text-align: center;
  margin-right: 5%;
  width: 47%;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box .img {
    margin-bottom: 20px;
    margin-right: auto;
    width: auto;
  }
  #service-introduction-oil1-2 .oil-item-apollostation .box .img img {
    width: 230px;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation .box .txt {
  flex: 1;
  min-width: 0;
}
#service-introduction-oil1-2 .oil-item-apollostation .box h5 {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.02em;
  position: relative;
  margin-top: 0;
  padding-bottom: 0px;
  padding-left: 22px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box h5 {
    font-size: 16px;
    margin-bottom: 16px;
    padding-left: 20px;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation .box h5::before {
  background-color: #DF0515;
  content: "";
  height: 12px;
  width: 12px;
  position: absolute;
  left: 0;
  top: 0.36em;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box h5::before {
    height: 10px;
    width: 10px;
  }
}
#service-introduction-oil1-2 .oil-item-apollostation .box .r-btn {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  padding: 15px;
  overflow: hidden;
  width: 100%;
  border-radius: 50px;
}
#service-introduction-oil1-2 .oil-item-apollostation .box .r-btn.btn-apollostation {
  background: rgb(227, 0, 0);
  background: linear-gradient(90deg, rgb(255, 255, 0) 0%, rgb(227, 0, 0) 75%);
}
@media (min-width: 1040px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box .r-btn:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .oil-item-apollostation .box .r-btn {
    font-size: 12px;
    padding: 12px;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul {
  padding-top: 10px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul {
    display: block;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li {
  border: 2px solid #dbe4e5;
  background: #fff;
  overflow: hidden;
  font-size: 14px;
  padding: 16px;
  margin: 0 3% 20px 0;
  width: 48.5%;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li {
    margin-right: auto;
    width: auto;
    border-radius: 10px;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li:nth-child(even) {
  margin-right: auto;
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li h5 {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.02em;
  position: relative;
  margin-top: 0;
  padding-bottom: 0px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li h5 {
    font-size: 16px;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li h5 span {
  font-size: 14px;
  display: block;
  margin-bottom: 4px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li h5 span {
    font-size: 12px;
    margin-bottom: 2px;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li h5 small {
  font-size: 14px;
  color: #88949c;
  display: block;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-top: 8px;
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li h5 small {
    font-size: 12px;
    margin-top: 6px;
  }
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li .img {
  float: left;
  padding-top: 2px;
  width: 27%;
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li .txt {
  font-size: 10px;
  float: right;
  margin-bottom: 0;
  width: 68%;
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li .r-btn {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.02em;
  padding: 10px;
  overflow: hidden;
  width: 100%;
  border-radius: 50px;
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li .r-btn.btn-shell {
  background-color: #f2ae32;
}
#service-introduction-oil1-2 .introduction-oil-lineup ul li .r-btn.btn-apollostation {
  background: rgb(227, 0, 0);
  background: linear-gradient(90deg, rgb(255, 255, 0) 0%, rgb(227, 0, 0) 75%);
}
@media (min-width: 1040px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li .r-btn:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  #service-introduction-oil1-2 .introduction-oil-lineup ul li .r-btn {
    font-size: 12px;
    padding: 6px;
  }
}

/* オートマオイル交換 */
#service-introduction-oil2-1 .introduction-atf-trouble .d-flex {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .d-flex {
    display: block !important;
    margin-bottom: 20px;
  }
}
#service-introduction-oil2-1 .introduction-atf-trouble .txt {
  flex: 1;
  margin-right: 4%;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .txt {
    margin-right: auto;
    margin-bottom: 20px;
  }
}
#service-introduction-oil2-1 .introduction-atf-trouble .txt ol {
  padding: 12px 0 0;
  margin: 0 auto;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .txt ol {
    display: block;
    padding-top: 0;
  }
}
#service-introduction-oil2-1 .introduction-atf-trouble .txt ol li {
  background-color: #f7f7f7;
  letter-spacing: 0.08em;
  color: #383838;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  padding: 12px;
  margin: 0 3% 12px 0;
  width: 48.5%;
  border-radius: 40px;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .txt ol li {
    font-size: 14px;
    margin: 0 auto 12px;
    width: auto;
  }
}
#service-introduction-oil2-1 .introduction-atf-trouble .txt ol li:nth-child(even) {
  margin-right: auto;
}
#service-introduction-oil2-1 .introduction-atf-trouble .img {
  text-align: center;
  width: 30%;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .img {
    width: auto;
  }
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-trouble .img {
    margin-top: 30px;
    text-align: center;
  }
}
#service-introduction-oil2-1 .introduction-atf-season .img {
  margin: 40px auto;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-season .img {
    margin: 20px auto;
  }
}
#service-introduction-oil2-1 .introduction-atf-place {
  margin-bottom: 54px;
}
#service-introduction-oil2-1 .introduction-atf-place ul {
  margin-bottom: 26px;
  display: flex;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-place ul {
    display: block;
  }
}
#service-introduction-oil2-1 .introduction-atf-place ul li {
  border: 2px solid #dbe4e5;
  line-height: 1.5;
  text-align: center;
  overflow: hidden;
  margin-right: 2.3%;
  width: 31.8%;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-oil2-1 .introduction-atf-place ul li {
    margin-right: auto;
    margin-bottom: 20px;
    width: auto;
    border-radius: 10px;
  }
}
#service-introduction-oil2-1 .introduction-atf-place ul li:last-child {
  margin-right: auto;
}
#service-introduction-oil2-1 .introduction-atf-place ul li .txt {
  font-weight: bold;
  letter-spacing: 0.04em;
  padding: 1em;
}

/* オートマオイル交換 */
#service-introduction-oil3-1 .introduction-oilfilter-trouble .d-flex {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-trouble .d-flex {
    display: block !important;
    margin-bottom: 20px;
  }
}
#service-introduction-oil3-1 .introduction-oilfilter-trouble .txt {
  flex: 1;
  margin-right: 4%;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-trouble .txt {
    margin-right: auto;
    margin-bottom: 20px;
  }
}
#service-introduction-oil3-1 .introduction-oilfilter-trouble .img {
  text-align: center;
  width: 30%;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-trouble .img {
    width: auto;
  }
}
#service-introduction-oil3-1 .introduction-oilfilter-season {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-season {
    margin-bottom: 40px;
  }
}
#service-introduction-oil3-1 .introduction-oilfilter-season dl dt {
  color: #383838;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.45;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-season dl dt {
    font-size: 14px;
  }
}
#service-introduction-oil3-1 .introduction-oilfilter-season dl dd {
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  #service-introduction-oil3-1 .introduction-oilfilter-season dl dd {
    margin-bottom: 20px;
  }
}

/* タイヤ交換・組み替え・履き替え */
#service-introduction-tire1-1 .block .img.text-center {
  margin: 50px auto;
}
@media (max-width: 767px) {
  #service-introduction-tire1-1 .block .img.text-center {
    margin: 30px auto;
  }
  #service-introduction-tire1-1 .block .img.text-center img {
    width: 280px;
  }
}
#service-introduction-tire1-1 .block .table {
  border-left: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
  margin: 30px auto;
}
@media (max-width: 767px) {
  #service-introduction-tire1-1 .block .table {
    margin: 22px auto;
  }
}
#service-introduction-tire1-1 .block .table th {
  background-color: #f3f3f3;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  font-weight: normal;
  text-align: center;
  padding: 15px;
  width: 50%;
}
@media (max-width: 767px) {
  #service-introduction-tire1-1 .block .table th {
    padding: 9px;
  }
}
#service-introduction-tire1-1 .block .table td {
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  text-align: center;
  padding: 15px;
}
@media (max-width: 767px) {
  #service-introduction-tire1-1 .block .table td {
    padding: 9px;
  }
}

#service-introduction-tire1-2 .introduction-box.first {
  margin-top: 60px;
}
@media (max-width: 767px) {
  #service-introduction-tire1-2 .introduction-box.first {
    margin-top: 30px;
  }
}
#service-introduction-tire1-2 .introduction-box.last .clearfix {
  margin-top: 40px;
}
#service-introduction-tire1-2 .introduction-box.last .clearfix .txt {
  width: 55%;
}
@media (max-width: 767px) {
  #service-introduction-tire1-2 .introduction-box.last .clearfix .txt {
    width: auto;
  }
}
#service-introduction-tire1-2 .introduction-box.last .clearfix .img {
  text-align: center;
  width: 40%;
}
@media (max-width: 767px) {
  #service-introduction-tire1-2 .introduction-box.last .clearfix .img {
    width: auto;
  }
}

/* タイヤローテーション・バランス調整 */
#service-introduction-tire2-1 .introduction-tire-rotation-merit .img {
  margin: 35px auto 68px;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img {
    display: block;
    margin: 30px auto 50px;
  }
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img .d-flex {
    text-align: center;
    display: block !important;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-1 {
  margin-right: 35px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-1 {
    margin: 0 auto 20px;
    text-align: center;
  }
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-1 img {
    width: 300px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-2 {
  border: 2px dotted #adadad;
  padding: 20px 30px;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-2 {
    display: block;
    margin: 0 auto;
    padding: 15px;
    max-width: 240px;
    border-radius: 10px;
  }
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .img .img-2 img {
    width: 110px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs {
  justify-content: space-between;
  display: flex;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs {
    display: block;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box {
  letter-spacing: 0.04em;
  padding: 45px 20px 28px;
  position: relative;
  text-align: center;
  width: 48.5%;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box {
    margin-bottom: 25px;
    padding: 36px 15px 24px;
    width: auto;
    border-radius: 10px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box dt {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  top: -14px;
  left: 50%;
  position: absolute;
  margin-left: -90px;
  padding: 6px;
  width: 180px;
  border-radius: 50px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box dt {
    top: -12px;
    font-size: 14px;
    margin-left: -70px;
    padding: 5px;
    width: 140px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box dd {
  font-weight: 500;
  line-height: 1.55;
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-merit {
  background-color: #fef1ec;
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-merit dt {
  background-color: #DF0515;
  font-size: 16px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-merit dt {
    font-size: 14px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-merit dd {
  color: #DF0515;
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-demerit {
  background-color: #f2f2f2;
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-demerit dt {
  background-color: #666a6d;
}
#service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-demerit dd {
  color: #666a6d;
  font-size: 14px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-merit .boxs .box-demerit dd {
    font-size: 12px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-season {
  margin-top: 70px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-season {
    margin-top: 50px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-season h3 {
  color: #2c4585;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-season h3 {
    font-size: 16px;
    margin-bottom: 24px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-season h3::before {
  background-color: #2c4585;
  content: "";
  height: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-season h3::before {
    height: 2px;
    margin-top: -1px;
  }
}
#service-introduction-tire2-1 .introduction-tire-rotation-season h3 .tit-inner {
  background-color: #fff;
  display: inline-block;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-rotation-season h3 .tit-inner {
    padding: 0 12px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance .balance-img {
  display: flex;
  padding-top: 10px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance .balance-img {
    display: block;
    padding-top: 0;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance .balance-img .txt {
  flex: 1;
}
#service-introduction-tire2-1 .introduction-tire-balance .balance-img .txt p {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance .balance-img .txt p {
    margin-bottom: 24px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance .balance-img .img {
  margin-left: 2%;
  padding-top: 5px;
  text-align: center;
  width: 36%;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance .balance-img .img {
    margin-left: auto;
    padding-top: 0;
    width: auto;
  }
  #service-introduction-tire2-1 .introduction-tire-balance .balance-img .img img {
    width: 220px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance-season {
  margin-top: 50px;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance-season {
    margin: 40px auto 40px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance-season h3 {
  color: #383838;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance-season h3 {
    font-size: 16px;
    margin-bottom: 24px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance-season h3::before {
  background-color: #383838;
  content: "";
  height: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -2px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance-season h3::before {
    height: 2px;
    margin-top: -1px;
  }
}
#service-introduction-tire2-1 .introduction-tire-balance-season h3 .tit-inner {
  background-color: #fff;
  display: inline-block;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #service-introduction-tire2-1 .introduction-tire-balance-season h3 .tit-inner {
    padding: 0 12px;
  }
}

#service-introduction-tire2-2 .section-copy {
  margin: 42px auto 16px;
}

/* 手洗い洗車・室内清掃 */
#service-introduction-wash1-1 .introduction-wash-demerit {
  margin-bottom: 60px;
}

/* カーコーティング */
#service-introduction-coating1-1 .introduction-coating-type .table {
  border-left: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
  margin-bottom: 30px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-introduction-coating1-1 .introduction-coating-type .table {
    margin-bottom: 20px;
  }
}
#service-introduction-coating1-1 .introduction-coating-type .table th, #service-introduction-coating1-1 .introduction-coating-type .table td {
  font-size: 15px;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  padding: 15px 20px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction-coating1-1 .introduction-coating-type .table th, #service-introduction-coating1-1 .introduction-coating-type .table td {
    padding: 10px 15px;
  }
}
#service-introduction-coating1-1 .introduction-coating-type .table thead th {
  background-color: #EFF1F4;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  color: #383838;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}
@media (max-width: 767px) {
  #service-introduction-coating1-1 .introduction-coating-type .table thead th {
    line-height: 1.4;
    font-size: 15px;
    padding: 15px;
  }
}
#service-introduction-coating1-1 .introduction-coating-type .table thead th .twrap {
  display: inline-block;
}
#service-introduction-coating1-1 .introduction-coating-type .table tbody th {
  background-color: #F5F6F8;
  text-align: left;
  width: 23%;
}
@media (max-width: 767px) {
  #service-introduction-coating1-1 .introduction-coating-type .table tbody th {
    display: block;
    font-size: 13px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating1-1 .introduction-coating-type .table tbody td {
    display: block;
    font-size: 13px;
    padding: 15px;
  }
}

#service-introduction-coating1-2 .section-copy .twrap {
  display: inline-block;
}
#service-introduction-coating1-2 .section-copy .en {
  color: #df0515;
}
#service-introduction-coating1-2 .introduction-coating-links a {
  background-color: #fff;
  border: 3px solid #f2f2f2;
  color: #383838;
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  padding: 25px 40px 25px 30px;
  position: relative;
  text-align: center;
  width: 48%;
  transition: all 0.14s ease-out;
}
@media (max-width: 767px) {
  #service-introduction-coating1-2 .introduction-coating-links a {
    margin-bottom: 20px;
    font-size: 14px;
    padding: 20px 30px 20px 20px;
    width: auto;
  }
}
#service-introduction-coating1-2 .introduction-coating-links a::before {
  content: "";
  height: 100%;
  height: calc(100% + 6px);
  position: absolute;
  left: -3px;
  top: -3px;
  width: 3px;
}
#service-introduction-coating1-2 .introduction-coating-links a::after {
  right: 20px;
}
#service-introduction-coating1-2 .introduction-coating-links a.link-1::before {
  background-color: #df0515;
}
#service-introduction-coating1-2 .introduction-coating-links a.link-1::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #df0515;
  border-right: 2px solid #df0515;
  transform: rotate(45deg);
}
#service-introduction-coating1-2 .introduction-coating-links a.link-1:hover {
  color: #df0515;
}
#service-introduction-coating1-2 .introduction-coating-links a.link-2::before {
  background-color: #00b6dd;
}
#service-introduction-coating1-2 .introduction-coating-links a.link-2::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #00b6dd;
  border-right: 2px solid #00b6dd;
  transform: rotate(45deg);
}
#service-introduction-coating1-2 .introduction-coating-links a.link-2:hover {
  color: #00b6dd;
}

#service-introduction-coating2-1 .introduction-coating-products-link {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link {
    margin-bottom: 24px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link .sub-title {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul {
    flex-direction: column;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li {
  margin-bottom: 8px;
  margin-right: 1%;
  width: 24.25%;
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li:nth-child(4n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li {
    margin-right: 0;
    width: 100%;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li:last-child {
  margin-right: 0;
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li a {
  background: #fff;
  border: 1px solid #d4d4d4;
  display: block;
  line-height: 1.3;
  font-size: 14px;
  font-weight: bold;
  color: #383838;
  text-align: center;
  padding: 15px 4px 12px;
  border-radius: 6px;
  position: relative;
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li a::after {
  content: "";
  position: absolute;
  bottom: 12px;
  right: 50%;
  margin-right: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #b2b2b2;
  border-right: 2px solid #b2b2b2;
  transform: rotate(135deg);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a::after {
    right: 12px;
    margin-right: 0;
    top: 50%;
    bottom: auto;
    margin-top: -6px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a {
    font-size: 12px;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 15px 20px 16px 8px;
  }
}
@media (min-width: 1040px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a {
    transition: all 0.14s ease-out;
  }
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a:hover {
    opacity: 0.8;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li a .icon {
  display: block;
  height: 26px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a .icon {
    margin-right: 10px;
    height: auto;
    width: 80px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a .icon img {
    width: 100%;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li a .txt {
  min-height: 70px;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a .txt {
    display: block;
    min-height: 0;
    flex: 1;
  }
  #service-introduction-coating2-1 .introduction-coating-products-link ul li a .txt br {
    display: none;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-pure a {
  background: rgb(255, 249, 247);
  background: linear-gradient(0deg, rgb(255, 249, 247) 0%, rgb(255, 242, 237) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-crystal a {
  background: rgb(247, 253, 255);
  background: linear-gradient(0deg, rgb(247, 253, 255) 0%, rgb(230, 247, 252) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-diamond a {
  background: rgb(252, 250, 246);
  background: linear-gradient(0deg, rgb(252, 250, 246) 0%, rgb(252, 246, 232) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-eco a {
  background: rgb(245, 252, 246);
  background: linear-gradient(0deg, rgb(245, 252, 246) 0%, rgb(232, 250, 236) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li.product-eco a .icon img {
    width: 95px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-ex a {
  background: #f5f7fa;
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-fresh a {
  background: #FFF9D8;
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-w-diamond a {
  background: rgb(250, 252, 254);
  background: linear-gradient(0deg, rgb(250, 252, 254) 0%, rgb(230, 236, 248) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-mattexture a {
  background: rgb(246, 233, 245);
  background: linear-gradient(0deg, rgb(251, 245, 245) 0%, rgb(237, 231, 249) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products-link ul li.product-mattexture a .icon img {
    width: 110px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-dia2 a {
  background: rgb(210, 228, 244);
  background: linear-gradient(0deg, rgb(250, 252, 254) 0%, rgb(210, 228, 244) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products-link ul li.product-iron a {
  background: rgb(245, 247, 250);
  background: linear-gradient(0deg, rgb(251, 251, 251) 0%, rgb(211, 222, 241) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products .product {
  margin-bottom: 40px;
  padding: 40px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product {
    margin: 0 -20px 20px;
    position: relative;
    padding: 24px 20px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-name {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
  margin-top: 0;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-name {
    font-size: 17px;
    display: block;
    margin-bottom: 18px;
    text-align: center;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-name img {
  margin-right: 20px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-name img {
    margin-right: auto;
    margin-bottom: 10px;
    width: 125px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-name .txt {
    display: block;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content {
  background-color: #fff;
  padding: 40px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content {
    padding: 20px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content .txt .copy {
  color: #2c4585;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content .txt .copy {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content .txt p {
    font-size: 13px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content .structure {
  border: 1px solid #eaeaea;
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content .structure h4 {
  background-color: #f0f2f3;
  color: #383838;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0;
  padding: 10px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content .structure h4 {
    font-size: 14px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content .clearfix .txt {
  float: left;
  width: 56.8%;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content .clearfix .txt {
    float: none;
    width: auto;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .product-content .clearfix .structure {
  float: right;
  text-align: center;
  margin-bottom: 30px;
  width: 38.8%;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .product-content .clearfix .structure {
    float: none;
    width: auto;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .table {
  border-left: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
  margin-top: 10px;
  margin-bottom: 0;
  width: 100%;
}
#service-introduction-coating2-1 .introduction-coating-products .product .table th, #service-introduction-coating2-1 .introduction-coating-products .product .table td {
  color: #383838;
  font-size: 15px;
  border-bottom: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  padding: 15px 20px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .table th, #service-introduction-coating2-1 .introduction-coating-products .product .table td {
    padding: 10px 15px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .table tbody th {
  background-color: #f3f3f3;
  text-align: left;
  width: 25%;
}
#service-introduction-coating2-1 .introduction-coating-products .product .table tbody th br {
  display: none;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .table tbody th {
    display: block;
    font-size: 13px;
    width: 100%;
  }
  #service-introduction-coating2-1 .introduction-coating-products .product .table tbody th br {
    display: inline;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product .table tbody td small {
  display: block;
  line-height: 1.5;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product .table tbody td {
    display: block;
    font-size: 13px;
    padding: 15px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-pure {
  background: rgb(255, 249, 247);
  background: linear-gradient(0deg, rgb(255, 249, 247) 0%, rgb(255, 242, 237) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-pure {
    background: linear-gradient(0deg, rgb(255, 249, 247) 0%, rgb(255, 242, 237) 100%);
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-pure .product-name {
  color: #eb6100;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-crystal {
  background: rgb(247, 253, 255);
  background: linear-gradient(0deg, rgb(247, 253, 255) 0%, rgb(230, 247, 252) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-crystal {
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(230, 247, 252) 100%);
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-crystal .product-name {
  color: #1ba8d8;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-diamond {
  background: rgb(252, 250, 246);
  background: linear-gradient(0deg, rgb(252, 250, 246) 0%, rgb(252, 246, 232) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-diamond {
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(252, 246, 232) 100%);
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-diamond .product-name {
  color: #bfa548;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco {
  background: rgb(245, 252, 246);
  background: linear-gradient(0deg, rgb(245, 252, 246) 0%, rgb(232, 250, 236) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco {
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(232, 250, 236) 100%);
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-name {
  color: #17a833;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .txt .text-center {
  margin: 40px auto;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .txt .text-center {
    margin: 30px auto;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure {
  margin-bottom: 30px;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust .img-illust {
  width: 33%;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust .img-illust {
    width: auto;
  }
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust .img-illust img {
    display: block;
    margin: 0 auto;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust ul {
  padding-left: 10px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust ul {
    padding: 0 15px 20px;
  }
  #service-introduction-coating2-1 .introduction-coating-products .product.product-eco .product-content .structure .structure-illust ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-ex {
  background: #002b5c;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-ex .product-name {
  color: #fff;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-ex .product-name img {
  width: 100px;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh {
  background: rgb(255, 252, 237);
  background: linear-gradient(0deg, rgb(255, 252, 237) 0%, rgb(255, 249, 216) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents {
  margin-bottom: 30px;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents h4 {
  color: #383838;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents h4 {
    font-size: 14px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item {
  padding: 24px;
  width: 50%;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item {
    padding: 16px;
    width: 100%;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-1 {
  background-color: #FFF9D8;
  border: 1px solid #e60013;
  border-right: none;
  border-radius: 10px 0 0 10px;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-1 {
    border: 1px solid #e60013;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-1 h5 {
  color: #e60013;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-2 {
  background-color: #f0f9fe;
  border: 1px solid #008cd7;
  border-left: none;
  border-radius: 0 10px 10px 0;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-2 {
    border: 1px solid #008cd7;
    border-top: none;
    border-radius: 0 0 6px 6px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item-2 h5 {
  color: #008cd7;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item h5 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 18px;
  text-align: center;
}
@media (max-width: 767px) {
  #service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item h5 {
    font-size: 16px;
    margin-bottom: 15px;
  }
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item img {
  display: block;
  margin-bottom: 10px;
  width: 100%;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-fresh .fresh-contents .item p {
  margin-bottom: 0;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-mattexture {
  background: rgb(246, 233, 245);
  background: linear-gradient(0deg, rgb(251, 245, 245) 0%, rgb(237, 231, 249) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-mattexture .structure {
  max-width: 400px;
  margin: 0 auto 30px;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-mattexture .structure img {
  width: 100%;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-dia2 {
  background: rgb(220, 241, 255);
  background: linear-gradient(0deg, rgb(244, 249, 255) 0%, rgb(220, 241, 255) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-iron {
  background: rgb(233, 240, 251);
  background: linear-gradient(0deg, rgb(244, 246, 254) 0%, rgb(233, 240, 251) 100%);
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-iron .structure {
  border: none;
  max-width: 620px;
  margin: 0 auto 35px;
}
#service-introduction-coating2-1 .introduction-coating-products .product.product-iron .structure img {
  width: 100%;
}
#service-introduction-coating2-1 .introduction-coating-products .more-btn {
  margin: 40px auto 80px;
}
#service-introduction-coating2-1 .introduction-coating-products .more-btn .btn {
  box-shadow: none;
  background: #fff url(../img/icon/icon_window.svg) no-repeat right 14px center;
  border: 1px solid #383838;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  padding: 20px 20px 21px;
  width: 280px;
  transition: background-position 300ms ease, box-shadow 300ms ease;
  position: relative;
  box-shadow: inset 0 0 0 0 #383838;
}
#service-introduction-coating2-1 .introduction-coating-products .more-btn .btn:hover {
  opacity: 1;
}
@media (min-width: 1040px) {
  #service-introduction-coating2-1 .introduction-coating-products .more-btn .btn:hover {
    box-shadow: inset 0 0 0 1px #383838;
  }
}

#service-introduction-coating3-1 .apollostation-keeper-logo {
  margin-bottom: 42px;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .apollostation-keeper-logo {
    margin-bottom: 25px;
  }
}
#service-introduction-coating3-1 .introduction-coating-point {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-point {
    margin-bottom: 50px;
  }
}
#service-introduction-coating3-1 .introduction-coating-point .txt {
  float: left;
  width: 61%;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-point .txt {
    width: auto;
  }
}
#service-introduction-coating3-1 .introduction-coating-point .img {
  float: right;
  text-align: center;
  width: 34%;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-point .img {
    margin-bottom: 18px;
    width: auto;
  }
}
#service-introduction-coating3-1 .introduction-coating-point .link-keeper a {
  color: #DF0515;
  text-decoration: underline;
}
#service-introduction-coating3-1 .introduction-coating-point .link-keeper a:hover {
  text-decoration: none;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul {
    flex-direction: column;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li {
  margin-bottom: 8px;
  margin-right: 1%;
  width: 24.25%;
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li:nth-child(4n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li {
    margin-right: 0;
    width: 100%;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li:last-child {
  margin-right: 0;
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li a {
  background: #fff;
  border: 1px solid #d4d4d4;
  display: block;
  line-height: 1.3;
  font-size: 14px;
  font-weight: bold;
  color: #383838;
  text-align: center;
  padding: 15px 4px 6px;
  border-radius: 6px;
  position: relative;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a {
    font-size: 12px;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 15px 20px 16px 8px;
  }
}
@media (min-width: 1040px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a {
    transition: all 0.14s ease-out;
  }
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a:hover {
    opacity: 0.8;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li a .icon {
  display: block;
  height: 26px;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a .icon {
    margin-right: 10px;
    height: auto;
    width: 80px;
  }
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a .icon img {
    width: 100%;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li a .txt {
  min-height: 70px;
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a .txt {
    display: block;
    min-height: 0;
    flex: 1;
  }
  #service-introduction-coating3-1 .introduction-coating-products-link ul li a .txt br {
    display: none;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-pure a {
  background: rgb(255, 249, 247);
  background: linear-gradient(0deg, rgb(255, 249, 247) 0%, rgb(255, 242, 237) 100%);
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-crystal a {
  background: rgb(247, 253, 255);
  background: linear-gradient(0deg, rgb(247, 253, 255) 0%, rgb(230, 247, 252) 100%);
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-diamond a {
  background: rgb(252, 250, 246);
  background: linear-gradient(0deg, rgb(252, 250, 246) 0%, rgb(252, 246, 232) 100%);
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-eco a {
  background: rgb(245, 252, 246);
  background: linear-gradient(0deg, rgb(245, 252, 246) 0%, rgb(232, 250, 236) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li.product-eco a .icon img {
    width: 95px;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-ex a {
  background: #f5f7fa;
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-fresh a {
  background: #FFF9D8;
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-w-diamond a {
  background: rgb(250, 252, 254);
  background: linear-gradient(0deg, rgb(250, 252, 254) 0%, rgb(230, 236, 248) 100%);
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-mattexture a {
  background: rgb(246, 233, 245);
  background: linear-gradient(0deg, rgb(251, 245, 245) 0%, rgb(237, 231, 249) 100%);
}
@media (max-width: 767px) {
  #service-introduction-coating3-1 .introduction-coating-products-link ul li.product-mattexture a .icon img {
    width: 110px;
  }
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-dia2 a {
  background: rgb(210, 228, 244);
  background: linear-gradient(0deg, rgb(250, 252, 254) 0%, rgb(210, 228, 244) 100%);
}
#service-introduction-coating3-1 .introduction-coating-products-link ul li.product-iron a {
  background: rgb(245, 247, 250);
  background: linear-gradient(0deg, rgb(251, 251, 251) 0%, rgb(211, 222, 241) 100%);
}
/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  30. guide(common)
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  31. guide-faq
 * :::::::::::::::::::::::::::::::::::::::::: */
#guide-faq .gray-box ul {
  margin-bottom: 0;
}

.guide-faq-list > li {
  position: relative;
  width: 100%;
  border-bottom: 1px dotted #ccc;
}

.guide-faq-list > li:first-child {
  border-top: 1px dotted #ccc;
}

.guide-faq-list > li a {
  display: block;
}

.guide-faq-list > li a:hover {
  text-decoration: none;
}

.guide-faq-list > li p {
  width: 90%;
  padding: 13px 0 0;
}

.guide-faq-list > li i {
  color: #999;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -5px;
  margin-left: 2%;
  margin-right: 2%;
}

#guide-faq .gray-box {
  margin-top: 16px;
  font-size: 13px;
}

.guide-faq-dl {
  margin: 0 0 50px;
}

.guide-faq-dl dt {
  margin: 50px 0 0;
}

.guide-faq-dl dt > h4 {
  padding-left: 1.8em;
  text-indent: -1.8em;
  font-weight: normal;
  border-bottom: 4px solid #eee;
  padding-bottom: 15px;
}

.guide-faq-dl dt > h4:before {
  font-size: 21px;
  color: #1491a7;
  font-weight: bold;
  font-weight: 600;
  content: "Q.";
  margin-right: 0.3em;
}

@media (max-width: 767px) {
  #guide-faq .gray-box ul > li {
    margin-top: 5px;
  }
  #guide-faq .col-xs-12 {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 768px) {
  #guide-faq .container-fluid {
    margin-top: 40px;
  }
  #guide-faq .gray-box-header {
    margin: -14px -24px 16px;
    padding-left: 20px;
    padding-right: 20px;
  }
  #guide-faq .gray-box ul > li {
    margin-top: 10px;
    line-height: 1.4;
  }
  #guide-faq .pull-right {
    padding-left: 40px;
  }
  #guide-faq section > h3.unstyled {
    border-left: none;
    padding: 0;
    margin: 20px 0 24px;
  }
  .guide-faq-dl dd {
    padding-left: 2em;
    margin-top: 15px;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  32. price
 * :::::::::::::::::::::::::::::::::::::::::: */
#price-ss {
  background: #f0f1f2;
  border-bottom: 1px solid #bdbfbf;
  padding: 14px 24px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #price-ss {
    padding: 12px 14px;
  }
}
#price-ss p {
  font-weight: bold;
  color: #949999;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #price-ss p {
    font-size: 12px;
  }
}
#price-ss .ss-name {
  font-size: 18px;
  font-weight: bold;
}

@media (max-width: 767px) {
  #price-ss .ss-name {
    font-size: 16px;
  }
}
#price-cats .price-cats-list {
  border-bottom: none;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

#price-cats .price-cats-list::after, #price-cats .price-cats-list::before {
  content: none;
}

#price-cats .price-cats-list li {
  margin-right: 2%;
  margin-bottom: 30px;
  width: 18.4%;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li {
    margin-bottom: 10px;
    width: 32%;
  }
  #price-cats .price-cats-list li:nth-child(3n) {
    margin-right: 0;
  }
}
#price-cats .price-cats-list li:last-child {
  margin-right: 0;
}

#price-cats .price-cats-list li a.active {
  background-color: #DF0515;
  background-image: url("../img/icon-angle7.svg");
  color: #fff;
  -ms-box-shadow: none;
  box-shadow: none;
}

#price-cats .price-cats-list li a {
  display: block;
  background: #fff url("../img/icon-angle3.svg") no-repeat left 50% bottom 10px/12px 7px;
  border: 2px solid #DF0515;
  color: #DF0515;
  padding: 5px 10px 24px;
  text-align: center;
  cursor: pointer;
  -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  border-radius: 6px;
}

#price-cats .price-cats-list li a .current {
  background-color: #DF0515;
  background-image: url("../img/icon-angle7.svg");
  color: #fff;
  -ms-box-shadow: none;
  box-shadow: none;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li a {
    background-position: left 50% bottom 8px;
    font-size: 12px;
    padding: 2px 0 20px;
  }
}
#price-cats .price-cats-list li a .icon {
  height: 70px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li a .icon {
    height: 52px;
  }
}
#price-cats .price-cats-list li a .txt {
  display: block;
  font-weight: bold;
}

#price-cats .price-cats-list li a:hover {
  text-decoration: none;
}

#price-cats .price-cats-list li.nav-item1 .icon {
  background-image: url("../img/icon-service1.svg");
  background-size: 68px 51px;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li.nav-item1 .icon {
    background-size: 50px 35px;
  }
}
#price-cats .price-cats-list li.nav-item1 .active .icon {
  background-image: url("../img/icon-service1-white.svg");
}

#price-cats .price-cats-list li.nav-item2 .icon {
  background-image: url("../img/icon-service2.svg");
  background-size: 71px 53px;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li.nav-item2 .icon {
    background-size: 52px 36px;
  }
}
#price-cats .price-cats-list li.nav-item2 .active .icon {
  background-image: url("../img/icon-service2-white.svg");
}

#price-cats .price-cats-list li.nav-item3 .icon {
  background-image: url("../img/icon-service3.svg");
  background-size: 69px 42px;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li.nav-item3 .icon {
    background-size: 50px 32px;
  }
}
#price-cats .price-cats-list li.nav-item3 .active .icon {
  background-image: url("../img/icon-service3-white.svg");
}

#price-cats .price-cats-list li.nav-item4 .icon {
  background-image: url("../img/icon-service4.svg");
  background-size: 65px 54px;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li.nav-item4 .icon {
    background-size: 48px 37px;
  }
}
#price-cats .price-cats-list li.nav-item4 .active .icon {
  background-image: url("../img/icon-service4-white.svg");
}

#price-cats .price-cats-list li.nav-item5 .icon {
  background-image: url("../img/icon-service5.svg");
  background-size: 75px 51px;
}

@media (max-width: 767px) {
  #price-cats .price-cats-list li.nav-item5 .icon {
    background-size: 56px 35px;
  }
}
#price-cats .price-cats-list li.nav-item5 .active .icon {
  background-image: url("../img/icon-service5-white.svg");
}

#price-detail h3 {
  margin-top: 30px;
}

#price-detail h3 small {
  font-weight: bold;
  color: #333;
  font-size: 14px;
}

@media (max-width: 767px) {
  #price-detail h3 small {
    font-size: 12px;
  }
}
#price-detail .price-header {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 10px;
  width: 100%;
}

#price-detail .price-header .price-car-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#price-detail .price-header .price-car-list li {
  display: inline-block;
  font-weight: bold;
  line-height: 1.3;
  margin-right: 10px;
  margin-bottom: 2px;
}

@media (max-width: 767px) {
  #price-detail .price-header .price-car-list li {
    font-size: 85%;
  }
}
#price-detail .price-header .price-car-icon {
  margin-left: auto;
  padding: 0 20px;
}

@media (max-width: 767px) {
  #price-detail .price-header .price-car-icon {
    padding: 0;
  }
}
#price-detail .price-contact-tel {
  border: 1px solid #bdbfbf;
  border-top: 2px solid #DF0515;
  position: relative;
  padding: 16px 30px;
  text-align: center;
  margin: 20px auto;
}

@media (max-width: 767px) {
  #price-detail .price-contact-tel {
    padding: 14px 10px 20px;
  }
}
#price-detail .price-contact-tel p {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 0;
  margin-right: 20px;
  vertical-align: baseline;
}

@media (max-width: 767px) {
  #price-detail .price-contact-tel p {
    display: block;
    margin-right: 0;
    margin-bottom: 12px;
  }
}
#price-detail .price-contact-tel .tel-btn {
  background: #ffffff;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 0%, #f0f1f2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f1f2',GradientType=0 );
  /* IE6-9 */
  font-weight: bold;
  color: #333;
  border: 2px solid #cfd0d0;
  display: block;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  width: 240px;
  -ms-box-shadow: 0 1px 7px rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 7px rgba(0, 0, 0, 0.15);
  border-radius: 30px;
}

#price-detail .price-contact-tel .tel-btn span {
  background: url("../img/icon-phone.svg") no-repeat 0 50%/16px 17px;
  padding: 3px 0 3px 23px;
}

#price-detail .price-contact-tel .tel-number {
  display: inline-block;
  font-weight: bold;
  vertical-align: baseline;
}

#price-detail .price-contact-tel .tel-number a {
  background: url("../img/icon-phone.svg") no-repeat 0 50%/16px 17px;
  padding: 2px 0 2px 22px;
  color: #333;
  font-size: 22px;
}

@media (max-width: 767px) {
  #price-detail .price-contact-tel .tel-number a {
    display: block;
  }
}
#price-detail .price-car-group {
  text-align: center;
  margin-bottom: 20px;
  margin-top: 25px;
}

#price-detail .clearfix {
  padding-top: 20px;
}

#price-detail .clearfix .price-header-img {
  text-align: center;
  float: left;
  width: 32%;
}

#price-detail .clearfix .price-header-img img {
  width: 90%;
}

@media (max-width: 767px) {
  #price-detail .clearfix .price-header-img img {
    width: 130px;
  }
}
@media (max-width: 767px) {
  #price-detail .clearfix .price-header-img {
    position: relative;
    text-align: right;
    margin-top: -60px;
    margin-bottom: 10px;
    float: none;
    width: auto;
  }
}
#price-detail .clearfix .price-right-culomn {
  float: right;
  width: 66%;
}

@media (max-width: 767px) {
  #price-detail .clearfix .price-right-culomn {
    float: none;
    width: 100%;
  }
}
#price-detail .clearfix .price-right-culomn .price-table-top {
  margin-top: 0;
}

#price-detail .clearfix + p {
  text-align: right;
}

@media (max-width: 767px) {
  #price-detail .clearfix + p {
    font-size: 13px;
  }
}
#price-detail .clearfix .price-contact-tel {
  margin-top: 0;
}

#price-detail .price-table {
  border-left: 1px solid #bdbfbf;
  border-top: 1px solid #bdbfbf;
  margin-bottom: 10px;
  width: 100%;
  /* 20191220修正 */
}

#price-detail .price-table + p {
  text-align: right;
}

@media (max-width: 767px) {
  #price-detail .price-table + p {
    font-size: 13px;
  }
}
#price-detail .price-table th {
  border-right: 1px solid #bdbfbf;
  border-bottom: 1px solid #bdbfbf;
  text-align: left;
  padding: 14px 12px;
  vertical-align: middle;
  /* 20191220修正 */
}

@media (max-width: 767px) {
  #price-detail .price-table th {
    padding: 10px 4px;
    font-size: 12px;
  }
}
#price-detail .price-table td {
  border-right: 1px solid #bdbfbf;
  border-bottom: 1px solid #bdbfbf;
  padding: 14px 12px;
  vertical-align: middle;
  /* 20191220修正 */
}

@media (max-width: 767px) {
  #price-detail .price-table td {
    padding: 10px 4px;
    font-size: 12px;
  }
}
#price-detail .price-table td .grade {
  background-color: #fff;
  border: 1px solid #333;
  display: inline-block;
  padding: 1px 10px;
  font-size: 12px;
  line-height: 1.4;
  margin-bottom: 5px;
  border-radius: 14px;
}

#price-detail .price-table .bg2 {
  background-color: #f7f7f7;
}

#price-detail .price-table .red {
  color: #de5233;
  font-weight: bold;
}

#price-detail .price-table .blue {
  color: #005AAA;
  font-weight: bold;
}

#price-detail .price-table .col-1 {
  width: 34%;
}

#price-detail .price-table .col-right {
  text-align: right;
  white-space: nowrap;
}

#price-detail .price-table .col-center {
  text-align: center;
}

#price-detail .price-table-top {
  margin-top: 20px;
}

#price-detail .price-remark {
  margin-top: 20px;
}

@media (max-width: 767px) {
  #price-detail .price-remark {
    margin-top: 10px;
    font-size: 13px;
  }
}
#price-detail .price-remark dd {
  text-indent: -1em;
  padding-left: 1em;
}

#price-detail .price-off {
  border: 3px dashed #ffe5dc;
  font-size: 120%;
  text-align: center;
  font-weight: bold;
  padding: 10px;
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #price-detail .price-off {
    font-size: 108%;
  }
}
#price-detail .price-off .red {
  color: #de5233;
  font-weight: bold;
}

#price-detail .price-off .price {
  font-size: 140%;
  margin-left: 0.4em;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  33. guide how
 * :::::::::::::::::::::::::::::::::::::::::: */
#guide-contents h1 {
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  margin: 50px auto 50px;
}
@media (max-width: 767px) {
  #guide-contents h1 {
    font-size: 22px;
    margin: 20px auto 24px;
  }
}
#guide-contents h1 small {
  font-size: 16px;
  display: block;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  #guide-contents h1 small {
    font-size: 12px;
  }
}
#guide-contents h2 {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.02em;
  margin: 80px auto 30px;
}
@media (max-width: 767px) {
  #guide-contents h2 {
    font-size: 16px;
    margin: 50px auto 20px;
  }
}
#guide-contents .card {
  padding: 60px;
}
@media (max-width: 767px) {
  #guide-contents .card {
    padding: 24px 20px;
  }
}
#guide-contents .guide-how-contents {
  text-align: center;
  letter-spacing: 0.02em;
}
#guide-contents .guide-how-contents .mes {
  font-size: 15px;
  line-height: 1.85;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .mes {
    font-size: 14px;
    line-height: 1.7;
  }
}
#guide-contents .guide-how-contents .mes .txt-1 {
  color: #DF0515;
}
#guide-contents .guide-how-contents .mes .txt-2 {
  color: #383838;
}
#guide-contents .guide-how-contents .guide-how-box {
  display: flex;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box {
    display: block;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box {
  background-color: #fff;
  border: 2px solid #DF0515;
  margin-right: 5%;
  border-radius: 24px;
  overflow: hidden;
  width: 47.5%;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box .box {
    margin-right: auto;
    margin-bottom: 12px;
    width: auto;
    border-width: 1px;
    border-radius: 16px;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box h4 {
  background-color: #DF0515;
  color: #fff;
  padding: 16px 15px 18px;
  margin: 0;
  font-size: 19px;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box .box h4 {
    font-size: 16px;
    padding: 15px 10px 17px;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box .box-cont {
  padding: 22px 15px 26px;
}
#guide-contents .guide-how-contents .guide-how-box .box .box-cont p {
  margin-bottom: 0;
  font-size: 15px;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box .box .box-cont p {
    font-size: 13px;
    line-height: 1.6;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box .box-cont p.small {
  color: #DF0515;
  display: block;
  font-size: 13px;
  margin-top: 10px;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box .box .box-cont p.small {
    font-size: 11px;
    margin-top: 5px;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box.right {
  border-color: #383838;
  margin-right: auto;
}
@media (max-width: 767px) {
  #guide-contents .guide-how-contents .guide-how-box .box.right {
    margin-bottom: 0;
  }
}
#guide-contents .guide-how-contents .guide-how-box .box.right h4 {
  background-color: #383838;
}
#guide-contents .guide-merit-contents h2 {
  margin-bottom: 0;
}
#guide-contents .guide-merit-contents .guide-how-merit-list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list {
    display: block;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li {
  background-color: rgba(223, 5, 21, 0.05);
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  margin-top: 60px;
  margin-right: 5%;
  padding: 35px 20px 40px;
  width: 47.5%;
  border-radius: 24px;
}
#guide-contents .guide-merit-contents .guide-how-merit-list li:nth-child(even) {
  margin-right: auto;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li {
    margin-top: 40px;
    margin-right: auto;
    padding: 28px 20px 30px;
    width: auto;
    border-radius: 16px;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li .num {
  position: absolute;
  top: -29px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li .num {
    top: -18px;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li .num img {
  width: 86px;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li .num img {
    width: 60px;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li h4 {
  color: #DF0515;
  font-size: 19px;
  line-height: 1.4;
  padding: 0;
  margin: 8px auto 20px;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li h4 {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li .item-cont {
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  min-height: 5em;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li .item-cont {
    display: block;
    min-height: inherit;
  }
}
#guide-contents .guide-merit-contents .guide-how-merit-list li .item-cont p {
  font-size: 15px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #guide-contents .guide-merit-contents .guide-how-merit-list li .item-cont p {
    font-size: 12px;
  }
}
#guide-contents .guide-reserve-contents .reserve-point {
  border: 1px solid #c9cccc;
  letter-spacing: 0.02em;
  padding: 20px 26px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-point {
    padding: 14px 16px;
  }
}
#guide-contents .guide-reserve-contents .reserve-point dt {
  font-weight: 500;
  font-size: 16px;
  margin-bottom: 6px;
  line-height: 1.6;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-point dt {
    font-size: 14px;
    line-height: 1.4;
  }
}
#guide-contents .guide-reserve-contents .reserve-point dd {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-point dd {
    font-size: 12px;
  }
}
#guide-contents .guide-reserve-contents .reserve-cancel {
  border: 1px solid #f3a184;
  letter-spacing: 0.02em;
  padding: 20px 26px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-cancel {
    padding: 14px 16px;
  }
}
#guide-contents .guide-reserve-contents .reserve-cancel dt {
  color: #DF0515;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-cancel dt {
    font-size: 14px;
    line-height: 1.4;
  }
}
#guide-contents .guide-reserve-contents .reserve-cancel dd {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .reserve-cancel dd {
    font-size: 12px;
  }
}
#guide-contents .guide-reserve-contents h3 {
  letter-spacing: 0.02em;
  text-align: center;
  font-size: 16px;
  margin: 50px auto 40px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents h3 {
    margin: 30px auto 20px;
    font-size: 14px;
  }
}
#guide-contents .guide-reserve-contents h3 .tit-bg {
  display: inline-block;
  position: relative;
}
#guide-contents .guide-reserve-contents h3 .tit-bg::before, #guide-contents .guide-reserve-contents h3 .tit-bg::after {
  background-color: #383838;
  content: "";
  height: 1px;
  position: absolute;
  top: 50%;
  width: 30px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents h3 .tit-bg::before, #guide-contents .guide-reserve-contents h3 .tit-bg::after {
    width: 22px;
  }
}
#guide-contents .guide-reserve-contents h3 .tit-bg::before {
  left: -44px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents h3 .tit-bg::before {
    left: -36px;
  }
}
#guide-contents .guide-reserve-contents h3 .tit-bg::after {
  right: -44px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents h3 .tit-bg::after {
    right: -36px;
  }
}
#guide-contents .guide-reserve-contents .screen-img {
  position: relative;
  margin-bottom: 30px;
}
#guide-contents .guide-reserve-contents .screen-img::after {
  content: "";
  border-style: solid;
  border-width: 12px 0 12px 14px;
  border-color: transparent transparent transparent #949999;
  position: absolute;
  top: 50%;
  margin-top: -12px;
  left: 50%;
  margin-left: -6px;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .screen-img::after {
    border-width: 12px 10px 0 10px;
    border-color: #949999 transparent transparent transparent;
    margin-top: -4px;
    margin-left: -5px;
  }
}
#guide-contents .guide-reserve-contents .screen-img img {
  width: 47.5%;
}
@media (max-width: 767px) {
  #guide-contents .guide-reserve-contents .screen-img img {
    float: none !important;
    width: 100%;
  }
}
#guide-contents .guide-reserve-contents .screen-img img:first-child {
  margin-bottom: 34px;
}
#guide-contents .btn-area {
  margin: 50px 0 80px;
}
@media (max-width: 767px) {
  #guide-contents .btn-area {
    margin: 20px 0;
  }
}
#guide-contents .btn-area .r-btn {
  background-color: #DF0515;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  padding: 19px 30px;
  position: relative;
  width: 300px;
  max-width: 100%;
  border-radius: 5em;
}
@media (max-width: 767px) {
  #guide-contents .btn-area .r-btn {
    font-size: 12px;
    padding: 16px;
  }
}
#guide-contents .btn-area .r-btn::after {
  right: 24px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
#guide-contents .guide-driveon-banner {
  text-align: center;
}
#guide-contents .guide-driveon-banner img {
  width: 100%;
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  40. mypage(common)
 * :::::::::::::::::::::::::::::::::::::::::: */
/* leyout
 * ---------------------------------- */
#mypage-contents.guest-contents #mypage-main {
  flex: inherit;
  margin: 0 auto;
  max-width: 690px;
}
#mypage-contents .mypage-contents-container {
  display: flex;
}
@media (max-width: 1039px) {
  #mypage-contents .mypage-contents-container {
    display: block;
  }
}

#mypage-main {
  flex: 1;
}
#mypage-main .card {
  border: none;
  border-radius: 10px;
  padding: 0;
  margin-bottom: 20px;
}
#mypage-main .card-header {
  border-bottom: none;
  padding: 20px;
}
@media (max-width: 767px) {
  #mypage-main .card-header {
    padding: 20px 16px;
  }
}
#mypage-main .card-body {
  padding: 0 20px 20px;
}
@media (max-width: 767px) {
  #mypage-main .card-body {
    padding: 0 16px 20px;
  }
}
#mypage-main .card-title:not(.title-circle-icon-bg):not(.title-icon-bg) {
  border-left: 5px solid #DF0515;
  font-size: 18px;
  padding: 0 0 0 15px;
  margin: 0 0 0 -20px;
  position: relative;
}
@media (max-width: 767px) {
  #mypage-main .card-title:not(.title-circle-icon-bg):not(.title-icon-bg) {
    font-size: 16px;
    padding: 0 0 0 11px;
    margin: 0 0 0 -16px;
  }
}
#mypage-main .card-title:not(.title-circle-icon-bg):not(.title-icon-bg) small {
  font-size: 14px;
}

/* navigation
 * ---------------------------------- */
#mypage-navigation {
  margin-right: 40px;
  width: 270px;
}
@media (max-width: 1039px) {
  #mypage-navigation {
    margin-bottom: 30px;
    margin-right: auto;
    width: auto;
  }
}
#mypage-navigation .card {
  border: none;
  border-radius: 10px;
}
#mypage-navigation .toggle-btn {
  background: url("../img/mypage/toggle_btn_open.svg") no-repeat 0 60%;
  background-size: 21px 21px;
  font-size: 12px;
  display: none;
  line-height: 1.2;
  text-align: left;
  display: none;
  padding: 0 0 0 30px;
  border-radius: 0;
  box-shadow: none;
  position: absolute;
  top: 30px;
  right: 20px;
  margin: 0;
  cursor: pointer;
}
@media (max-width: 1039px) {
  #mypage-navigation .toggle-btn {
    display: block;
  }
}
@media (max-width: 767px) {
  #mypage-navigation .toggle-btn {
    top: 23px;
  }
}
#mypage-navigation .toggle-check {
  display: none;
}
@media (max-width: 1039px) {
  #mypage-navigation .toggle-check:checked + .toggle-btn {
    background: url("../img/mypage/toggle_btn_close.svg") no-repeat 2px 60%;
    background-size: 18px 18px;
  }
  #mypage-navigation .toggle-check:checked + .toggle-btn + .mypage-navigation__list {
    display: block;
  }
}
#mypage-navigation .mypage-navigation__container {
  position: relative;
  padding: 20px;
}
@media (max-width: 767px) {
  #mypage-navigation .mypage-navigation__container {
    padding: 16px;
  }
}
#mypage-navigation .mypage-navigation__container::before {
  background-color: #DF0515;
  display: block;
  content: "";
  height: 3px;
  position: absolute;
  left: 20px;
  top: 0;
  right: 20px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  #mypage-navigation .mypage-navigation__container::before {
    left: 16px;
    right: 16px;
  }
}
#mypage-navigation .mypage-navigation__header {
  display: flex;
  align-items: center;
}
#mypage-navigation .mypage-navigation__user {
  display: flex;
  align-items: center;
}
#mypage-navigation .mypage-navigation__user .user-thumbnail {
  margin-right: 10px;
  width: 48px;
}
@media (max-width: 767px) {
  #mypage-navigation .mypage-navigation__user .user-thumbnail {
    width: 40px;
  }
}
#mypage-navigation .mypage-navigation__user .user-name {
  font-size: 12px;
  line-height: 1.4;
}
#mypage-navigation .mypage-navigation__user .user-name .name {
  font-size: 16px;
  font-weight: bold;
}
#mypage-navigation .mypage-navigation__user .user-name .name small {
  font-size: 14px;
  font-weight: normal;
  margin-left: 0.3em;
}
#mypage-navigation .mypage-navigation__list {
  border-top: 1px solid #d1d1d1;
  margin-top: 20px;
}
@media (max-width: 1039px) {
  #mypage-navigation .mypage-navigation__list {
    display: none;
  }
}
@media (max-width: 767px) {
  #mypage-navigation .mypage-navigation__list {
    margin-top: 16px;
  }
}
#mypage-navigation .mypage-navigation__list > li {
  border-bottom: 1px solid #d1d1d1;
  padding: 10px 0;
}
#mypage-navigation .mypage-navigation__list > li a {
  color: #383838;
}
#mypage-navigation .mypage-navigation__list > li a:hover {
  text-decoration: underline;
}
#mypage-navigation .mypage-navigation__list > li > a {
  background-position: 0 50%;
  background-repeat: no-repeat;
  display: block;
  padding: 4px 0 4px 35px;
}
#mypage-navigation .mypage-navigation__list > li.item-top > a {
  background-image: url("../img/mypage/mypage_nav_icon01.svg");
  background-size: 21px 20.5px;
  background-position: 2px 50%;
}
#mypage-navigation .mypage-navigation__list > li.item-service-history > a {
  background-image: url("../img/mypage/mypage_nav_icon02.svg");
  background-size: 26px 26px;
}
#mypage-navigation .mypage-navigation__list > li.item-history > a {
  background-image: url("../img/mypage/mypage_nav_icon03.svg");
  background-size: 24px 21px;
  background-position: 1px 50%;
}
#mypage-navigation .mypage-navigation__list > li.item-referral > a {
  background-image: url("../img/mypage/mypage_nav_icon06.svg");
  background-size: 24px 19px;
  background-position: 1px 50%;
}
#mypage-navigation .mypage-navigation__list > li.item-setting > a {
  background-image: url("../img/mypage/mypage_nav_icon04.svg");
  background-size: 21px 23px;
  background-position: 2px 50%;
}
#mypage-navigation .mypage-navigation__list > li.item-logout > a {
  background-image: url("../img/mypage/mypage_nav_icon05.svg");
  background-size: 22px 24px;
  background-position: 2px 50%;
}
#mypage-navigation .mypage-navigation__list > li ul {
  padding-left: 35px;
}
#mypage-navigation .mypage-navigation__list > li ul li {
  margin-top: 0.5em;
}
#mypage-navigation .mypage-navigation__list > li ul li a::before {
  content: "-";
  margin-right: 0.3em;
}

/* reserve status
 * ---------------------------------- */
.mypage-reserve-status {
  background: #D5D6D9;
  font-size: 13px;
  display: inline-block;
  padding: 2px 5px;
  text-align: center;
  min-width: 90px;
}
@media (max-width: 767px) {
  .mypage-reserve-status {
    font-size: 12px;
  }
}
.mypage-reserve-status[data-mypage-status=booking] {
  background-color: #DF0515;
  color: #fff;
}
.mypage-reserve-status[data-mypage-status=complete] {
  background-color: #7A7E81;
  color: #fff;
}
.mypage-reserve-status[data-mypage-status=cancel] {
  background-color: #D5D6D9;
}
.mypage-reserve-status[data-mypage-status=request] {
  background-color: #22C817;
  color: #fff;
}

#mypage-document-links {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #mypage-document-links {
    margin-bottom: 14px;
  }
}
#mypage-document-links ul {
  display: flex;
  flex-wrap: wrap;
}
#mypage-document-links ul li {
  margin-right: 2%;
  width: 23.5%;
}
@media (max-width: 767px) {
  #mypage-document-links ul li {
    margin-bottom: 14px;
    margin-right: 4%;
    width: 48%;
  }
  #mypage-document-links ul li:nth-child(even) {
    margin-right: 0;
  }
}
#mypage-document-links ul li:last-child {
  margin-right: 0;
}
#mypage-document-links ul li a {
  background-color: #fff;
  display: block;
  border-radius: 10px 36px 10px 10px;
  font-size: 16px;
  font-weight: bold;
  padding: 100px 14px 10px;
  position: relative;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1039px) {
  #mypage-document-links ul li a {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  #mypage-document-links ul li a {
    font-size: 14px;
    border-radius: 10px;
    text-align: center;
    padding: 66px 2px 12px;
  }
}
#mypage-document-links ul li a img {
  display: block;
  position: absolute;
  top: -8px;
  left: 12px;
}
@media (max-width: 767px) {
  #mypage-document-links ul li a img {
    top: -4px;
    left: 50%;
    transform: translateX(-50%);
  }
}
#mypage-document-links ul li a .txt {
  display: flex;
  align-items: center;
  height: 2.6em;
  position: relative;
  padding-right: 20px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  #mypage-document-links ul li a .txt {
    display: block;
    line-height: 1.2;
    padding-right: 0;
    height: auto;
  }
  #mypage-document-links ul li a .txt br {
    display: none;
  }
}
#mypage-document-links ul li a .txt::before {
  background-color: #383838;
  content: "";
  display: block;
  height: 20px;
  right: 0;
  position: absolute;
  top: 50%;
  width: 20px;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  #mypage-document-links ul li a .txt::before {
    content: none;
  }
}
#mypage-document-links ul li a .txt::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  right: 7px;
}
@media (max-width: 767px) {
  #mypage-document-links ul li a .txt::after {
    content: none;
  }
}
#mypage-document-links ul li.item-karte img {
  width: 120px;
}
#mypage-document-links ul li.item-karte a {
  background: rgb(229, 239, 252);
  background: linear-gradient(0deg, rgb(229, 239, 252) 0%, rgb(244, 248, 255) 100%);
  color: #3B82F4;
}
#mypage-document-links ul li.item-karte a .txt::before {
  background-color: #3B82F4;
}
@media (max-width: 767px) {
  #mypage-document-links ul li.item-karte a img {
    width: 76px;
  }
}
#mypage-document-links ul li.item-document img {
  top: -6px;
  width: 86px;
}
#mypage-document-links ul li.item-document a {
  background: rgb(223, 230, 240);
  background: linear-gradient(0deg, rgb(223, 230, 240) 0%, rgb(245, 247, 246) 100%);
  color: #383838;
}
@media (max-width: 767px) {
  #mypage-document-links ul li.item-document a img {
    top: -3px;
    width: 56px;
  }
}
#mypage-document-links ul li.item-call img {
  left: 18px;
  top: -10px;
  width: 72px;
}
#mypage-document-links ul li.item-call a {
  background: rgb(255, 230, 230);
  background: linear-gradient(0deg, rgb(255, 230, 230) 0%, rgb(255, 250, 250) 100%);
  color: #E20505;
}
#mypage-document-links ul li.item-call a .txt::before {
  background-color: #E20505;
}
@media (max-width: 767px) {
  #mypage-document-links ul li.item-call a img {
    top: -5px;
    left: 50%;
    width: 46px;
  }
}
#mypage-document-links ul li.item-construct img {
  left: 18px;
  top: -6px;
  width: 66px;
}
#mypage-document-links ul li.item-construct a {
  background: rgb(245, 248, 250);
  background: linear-gradient(0deg, rgb(231, 241, 248) 0%, rgb(245, 248, 250) 100%);
  color: #1156AD;
}
#mypage-document-links ul li.item-construct a .txt::before {
  background-color: #1156AD;
}
@media (max-width: 767px) {
  #mypage-document-links ul li.item-construct a img {
    top: -6px;
    left: 50%;
    width: 44px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  41. mypage-top
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  42. mypage-authentication
 * :::::::::::::::::::::::::::::::::::::::::: */
#mypage-authentication .container {
  width: 572px;
}
@media (max-width: 767px) {
  #mypage-authentication .container {
    width: auto;
  }
}
#mypage-authentication .card {
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #mypage-authentication .card {
    padding: 20px 16px;
  }
}
#mypage-authentication span.user-name {
  font-size: 16px;
  font-weight: bold;
}
#mypage-authentication .message {
  width: 100%;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  43. mypage-information
 * :::::::::::::::::::::::::::::::::::::::::: */
@media (max-width: 767px) {
  #mypage-information .card {
    border-radius: 0;
    position: relative;
    margin: 0 -16px 20px;
  }
}
@media (max-width: 767px) {
  #mypage-information .card-header {
    padding: 20px 16px;
  }
}
@media (max-width: 767px) {
  #mypage-information .card-body {
    padding: 0 16px 20px;
  }
}
#mypage-information .mypage-information-block:not(:last-child) {
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#mypage-information .mypage-information-block .block-main {
  position: relative;
}
#mypage-information .mypage-information-block .block-main .illust {
  position: absolute;
  left: 0;
  top: 0;
  width: 76px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .illust {
    left: 0;
    top: 10px;
    width: 52px;
  }
}
#mypage-information .mypage-information-block .block-main .info-box {
  background-color: rgba(223, 5, 21, 0.06);
  padding: 18px 30px;
  margin-bottom: 10px;
  margin-left: 95px;
  position: relative;
}
#mypage-information .mypage-information-block .block-main .info-box::before {
  content: "";
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 10px solid rgba(223, 5, 21, 0.06);
  border-left: 0;
  top: 20px;
  right: 100%;
  position: absolute;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box {
    margin-left: 45px;
    padding: 15px 16px 14px 28px;
  }
  #mypage-information .mypage-information-block .block-main .info-box::before {
    content: none;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .info-text {
  color: #DF0515;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 6px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .info-text {
    font-size: 16px;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper {
  display: flex;
  align-items: baseline;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .list-wrapper {
    display: block;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl {
  display: flex;
  align-items: baseline;
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl:first-child {
  margin-right: 30px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl:first-child {
    margin-bottom: 4px;
    margin-right: 0;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dt {
  font-weight: normal;
  line-height: 1.2;
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dt::after {
  content: "：";
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dt {
    font-size: 12px;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dd {
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dd {
    font-size: 12px;
  }
}
#mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dd.large {
  font-size: 18px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-box .list-wrapper dl dd.large {
    font-size: 14px;
  }
}
#mypage-information .mypage-information-block .block-main .info-data {
  padding-left: 125px;
  display: flex;
  align-items: center;
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-data {
    display: block;
    padding-left: 0;
    margin-bottom: 12px;
  }
}
#mypage-information .mypage-information-block .block-main .info-data h4 {
  background-color: #949494;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  margin: 0 12px 0 0;
  padding: 3px 10px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-data h4 {
    font-size: 11px;
    display: inline-block;
    margin: 0;
  }
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper {
  display: flex;
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl {
  display: flex;
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl:first-child {
  margin-right: 30px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl:first-child {
    margin-right: 12px;
  }
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl dt {
  font-size: 13px;
  font-weight: normal;
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl dt::after {
  content: "：";
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl dt {
    font-size: 12px;
  }
}
#mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl dd {
  font-size: 13px;
  font-weight: normal;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-main .info-data .list-wrapper dl dd {
    font-size: 12px;
  }
}
#mypage-information .mypage-information-block .block-footer {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-footer {
    display: block;
  }
}
#mypage-information .mypage-information-block .block-footer .btn-area {
  display: flex;
  padding: 0;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-footer .btn-area {
    display: block;
  }
}
#mypage-information .mypage-information-block .block-footer .btn-area .btn {
  font-size: 14px;
  margin: 0 6px;
  max-width: 100%;
  width: 240px;
}
@media (max-width: 767px) {
  #mypage-information .mypage-information-block .block-footer .btn-area .btn {
    margin: 0 0 8px;
    width: 100%;
  }
  #mypage-information .mypage-information-block .block-footer .btn-area .btn:last-child {
    margin-bottom: 0;
  }
}
#mypage-information .mypage-information-block .block-footer .btn-area .btn-border {
  border-color: #383838;
  color: #383838;
}
#mypage-information .mypage-information-block .block-footer .btn-area .btn-reserved {
  background-color: #f0f2f3;
  box-shadow: none;
  font-weight: 500;
  cursor: auto;
}
#mypage-information .mypage-information-block .block-footer .btn-area .btn-reserved:hover {
  opacity: 1;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  44. mypage-history
 * :::::::::::::::::::::::::::::::::::::::::: */
@media (max-width: 767px) {
  #mypage-history .card {
    border-radius: 0;
    position: relative;
    margin: 0 -16px 20px;
  }
}
@media (max-width: 767px) {
  #mypage-history .card-header {
    padding: 20px 16px;
  }
}
@media (max-width: 767px) {
  #mypage-history .card-body {
    padding: 0 16px 20px;
  }
}
#mypage-history .mypage-history-block {
  border: 1px solid #d1d1d1;
  margin-bottom: 20px;
}
#mypage-history .mypage-history-block .block-header {
  background-color: #f0f2f3;
  border-bottom: 1px solid #d1d1d1;
}
#mypage-history .mypage-history-block .reserve-data-top {
  display: flex;
  align-items: center;
  padding: 10px 18px 10px 0;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-top {
    padding-right: 12px;
  }
}
#mypage-history .mypage-history-block .reserve-data-top .reserve-status {
  margin-right: auto;
}
#mypage-history .mypage-history-block .reserve-data-top .reserve-data {
  font-size: 12px;
  margin-left: auto;
  display: flex;
  text-align: right;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-top .reserve-data {
    font-size: 11px;
    display: block;
  }
}
#mypage-history .mypage-history-block .reserve-data-top .reserve-data li {
  line-height: 1.3;
}
#mypage-history .mypage-history-block .reserve-data-top .reserve-data li:not(:last-child)::after {
  content: "｜";
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-top .reserve-data li:not(:last-child)::after {
    content: none;
  }
}
#mypage-history .mypage-history-block .reserve-data-main {
  padding: 0 18px 16px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main {
    padding: 0 12px 14px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dt {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.3;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dt {
    margin-bottom: 4px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd:last-child {
  margin-bottom: 0;
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .price {
  font-size: 24px;
  line-height: 1;
  margin-right: 15px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .price {
    font-size: 20px;
    margin-right: 8px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .price small {
  font-size: 16px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .price small {
    font-size: 12px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .paid {
  background: url("../img/icon/icon_check_circle_blue.svg") no-repeat 0 50%;
  background-size: 18px 18px;
  color: #005AAA;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
  padding: 2px 0 2px 22px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .reserve-data-list dd .paid {
    background-size: 14px 14px;
    font-size: 12px;
    padding: 1px 0 1px 17px;
  }
}
#mypage-history .mypage-history-block .reserve-data-main .reserve-data-list + .text-end {
  margin-top: 10px;
}
#mypage-history .mypage-history-block .reserve-data-main .btn {
  border-color: #005AAA;
  color: #005AAA;
  font-size: 13px;
  margin-left: auto;
  padding: 10px 26px;
  border-radius: 4px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .reserve-data-main .btn {
    font-size: 12px;
    padding: 8px 10px;
    margin-bottom: 0;
  }
}
#mypage-history .mypage-history-block .block-main {
  padding: 18px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-main {
    padding: 12px;
  }
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table {
  width: 100%;
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table th, #mypage-history .mypage-history-block .block-main .reserve-ss-table td {
  vertical-align: top;
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table > tbody > tr td {
  width: 50%;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-main .reserve-ss-table > tbody > tr td {
    width: 100%;
  }
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table > tbody > tr td[colspan="2"] {
  width: 100%;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-main .reserve-ss-table > tbody > tr > td {
    display: block;
  }
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table table {
  width: 100%;
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table table.separate {
  border-collapse: separate;
  border-spacing: 2px 0;
  position: relative;
  margin: 0 -2px;
  width: calc(100% + 4px);
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table table.separate th, #mypage-history .mypage-history-block .block-main .reserve-ss-table table.separate td {
  width: 50%;
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table table th {
  background-color: #EAEBED;
  line-height: 1.4;
  font-size: 12px;
  padding: 4px 10px;
  text-align: left;
  vertical-align: top;
}
#mypage-history .mypage-history-block .block-main .reserve-ss-table table td {
  line-height: 1.4;
  padding: 10px 10px;
  text-align: left;
  vertical-align: top;
}
#mypage-history .mypage-history-block .block-main .ss-link {
  text-align: right;
  padding: 4px 0;
}
#mypage-history .mypage-history-block .block-main .ss-link .link {
  color: #383838;
  font-size: 12px;
  display: inline-block;
  position: relative;
  padding-right: 13px;
}
#mypage-history .mypage-history-block .block-main .ss-link .link::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #383838;
  border-right: 1px solid #383838;
  transform: rotate(45deg);
  right: 4px;
}
#mypage-history .mypage-history-block .block-main .ss-link .link:hover {
  text-decoration: underline;
}
#mypage-history .mypage-history-block .block-main .ss-link .link:not(:last-child) {
  margin-right: 15px;
}
#mypage-history .mypage-history-block .block-main .ss-link .link.fw-bold {
  font-size: 13px;
}
#mypage-history .mypage-history-block .block-main .btn-area {
  text-align: center;
  padding: 15px 0 0;
}
#mypage-history .mypage-history-block .block-main .btn-area .btn {
  font-size: 14px;
  border-radius: 4px;
  width: 240px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-main .btn-area .btn {
    width: 100%;
  }
}
#mypage-history .mypage-history-block .block-footer {
  background-color: #F4F4F4;
  border-top: 1px solid #d1d1d1;
  padding: 16px 18px;
}
#mypage-history .mypage-history-block .block-footer .attention {
  line-height: 1.4;
  text-align: center;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-footer .attention {
    font-size: 12px;
  }
}
#mypage-history .mypage-history-block .block-footer .attention .icon {
  background: url("../img/icon/icon_info_black.svg") no-repeat 0 2px;
  background-size: 17px 17px;
  display: inline;
  padding-left: 21px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-footer .attention .icon {
    background-size: 14px 14px;
    padding-left: 17px;
  }
}
#mypage-history .mypage-history-block .block-footer .tel-info {
  text-align: center;
}
#mypage-history .mypage-history-block .block-footer .tel-info .tel-btn {
  color: #383838;
  display: inline-block;
  font-weight: bold;
  font-size: 24px;
  margin-right: 13px;
  line-height: 1;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-footer .tel-info .tel-btn {
    background-color: #fff;
    border: 1px solid #383838;
    display: block;
    font-size: 20px;
    margin-right: 0;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.02);
  }
}
#mypage-history .mypage-history-block .block-footer .tel-info .tel-btn .tel {
  background: url("../img/icon/icon_phone.svg") no-repeat 0 74%;
  background-size: 17px 17px;
  color: #383838;
  display: inline-block;
  padding-left: 22px;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-footer .tel-info .tel-btn .tel {
    background-size: 14px 14px;
    padding-left: 18px;
  }
}
#mypage-history .mypage-history-block .block-footer .tel-info .time {
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  position: relative;
  top: -1px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #mypage-history .mypage-history-block .block-footer .tel-info .time {
    font-size: 12px;
    display: block;
  }
}
#mypage-history .more-link {
  text-align: right;
}
#mypage-history .more-link .link {
  color: #383838;
  font-size: 12px;
  display: inline-block;
  position: relative;
  padding-right: 13px;
}
#mypage-history .more-link .link::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #383838;
  border-right: 1px solid #383838;
  transform: rotate(45deg);
  right: 4px;
}
#mypage-history .more-link .link:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  #mypage-service-history .card {
    border-radius: 0;
    position: relative;
    margin: 0 -16px 20px;
  }
}
@media (max-width: 767px) {
  #mypage-service-history .card-header {
    padding: 20px 16px;
  }
}
@media (max-width: 767px) {
  #mypage-service-history .card-body {
    padding: 0 16px 20px;
  }
}
#mypage-service-history .mypage-service-history-block {
  border: 1px solid #d1d1d1;
  margin-bottom: 20px;
}
#mypage-service-history .mypage-service-history-block .block-header {
  background-color: #383838;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 7px 20px 7px 30px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-header {
    padding-left: 24px;
  }
}
#mypage-service-history .mypage-service-history-block .block-header::before {
  display: block;
  background-color: #DF0515;
  content: "";
  position: absolute;
  left: -13px;
  top: -10px;
  bottom: -10px;
  transform: rotate(20deg);
  width: 20px;
}
#mypage-service-history .mypage-service-history-block .block-header .tit {
  font-size: 12px;
  font-weight: normal;
  margin-right: 1em;
}
#mypage-service-history .mypage-service-history-block .block-main {
  padding: 0 20px 20px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-main {
    padding: 0 14px 14px;
  }
}
#mypage-service-history .mypage-service-history-block .block-main table {
  width: 100%;
}
#mypage-service-history .mypage-service-history-block .block-main table th {
  border-bottom: 1px solid #d1d1d1;
  font-weight: normal;
  font-size: 12px;
  text-align: left;
  padding: 13px 0;
  width: 7em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-main table th {
    width: 6.5em;
  }
}
#mypage-service-history .mypage-service-history-block .block-main table th span {
  display: inline-block;
  background-color: #EAEBED;
  padding: 2px 8px;
}
#mypage-service-history .mypage-service-history-block .block-main table td {
  border-bottom: 1px solid #d1d1d1;
  font-size: 16px;
  font-weight: bold;
  padding: 13px 0;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-main table td {
    font-size: 14px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer {
  padding: 0 20px 2px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer {
    padding: 0 14px 2px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul {
  display: flex;
  flex-wrap: wrap;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li {
  margin-right: 1.5%;
  margin-bottom: 18px;
  width: 32.333%;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li {
    margin-bottom: 14px;
    margin-right: 4%;
    width: 48%;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li:nth-child(3n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li:nth-child(3n) {
    margin-right: 4%;
  }
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li:nth-child(even) {
    margin-right: 0;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn {
  background-color: #F2F2F2;
  display: block;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  padding: 14px 10px 14px 60px;
  position: relative;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn {
    font-size: 12px;
    padding: 54px 0 10px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn::after {
  content: "";
  border-style: solid;
  border-width: 0 0 7px 7px;
  border-color: transparent transparent #383838 transparent;
  position: absolute;
  bottom: 5px;
  right: 5px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn::after {
    border-width: 0 0 5px 5px;
    bottom: 3px;
    right: 3px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn img {
  left: 6px;
  bottom: 3px;
  position: absolute;
  z-index: 1;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn img {
    left: 50%;
    bottom: auto;
    top: -5px;
    transform: translateX(-50%);
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-karte {
  background-color: #EDF5FF;
  color: #3B82F4;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-karte::after {
  border-color: transparent transparent #3B82F4 transparent;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn-karte img {
    width: 55px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-warranty {
  background-color: #F2F2F2;
  color: #383838;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-warranty img {
  bottom: 1px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn-warranty img {
    left: 50%;
    bottom: auto;
    top: -2px;
    width: 43px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-call {
  background-color: #FFF2F2;
  color: #E20505;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-call::after {
  border-color: transparent transparent #E20505 transparent;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-call img {
  left: 3px;
  bottom: -4px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn-call img {
    left: 50%;
    bottom: auto;
    width: 41px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-construct {
  background-color: #F5F8FA;
  color: #1156AD;
  padding-left: 52px;
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-construct::after {
  border-color: transparent transparent #1156AD transparent;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn-construct {
    padding-left: 0;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer ul li .btn-construct img {
  bottom: -1px;
  left: 3px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer ul li .btn-construct img {
    left: 50%;
    bottom: auto;
    top: -6px;
    width: 40px;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer.d-flex {
  justify-content: center;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer.d-flex {
    display: block !important;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer.d-flex ul li {
  margin-right: 10px;
  width: 194px;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer.d-flex ul li {
    margin-bottom: 14px;
    margin-right: 4%;
    width: 48%;
  }
}
#mypage-service-history .mypage-service-history-block .block-footer.d-flex ul li:nth-child(3n) {
  margin-right: 0;
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer.d-flex ul li:nth-child(3n) {
    margin-right: 4%;
  }
}
@media (max-width: 767px) {
  #mypage-service-history .mypage-service-history-block .block-footer.d-flex ul li:nth-child(even) {
    margin-right: 0;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  45. mypage-detail
 * :::::::::::::::::::::::::::::::::::::::::: */
#mypage-detail .reserve-data-top {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}
#mypage-detail .reserve-data-top .reserve-status {
  margin-right: auto;
}
#mypage-detail .reserve-data-top .reserve-data {
  font-size: 12px;
  margin-left: auto;
  display: flex;
  text-align: right;
}
@media (max-width: 767px) {
  #mypage-detail .reserve-data-top .reserve-data {
    font-size: 11px;
    display: block;
  }
}
#mypage-detail .reserve-data-top .reserve-data li {
  line-height: 1.3;
}
#mypage-detail .reserve-data-top .reserve-data li:not(:last-child)::after {
  content: "｜";
}
@media (max-width: 767px) {
  #mypage-detail .reserve-data-top .reserve-data li:not(:last-child)::after {
    content: none;
  }
}
#mypage-detail .mypage-payment-details .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#mypage-detail .mypage-payment-details .card-header .btn {
  border-color: #005AAA;
  color: #005AAA;
  font-size: 13px;
  margin-left: auto;
  padding: 10px 26px;
  border-radius: 4px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-payment-details .card-header .btn {
    font-size: 12px;
    padding: 8px 10px;
    margin-bottom: 0;
  }
}
#mypage-detail .mypage-payment-details h3 {
  border-bottom: 2px solid #383838;
  font-size: 14px;
  padding-bottom: 6px;
  margin: 0;
}
#mypage-detail .mypage-payment-details-table {
  width: 100%;
}
#mypage-detail .mypage-payment-details-table th, #mypage-detail .mypage-payment-details-table td {
  border-bottom: 1px solid #d1d1d1;
  padding: 12px 0;
  font-weight: normal;
  vertical-align: middle;
}
#mypage-detail .mypage-payment-details-table th {
  text-align: left;
  padding-right: 0.5em;
}
#mypage-detail .mypage-payment-details-table th .payment-name {
  margin-bottom: 4px;
}
#mypage-detail .mypage-payment-details-table th .credit-data {
  display: flex;
  align-items: center;
}
#mypage-detail .mypage-payment-details-table th .credit-data .brand {
  margin-right: 6px;
  font-weight: bold;
}
#mypage-detail .mypage-payment-details-table th .credit-data .icon {
  margin-right: 10px;
  width: 46px;
}
#mypage-detail .mypage-payment-details-table td {
  text-align: right;
  white-space: nowrap;
}
#mypage-detail .mypage-payment-details-table td .price {
  margin-right: 0.2em;
}
#mypage-detail .mypage-payment-details-table td .total-price {
  font-weight: bold;
  margin-bottom: 0;
}
#mypage-detail .mypage-payment-details-table td .total-price > div {
  display: inline-block;
}
#mypage-detail .mypage-payment-details-table td .tax {
  font-size: 12px;
  position: relative;
  margin-right: -0.5em;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-payment-details-table.credit-data-table th, #mypage-detail .mypage-payment-details-table.credit-data-table td {
    display: block;
  }
  #mypage-detail .mypage-payment-details-table.credit-data-table th {
    border-bottom: none;
    padding-bottom: 0;
  }
  #mypage-detail .mypage-payment-details-table.credit-data-table td {
    padding-top: 0;
    white-space: normal;
  }
}
#mypage-detail .mypage-detail-call.box {
  background-color: #F4F4F4;
  border: 1px solid #d1d1d1;
  padding: 16px 18px;
  margin-top: 20px;
}
#mypage-detail .mypage-detail-call p {
  line-height: 1.5;
  text-align: center;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call p {
    font-size: 12px;
  }
}
#mypage-detail .mypage-detail-call .attention .icon {
  background: url("../img/icon/icon_info_black.svg") no-repeat 0 2px;
  background-size: 17px 17px;
  display: inline;
  padding-left: 21px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call .attention .icon {
    background-size: 14px 14px;
    padding-left: 17px;
  }
}
#mypage-detail .mypage-detail-call .tel-info {
  text-align: center;
}
#mypage-detail .mypage-detail-call .tel-info .ss-name {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  margin-right: 8px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call .tel-info .ss-name {
    font-size: 14px;
    display: block;
    margin-right: auto;
    margin-bottom: 6px;
  }
}
#mypage-detail .mypage-detail-call .tel-info .tel-btn {
  color: #383838;
  display: inline-block;
  font-weight: bold;
  font-size: 24px;
  margin-right: 13px;
  line-height: 1;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call .tel-info .tel-btn {
    background-color: #fff;
    border: 1px solid #383838;
    display: block;
    font-size: 20px;
    margin-right: 0;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.02);
  }
}
#mypage-detail .mypage-detail-call .tel-info .tel-btn .tel {
  background: url("../img/icon/icon_phone.svg") no-repeat 0 74%;
  background-size: 17px 17px;
  color: #383838;
  display: inline-block;
  padding-left: 22px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call .tel-info .tel-btn .tel {
    background-size: 14px 14px;
    padding-left: 18px;
  }
}
#mypage-detail .mypage-detail-call .tel-info .time {
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  position: relative;
  top: -1px;
  vertical-align: baseline;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-call .tel-info .time {
    font-size: 12px;
    display: block;
  }
}
#mypage-detail .btn-area {
  padding: 20px 0 10px;
  text-align: center;
}
#mypage-detail .btn-area .btn {
  font-size: 14px;
  border-radius: 4px;
}
#mypage-detail .mypage-detail-cancel .card-header {
  background-color: #383838;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0;
  border-radius: 10px 10px 0 0;
}
#mypage-detail .mypage-detail-cancel .card-header h2 {
  background: url("../img/icon/icon_info_white.svg") no-repeat 0 50%;
  background-size: 17px 17px;
  color: #fff;
  font-size: 16px;
  padding: 2px 0 2px 24px;
  margin: 0;
}
#mypage-detail .mypage-detail-cancel .card-body {
  padding: 20px;
}
#mypage-detail .mypage-detail-cancel .mypage-detail-call p {
  margin-bottom: 10px;
}
#mypage-detail .mypage-detail-cancel .cancel-policy {
  margin-top: 20px;
}
#mypage-detail .mypage-detail-cancel .cancel-policy h3 {
  background-color: #949494;
  color: #fff;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 12px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy h3 {
    font-size: 14px;
    padding: 12px;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy .content {
  border: 2px solid #dfdfdf;
  border-top: none;
  padding: 20px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy .content {
    padding: 14px;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy p {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy p {
    font-size: 12px;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy table {
  border-top: 1px solid #d1d1d1;
  border-left: 1px solid #d1d1d1;
  width: 100%;
}
#mypage-detail .mypage-detail-cancel .cancel-policy table th, #mypage-detail .mypage-detail-cancel .cancel-policy table td {
  padding: 15px;
  border-bottom: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy table th, #mypage-detail .mypage-detail-cancel .cancel-policy table td {
    padding: 12px 8px;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy table th {
  background-color: #f0f2f3;
  font-weight: normal;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy table th {
    font-size: 12px;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy table th br {
  display: none;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy table th br {
    display: inline;
  }
}
#mypage-detail .mypage-detail-cancel .cancel-policy table td {
  font-size: 18px;
  font-weight: bold;
  width: 35%;
}
@media (max-width: 767px) {
  #mypage-detail .mypage-detail-cancel .cancel-policy table td {
    font-size: 15px;
  }
}
#mypage-detail .mypage-detail-contact {
  text-align: center;
  margin-top: 30px;
}
#mypage-detail .mypage-detail-contact .btn {
  border-color: #005AAA;
  color: #005AAA;
  font-size: 14px;
  border-radius: 4px;
  padding: 12px 35px;
}
#mypage-detail .mypage-detail-contact .btn .btn-icon {
  background: url("../img/icon/icon_help_blue.svg") no-repeat 0 50%;
  background-size: 16px 16px;
  padding: 0 0 0 20px;
}
#mypage-detail #service-reserve-confirm .card-header {
  padding: 14px 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  46. mypage-detail-date
 * :::::::::::::::::::::::::::::::::::::::::: */
@media (max-width: 767px) {
  #mypage-detail-date #service-reserve-date .card:not(.reserve-details) {
    border-radius: 0;
  }
}
#mypage-detail-date #service-reserve-date .card-header {
  border-bottom: 1px solid #DBDCDD;
  padding: 18px 20px;
  border-radius: 0;
}
@media (max-width: 767px) {
  #mypage-detail-date #service-reserve-date .card-header {
    border-bottom: none;
    padding: 18px 16px;
  }
}
#mypage-detail-date #service-reserve-date .card-body {
  padding-top: 20px;
}
@media (max-width: 767px) {
  #mypage-detail-date #service-reserve-date .card-body {
    padding: 0 16px 20px;
  }
}
#mypage-detail-date #service-reserve-date .reserve-details .card-title {
  border-left: none;
  padding-bottom: 18px;
  padding-left: 20px;
}
@media (max-width: 767px) {
  #mypage-detail-date #service-reserve-date .reserve-details .card-title {
    padding: 18px 16px;
  }
}
#mypage-detail-date .submit-area .btn-submit {
  width: 100%;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  47. mypage-setting
 * :::::::::::::::::::::::::::::::::::::::::: */
#mypage-setting .mypage-setting-preview dl dt {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 6px;
}
#mypage-setting .mypage-setting-preview dl dd {
  margin-bottom: 18px;
}
#mypage-setting .mypage-setting-preview dl dd .preview-field {
  background-color: #f0f2f3;
  line-height: 1.5;
  padding: 10px 14px;
  font-size: 16px;
  border-radius: 6px;
  width: 100%;
}
#mypage-setting .mypage-setting-preview .btn-area {
  text-align: center;
  padding: 5px 0;
}
#mypage-setting .mypage-setting-preview .btn-area .btn {
  font-size: 14px;
  font-weight: normal;
  width: 140px;
  border-radius: 4px;
}
#mypage-setting .mypage-setting-preview .btn-area .btn .btn-icon {
  background: url("../img/icon/icon_pen_red.svg") no-repeat 0 50%;
  background-size: 16px 16px;
  display: inline-block;
  padding-left: 20px;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  48. mypage-referral
 * :::::::::::::::::::::::::::::::::::::::::: */
#mypage-referral .gray-box {
  cursor: pointer;
  position: relative;
  padding: 26px 10px;
  margin-top: 30px;
}
@media (max-width: 767px) {
  #mypage-referral .gray-box {
    padding: 22px 10px 10px;
  }
}
#mypage-referral .gray-box .code {
  font-size: 146%;
}
#mypage-referral .gray-box .copy-button {
  position: absolute;
  bottom: 7px;
  right: 9px;
}
#mypage-referral .gray-box .copy-button:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  #mypage-referral .gray-box .copy-button {
    text-align: center;
    position: static;
    bottom: auto;
    right: auto;
    margin-top: 10px;
  }
}
#mypage-referral .gray-box .copy-button span {
  background: url("../img/mypage/icon_clipboard.svg") no-repeat 0 50%;
  background-size: 14px 14px;
  font-weight: normal;
  display: inline-block;
  padding: 0 0 0 18px;
  font-size: 13px;
}
#mypage-referral .clipboard-complete-message {
  border: 1px solid #DF0515;
  border-radius: 4px;
  color: #DF0515;
  display: none;
  margin: 14px auto;
  padding: 8px;
  text-align: center;
}
#mypage-referral .social-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 32px;
  margin-top: 20px;
}
#mypage-referral .social-list li {
  margin-right: 2%;
  width: 23.5%;
}
#mypage-referral .social-list li:last-child {
  margin-right: 0;
}
@media (max-width: 1039px) {
  #mypage-referral .social-list li {
    margin-right: 4%;
    margin-bottom: 12px;
    width: 48%;
  }
  #mypage-referral .social-list li:nth-child(even) {
    margin-right: 0;
  }
}
#mypage-referral .social-list li a {
  color: #fff;
  display: block;
  text-align: center;
  width: 100%;
}
#mypage-referral .social-list li a img {
  display: block;
  width: 100%;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  49. mypage-quit
 * :::::::::::::::::::::::::::::::::::::::::: */
#mypage-quit .card {
  margin-top: 24px;
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #mypage-quit .card {
    padding: 30px 16px;
  }
}
#mypage-quit h1 {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 24px;
}
@media (max-width: 767px) {
  #mypage-quit h1 {
    font-size: 18px;
  }
}
#mypage-quit .attention-box {
  background-color: #FFF4F4;
  padding: 30px;
  margin: 20px 0 30px;
}
@media (max-width: 767px) {
  #mypage-quit .attention-box {
    padding: 24px 12px;
    margin-bottom: 20px;
  }
}
#mypage-quit .attention-box h2 {
  letter-spacing: 0.12em;
  text-align: center;
  margin: 0 0 14px;
}
@media (max-width: 767px) {
  #mypage-quit .attention-box h2 {
    font-size: 18px;
  }
}
#mypage-quit .attention-box h2 span {
  background: url("../img/icon/icon_attention.svg") no-repeat 0 50%;
  background-size: 28px 25px;
  display: inline-block;
  padding-left: 34px;
}
@media (max-width: 767px) {
  #mypage-quit .attention-box h2 span {
    background-size: 22px 19px;
    padding-left: 26px;
  }
}
#mypage-quit .attention-box .attention {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 14px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  #mypage-quit .attention-box .attention {
    font-size: 14px;
  }
}
#mypage-quit .attention-box ul li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0.2em;
}
@media (max-width: 767px) {
  #mypage-quit .attention-box ul li {
    font-size: 12px;
  }
}
#mypage-quit .attention-box ul li::before {
  content: "・";
}
#mypage-quit .gray-box {
  background-color: #f0f2f3;
}
@media (max-width: 767px) {
  #mypage-quit .gray-box {
    border-width: 5px;
    padding: 15px;
  }
}
#mypage-quit .gray-box h3 {
  border-color: #EAEBEB;
  border-bottom: none;
  font-size: 18px;
  margin: 10px 0 14px;
  padding: 0;
  text-align: center;
}
#mypage-quit .gray-box .form-block {
  margin: 0 auto;
  max-width: 540px;
}
#mypage-quit .gray-box .form-block .form-group .form-control {
  background-color: #fff;
}
#mypage-quit .gray-box .btn-area {
  padding-top: 0;
}
#mypage-quit .gray-box .btn-area .btn {
  border-radius: 4px;
  width: 160px;
}
#mypage-quit .gray-box .btn-area .btn-submit {
  background-color: #949494;
}
#mypage-quit .quit-confirm .user-name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  #mypage-quit .quit-confirm .user-name {
    font-size: 18px;
  }
}
#mypage-quit .quit-confirm .user-name small {
  font-size: 14px;
  margin-left: 0.2em;
}
@media (max-width: 767px) {
  #mypage-quit .quit-confirm .btn-area {
    width: 100%;
  }
}
@media (max-width: 767px) {
  #mypage-quit .quit-confirm .btn-area .btn {
    width: 48%;
  }
}
#mypage-quit .quit-confirm .btn-area .btn-primary {
  margin-left: 20px;
}
@media (max-width: 767px) {
  #mypage-quit .quit-confirm .btn-area .btn-primary {
    margin-left: 4%;
  }
}
#mypage-quit .quit-complete .mes {
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #mypage-quit .quit-complete .mes {
    font-size: 14px;
  }
}
#mypage-quit .quit-complete .to-top a {
  color: #383838;
  display: inline-block;
  padding-left: 20px;
  position: relative;
}
#mypage-quit .quit-complete .to-top a:hover {
  text-decoration: underline;
}
#mypage-quit .quit-complete .to-top a::before {
  left: 5px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #383838;
  border-right: 1px solid #383838;
  transform: rotate(45deg);
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  50. etc(common)
 * :::::::::::::::::::::::::::::::::::::::::: */
#etc-common ol.list-unstyled {
  padding-left: 1.8em;
  text-indent: -1.8em;
}
#etc-common .law-table {
  width: 100%;
}
#etc-common .law-table th, #etc-common .law-table td {
  display: block;
}
#etc-common .law-table th {
  padding-top: 0;
  padding-bottom: 8px;
}
#etc-common .law-table td {
  border-bottom: 1px solid #dfdfdf;
  padding-bottom: 10px;
  padding-top: 0;
  margin-bottom: 20px;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  51. privacy policy
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  52. site policy
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  53. membership agreement
 * :::::::::::::::::::::::::::::::::::::::::: */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  54. contact
 * :::::::::::::::::::::::::::::::::::::::::: */
#contact-contents .card {
  border-radius: 16px;
}
@media (max-width: 767px) {
  #contact-contents .gray-box {
    padding: 16px;
  }
  #contact-contents .gray-box h3 {
    font-size: 16px;
    padding-top: 6px;
  }
}
#contact-contents .form-block .form-group {
  display: flex;
}
@media (max-width: 767px) {
  #contact-contents .form-block .form-group {
    display: block;
  }
}
#contact-contents .form-block .form-group .form-label {
  text-align: right;
  padding-top: 0.9em;
  margin-right: 1em;
  width: 180px;
}
@media (max-width: 767px) {
  #contact-contents .form-block .form-group .form-label {
    text-align: left;
    padding-top: 0;
    margin-right: 0;
    width: auto;
  }
}
#contact-contents .form-block .form-group .form-field {
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  #contact-contents .form-block .form-group .form-field {
    flex: inherit;
  }
}
#contact-contents .form-block .form-group .form-field .form-control {
  background-color: #fff;
}

#contact-input-data.gray-box {
  background-color: #f0f2f3;
}
@media (max-width: 767px) {
  #contact-input-data.gray-box {
    border: none;
  }
}

#contact-confirm-data .attention-message {
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  #contact-confirm-data .attention-message {
    font-size: 12px;
    margin-bottom: 18px;
  }
}
#contact-confirm-data .attention-message a {
  background: url("../img/icon/icon_open_new.svg") no-repeat 100% 50%;
  background-size: 11px 11px;
  color: #00417D;
  padding-right: 13px;
  margin: 0 3px;
}
#contact-confirm-data .attention-message a:hover {
  text-decoration: underline;
}
#contact-confirm-data dl {
  background-color: #f0f2f3;
  display: flex;
  margin-bottom: 2px;
}
@media (max-width: 767px) {
  #contact-confirm-data dl {
    display: block;
  }
}
#contact-confirm-data dl dt {
  font-size: 16px;
  padding: 18px 20px;
  width: 180px;
}
@media (max-width: 767px) {
  #contact-confirm-data dl dt {
    font-size: 14px;
    padding: 12px 16px 0;
    width: auto;
  }
}
#contact-confirm-data dl dd {
  font-size: 16px;
  flex: 1;
  padding: 18px 20px 18px 0;
  word-break: break-all;
}
@media (max-width: 767px) {
  #contact-confirm-data dl dd {
    font-size: 14px;
    padding: 0 16px 12px;
  }
}
#contact-confirm-data dl dd p:last-child {
  margin-bottom: 0;
}
#contact-confirm-data dl .control-label {
  margin: 0;
}
#contact-confirm-data .btn-area {
  display: flex;
  justify-content: center;
}
#contact-confirm-data .btn-area .btn:not(:last-child) {
  margin-right: 16px;
}
@media (max-width: 767px) {
  #contact-confirm-data .btn-area .btn:not(:last-child) {
    margin-bottom: 12px;
    margin-right: 0;
  }
}

#contact-complete {
  margin-top: 40px;
}
@media (max-width: 767px) {
  #contact-complete {
    margin-top: 24px;
  }
}
#contact-complete .card {
  border-radius: 16px;
}
#contact-complete h2 {
  font-size: 24px;
  margin: 10px auto 20px;
  padding: 0;
  text-align: center;
}
@media (max-width: 767px) {
  #contact-complete h2 {
    font-size: 18px;
    margin: 5px auto 12px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  55. sorry
 * :::::::::::::::::::::::::::::::::::::::::: */
#sorry-page {
  margin-top: 24px;
  padding: 0 70px 60px;
  overflow: visible;
}
@media (max-width: 767px) {
  #sorry-page {
    margin-top: 40px;
    padding: 40px 15px;
  }
}
#sorry-page .sorry-header {
  padding-right: 430px;
  text-align: center;
  position: relative;
  margin-bottom: 50px;
}
@media (max-width: 1039px) {
  #sorry-page .sorry-header {
    padding-right: 340px;
  }
}
@media (max-width: 767px) {
  #sorry-page .sorry-header {
    padding-right: 0;
    margin-bottom: 0;
  }
}
#sorry-page .sorry-title {
  padding-top: 80px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #sorry-page .sorry-title {
    padding-top: 0;
    margin-bottom: 20px;
  }
  #sorry-page .sorry-title img {
    width: 260px;
  }
}
#sorry-page h2 {
  font-size: 24px;
  margin-bottom: 18px;
}
@media (max-width: 767px) {
  #sorry-page h2 {
    font-size: 18px;
  }
}
#sorry-page p {
  font-size: 16px;
}
@media (max-width: 767px) {
  #sorry-page p {
    font-size: 14px;
    margin-bottom: 26px;
  }
}
#sorry-page .sorry-img {
  position: absolute;
  right: -75px;
  top: -5px;
}
@media (max-width: 1039px) {
  #sorry-page .sorry-img img {
    width: 380px;
  }
}
@media (max-width: 767px) {
  #sorry-page .sorry-img {
    position: static;
    right: auto;
    top: auto;
    text-align: center;
  }
  #sorry-page .sorry-img img {
    width: 240px;
  }
}
#sorry-page .sorry-sitemap h4 {
  border-bottom: 1px solid #e8e8e8;
  font-size: 18px;
  padding-bottom: 10px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  #sorry-page .sorry-sitemap h4 {
    font-size: 16px;
    margin-top: 25px;
  }
}
#sorry-page .sorry-sitemap h4 a {
  background: url("../img/icon-angle2.svg") no-repeat 100% 50%/7px 13px;
  color: #333;
  padding-right: 18px;
}
#sorry-page .sorry-sitemap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
  letter-spacing: 0;
}
#sorry-page .sorry-sitemap ul li {
  font-size: 14px;
  display: inline-block;
  margin-bottom: 5px;
  width: 25%;
  vertical-align: top;
}
@media (max-width: 767px) {
  #sorry-page .sorry-sitemap ul li {
    width: 50%;
  }
}
#sorry-page .sorry-sitemap ul a {
  background: url("../img/icon-circle_red.svg") no-repeat 0 4px/13px 13px;
  color: #333;
  padding-left: 20px;
  display: inline-block;
  line-height: 1.5;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  56. column
 * :::::::::::::::::::::::::::::::::::::::::: */
/*
column.css へ移動
 */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  57. cookie dialog
 * :::::::::::::::::::::::::::::::::::::::::: */
/* Cookie Dialog */
#gdpr-cookie-message {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #000;
  background-color: #fff;
  padding: 20px 0 20px;
  z-index: 9999;
}

#gdpr-cookie-message .container {
  position: relative;
}

#gdpr-cookie-message h4 {
  display: none;
}

#gdpr-cookie-message h5 {
  display: none;
}

#gdpr-cookie-message p {
  line-height: 1.7;
  font-size: 80%;
  margin-bottom: 0;
  padding-right: 220px;
}

#gdpr-cookie-message p:last-child {
  margin-bottom: 0;
  padding-right: 0;
  text-align: right;
}

#gdpr-cookie-message a {
  color: #000;
  text-decoration: underline;
}

#gdpr-cookie-message a:hover {
  text-decoration: none;
}

#gdpr-cookie-message button#gdpr-cookie-accept {
  background-color: #000;
  color: #fff;
  border: none;
  outline: 0;
  display: inline-block;
  padding: 10px 12px;
  margin: 0;
  position: absolute;
  top: 0px;
  right: 16px;
}

button#gdpr-cookie-advanced {
  display: none;
}

@media (max-width: 1039px) {
  #gdpr-cookie-message {
    padding: 20px 10px;
  }
  #gdpr-cookie-message p {
    padding-right: 0;
    margin-bottom: 6px;
  }
  #gdpr-cookie-message p:last-child {
    text-align: center;
    margin-top: 16px;
  }
  #gdpr-cookie-message button#gdpr-cookie-accept {
    position: static;
    top: auto;
    right: auto;
    padding: 8px;
    display: block;
    width: 100%;
  }
}
#gdpr-cookie-overlay {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  z-index: 9998;
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  60. error(common)
 * :::::::::::::::::::::::::::::::::::::::::: */
.error-page h2 {
  color: #d2b479;
  border-bottom-color: #d2b479;
}

.error-page .inner {
  background: #fff;
  margin-bottom: 4px;
  border-radius: 3px;
  padding: 0 24px 32px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.error-page .error-message {
  font-size: 16px;
  padding: 18px 28px;
}

.error-page .fs-22 {
  font-size: 22px;
  font-weight: bold;
  font-weight: 600;
}

.error-page ul {
  list-style-type: none;
  padding-left: 0;
  display: flex;
}

.error-page ul li {
  margin-bottom: 6px;
  margin-right: 30px;
}
.error-page ul li:last-child {
  margin-right: 0;
}

.error-page ul li a {
  background: url(../img/icon-circle_red.svg) no-repeat 0 0.32em;
  color: #949494;
  padding-left: 21px;
}

@media (max-width: 767px) {
  .error-page .fs-22 {
    font-size: 18px;
  }
  .error-page .error-message {
    font-size: 14px;
    padding: 8px 0;
  }
  .error-page ul {
    display: block;
  }
  .error-page ul li {
    margin-right: 0;
  }
  .error-page ul li a {
    background-position: 0 0.24em;
  }
}
/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  70. css merge
 * :::::::::::::::::::::::::::::::::::::::::: */
/* map
 * ---------------------------------- */
#service-japanmap {
  width: 640px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 32px;
  text-align: center;
  background: url(../img/map-base.svg) no-repeat center center/contain;
  position: relative;
  margin-top: -25px;
}

@media (max-width: 767px) {
  #service-japanmap {
    display: none;
  }
}
#service-japanmap img {
  display: inline-block;
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  transition: background 0.1s;
}

/* list
 * ---------------------------------- */
#service-area-list {
  max-width: 760px;
  list-style: none;
  overflow: hidden;
  padding: 0;
}

#service-area-list > li {
  background: url(../img/icon-circle_red.svg) no-repeat left top;
  margin-bottom: 16px;
  padding-left: 20px;
}

@media (max-width: 767px) {
  #service-area-list > li {
    background: #fff;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
  #service-area-list > li > h4 {
    background: url("../img/icon-circle_red_down.svg") no-repeat right 10px top 50%/16px 16px;
    display: block;
    border-bottom: 1px solid #bdbfbf;
    padding: 15px 15px;
    margin: 0;
  }
  #service-area-list > li > h4.ac-open {
    background-image: url("../img/icon-circle_red_up.svg");
  }
}
@media (max-width: 767px) {
  #service-area-list li .list-wrap {
    display: none;
  }
}
@media (max-width: 767px) {
  #service-area-list > li ul {
    margin-left: 0;
    display: flex;
    flex-wrap: wrap;
    background: #f2f6f7;
    border-bottom: 1px solid #bdbfbf;
  }
}
/* 20191220修正 */
#service-area-list li li {
  color: #aaa;
  display: inline-block;
  padding: 0 0.6em 0 0.4em;
  line-height: 1;
}

@media (max-width: 767px) {
  #service-area-list li li {
    display: block;
    padding: 0;
    border-bottom: 1px solid #bdbfbf;
    border-right: 1px solid #bdbfbf;
    width: 50%;
  }
  #service-area-list li li.no-border {
    border-bottom: none;
  }
}
#service-area-list li li:not(:last-child) {
  border-right: 1px solid #333;
}

@media (max-width: 767px) {
  #service-area-list li li:not(:last-child) {
    border-right: 1px solid #bdbfbf;
  }
}
@media (max-width: 767px) {
  #service-area-list li li:nth-child(even) {
    border-right: none;
  }
}
#service-area-list h4 {
  margin: 0 0 8px;
  font-size: 14px;
}

#service-area-list a {
  color: #333;
  font-size: 13px;
  text-decoration: none;
}

@media (max-width: 767px) {
  #service-area-list a {
    background: url("../img/icon-angle.svg") no-repeat right 12px top 50%/11px 20px;
    display: block;
    padding: 15px;
  }
}
@media (min-width: 1040px) {
  #service-area-list a:hover {
    color: #de5233;
  }
}
/* 20191220追加 */
@media (max-width: 767px) {
  #service-area-list li li span {
    display: block;
    padding: 15px;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  22. service-search(keyword)
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-search .service-search-control {
  background-color: rgb(225.7615384615, 227.1538461538, 229.9384615385);
  padding: 24px 0;
}
#service-search .service-search-control h2 {
  border-bottom: 1px solid #CFD3D5;
  background: url("../img/shop/icon_search.png") no-repeat 0% 0%;
  background-size: 22px 22px;
  padding: 2px 0 10px 28px;
  font-size: 18px;
  margin: 0 0 16px;
}
@media (max-width: 767px) {
  #service-search .service-search-control h2 {
    font-size: 16px;
    background-size: 19px 19px;
    padding: 0px 0 9px 25px;
  }
}
#service-search .service-search-control .form-group {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-group {
    display: block;
    margin-bottom: 5px;
  }
}
#service-search .service-search-control .form-group .form-label {
  font-weight: bold;
  text-align: right;
  margin-right: 0.8em;
  white-space: nowrap;
  width: 6em;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-group .form-label {
    margin-bottom: 4px;
    margin-right: auto;
    text-align: left;
    width: auto;
  }
}
#service-search .service-search-control .form-group .form-field {
  font-weight: bold;
  flex: 1;
  min-width: 0;
}
#service-search .service-search-control .form-group .form-field input.form-control {
  background-color: #fff;
}
#service-search .service-search-control .form-group .form-field h4 {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 8px;
}
#service-search .service-search-control .form-group.no-label .form-field {
  margin-left: 6.8em;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-group.no-label .form-field {
    margin-left: auto;
  }
}
#service-search .service-search-control .form-group.no-label .form-field .sort-checkbox .form-check-text {
  background-size: 20px 20px;
  font-size: 14px;
  padding: 2px 0 3px 30px;
}
#service-search .service-search-control .form-group--keyword {
  margin-bottom: 12px;
}
#service-search .service-search-control .form-group--detail-filter {
  margin-bottom: 12px;
  align-items: flex-start;
}
#service-search .service-search-control .form-group--detail-filter .form-label {
  padding-top: 16px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-group--detail-filter .form-label {
    padding-top: 0;
  }
}
#service-search .service-search-control .form-group--detail-filter .undecided-checkbox .form-check-text {
  background-size: 20px 20px;
  font-size: 14px;
  padding: 4px 0 3px 30px;
}
#service-search .service-search-control .form-group--detail-filter .undecided-checkbox .is-disabled + .form-check-text {
  opacity: 0.65;
}
#service-search .service-search-control .form-group--detail-filter .tooltip-icon-question {
  top: -2px;
  position: relative;
}
#service-search .service-search-control .search-detail-datepicker {
  background-color: #fff;
  border: 1px solid #DBDCDD;
  font-size: 16px;
  height: inherit;
  padding: 15px 14px 16px 38px;
  box-shadow: none;
  border-radius: 6px;
  position: relative;
}
#service-search .service-search-control .search-detail-datepicker.is-disabled {
  background-color: #f0f2f3;
  color: #B2B4B5;
  pointer-events: none;
}
#service-search .service-search-control .search-detail-datepicker-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}
#service-search .service-search-control .search-detail-datepicker-icon img {
  display: block;
}
#service-search .service-search-control .search-detail-datepicker-input .form-control {
  border: none;
  position: absolute;
  font-size: 16px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  z-index: -1;
  pointer-events: none;
  width: 100%;
}
#service-search .service-search-control .search-detail-datepicker-input .form-placeholder {
  font-size: 15px;
  display: block;
  font-weight: normal;
  overflow: hidden;
  min-width: 1em;
  padding: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-search .service-search-control .search-detail-datepicker-input .form-placeholder {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  #service-search .service-search-control .search-detail-datepicker-input .form-placeholder {
    font-size: 14px;
  }
}
#service-search .service-search-control .search-detail-datepicker-input .form-placeholder::before {
  content: "";
}
#service-search .service-search-control .search-detail-datepicker-input .form-placeholder:empty::before {
  content: attr(data-placeholder);
  color: #B2B4B5;
}
#service-search .service-search-control .search-detail-datepicker-input .form-placeholder.is-disabled {
  color: #B2B4B5;
}
#service-search .service-search-control .search-service-list {
  display: flex;
  flex-wrap: wrap;
}
#service-search .service-search-control .search-service-list li {
  margin: 0 6px 5px 0;
  width: 94px;
}
#service-search .service-search-control .search-service-list li:last-child {
  margin-right: 0;
}
@media (max-width: 767px) {
  #service-search .service-search-control .search-service-list li {
    margin-right: 2%;
    width: 32%;
  }
  #service-search .service-search-control .search-service-list li:nth-child(3n) {
    margin-right: 0;
  }
}
#service-search .service-search-control .search-service-list li .search-service-label {
  cursor: pointer;
  display: block;
  position: relative;
  text-align: center;
}
#service-search .service-search-control .search-service-list li .search-service-label .search-service-content {
  background-color: #fff;
  padding: 6px 2px 4px;
  border: 1px solid #d1d1d1;
  border-radius: 10px;
}
#service-search .service-search-control .search-service-list li .search-service-label .search-service-content .icon {
  display: flex;
  height: 47px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
#service-search .service-search-control .search-service-list li .search-service-label .search-service-content .icon img {
  display: block;
}
#service-search .service-search-control .search-service-list li .search-service-label .search-service-content .text {
  display: flex;
  font-size: 11px;
  font-weight: normal;
  align-items: center;
  justify-content: center;
  height: 22px;
  width: 100%;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-search .service-search-control .search-service-list li .search-service-label .search-service-content .text {
    font-size: 13px;
  }
}
@media (max-width: 540px) {
  #service-search .service-search-control .search-service-list li .search-service-label .search-service-content .text {
    font-size: 3.2vw;
  }
}
#service-search .service-search-control .search-service-list li .search-service-label.search-service-coating .search-service-content .text {
  font-size: 10px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .search-service-list li .search-service-label.search-service-coating .search-service-content .text {
    font-size: 13px;
  }
}
@media (max-width: 540px) {
  #service-search .service-search-control .search-service-list li .search-service-label.search-service-coating .search-service-content .text {
    font-size: 3vw;
  }
}
#service-search .service-search-control .search-service-list li .search-service-label.search-service-other .search-service-content .text {
  font-size: 10px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .search-service-list li .search-service-label.search-service-other .search-service-content .text {
    font-size: 13px;
  }
}
@media (max-width: 540px) {
  #service-search .service-search-control .search-service-list li .search-service-label.search-service-other .search-service-content .text {
    font-size: 3vw;
  }
}
#service-search .service-search-control .search-service-list li .search-service-label input {
  visibility: hidden;
  position: absolute;
  z-index: -1;
}
#service-search .service-search-control .search-service-list li .search-service-label input:checked + .search-service-content {
  border-color: #DF0515;
  background-color: #FFF5F2;
}
#service-search .service-search-control .search-service-list li .search-service-label input:checked + .search-service-content .text {
  color: #DF0515;
}
#service-search .service-search-control .search-detail-filter-list {
  display: flex;
  flex-wrap: wrap;
}
#service-search .service-search-control .search-detail-filter-list li {
  margin: 0 6px 0 0;
}
#service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label {
  cursor: pointer;
  display: block;
  position: relative;
  text-align: center;
}
#service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label .text {
  font-weight: normal;
  display: block;
  background-color: #fff;
  padding: 0.2em 0.8em;
  border: 1px dashed #d1d1d1;
  border-radius: 30px;
}
#service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label .text .fc-red {
  color: #DF0515;
}
#service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label input {
  visibility: hidden;
  position: absolute;
  z-index: -1;
}
#service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label input:checked + .text {
  background-color: #FFF5F2;
  color: #DF0515;
  border: 1px solid #DF0515;
}
@media (min-width: 1040px) {
  #service-search .service-search-control .search-detail-filter-list li .search-detail-filter-label:hover input:not(.is-disabled) + .text {
    background-color: #FFF5F2;
    color: #DF0515;
    border: 1px solid #DF0515;
  }
}
#service-search .service-search-control .form-footer {
  border-top: 1px solid #CFD3D5;
  display: flex;
  align-items: center;
  padding-top: 12px;
  margin-top: 10px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-footer {
    border-top: none;
    display: block;
    padding-top: 0;
    margin-top: 14px;
  }
}
#service-search .service-search-control .form-footer .filter-open-btn {
  background: url("../img/icon/icon_open.svg") no-repeat 0 50%;
  background-size: 16px 16px;
  cursor: pointer;
  padding-left: 20px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-footer .filter-open-btn {
    margin-bottom: 20px;
  }
}
#service-search .service-search-control .form-footer .form-buttons {
  margin-left: auto;
  display: flex;
}
#service-search .service-search-control .form-footer .form-buttons .btn {
  color: #fff;
  margin-left: 10px;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-footer .form-buttons .btn {
    padding: 10px 15px;
  }
}
#service-search .service-search-control .form-footer .form-buttons .btn-reset {
  font-size: 14px;
  background-color: #949494;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-footer .form-buttons .btn-reset {
    font-size: 13px;
    margin-left: 0;
  }
}
#service-search .service-search-control .form-footer .form-buttons .btn-submit {
  font-size: 16px;
  background-color: #DF0515;
}
@media (max-width: 767px) {
  #service-search .service-search-control .form-footer .form-buttons .btn-submit {
    flex: 1;
    font-size: 14px;
    margin-left: 6px;
    width: auto;
  }
}
#service-search .service-search-list {
  padding-top: 30px;
}
#service-search .service-search-list .search-map {
  background: #fff;
  padding: 6px;
}
@media (max-width: 767px) {
  #service-search .service-search-list .search-map {
    padding: 4px;
  }
  #service-search .service-search-list .search-map #map {
    height: 300px;
  }
}
#service-search .service-search-list .search-count {
  display: flex;
  margin: 20px 0;
}
#service-search .service-search-list .search-count__label {
  font-weight: bold;
}
#service-search .service-search-list .search-sort-web-reserve {
  margin: 14px auto 20px;
  text-align: right;
}
#service-search .service-search-list .search-sort-web-reserve .sort-checkbox {
  display: inline-block;
  line-height: 1.6;
  position: relative;
  margin: 0;
}
#service-search .service-search-list .search-sort-web-reserve .sort-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
#service-search .service-search-list .search-sort-web-reserve .sort-checkbox input[type=checkbox]:checked + .sort-checkbox-text {
  background-image: url("../img/common/checkbox_on.png");
}
#service-search .service-search-list .search-sort-web-reserve .sort-checkbox .sort-checkbox-text {
  background: url("../img/common/checkbox_off.png") no-repeat left 0px top 50%;
  background-size: 24px 24px;
  display: block;
  font-weight: normal;
  padding: 2px 0 2px 32px;
}
@media (max-width: 767px) {
  #service-search .service-search-list .search-sort-web-reserve .sort-checkbox .sort-checkbox-text {
    background-size: 20px 20px;
    font-size: 12px;
  }
}
#service-search .search-shop-list .list-item {
  background: #fff;
  border: 1px solid rgba(223, 5, 21, 0.6);
  box-shadow: 0 0 16px rgba(223, 5, 21, 0.12);
  margin-bottom: 20px;
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item {
    display: block;
    border-radius: 10px;
  }
}
#service-search .search-shop-list .list-item .item-main {
  display: flex;
  padding: 14px;
}
#service-search .search-shop-list .list-item .item-labels {
  margin-bottom: 5px;
  display: flex;
  flex-wrap: wrap;
  padding-right: 80px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-labels {
    padding-right: 0;
  }
}
#service-search .search-shop-list .list-item .item-labels .label {
  border: 1px solid #383838;
  font-weight: 500;
  font-size: 12px;
  display: inline-block;
  padding: 3px 7px;
  margin: 0 5px 5px 0;
  line-height: 1.2;
}
#service-search .search-shop-list .list-item .item-labels .label--web-payment {
  border-color: #00a53c;
  color: #00a53c;
}
#service-search .search-shop-list .list-item .item-labels .label--immediate-reservation {
  border-color: #f59600;
  color: #f59600;
}
#service-search .search-shop-list .list-item .item-labels .label--apollostation-keeper {
  border-color: #005AAA;
  color: #005AAA;
}
#service-search .search-shop-list .list-item .item-labels .label--rakuraku {
  border-color: #DF0515;
  color: #DF0515;
}
#service-search .search-shop-list .list-item .item-labels .tooltip-icon-question {
  background-image: url(../img/icon/icon_help_yellow.svg);
  height: 14px;
  width: 14px;
  vertical-align: bottom;
}
#service-search .search-shop-list .list-item .shop-slide {
  margin-right: 2.8%;
  width: 35.4%;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-slide {
    display: none;
  }
}
#service-search .search-shop-list .list-item .shop-slide .swiper-container {
  overflow: hidden;
}
#service-search .search-shop-list .list-item .shop-slide .swiper-pagination {
  position: static;
  margin-top: 10px;
  display: flex;
}
#service-search .search-shop-list .list-item .shop-slide .swiper-pagination .swiper-pagination-bullet {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 4% 0 0;
  height: auto;
  display: block;
  border-radius: 0;
  width: 30.333%;
  opacity: 0.7;
}
#service-search .search-shop-list .list-item .shop-slide .swiper-pagination .swiper-pagination-bullet::after {
  content: "";
  display: block;
  padding-top: 66.666%;
  height: 0;
}
#service-search .search-shop-list .list-item .shop-slide .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}
#service-search .search-shop-list .list-item .shop-slide .swiper-pagination .swiper-pagination-bullet:last-child {
  margin-right: auto;
}
#service-search .search-shop-list .list-item .shop-contents {
  flex: 1;
  min-width: 0;
  position: relative;
}
#service-search .search-shop-list .list-item .shop-title {
  padding-right: 80px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-title {
    padding-right: 0;
  }
}
#service-search .search-shop-list .list-item .shop-title a {
  color: #383838;
  display: flex;
  align-items: center;
}
#service-search .search-shop-list .list-item .shop-title .shop-logo {
  display: block;
  margin-right: 8px;
  margin-top: 2px;
  width: 40px;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-title .shop-logo {
    margin-right: 6px;
    width: 32px;
  }
}
#service-search .search-shop-list .list-item .shop-title .shop-name {
  display: block;
  line-height: 1.4;
  letter-spacing: 0.04em;
  flex: 1;
  margin-top: 0;
  margin-bottom: 0;
}
#service-search .search-shop-list .list-item .shop-title .shop-name .name-company {
  display: block;
  font-size: 13px;
  font-weight: normal;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-title .shop-name .name-company {
    font-size: 12px;
  }
}
#service-search .search-shop-list .list-item .shop-title .shop-name .name-ss {
  display: block;
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-title .shop-name .name-ss {
    font-size: 18px;
  }
}
@media (max-width: 360px) {
  #service-search .search-shop-list .list-item .shop-title .shop-name .name-ss {
    font-size: 16px;
  }
}
#service-search .search-shop-list .list-item .shop-distance {
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-distance {
    position: static;
    top: auto;
    right: auto;
    text-align: right;
    margin-bottom: 2px;
  }
}
#service-search .search-shop-list .list-item .shop-distance .distance {
  background: url("../img/shop/icon_mappin.png") no-repeat 0 50%;
  background-size: 12px 16px;
  padding-left: 18px;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-distance .distance {
    background-size: 11px 15px;
    font-size: 13px;
    padding-left: 15px;
  }
}
#service-search .search-shop-list .list-item .shop-imgs {
  display: none;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-imgs {
    display: flex;
    margin-bottom: 6px;
  }
  #service-search .search-shop-list .list-item .shop-imgs li {
    margin-right: 2.5%;
    width: 31.666%;
  }
  #service-search .search-shop-list .list-item .shop-imgs li:last-child {
    margin-right: auto;
  }
}
#service-search .search-shop-list .list-item .shop-info {
  margin-bottom: 10px;
}
#service-search .search-shop-list .list-item .shop-info__group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 5px;
}
#service-search .search-shop-list .list-item .shop-info__label {
  background-color: rgb(228.6666666667, 232.1777777778, 233.9333333333);
  font-size: 11px;
  text-align: center;
  padding: 2px 0;
  line-height: 1.5;
  margin-right: 8px;
  width: 5em;
}
#service-search .search-shop-list .list-item .shop-info__field {
  line-height: 1.5;
  flex: 1;
  min-width: 0;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-info__field {
    font-size: 13px;
  }
}
@media (max-width: 360px) {
  #service-search .search-shop-list .list-item .shop-info__field {
    font-size: 12px;
  }
}
#service-search .search-shop-list .list-item .shop-service-icons {
  flex: 1;
  display: flex;
  margin-top: 14px;
}
@media (max-width: 370px) {
  #service-search .search-shop-list .list-item .shop-service-icons {
    flex-wrap: wrap;
  }
}
#service-search .search-shop-list .list-item .shop-service-icons li {
  margin-right: 5px;
  margin-bottom: 5px;
  width: 60px;
}
#service-search .search-shop-list .list-item .shop-service-icons li img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-service-icons li {
    margin-right: 1.2%;
    width: 15.666%;
  }
  #service-search .search-shop-list .list-item .shop-service-icons li:last-child {
    margin-right: 0;
  }
}
#service-search .search-shop-list .list-item .shop-pr-message {
  border-top: 1px solid rgba(223, 5, 21, 0.6);
  border-bottom: 1px solid rgba(223, 5, 21, 0.6);
  color: #DF0515;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  padding: 0.7em;
  margin: 0 14px 16px;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .shop-pr-message {
    line-height: 1.5;
  }
}
#service-search .search-shop-list .list-item .item-footer {
  background-color: rgba(223, 5, 21, 0.06);
  padding: 14px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer {
    display: block;
  }
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week {
  position: relative;
  margin-bottom: 10px;
  width: 100%;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week::after {
  content: "";
  border-top: 6px solid #cfd3d5;
  border-bottom: none;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -5px;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week .list-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #CFD3D5;
  padding: 8px 6px;
  border-radius: 4px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-week .list-wrap {
    padding: 8px 2px;
  }
}
@media (max-width: 360px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-week .list-wrap {
    padding: 2px 2px;
  }
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul li {
  font-size: 13px;
  line-height: 1.28;
  text-align: center;
  flex: 1;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-week ul li {
    font-size: 12px;
  }
}
@media (max-width: 360px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-week ul li {
    font-size: 10px;
    transform: scale(0.8);
  }
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul li .date .week {
  margin-left: 0.2em;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-week ul li .date .week {
    margin-left: 0;
    margin-bottom: 4px;
    display: block;
    font-size: 10px;
  }
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul li .date .week.week-saturday {
  color: #568eb1;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul li .date .week.week-sunday {
  color: #DF0515;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-week ul li .date .week img {
  display: inline-block;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label {
  position: relative;
  margin-bottom: 10px;
  width: 100%;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label::after {
  content: "";
  border-top: 6px solid #cfd3d5;
  border-bottom: none;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -5px;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #CFD3D5;
  padding: 6px;
  border-radius: 4px;
  width: 100%;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap ul {
  display: flex;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap ul li {
  background: url("../img/icon/icon_open_circle.svg") no-repeat 0 50%;
  background-size: 17px 17px;
  font-weight: bold;
  padding: 0 0 0 22px;
}
#service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap ul li:not(:last-child) {
  margin-right: 14px;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap ul li:not(:last-child) {
    margin-right: 10px;
  }
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .shop-open-label .list-wrap ul li {
    background-size: 15px 15px;
    font-size: 12px;
    padding: 0 0 0 20px;
  }
}
#service-search .search-shop-list .list-item .item-footer .btn-area {
  padding: 0;
  text-align: center;
}
#service-search .search-shop-list .list-item .item-footer .btn {
  background-color: #DF0515;
  color: #fff;
  letter-spacing: 0;
  font-size: 16px;
  margin-left: auto;
  padding: 10px;
  max-width: 100%;
  width: 380px;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item .item-footer .btn {
    font-size: 14px;
    margin-left: auto;
    width: 100%;
  }
}
#service-search .search-shop-list .list-item .item-footer .btn.btn-not-accepted {
  border: 1px solid #949494;
  background-color: #fff;
  font-weight: normal;
  color: #383838;
  padding: 9px;
}
#service-search .search-shop-list .list-item--recommend {
  background-color: #fff;
  border-color: #DF0515;
  border-width: 2px;
  position: relative;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item--recommend .item-main {
    padding-top: 30px;
  }
}
#service-search .search-shop-list .list-item--recommend .recommend-label {
  background: #DF0515;
  position: absolute;
  font-weight: 500;
  display: flex;
  align-items: center;
  left: 0;
  top: 0;
  color: #fff;
  line-height: 1;
  padding: 4px 16px 6px 10px;
  z-index: 5;
  white-space: nowrap;
  border-radius: 0 0 12px 0;
}
@media (max-width: 767px) {
  #service-search .search-shop-list .list-item--recommend .recommend-label {
    border-radius: 0 0 12px 12px;
    padding: 2px 16px 5px;
    left: 50%;
    transform: translateX(-50%);
  }
}
#service-search .search-shop-list .list-item--recommend .recommend-label svg {
  display: block;
  margin-right: 4px;
  fill: #fff;
  height: auto;
  width: 14px;
}
#service-search .search-shop-list .list-item--recommend .recommend-label span {
  display: block;
}
#service-search .search-shop-list .list-item--recommend .item-footer {
  background-color: rgba(223, 5, 21, 0.05);
}
#service-search .search-shop-list .list-item--not-accepted {
  border-color: rgb(197.5, 205.1666666667, 209);
  box-shadow: none;
}
#service-search .search-shop-list .list-item--not-accepted .item-footer {
  background-color: rgb(234.3333333333, 237.0888888889, 238.4666666667);
}
#service-search .no-result {
  color: #DF0515;
  text-align: center;
  display: block;
  margin-top: 30px;
}
@media (max-width: 767px) {
  #service-search .no-result {
    font-size: 14px;
  }
}
#service-search .no-result span {
  display: inline-block;
}

/* sort service
 * ---------------------------------- */
.sort-service {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: 1000;
  pointer-events: none;
}
@media (max-width: 767px) {
  .sort-service {
    z-index: 999;
  }
}
.sort-service .sort-service-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.sort-service .sort-service-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  background-color: #fff;
  width: 450px;
  transition: transform 0.2s ease-out;
  transform: translateX(-450px);
}
@media (max-width: 767px) {
  .sort-service .sort-service-wrapper {
    width: 100%;
    transform: translateX(-100%);
  }
}
.sort-service .sort-service-close {
  text-align: right;
  padding: 10px 10px 0;
}
.sort-service .sort-service-close .hamburger-btn {
  background: none;
  border: none;
  outline: none;
  display: inline-block;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0px;
}
.sort-service .sort-service-close .hamburger-btn .btn-icon {
  height: 40px;
  width: 40px;
  position: relative;
}
.sort-service .sort-service-close .hamburger-btn .btn-icon .bar {
  background-color: #4c4c4c;
  height: 2px;
  position: absolute;
  left: 50%;
  margin-left: -12px;
  width: 24px;
}
.sort-service .sort-service-close .hamburger-btn .btn-icon .bar.bar-1 {
  top: 19px;
  transform: rotate(45deg);
}
.sort-service .sort-service-close .hamburger-btn .btn-icon .bar.bar-2 {
  top: 19px;
  transform: rotate(-45deg);
}
.sort-service .sort-service-form {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  max-height: 100vh;
  overflow: hidden;
}
.sort-service .sort-service-main {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: auto;
  min-height: 100%;
}
.sort-service .sort-service-main .sort-service-inner {
  padding: 0 20px 90px;
}
@media (max-width: 767px) {
  .sort-service .sort-service-main .sort-service-inner {
    padding: 0 20px 80px;
  }
}
.sort-service .sort-service-main .heading-1 {
  margin-top: 0;
}
.sort-service .sort-service-main .heading-2 {
  position: relative;
  padding-left: 20px;
  margin-left: -20px;
  margin-top: 40px;
  margin-bottom: 16px;
}
.sort-service .sort-service-main h3 {
  margin: 0 auto;
}
.sort-service .sort-service-main h3 .sort-checkbox {
  background: none;
}
.sort-service .sort-service-main h3 .sort-checkbox .sort-checkbox-text {
  font-weight: 500;
  font-size: 16px;
  padding-top: 10px;
  padding-left: 0;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .sort-service .sort-service-main h3 .sort-checkbox .sort-checkbox-text {
    font-size: 13px;
  }
}
.sort-service .sort-service-main .form-group .form-block {
  margin-bottom: 18px;
}
.sort-service .sort-service-main .form-group .form-block .form-select-wrap {
  background: #f0f2f3;
  border: none;
  border-radius: 50px;
}
.sort-service .sort-service-main .form-group .form-block .form-select-wrap::after {
  background: none;
  right: 20px;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4.5px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #383838;
  border-right: 2px solid #383838;
  transform: rotate(45deg);
  transform: rotate(135deg);
  margin-top: -6px;
}
.sort-service .sort-service-main .form-group .form-block .form-select-wrap select {
  padding: 16px 30px;
}
.sort-service .sort-service-main .form-group .form-block .sort-service-list {
  margin-bottom: 30px;
}
.sort-service .sort-service-main .form-group .form-block .sort-service-list li {
  margin-bottom: 2px;
}
.sort-service .sort-service-main .sort-radio {
  background-color: #f0f2f3;
  display: block;
  line-height: 1.6;
  position: relative;
  margin: 0;
}
.sort-service .sort-service-main .sort-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.sort-service .sort-service-main .sort-radio input[type=radio]:checked + .sort-radio-text {
  background-image: url("../img/common/radio_on.png");
}
.sort-service .sort-service-main .sort-radio .sort-radio-text {
  background: url("../img/common/radio_off.png") no-repeat right 18px top 50%;
  background-size: 24px 24px;
  display: block;
  font-weight: normal;
  padding: 20px 60px 20px 18px;
}
@media (max-width: 767px) {
  .sort-service .sort-service-main .sort-radio .sort-radio-text {
    background-size: 20px 20px;
    font-size: 12px;
  }
}
.sort-service .sort-service-main .sort-checkbox {
  background-color: #f0f2f3;
  display: block;
  line-height: 1.6;
  position: relative;
  margin: 0;
}
.sort-service .sort-service-main .sort-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.sort-service .sort-service-main .sort-checkbox input[type=checkbox]:checked + .sort-checkbox-text {
  background-image: url("../img/common/checkbox_on.png");
}
.sort-service .sort-service-main .sort-checkbox .sort-checkbox-text {
  background: url("../img/common/checkbox_off.png") no-repeat right 18px top 50%;
  background-size: 24px 24px;
  display: block;
  font-weight: normal;
  padding: 20px 60px 20px 18px;
}
@media (max-width: 767px) {
  .sort-service .sort-service-main .sort-checkbox .sort-checkbox-text {
    background-size: 20px 20px;
    font-size: 12px;
  }
}
.sort-service .form-buttons {
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 20px;
  width: 100%;
  z-index: 1;
  transform: translateZ(1px);
}
.sort-service .form-buttons .d-flex {
  justify-content: space-between;
}
.sort-service .form-buttons .r-btn {
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.04em;
  padding: 14px;
  width: 48%;
  border-radius: 50px;
}
.sort-service .form-buttons .btn-reset {
  background: #fff;
  border: 1px solid #a7a7a7;
  color: #383838;
}
.sort-service .form-buttons .btn-submit {
  background: #DF0515;
  border: 1px solid #DF0515;
  color: #fff;
}

.sort-opened .sort-service {
  pointer-events: auto;
}
.sort-opened .sort-service .sort-service-bg {
  opacity: 0.6;
}
.sort-opened .sort-service .sort-service-wrapper {
  left: 0;
  transform: translateX(0);
}

/* keyword
 * ---------------------------------- */
#service-search-keyword {
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  #service-search-keyword {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  #service-search-keyword h3 {
    display: none;
  }
}
#service-search-keyword h4 {
  padding: 3px 0 3px 24px;
}

#service-search-keyword h4.title-postal {
  background: url("../img/icon-postal.svg") no-repeat 0 2px/20px 20px;
}

@media (max-width: 767px) {
  #service-search-keyword h4.title-postal {
    background-position: 16px 2px;
  }
}
#service-search-keyword h4.title-address {
  background: url("../img/icon-mappin.svg") no-repeat 1px 2px/18px 20px;
}

@media (max-width: 767px) {
  #service-search-keyword h4.title-address {
    background-position: 17px 2px;
  }
}
#service-search-keyword h4.title-ss {
  background: url("../img/icon-ss.svg") no-repeat 0 2px/18px 20px;
}

@media (max-width: 767px) {
  #service-search-keyword h4.title-ss {
    background-position: 16px 2px;
  }
}
@media (max-width: 767px) {
  #service-search-keyword h4 {
    margin-top: 30px;
    border-bottom: 2px solid #DF0515;
    position: relative;
    margin-left: -16px;
    margin-right: -16px;
    padding-bottom: 10px;
    margin-bottom: 15px;
    padding-left: 42px;
  }
}
#service-search-keyword .form-group {
  padding-right: 48px;
  position: relative;
}

#service-search-keyword .form-group .form-parts-input input {
  height: 50px;
  padding: 10px 12px;
  border-radius: 4px 0 0 4px;
}

#service-search-keyword .form-parts-submit {
  position: absolute;
  right: 0;
  top: 0;
}

#service-search-keyword .form-parts-submit .btn {
  font-size: 14px;
  color: #fff;
  height: inherit;
  padding: 13px 12px;
  height: 50px;
  border-radius: 0 4px 4px 0;
  background: #1c6f94;
  background: linear-gradient(to bottom, #1c6f94 0%, #19698d 77%, #0e5372 100%);
}

#service-search-keyword .form-parts-submit .btn:hover {
  opacity: 1;
  background: #24789d;
  background: linear-gradient(to bottom, #24789d 0%, #1d7298 77%, #115a7a 100%);
}

/* pref
 * ---------------------------------- */
#service-search-map h3 {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #service-search-map h3 {
    border-bottom: 2px solid #DF0515;
    border-left: none;
    background: url("../img/icon-japanmap.svg") no-repeat 16px 0/22px 24px;
    padding: 3px 0 15px 46px;
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  #service-search-map #service-area-list {
    margin-left: -16px;
    margin-right: -16px;
    position: relative;
  }
}
/* city
 * ---------------------------------- */
#service-search-city h3 {
  border-left: none;
  background: url("../img/icon-mappin.svg") no-repeat 24px 2px/22px 26px;
  padding-left: 50px;
}

@media (max-width: 767px) {
  #service-search-city h3 {
    background-position: 16px 2px;
    background-size: 18px 20px;
    border-bottom: 2px solid #DF0515;
    padding: 3px 0 15px 40px;
    margin-bottom: 0;
  }
}
#service-search-city h4 {
  background: #949999;
  color: #fff;
  font-size: 14px;
  padding: 10px 16px;
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #service-search-city h4 {
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    margin-left: -16px;
    margin-right: -16px;
  }
}
#service-search-city .search-city-list {
  font-size: 0;
  list-style: none;
  padding: 0;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  #service-search-city .search-city-list {
    position: relative;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: 0;
  }
}
#service-search-city .search-city-list li {
  display: inline-block;
  font-size: 14px;
  margin-bottom: 14px;
  width: 25%;
  vertical-align: top;
}

@media (max-width: 767px) {
  #service-search-city .search-city-list li {
    display: block;
    border-bottom: 1px solid #bdbfbf;
    margin-bottom: 0;
    width: auto;
  }
}
#service-search-city .search-city-list li a {
  background: url("../img/icon-angle.svg") no-repeat 0 1px/11px 20px;
  color: #333;
  padding-left: 16px;
  position: relative;
}

#service-search-city .search-city-list li a .count {
  color: #979b9b;
  font-size: 13px;
}

@media (max-width: 767px) {
  #service-search-city .search-city-list li a .count {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: 30px;
  }
}
@media (max-width: 767px) {
  #service-search-city .search-city-list li a {
    background-position: right 12px top 50%;
    display: block;
    padding: 14px 80px 14px 16px;
  }
}
#service-search-city .shoplist-link {
  background: #DF0515 url("../img/icon-angle4.svg") no-repeat right 10px top 50%/7px 10px;
  color: #fff;
  float: right;
  display: block;
  font-weight: bold;
  font-size: 14px;
  padding: 8px 24px 8px 12px;
  text-decoration: none;
  border-radius: 3px;
}

@media (max-width: 767px) {
  #service-search-city .shoplist-link {
    font-size: 12px;
    background-size: 6px 8px;
    background-position: right 6px top 50%;
    padding: 6px 16px 6px 8px;
  }
}
@media (max-width: 340px) {
  #service-search-city .shoplist-link {
    margin-top: 5px;
  }
}
#service-search-city .shoplist-link:hover {
  opacity: 0.8;
}

#service-search-city .shoplist-select {
  display: block;
  float: right;
  background: #fff url("../img/icon-angle9.svg") no-repeat right 10px top 50%/10px 9px;
  border: 1px solid #0e7bac;
  border-radius: 4px;
}

@media (max-width: 767px) {
  #service-search-city .shoplist-select {
    background-position: right 8px top 50%;
  }
}
#service-search-city .shoplist-select .form-select-wrap {
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
}

#service-search-city .shoplist-select .form-select-wrap::after {
  content: none;
}

@media (max-width: 767px) {
  #service-search-city .shoplist-select .form-select-wrap {
    position: relative;
    margin-right: -30px;
  }
}
@media (max-width: 340px) {
  #service-search-city .shoplist-select {
    margin-top: 5px;
  }
}
#service-search-city .shoplist-select select {
  font-size: 14px;
  color: #0e7bac;
  padding: 5px 30px 6px 10px;
  line-height: 1.5;
  position: relative;
}

@media (max-width: 767px) {
  #service-search-city .shoplist-select select {
    font-size: 16px;
    padding: 3px 30px 3px 8px;
    transform: scale(0.75);
    transform-origin: left 50%;
  }
}
#service-search-city .search-shop-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  #service-search-city .search-shop-list {
    padding-top: 15px;
  }
}
#service-search-city .search-shop-list li {
  border: 1px solid #bdbfbf;
  margin-right: 2%;
  margin-bottom: 20px;
  margin-left: 0;
  margin-top: 0;
  position: relative;
  width: 23.5%;
  overflow: hidden;
  border-radius: 4px;
}

#service-search-city .search-shop-list li:nth-child(4n) {
  margin-right: auto;
}

@media (max-width: 767px) {
  #service-search-city .search-shop-list li {
    margin-right: 4%;
    width: 48%;
  }
  #service-search-city .search-shop-list li:nth-child(even) {
    margin-right: auto;
  }
}
#service-search-city .search-shop-list li a {
  color: #333;
  display: block;
  overflow: hidden;
}

#service-search-city .search-shop-list li a:hover {
  text-decoration: none;
}

#service-search-city .search-shop-list li .ss-icon {
  background-color: #eb1b24;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 11px;
  line-height: 1;
  color: #fff;
  text-align: center;
  padding: 3px 0 4px;
  font-weight: bold;
  width: 40px;
}

#service-search-city .search-shop-list li .ss-icon.ss-idemitsu {
  background-color: #eb1b24;
}

#service-search-city .search-shop-list li .ss-icon.ss-shell {
  background-color: #f2ae32;
}

#service-search-city .search-shop-list li .ss-icon.ss-apollostation {
  background: rgb(227, 0, 0);
  background: linear-gradient(90deg, rgb(255, 255, 0) 0%, rgb(227, 0, 0) 75%);
  padding: 3px 10px 4px;
  width: auto;
}

#service-search-city .search-shop-list li .ss-name {
  border-bottom: 1px solid #bdbfbf;
  font-size: 14px;
  font-weight: bold;
  padding: 22px 8px 6px 8px;
}

@media (max-width: 767px) {
  #service-search-city .search-shop-list li .ss-name {
    font-size: 13px;
  }
}
#service-search-city .search-shop-list li .ss-data {
  padding: 9px 8px 7px;
}

#service-search-city .search-shop-list li .ss-data .ss-data-list {
  margin-bottom: 3px;
}

#service-search-city .search-shop-list li .ss-data .ss-data-list dd {
  background-repeat: no-repeat;
  background-position: 0 2px;
  font-size: 12px;
  line-height: 1.4;
  margin-right: 0;
  margin-bottom: 5px;
  padding: 0 0 0 18px;
}

#service-search-city .search-shop-list li .ss-data .ss-data-list dd.item-address {
  background-image: url("../img/icon-shop-mappin.png");
  background-size: 10px 14px;
  background-position: 1px 3px;
}

#service-search-city .search-shop-list li .ss-data .ss-data-list dd.item-time {
  background-image: url("../img/icon-shop-time.png");
  background-size: 12px 12px;
}

#service-search-city .search-shop-list li .ss-data .ss-data-list dd.item-holyday {
  background-image: url("../img/icon-shop-holiday.png");
  background-size: 13px 13px;
}

#service-search-city .search-shop-list li .detail-link {
  background-color: #f2f6f7;
  text-align: center;
  padding: 8px;
  line-height: 1.3;
}

#service-search-city .search-shop-list li .detail-link span {
  background: url("../img/icon-angle5.svg") no-repeat 100% 50%/6px 9px;
  color: #0e7bac;
  font-size: 12px;
  font-weight: bold;
  padding-right: 10px;
}

/* city
 * ---------------------------------- */
#service-search-setting h3 {
  font-size: 20px;
  margin-top: 0;
  margin-bottom: 20px;
  position: relative;
  margin-left: -24px;
  margin-right: -24px;
  border-left: 6px solid #DF0515;
  padding: 3px 18px 3px;
}

@media (max-width: 767px) {
  #service-search-setting h3 {
    font-size: 16px;
    margin-left: -16px;
    margin-right: -16px;
    padding: 3px 16px 3px 10px;
  }
}
#service-search-setting table {
  border-left: 1px solid #bdbfbf;
  border-top: 1px solid #bdbfbf;
  width: 100%;
}

#service-search-setting table th {
  background: #f0f1f2;
  border-right: 1px solid #bdbfbf;
  border-bottom: 1px solid #bdbfbf;
  padding: 12px;
  width: 120px;
  vertical-align: middle;
}

@media (max-width: 767px) {
  #service-search-setting table th {
    font-size: 13px;
    padding: 12px 10px;
    width: 7.5em;
  }
}
#service-search-setting table th span {
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding-left: 22px;
}

#service-search-setting table th .th-area {
  background-image: url("../img/icon-mappin2.svg");
  background-size: 13px 18px;
  background-position: 3px 50%;
}

#service-search-setting table th .th-service {
  background-image: url("../img/icon-tool2.svg");
  background-size: 17px 18px;
}

#service-search-setting table th .th-setting {
  background-image: url("../img/icon-setting.svg");
  background-size: 16px 16px;
}

#service-search-setting table td {
  border-right: 1px solid #bdbfbf;
  border-bottom: 1px solid #bdbfbf;
  padding: 12px;
  vertical-align: middle;
}

@media (max-width: 767px) {
  #service-search-setting table td {
    font-size: 13px;
    padding: 12px 10px;
  }
}
#service-search-setting table td .table {
  display: table;
  margin-bottom: 0;
  width: auto;
}

@media (max-width: 767px) {
  #service-search-setting table td .table {
    width: 100%;
  }
}
#service-search-setting table td .table .col {
  display: table-cell;
  vertical-align: middle;
}

#service-search-setting table td .table .col span {
  display: block;
}

@media (max-width: 767px) {
  #service-search-setting table td .table .col:last-child {
    text-align: right;
  }
}
#service-search-setting table td .link-correct {
  color: #0e7bac;
  background: url("../img/icon-angle5.svg") no-repeat 100% 50%/7px 10px;
  margin: 0 0 0 1em;
  padding-left: 0;
  padding-right: 12px;
  border: none;
  font-weight: bold;
  white-space: nowrap;
  outline: none;
}

@media (max-width: 767px) {
  #service-search-setting table td .link-correct {
    float: right;
    margin-left: 0;
    font-size: 12px;
  }
}
.fixed-sort-btn {
  display: none;
  position: fixed;
  bottom: 40px;
  right: 12px;
  z-index: 10;
}

@media (min-width: 1040px) {
  .fixed-sort-btn {
    display: none !important;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  23. service-search(gmap)
 * :::::::::::::::::::::::::::::::::::::::::: */
#service-search-gmap .search-map-link {
  background: #fff url("../img/icon-circle_red.svg") no-repeat right 16px top 50%/20px 20px;
  color: #333;
  font-weight: bold;
  font-size: 18px;
  margin: 20px auto;
  display: block;
  padding: 16px;
  text-align: center;
  border: 2px solid #DF0515;
  -ms-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 4px;
  transition: all 0.14s ease-out;
}

#service-search-gmap .search-map-link:hover {
  text-decoration: none;
}

@media (min-width: 1040px) {
  #service-search-gmap .search-map-link:hover {
    color: #DF0515;
  }
}
@media (max-width: 767px) {
  #service-search-gmap .search-map-link {
    font-size: 16px;
    margin: 15px 8px;
    padding: 12px;
    text-align: left;
  }
}
#service-search-gmap .search-map-link span {
  background: #fff url("../img/icon-map.svg") no-repeat 0 50%/30px 25px;
  padding: 3px 0 3px 40px;
}

@media (max-width: 767px) {
  #service-search-gmap .search-map-link span {
    padding-left: 36px;
  }
}
#service-search-gmap .search-map-inner {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #service-search-gmap .search-map-inner {
    margin-top: 15px;
    padding: 0;
  }
}
#service-search-gmap .search-map-inner .ss-search-map-area {
  clear: both;
  margin: 12px 16px 16px;
}

#service-search-gmap h3 {
  background: #fff;
  float: left;
  margin-top: 0;
  padding: 0;
  font-size: 20px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #service-search-gmap h3 {
    float: none;
    padding-top: 16px;
    font-size: 16px;
    padding-left: 16px;
    margin-bottom: 16px;
  }
}
#service-search-gmap h3 span {
  background: #fff url("../img/icon-map.svg") no-repeat 0 50%/30px 25px;
  padding: 3px 0 3px 40px;
  display: inline-block;
}

@media (max-width: 767px) {
  #service-search-gmap h3 span {
    background-size: 26px 22px;
    padding-left: 34px;
  }
}
#service-search-gmap .search-map-icons {
  float: right;
  margin: 0 0 20px;
  padding: 0 0 0 16px;
}

#service-search-gmap .search-map-icons li {
  font-weight: bold;
  display: inline-block;
  margin-right: 16px;
  vertical-align: middle;
}

#service-search-gmap .search-map-icons li:last-child {
  margin-right: auto;
}

#service-search-gmap .search-map-icons li img {
  margin-right: 6px;
  width: 22px;
}

@media (max-width: 767px) {
  #service-search-gmap .search-map-icons {
    float: none;
    margin-bottom: 10px;
  }
}
/* map
 * ---------------------------------- */
#map {
  width: 100%;
  height: 400px;
  margin-bottom: 0;
}

#map .gm-style-iw-t::before {
  content: "";
  position: absolute;
  background: url("../img/common/gmap-marker-check.png") no-repeat 0 0/70px 70px;
  top: 100%;
  left: 0;
  margin-top: 5px;
  height: 70px;
  width: 70px;
  transform: translateX(-50%);
}

#map .gm-style-iw-c {
  padding: 8px 8px 8px 12px;
  border-radius: 4px;
}

#map .gm-style-iw span.tel {
  font-size: 16px;
}

#map .gm-style-iw p {
  width: 100%;
  margin: 8px 0 0;
}

#map .gm-style-iw h4 {
  font-size: 15px;
  margin: 10px 0 4px;
  padding-right: 10px;
}

#map .gm-style-iw .btn {
  display: inline-block;
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 0;
  margin: 0 2px;
  background: #DF0515;
  color: #fff;
  padding: 5px 12px;
  border-radius: 6px;
}
#map .gm-style-iw .btn.btn-not-accepted {
  border: 1px solid #3b4043;
  color: #3b4043;
  background: #fff;
  padding: 4px 11px;
}

#map .gm-style-iw .price {
  color: #DF0515;
  font-weight: bold;
  margin-right: 10px;
  font-size: 18px;
  display: inline-block;
  vertical-align: bottom;
}

#map .gm-style-iw .service-icons {
  margin: 5px auto 10px;
  display: flex;
}
#map .gm-style-iw .service-icons li {
  margin-right: 4px;
}
#map .gm-style-iw .service-icons li:last-child {
  margin-right: auto;
}
#map .gm-style-iw .service-icons li img {
  width: 30px;
}
@media (max-width: 767px) {
  #map .gm-style-iw .service-icons li img {
    width: 27px;
  }
}

#map .gm-style-iw-chr {
  position: absolute;
  top: 0;
  right: 0;
}
#map .gm-style-iw-chr button {
  height: auto !important;
  width: auto !important;
}
#map .gm-style-iw-chr button span {
  margin: 3px !important;
}

/* information
 * ---------------------------------- */
#ss-map-info .gray-box-header span.font-en {
  font-size: 12px;
  font-weight: bold;
  font-weight: 600;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  24. service-date
 * :::::::::::::::::::::::::::::::::::::::::: */
/* datepicker
 * ---------------------------------- */
#service-date-expiry .form-reserveday-result {
  border: 2px solid #cfd0d0;
  margin: 20px 0;
  width: 420px;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-result {
    width: 100%;
  }
}
#service-date-expiry .form-reserveday-result th {
  background-color: #f0f1f2;
  border-bottom: 1px solid #cfd0d0;
  padding: 14px 16px;
  font-weight: normal;
  width: 50%;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-result th {
    width: auto;
  }
}
#service-date-expiry .form-reserveday-result th.last {
  background-color: #e1f6f8;
  font-weight: bold;
}
#service-date-expiry .form-reserveday-result td {
  border-bottom: 1px solid #cfd0d0;
  padding: 14px 16px;
  white-space: nowrap;
}
#service-date-expiry .form-reserveday-result td.last {
  background-color: #f0fdfe;
  font-weight: bold;
}
#service-date-expiry .form-reserveday-result tbody tr:last-child th, #service-date-expiry .form-reserveday-result tbody tr:last-child td {
  border-bottom: none;
}

#service-date-expiry .expiry-message {
  margin-bottom: 32px;
}
#service-date-expiry .expiry-message h4 {
  color: #DF0515;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  #service-date-expiry .expiry-message h4 {
    font-size: 14px;
  }
}
#service-date-expiry .expiry-message p {
  margin-bottom: 24px;
}

#service-date-expiry .form-reserveday-time {
  padding-top: 16px;
  max-width: 420px;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time {
    padding-top: 6px;
  }
}
#service-date-expiry .form-reserveday-time h4 {
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time h4 {
    font-size: 14px;
    text-align: center;
    margin-bottom: 12px;
  }
}
#service-date-expiry .form-reserveday-time-table {
  margin-bottom: 30px;
  width: 100%;
}
#service-date-expiry .form-reserveday-time-table th {
  background-color: #f0f1f2;
  padding: 10px 0 10px 10px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  width: 62px;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time-table th {
    padding: 8px 0 8px 8px;
    width: auto;
    width: 50px;
  }
}
#service-date-expiry .form-reserveday-time-table td {
  background-color: #f0f1f2;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time-table td {
    padding: 8px;
  }
}
#service-date-expiry .form-reserveday-time-table tbody tr:nth-child(even) th, #service-date-expiry .form-reserveday-time-table tbody tr:nth-child(even) td {
  background-color: #f7f9fa;
}
#service-date-expiry .form-reserveday-time-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 6px;
  width: 100%;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time-list {
    gap: 0 4px;
  }
}
#service-date-expiry .form-reserveday-time-list li {
  width: 100%;
}
#service-date-expiry .form-reserveday-time-list li .time-input-label {
  display: block;
  font-weight: normal;
  margin: 0 auto;
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio {
  display: none;
}
#service-date-expiry .form-reserveday-time-list li .time-input-content {
  cursor: pointer;
  border: 1px solid #cfd1d1;
  background-color: #fff;
  line-height: 1.2;
  padding: 5px 3px 5px;
  border-radius: 6px;
}
#service-date-expiry .form-reserveday-time-list li .time-input-icon {
  display: block;
  position: relative;
  height: 30px;
  margin-bottom: 2px;
}
#service-date-expiry .form-reserveday-time-list li .time-input-icon::before {
  display: inline-block;
  background-color: #fff;
  border: 2px solid #DF0515;
  content: "";
  height: 20px;
  width: 20px;
  left: 50%;
  top: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}
#service-date-expiry .form-reserveday-time-list li .time-input-icon::after {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio:disabled + .time-input-content {
  color: #7f7f7f;
  cursor: default;
  background-color: #ebeced;
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio:disabled + .time-input-content .time-input-icon::before {
  background-color: #808080;
  border: none;
  height: 2px;
  width: 18px;
  transform: translate(-50%, -50%) rotate(45deg);
  border-radius: 0;
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio:disabled + .time-input-content .time-input-icon::after {
  background-color: #808080;
  content: "";
  height: 2px;
  width: 18px;
  transform: translate(-50%, -50%) rotate(-45deg);
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio:checked + .time-input-content {
  background-color: #fff8f6;
  border-color: #DF0515;
  box-shadow: 0 0 0 1px #DF0515;
}
#service-date-expiry .form-reserveday-time-list li .time-input-radio:checked + .time-input-content .time-input-text {
  color: #DF0515;
  font-weight: bold;
}
#service-date-expiry .form-reserveday-time-list li .time-input-text {
  display: block;
}
@media (max-width: 767px) {
  #service-date-expiry .form-reserveday-time-list li .time-input-text {
    font-size: 13px;
  }
}
@media (max-width: 360px) {
  #service-date-expiry .form-reserveday-time-list li .time-input-text {
    font-size: 12px;
  }
}

/* link
 * ---------------------------------- */
.link-pricelist {
  display: inline-block;
  background: rgba(20, 145, 167, 0.1);
  margin-left: 0.5em;
  padding: 4px 8px;
  border-radius: 16px;
  font-family: "Noto Sans JP";
  font-size: 13px;
  font-weight: bold;
  font-weight: 600;
  line-height: 1;
  vertical-align: bottom;
  text-decoration: none;
  cursor: pointer;
}

.link-pricelist:hover {
  background: rgba(20, 145, 167, 0.15);
  text-decoration: none;
}

.link-pricelist2 {
  background: #1c6f94;
  color: #fff;
}

.ss-box .ss-title2 {
  display: inline;
  font-weight: bold;
  font-weight: 600;
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  80. web document (common)
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-document-page {
  background-color: #222;
}

.web-document-container {
  font-size: 16px;
  background-color: #fff;
  margin: 0 auto;
  max-width: 640px;
}

.web-document-header {
  background-color: #374e7a;
  text-align: center;
  padding: 20px;
}
.web-document-header.warranty-header {
  background-color: #bf1424;
}
.web-document-header.warranty-header h1 .tit-icon span {
  color: #bf1424;
}

.web-document-header h1 {
  color: #fff;
  font-size: 32px;
  font-weight: bold;
}

.web-document-header h1 small {
  color: #fff;
  display: block;
  font-size: 84%;
  font-weight: bold;
  margin-bottom: 8px;
}

.web-document-header h1 .tit-icon {
  display: block;
  margin-top: 10px;
}

.web-document-header h1 .tit-icon span {
  background-color: #fff;
  font-size: 70%;
  color: #374e7a;
  display: inline-block;
  padding: 6px 20px;
}

.web-document-main h2 {
  background-color: #333333;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  padding: 16px;
  margin: 0 auto;
}

.web-document-main h2.tit-red {
  background-color: #bf1424;
}

.web-document-main h2.tit-blue {
  background-color: #374e7a;
}

.web-document-main .web-document-wrap {
  padding: 20px 20px;
}

.web-document-main .web-document-content-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.web-document-main .web-document-content-list li {
  padding: 20px 20px;
}

.web-document-main .web-document-content-list li:nth-child(even) {
  background-color: #f2f2f2;
}

.web-document-main .web-document-content-list li dl {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin: 0;
  width: 100%;
}

.web-document-main .web-document-content-list li dl dt {
  line-height: 1.4;
  margin-bottom: 0;
  font-weight: bold;
  margin-right: 1em;
  white-space: nowrap;
}

.web-document-main .web-document-content-list li dl dd {
  line-height: 1.4;
  margin-left: auto;
  margin-bottom: 0;
  font-weight: bold;
}

.web-document-main .web-document-content-list li .note {
  font-size: 85%;
  line-height: 1.4;
  margin: 8px auto 0;
}

.web-document-main .web-document-content-list li .note strong {
  color: #bf1424;
}

.web-document-main .web-document-list {
  padding: 0;
  margin: 0 auto 20px;
}

.web-document-main .web-document-list.last {
  margin-bottom: 0;
}

.web-document-main .web-document-list dd {
  padding-left: 1em;
  position: relative;
}

.web-document-main .web-document-list dd::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.web-document-main .terms-document {
  font-size: 14px;
}

.web-document-main .terms-document .scroll-box {
  max-height: 500px;
  border: 4px solid #ebebeb;
  padding: 25px 20px 25px 20px;
  overflow: auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.web-document-main .terms-document h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
  margin-top: 30px;
  line-height: 1.4;
}

.web-document-main .terms-document .scroll-box h4:first-child {
  margin-top: 0;
}

.web-document-main .terms-document ol {
  padding-left: 1.3em;
}

.web-document-main .terms-document ol li {
  margin-bottom: 0.3em;
}

.web-document-main .terms-document .list-num-type1 {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}

.web-document-main .terms-document .list-num-type1 li {
  text-indent: -1.7em;
  padding-left: 1.7em;
}

.web-document-main .terms-document .list-num-type1 li::before {
  counter-increment: item;
  content: "(" counter(item) ")";
  padding-right: 0.5em;
}

.web-document-main .terms-document .list-type1 {
  list-style: none;
  padding-left: 0;
}

.web-document-main .terms-document .list-type1 li {
  margin-bottom: 0.3em;
  position: relative;
  padding-left: 1em;
}

.web-document-main .terms-document .list-type1 li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "■";
}

.web-document-main .terms-document .note-box {
  border: 2px solid #ddd;
  padding: 20px 20px 10px;
  margin-top: 20px;
}

.web-document-main .terms-document .note-box h4 {
  text-align: center;
}

@media (max-width: 767px) {
  .web-document-container {
    font-size: 14px;
  }
  .web-document-header h1 {
    font-size: 26px;
  }
  .web-document-main h2 {
    font-size: 18px;
    padding: 12px;
  }
  .web-document-main .web-document-wrap {
    padding: 16px;
  }
  .web-document-main .web-document-content-list li {
    padding: 16px;
  }
  .web-document-main .terms-document .scroll-box {
    padding: 20px 15px;
    max-height: 420px;
  }
  .web-document-main .terms-document h4 {
    font-size: 14px;
    margin-bottom: 8px;
    margin-top: 24px;
  }
}
.web-document-main .web-document-content-list li dl dd table th {
  padding: 1px 1em 2px 0;
  white-space: nowrap;
}

.web-document-main .web-document-content-list li dl dd table td {
  padding: 1px 0;
}

.web-document-main .terms-document p {
  line-height: 1.7;
}

.web-document-main .terms-document .list-num-type2 {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
}

.web-document-main .terms-document .list-num-type2 li {
  text-indent: -2.2em;
  padding-left: 2.2em;
}

.web-document-main .terms-document .list-num-type2 li::before {
  counter-increment: item;
  content: "(*" counter(item) ")";
  padding-right: 0.5em;
}

@media (max-width: 767px) {
  .web-document-main .web-document-content-list li dl dd .warranty-date.fs-small {
    font-size: 82%;
    line-height: 1.65;
  }
  .web-document-main .warranty-sample h2.fs-large {
    font-size: 16px;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  81. web document warranty
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-document-main .warranty-sample {
  background-color: #575757;
  text-align: center;
}

.web-document-main .warranty-sample p {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 20px;
}

.web-document-main .warranty-sample .img {
  margin-bottom: 20px;
}

.web-document-main .warranty-sample .img img {
  width: 480px;
}

.web-document-main .warranty-contents .block {
  border-bottom: 1px solid #cbcbcb;
  padding: 20px 20px 30px;
}

.web-document-main .warranty-contents .block.last {
  border-bottom: none;
}

.web-document-main .warranty-contents .flex {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 20px;
  width: 100%;
}

.web-document-main .warranty-contents .img {
  margin-right: 5%;
  text-align: center;
  width: 30%;
}

.web-document-main .warranty-contents .img img {
  width: 120px;
}

.web-document-main .warranty-contents .txt {
  flex: 1;
}

.web-document-main .warranty-contents .txt h3 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0 auto 10px;
}

.web-document-main .warranty-contents .txt table {
  width: 100%;
}

.web-document-main .warranty-contents .txt table th {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  text-align: left;
  width: 5.2em;
  vertical-align: middle;
}

.web-document-main .warranty-contents .txt table th small {
  font-size: 60%;
  display: block;
}

.web-document-main .warranty-contents .txt table td {
  font-weight: bold;
  line-height: 1.4;
  font-size: 28px;
  vertical-align: middle;
}

.web-document-main .warranty-contents .txt table td small {
  font-size: 70%;
}

.web-document-main .warranty-contents .comment {
  background-color: #f2f2f2;
  padding: 15px 20px;
}

.web-document-main .warranty-contents .comment p {
  margin: 0;
  font-size: 14px;
}

.web-document-main .web-document-content-list li dl dd .warranty-date {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

.web-document-main .web-document-content-list li dl dd .warranty-date span {
  display: block;
}

.web-document-main .web-document-content-list li dl dd .warranty-date .start-date {
  margin-right: 0.2em;
}

.web-document-main .web-document-content-list li dl dd .warranty-date .finish-date {
  font-size: 80%;
}

@media (max-width: 767px) {
  .web-document-main .warranty-sample h2 {
    font-size: 14px;
  }
  .web-document-main .warranty-sample p {
    font-size: 14px;
    margin-bottom: 16px;
  }
  .web-document-main .warranty-sample .img {
    margin-bottom: 10px;
  }
  .web-document-main .warranty-sample .img img {
    width: 90%;
  }
  .web-document-main .warranty-contents .block {
    padding: 18px 16px 20px;
  }
  .web-document-main .warranty-contents .flex {
    margin-bottom: 12px;
  }
  .web-document-main .warranty-contents .img {
    margin-right: 3%;
  }
  .web-document-main .warranty-contents .txt h3 {
    font-size: 16px;
  }
  .web-document-main .warranty-contents .txt table th {
    font-size: 16px;
  }
  .web-document-main .warranty-contents .txt table td {
    font-size: 24px;
  }
  .web-document-main .warranty-contents .comment {
    padding: 15px;
  }
  .web-document-main .warranty-contents .comment p {
    line-height: 1.5;
    font-size: 12px;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  82. web document call
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-document-main .call-center {
  text-align: center;
}

.web-document-main .call-center .call-info {
  display: block;
  border: 2px solid #bf1424;
  color: #bf1424;
  font-weight: bold;
  max-width: 320px;
  padding: 2px;
  margin: 0 auto;
  border-radius: 20px;
}

.web-document-main .call-center .call-number a {
  background: url("../img/icon_freecall.png") no-repeat 0 64%;
  background-size: 37px 30px;
  font-size: 42px;
  font-weight: bold;
  display: inline-block;
  color: #333;
  line-height: 1.4;
  padding-left: 45px;
  text-decoration: none;
  white-space: nowrap;
}

.web-document-main .call-center .call-number a:hover,
.web-document-main .call-center .call-number a:focus {
  text-decoration: none;
}

.web-document-main .call-contents {
  margin-bottom: 10px;
}

.web-document-main .call-contents .block {
  border-bottom: 1px solid #cbcbcb;
  padding: 20px 20px 20px;
}

.web-document-main .call-contents .block.last {
  border-bottom: none;
}

.web-document-main .call-contents .flex {
  display: flex;
  width: 100%;
}

.web-document-main .call-contents .img {
  margin-right: 3%;
  text-align: center;
  width: 24%;
}

.web-document-main .call-contents .img img {
  width: 120px;
}

.web-document-main .call-contents .txt {
  flex: 1;
}

.web-document-main .call-contents .txt h3 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0 auto 8px;
}

.web-document-main .call-contents .txt p {
  margin-bottom: 0;
  line-height: 1.6;
}

.web-document-main .call-point h2 {
  background-color: #5c5c5c;
  font-size: 18px;
  padding: 12px;
}

@media (max-width: 767px) {
  .web-document-main .call-contents .block {
    padding: 18px 16px 20px;
  }
  .web-document-main .call-contents .img {
    margin-right: 3%;
    width: 30%;
  }
  .web-document-main .call-contents .txt h3 {
    font-size: 16px;
  }
  .web-document-main .call-point h2 {
    font-size: 16px;
  }
  .web-document-main .call-center .call-number a {
    font-size: 27px;
    font-size: 10.5vw;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  83. web document karte
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-document-header.karte-header {
  background-color: #333333;
  padding-top: 35px;
  padding-bottom: 40px;
}

.web-document-main .karte-items ul {
  list-style: none;
  padding-left: 0;
}

.web-document-main .karte-items ul li {
  border-bottom: 1px solid #cbcbcb;
}

.web-document-main .karte-items ul li dl {
  display: flex;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  margin: 0;
  width: 100%;
}

.web-document-main .karte-items ul li dl dt {
  font-weight: bold;
  padding: 20px;
  line-height: 1.3;
}

.web-document-main .karte-items ul li dl dt small {
  font-size: 75%;
}

.web-document-main .karte-items ul li dl dd {
  font-weight: bold;
  padding: 20px;
  line-height: 1.3;
  margin-left: auto;
  white-space: nowrap;
}

.web-document-main .karte-items ul li dl dd.no-padding {
  padding: 0;
  width: 70%;
}

.web-document-main .karte-items ul li dl dd table {
  width: 100%;
}

.web-document-main .karte-items ul li dl dd table th {
  border-bottom: 1px solid #cbcbcb;
  padding: 20px 20px 20px 0;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
}

.web-document-main .karte-items ul li dl dd table td {
  border-bottom: 1px solid #cbcbcb;
  padding: 20px;
  font-weight: bold;
  text-align: right;
  vertical-align: middle;
}

.web-document-main .karte-items ul li dl dd table tbody tr:last-child th,
.web-document-main .karte-items ul li dl dd table tbody tr:last-child td {
  border-bottom: none;
}

@media (max-width: 767px) {
  .web-document-header.karte-header {
    padding-top: 30px;
    padding-bottom: 35px;
  }
  .web-document-main .karte-items ul li dl dt {
    padding: 16px;
  }
  .web-document-main .karte-items ul li dl dd {
    padding: 16px 16px 16px 0;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  84. web price
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-price-page--v2 {
  background-color: #EAEBED;
}
.web-price-page--v2 .web-price-container {
  background-color: #fff;
}
.web-price-page--v2 .web-price-header {
  background-color: #fff;
  border-bottom: 3px solid #DF0515;
  text-align: center;
  padding: 30px 20px;
}
.web-price-page--v2 .web-price-header h1 {
  color: #DF0515;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 0;
}
.web-price-page--v2 .web-price-main {
  background-color: #f0f2f3;
  padding-bottom: 20px;
  padding-top: 20px;
}
@media (max-width: 767px) {
  .web-price-page--v2 .web-price-header h1 {
    font-size: 20px;
  }
  .web-price-page--v2 .web-price-main {
    padding-top: 10px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  85. web service
 * :::::::::::::::::::::::::::::::::::::::::: */
.web-service-page--v2 {
  background-color: #f0f2f3;
  padding-bottom: 20px;
}
.web-service-page--v2 .web-service-container {
  margin: 0 auto;
}
.web-service-page--v2 .web-service-header {
  background-color: #fff;
  border-bottom: 3px solid #DF0515;
  text-align: center;
  padding: 24px 20px;
  margin-bottom: 40px;
}
.web-service-page--v2 .web-service-header h1 {
  color: #DF0515;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 0;
}
.web-service-page--v2 .web-service-header h1 small {
  color: #383838;
  font-size: 16px;
  display: block;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-header {
    margin-bottom: 26px;
  }
  .web-service-page--v2 .web-service-header h1 {
    font-size: 20px;
  }
  .web-service-page--v2 .web-service-header h1 small {
    font-size: 14px;
  }
}
.web-service-page--v2 .web-service-nav {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav {
    margin-bottom: 65px;
  }
}
.web-service-page--v2 .web-service-nav__container {
  background-color: #fff;
  display: flex;
  align-items: center;
  padding: 30px 50px;
  border-radius: 24px;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__container {
    display: block;
    padding: 24px;
    border-radius: 16px;
  }
}
.web-service-page--v2 .web-service-nav__title {
  border-right: 1px solid #e6e6e6;
  line-height: 1.1;
  padding: 5px 40px 5px 0;
  margin-right: 40px;
  letter-spacing: 0.06em;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__title {
    border-right: none;
    border-bottom: 1px solid #e6e6e6;
    padding: 0 0 14px;
    margin-bottom: 6px;
    margin-right: auto;
  }
}
.web-service-page--v2 .web-service-nav__title .ja {
  font-size: 16px;
  font-weight: bold;
  display: block;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__title .ja {
    font-size: 14px;
  }
}
.web-service-page--v2 .web-service-nav__title .en {
  color: #DF0515;
  display: block;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  margin-top: 5px;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__title .en {
    font-size: 12px;
  }
}
.web-service-page--v2 .web-service-nav__list {
  flex: 1;
  font-size: 0;
  letter-spacing: 0;
  padding-top: 12px;
}
.web-service-page--v2 .web-service-nav__list li {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  display: inline-block;
  margin-right: 60px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__list li {
    font-size: 12px;
    margin-right: auto;
    margin-bottom: 12px;
    display: block;
  }
}
.web-service-page--v2 .web-service-nav__list li:last-child {
  margin-right: auto;
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__list li:last-child {
    margin-bottom: 0;
  }
}
.web-service-page--v2 .web-service-nav__list li a {
  background: url("../img/icon-circle_red.svg") no-repeat 0 4px;
  background-size: 16px 16px;
  color: #DF0515;
  display: inline-block;
  padding-left: 23px;
}
@media (min-width: 1040px) {
  .web-service-page--v2 .web-service-nav__list li a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .web-service-page--v2 .web-service-nav__list li a {
    background-size: 12px 12px;
    padding-left: 18px;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  90. entry-input
 * :::::::::::::::::::::::::::::::::::::::::: */
#entry-input .card {
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #entry-input .card {
    padding: 20px 16px;
  }
}
#entry-input h2 {
  border-left: 5px solid #DF0515;
  font-size: 18px;
  padding-left: 15px;
  position: relative;
  margin: 5px 0 14px -20px;
}
@media (max-width: 767px) {
  #entry-input h2 {
    font-size: 16px;
    padding-left: 11px;
    margin-left: -16px;
  }
}
#entry-input .attention-message {
  background-color: rgba(223, 5, 21, 0.06);
  margin: 20px 0 10px;
  padding: 20px;
}
@media (max-width: 767px) {
  #entry-input .attention-message {
    font-size: 12px;
    margin-bottom: 18px;
  }
}
#entry-input .attention-message a {
  background: url("../img/icon/icon_open_new.svg") no-repeat 100% 50%;
  background-size: 11px 11px;
  color: #00417D;
  padding-right: 13px;
  margin: 0 3px;
}
#entry-input .attention-message a:hover {
  text-decoration: underline;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  91. entry-complete
 * :::::::::::::::::::::::::::::::::::::::::: */
#entry-complete .card {
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #entry-complete .card {
    padding: 20px 16px;
  }
}
#entry-complete h3 {
  color: #DF0515;
  font-size: 20px;
  line-height: 1.55;
  margin-top: 0;
}
@media (max-width: 767px) {
  #entry-complete h3 {
    font-size: 18px;
  }
}
#entry-complete .btn-border {
  position: relative;
}
#entry-complete .btn-border::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -1px;
  width: 2px;
  height: 2px;
  border-top: 2px solid #DF0515 8px;
  border-right: 2px solid #DF0515 8px;
  transform: rotate(45deg);
  right: 18px;
}
#entry-complete .box {
  background-color: #F6F6F6;
  padding: 20px;
}
#entry-complete .box h4 {
  font-size: 18px;
  text-align: center;
  margin: 4px 0 12px;
}
@media (max-width: 767px) {
  #entry-complete .box h4 {
    font-size: 16px;
  }
}
#entry-complete .box ul li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
  position: relative;
}
#entry-complete .box ul li::before {
  content: "・";
}
#entry-complete .box ul li a {
  text-decoration: underline;
}
#entry-complete .box ul li a:hover {
  text-decoration: none;
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  92. authentication-input
 * :::::::::::::::::::::::::::::::::::::::::: */
#authentication-input .card {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #authentication-input .card {
    padding: 20px 16px;
  }
}
#authentication-input h3 {
  font-size: 18px;
  line-height: 1.55;
  margin-top: 0;
}
@media (max-width: 767px) {
  #authentication-input h3 {
    font-size: 16px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
 *  93. authentication-complete
 * :::::::::::::::::::::::::::::::::::::::::: */
#authentication-complete .card {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px;
  border-radius: 16px;
}
@media (max-width: 767px) {
  #authentication-complete .card {
    padding: 20px 16px;
  }
}
#authentication-complete h3 {
  background: url("../img/reserve/submit_mail.svg") no-repeat 51% 0;
  background-size: 61px 45px;
  font-size: 18px;
  line-height: 1.55;
  margin-top: 0;
  padding-top: 54px;
}
@media (max-width: 767px) {
  #authentication-complete h3 {
    background-size: 36px 36px;
    font-size: 18px;
    padding-top: 36px;
  }
}
#authentication-complete .btn-border {
  position: relative;
}
#authentication-complete .btn-border::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #DF0515;
  border-right: 2px solid #DF0515;
  transform: rotate(45deg);
  right: 18px;
}
#authentication-complete .box {
  background-color: #F6F6F6;
  padding: 20px;
}
#authentication-complete .box h4 {
  font-size: 18px;
  text-align: center;
  margin: 4px 0 12px;
}
@media (max-width: 767px) {
  #authentication-complete .box h4 {
    font-size: 16px;
  }
}
#authentication-complete .box ul li {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
  position: relative;
}
#authentication-complete .box ul li::before {
  content: "・";
}
#authentication-complete .box ul li a {
  text-decoration: underline;
}
#authentication-complete .box ul li a:hover {
  text-decoration: none;
}

/* ::::::::::::::::::::::::::::::::::::::::::
*  94. register-input
* :::::::::::::::::::::::::::::::::::::::::: */
#register-contents .card {
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  #register-input .card {
    border: none;
    border-radius: 0;
    padding: 20px 16px;
    position: relative;
    margin: 0 -16px 20px;
  }
}
#register-input h2 {
  border-left: 5px solid #DF0515;
  font-size: 18px;
  padding-left: 15px;
  position: relative;
  margin: 5px 0 14px -20px;
}
@media (max-width: 767px) {
  #register-input h2 {
    font-size: 16px;
    padding-left: 11px;
    margin-left: -16px;
  }
}
#register-input .register-input-email {
  background-color: #f0f2f3;
  font-weight: bold;
  padding: 20px;
  margin-bottom: 30px;
}
#register-input .register-input-email .email {
  background: url("../img/icon/icon_mail.svg") no-repeat 0 50%;
  background-size: 20px 16px;
  padding-left: 28px;
  display: inline-block;
}
#register-input .register-message {
  margin-bottom: 16px;
}
#register-input .form-parts-check-information .box {
  background-color: #f0f2f3;
}
#register-input .btn-area {
  padding: 10px 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::
*  95. register-confirm
* :::::::::::::::::::::::::::::::::::::::::: */
@media (max-width: 767px) {
  #register-confirm .card {
    border: none;
    border-radius: 0;
    padding: 20px 16px;
    position: relative;
    margin: 0 -16px 20px;
  }
}
#register-confirm h2 {
  border-left: 5px solid #DF0515;
  font-size: 18px;
  padding-left: 15px;
  position: relative;
  margin: 5px 0 14px -20px;
}
@media (max-width: 767px) {
  #register-confirm h2 {
    font-size: 16px;
    padding-left: 11px;
    margin-left: -16px;
  }
}
#register-confirm .register-confirm-table {
  border-top: 1px solid #d1d1d1;
  width: 100%;
}
@media (max-width: 767px) {
  #register-confirm .register-confirm-table {
    border-top: none;
  }
}
#register-confirm .register-confirm-table th, #register-confirm .register-confirm-table td {
  border-bottom: 1px solid #d1d1d1;
  padding: 18px;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  #register-confirm .register-confirm-table th, #register-confirm .register-confirm-table td {
    border-bottom: none;
    display: block;
    padding: 14px 12px;
  }
}
#register-confirm .register-confirm-table th {
  background-color: #f0f2f3;
  width: 11em;
}
@media (max-width: 767px) {
  #register-confirm .register-confirm-table th {
    padding: 8px 12px;
    width: auto;
  }
}
#register-confirm .attention-message {
  background-color: rgba(223, 5, 21, 0.06);
  margin: 20px 0 10px;
  padding: 20px;
}
@media (max-width: 767px) {
  #register-confirm .attention-message {
    font-size: 12px;
    margin-bottom: 18px;
  }
}
#register-confirm .attention-message a {
  background: url("../img/icon/icon_open_new.svg") no-repeat 100% 50%;
  background-size: 11px 11px;
  color: #00417D;
  padding-right: 13px;
  margin: 0 3px;
}
#register-confirm .attention-message a:hover {
  text-decoration: underline;
}
#register-confirm h3 {
  background-color: #949494;
  color: #fff;
  font-size: 18px;
  text-align: center;
  margin: 0;
  padding: 12px;
}
@media (max-width: 767px) {
  #register-confirm h3 {
    font-size: 14px;
    padding: 12px;
  }
}
#register-confirm .register-confirm-termcheck {
  margin-top: 20px;
}
#register-confirm .register-confirm-termcheck .box {
  background-color: #f0f2f3;
  overflow: auto;
  max-height: 400px;
  padding: 24px;
}
@media (max-width: 767px) {
  #register-confirm .register-confirm-termcheck .box {
    padding: 18px 15px;
  }
}
#register-confirm .register-confirm-termcheck .box h4:not(:first-child) {
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  #register-confirm .register-confirm-termcheck .box {
    font-size: 12px;
  }
  #register-confirm .register-confirm-termcheck .box h4 {
    font-size: 13px;
  }
}
#register-confirm .btn-area {
  padding: 10px 0;
}

/* ::::::::::::::::::::::::::::::::::::::::::
*  96. register-complete
* :::::::::::::::::::::::::::::::::::::::::: */
#register-complete .img {
  margin: 20px 0;
}
@media (max-width: 767px) {
  #register-complete .img img {
    width: 246px;
  }
}
#register-complete .mes {
  color: #DF0515;
  font-size: 22px;
  font-weight: bold;
}
@media (max-width: 767px) {
  #register-complete .mes {
    font-size: 18px;
  }
}

/* ::::::::::::::::::::::::::::::::::::::::::
*  97. accept-terms
* :::::::::::::::::::::::::::::::::::::::::: */
#accept-terms .gray-box {
  height: 400px;
  margin-bottom: 30px;
  overflow: auto;
}

#accept-terms .gray-box h3 {
  text-align: center;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 20px;
}

#accept-terms .btn-area {
  margin-top: 20px;
}

#accept-terms .btn-area .btn {
  margin: 0 10px;
  width: 220px;
}

#accept-terms .btn-area .btn-accept {
  background: #DF0515;
  border-bottom: 3px solid #b43d23;
  color: #fff;
}

#accept-terms .btn-area .btn-gray {
  background-color: #949999;
  border-bottom: 3px solid #696e6e;
  color: #fff;
}

@media (max-width: 767px) {
  #accept-terms .gray-box h3 {
    padding-top: 6px;
  }
  #accept-terms .gray-box {
    padding: 16px;
  }
  #accept-terms .btn-area {
    margin-top: 10px;
  }
  #accept-terms .btn-area .btn {
    margin: 0 6px;
    width: 130px;
  }
}
/* ::::::::::::::::::::::::::::::::::::::::::
 *  101. driveon-introduce
 * :::::::::::::::::::::::::::::::::::::::::: */
#content-wrap.page-driveon-introduce {
  background: #fff;
}

#content-wrap.page-driveon-introduce footer::before {
  content: none;
}

#content-wrap.page-driveon-introduce .site-footer {
  margin-top: 0;
}

.page-driveon-introduce .driveon-introduce-mv {
  background: #df0515 url("../img/driveon-introduce/mv_img_bg_2.png") no-repeat 50% 50%;
  background-size: cover;
  text-align: center;
  position: relative;
}
.page-driveon-introduce .driveon-introduce-mv .mv-img {
  display: block;
  padding: 0 40px;
}
.page-driveon-introduce .driveon-introduce-mv .mv-img img {
  width: 1280px;
}
.page-driveon-introduce .driveon-introduce-mv .dl-btns {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  position: absolute;
  right: 50%;
  margin-right: -640px;
  bottom: 214px;
  width: 322px;
  z-index: 1;
}
.page-driveon-introduce .driveon-introduce-mv .dl-btns li {
  margin-right: 4%;
  width: 48%;
}
.page-driveon-introduce .driveon-introduce-mv .dl-btns li:last-child {
  margin-right: 0;
}
.page-driveon-introduce .driveon-introduce-mv .dl-btns li img {
  display: block;
  width: 100%;
}
@media (max-width: 1380px) {
  .page-driveon-introduce .driveon-introduce-mv .dl-btns {
    right: 20px;
    bottom: 27%;
    margin-right: 0;
    width: 25%;
  }
}
.page-driveon-introduce .driveon-introduce-mv .mv-bar .app-icon {
  display: none;
}
.page-driveon-introduce .driveon-introduce-mv .mv-bar p {
  display: none;
}
@media (max-width: 767px) {
  .page-driveon-introduce .driveon-introduce-mv {
    background: #df0515;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-img {
    padding: 0;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-img img {
    width: 100%;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-bar {
    background-color: #fee334;
    padding: 3px 16px 8px;
    position: relative;
    z-index: 1;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-bar-inner {
    padding-left: 90px;
    position: relative;
    max-width: 370px;
    margin: 0 auto;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-bar .app-icon {
    display: block;
    position: absolute;
    left: -5px;
    top: -16px;
  }
  .page-driveon-introduce .driveon-introduce-mv .mv-bar p {
    display: block;
    text-align: center;
    margin: 0 0 5px;
  }
  .page-driveon-introduce .driveon-introduce-mv .dl-btns {
    position: static;
    right: auto;
    bottom: auto;
    margin-right: 0;
    width: 100%;
  }
}

.page-driveon-introduce .driveon-introduce-message {
  padding: 90px 0;
  text-align: center;
}

.page-driveon-introduce .driveon-introduce-message p {
  font-size: 18px;
  letter-spacing: 0.04em;
  line-height: 2;
}

.page-driveon-introduce .driveon-introduce-message p.copy {
  color: #df0515;
  font-weight: bold;
  font-size: 38px;
  line-height: 1.6;
  margin-bottom: 35px;
}

@media (max-width: 767px) {
  .page-driveon-introduce .driveon-introduce-message {
    padding: 50px 0;
  }
  .page-driveon-introduce .driveon-introduce-message p {
    font-size: 14px;
    line-height: 1.8;
  }
  .page-driveon-introduce .driveon-introduce-message p.copy {
    font-size: 25px;
    margin-bottom: 15px;
  }
}
@media (max-width: 400px) {
  .page-driveon-introduce .driveon-introduce-message p {
    font-size: 3.4vw;
  }
}
@media (max-width: 350px) {
  .page-driveon-introduce .driveon-introduce-message p {
    font-size: 3vw;
  }
  .page-driveon-introduce .driveon-introduce-message p.copy {
    font-size: 20px;
  }
}
.page-driveon-introduce .driveon-introduce-service {
  background-color: #fff2ef;
  padding: 90px 0;
}

.page-driveon-introduce .driveon-introduce-service h2 {
  text-align: center;
  position: relative;
  padding-bottom: 28px;
  margin-bottom: 53px;
}

.page-driveon-introduce .driveon-introduce-service h2::after {
  background-color: #df0515;
  content: "";
  height: 2px;
  left: 50%;
  margin-left: -25px;
  position: absolute;
  bottom: 0;
  width: 50px;
}

.page-driveon-introduce .driveon-introduce-service ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.page-driveon-introduce .driveon-introduce-service ul li {
  background-color: #fff;
  border: 2px solid #df0515;
  margin-right: 2.6%;
  margin-bottom: 28px;
  padding: 30px 25px 36px;
  width: 31.6%;
  border-radius: 20px;
}

.page-driveon-introduce .driveon-introduce-service ul li:nth-child(3) {
  margin-right: auto;
}

.page-driveon-introduce .driveon-introduce-service ul li:last-child {
  margin-right: 0;
}

.page-driveon-introduce .driveon-introduce-service ul li .img {
  text-align: center;
  margin-bottom: 12px;
}

.page-driveon-introduce .driveon-introduce-service ul li .img img {
  width: 152px;
}

.page-driveon-introduce .driveon-introduce-service ul li h3 {
  color: #df0515;
  font-size: 21px;
  margin-bottom: 20px;
  text-align: center;
}

.page-driveon-introduce .driveon-introduce-service ul li p {
  font-size: 15px;
  margin-bottom: 0;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .page-driveon-introduce .driveon-introduce-service {
    padding: 50px 0 40px;
  }
  .page-driveon-introduce .driveon-introduce-service h2 {
    margin-bottom: 30px;
    margin-top: 0;
    padding-bottom: 20px;
  }
  .page-driveon-introduce .driveon-introduce-service h2 img {
    width: 230px;
  }
  .page-driveon-introduce .driveon-introduce-service ul {
    display: block;
  }
  .page-driveon-introduce .driveon-introduce-service ul li {
    border-width: 1px;
    margin-right: auto;
    padding: 20px 22px 30px;
    margin-bottom: 20px;
    width: auto;
    border-radius: 10px;
  }
  .page-driveon-introduce .driveon-introduce-service ul li .img img {
    width: 110px;
  }
  .page-driveon-introduce .driveon-introduce-service ul li h3 {
    font-size: 17px;
    margin-top: 14px;
    margin-bottom: 12px;
  }
  .page-driveon-introduce .driveon-introduce-service ul li p {
    font-size: 12px;
  }
}
.page-driveon-introduce .driveon-introduce-merit {
  padding: 80px 0;
  text-align: center;
}

.page-driveon-introduce .driveon-introduce-merit h2 {
  background: url("../img/driveon-introduce/merit_arrow.png") no-repeat 50% 100%;
  background-size: 31px 45px;
  padding-bottom: 65px;
  margin-bottom: 10px;
}

.page-driveon-introduce .driveon-introduce-merit h2 + p {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-bottom: 50px;
}

.page-driveon-introduce .driveon-introduce-merit .img {
  margin-bottom: 32px;
}

.page-driveon-introduce .driveon-introduce-merit .txt p {
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
}

.page-driveon-introduce .driveon-introduce-merit .txt .caps {
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 0.02em;
}

@media (max-width: 767px) {
  .page-driveon-introduce .driveon-introduce-merit {
    padding: 20px 0 40px;
  }
  .page-driveon-introduce .driveon-introduce-merit h2 {
    background-size: 18px 26px;
    padding-bottom: 40px;
  }
  .page-driveon-introduce .driveon-introduce-merit h2 img {
    width: 270px;
  }
  .page-driveon-introduce .driveon-introduce-merit h2 + p {
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  .page-driveon-introduce .driveon-introduce-merit .img {
    margin-bottom: 20px;
  }
  .page-driveon-introduce .driveon-introduce-merit .txt p {
    line-height: 1.5;
    font-size: 14px;
    margin-bottom: 20px;
  }
  .page-driveon-introduce .driveon-introduce-merit .txt .caps {
    font-size: 10px;
    text-align: left;
  }
}
.page-driveon-introduce .driveon-introduce-step {
  background-color: #fff2ef;
  padding: 90px 0;
}

.page-driveon-introduce .driveon-introduce-step h2 {
  font-size: 30px;
  text-align: center;
  position: relative;
  padding-bottom: 28px;
  margin-bottom: 53px;
}

.page-driveon-introduce .driveon-introduce-step h2::after {
  background-color: #df0515;
  content: "";
  height: 2px;
  left: 50%;
  margin-left: -25px;
  position: absolute;
  bottom: 0;
  width: 50px;
}

.page-driveon-introduce .driveon-introduce-step .large {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.04em;
}

.page-driveon-introduce .driveon-introduce-step .large + p {
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 15px;
  margin-bottom: 50px;
}

.page-driveon-introduce .driveon-introduce-step .large + p strong {
  color: #df0515;
  font-weight: normal;
}

.page-driveon-introduce .driveon-introduce-step .block {
  background-color: #fff;
  padding: 35px 60px 0;
  margin-bottom: 40px;
  border-radius: 20px;
}

.page-driveon-introduce .driveon-introduce-step .block h3 {
  border-bottom: 2px solid #df0515;
  color: #df0515;
  font-size: 28px;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
  margin-top: 0;
  padding-bottom: 36px;
  margin-bottom: 0;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li {
  border-bottom: 1px solid #f0f0f0;
  padding: 40px 0;
  display: flex;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li:last-child {
  border-bottom: none;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt {
  padding: 12px 30px 10px 64px;
  position: relative;
  flex: 1;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt .step {
  position: absolute;
  left: 0;
  top: 0;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p {
  font-size: 15px;
  margin-bottom: 24px;
  line-height: 1.6;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p strong {
  color: #df0515;
  font-weight: normal;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p.small {
  font-size: 12px;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p.link {
  margin-top: 40px;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p a {
  color: #3279ed;
  text-decoration: underline;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p a:hover {
  text-decoration: none;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li .img {
  text-align: center;
  width: 42.8%;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half {
  padding: 0;
  display: flex;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half > div {
  padding: 40px 0;
  width: 50%;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half .childlist-left {
  border-right: 1px solid #f0f0f0;
  padding-right: 7%;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half .childlist-right {
  padding-left: 7%;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4 {
  color: #df0515;
  font-size: 19px;
  text-align: center;
  margin: 0;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4::before {
  content: "《";
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4::after {
  content: "》";
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li {
  padding: 35px 0 0;
  border-bottom: none;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li {
  display: block;
}

.page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li .img {
  width: 100%;
}

@media (max-width: 767px) {
  .page-driveon-introduce .driveon-introduce-step {
    padding: 50px 0;
  }
  .page-driveon-introduce .driveon-introduce-step h2 {
    font-size: 19px;
    padding-bottom: 22px;
    margin-bottom: 20px;
  }
  .page-driveon-introduce .driveon-introduce-step .large {
    font-size: 16px;
  }
  .page-driveon-introduce .driveon-introduce-step .large + p {
    font-size: 12px;
    margin-bottom: 30px;
  }
  .page-driveon-introduce .driveon-introduce-step .block {
    padding: 28px 26px;
    border-radius: 10px;
  }
  .page-driveon-introduce .driveon-introduce-step .block h3 {
    font-size: 18px;
    padding-bottom: 24px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li {
    display: block;
    border-bottom: none;
    padding: 30px 0 0;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt {
    padding: 9px 0px 10px 52px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt .step {
    width: 40px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p {
    font-size: 12px;
    margin-bottom: 18px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .img {
    width: auto;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p.small {
    font-size: 10px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li .txt p.link {
    margin-top: 18px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half {
    margin-top: 30px;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half > div {
    padding: 0;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4 {
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 0;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4::before,
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half h4::after {
    content: none;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li {
    padding: 30px 0 0;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li:nth-child(1) .txt {
    min-height: 5em;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li:nth-child(2) .txt {
    min-height: 6em;
  }
  .page-driveon-introduce .driveon-introduce-step .block .step-flow li.list-item-half ol li .txt p {
    margin-bottom: 10px;
  }
}
@media (max-width: 350px) {
  .page-driveon-introduce .driveon-introduce-step .block h3 {
    font-size: 16px;
  }
}
.page-driveon-introduce .end-bnr {
  position: relative;
}
.page-driveon-introduce .end-bnr .dl-btns {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 20.5%;
  bottom: 15%;
  z-index: 1;
}
.page-driveon-introduce .end-bnr .dl-btns li {
  float: left;
  margin-right: 14px;
}
.page-driveon-introduce .end-bnr .dl-btns li:last-child {
  margin-right: 0;
}
.page-driveon-introduce .end-bnr .dl-btns li img {
  width: 166px;
}
@media (max-width: 1039px) {
  .page-driveon-introduce .end-bnr .dl-btns li img {
    width: 144px;
  }
}
@media (max-width: 767px) {
  .page-driveon-introduce .end-bnr {
    border-radius: 16px;
  }
  .page-driveon-introduce .end-bnr .dl-btns {
    width: 94%;
    left: 5.8%;
    bottom: 9%;
    margin-top: 12px;
    display: flex;
  }
  .page-driveon-introduce .end-bnr .dl-btns li {
    float: none;
    margin-right: 4%;
    width: 43.2%;
  }
  .page-driveon-introduce .end-bnr .dl-btns li img {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* ::::::::::::::::::::::::::::::::::::::::::
 *  999. print
 * :::::::::::::::::::::::::::::::::::::::::: */
@media print {
  html {
    background: none;
  }
  header {
    position: static;
  }
  #content-wrap {
    padding-top: 0;
    /* sp */
  }
}
@keyframes modify {
  0% {
    padding-top: 50px;
    margin-top: -50px;
  }
  100% {
    padding-top: 0;
    margin-top: 0;
  }
}
#oil-item1:target {
  animation: modify 0.1s;
}/*# sourceMappingURL=common.css.map */