@media only screen and (max-width: 768px) {
  .c-mv {
    background-image: url("../img/img-main_sp.jpg");
  }
}
@media print, screen and (min-width: 769px) {
  .c-mv {
    background-image: url("../img/img-main.jpg");
  }
}

@media only screen and (max-width: 768px) {
  .p-maintenance-inner {
    margin-bottom: 16vw;
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-maintenance-inner {
    margin-inline: auto;
    width: min(990px, 70.7142857143vw);
  }
}

.p-maintenance-catch {
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-maintenance-catch {
    font-size: 6.1333333333vw;
    margin-bottom: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-maintenance-catch {
    font-size: min(32px, 2.2857142857vw);
    margin-bottom: min(53px, 3.7857142857vw);
  }
}
.p-maintenance-catch::after {
  background: var(--grad-blue);
  content: "";
  --grad-deg: 90deg;
  display: block;
  left: 50%;
  position: absolute;
  translate: -50%;
}
@media only screen and (max-width: 768px) {
  .p-maintenance-catch::after {
    bottom: -5.3333333333vw;
    height: 0.5333333333vw;
    width: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-maintenance-catch::after {
    bottom: max(-25px, -1.7857142857vw);
    height: min(2px, 0.1428571429vw);
    width: min(50px, 3.5714285714vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-maintenance-text {
    font-size: 3.7333333333vw;
    margin-bottom: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-maintenance-text {
    font-size: min(15px, 1.0714285714vw);
    line-height: 1.8;
    margin-bottom: min(55px, 3.9285714286vw);
    text-align: center;
  }
}

.p-cost {
  background: var(--bc03);
}
@media only screen and (max-width: 768px) {
  .p-cost {
    margin-bottom: 13.3333333333vw;
    padding: 5.3333333333vw 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost {
    margin-bottom: min(80px, 5.7142857143vw);
    padding: min(30px, 2.1428571429vw) min(30px, 2.1428571429vw) min(40px, 2.8571428571vw);
  }
}

.p-cost-notice {
  background: #fff;
  color: var(--bc01);
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center start;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-cost-notice {
    border: 0.8vw solid var(--bc01);
    border-radius: 4vw;
    font-size: 3.6vw;
    height: 8vw;
    letter-spacing: 0;
    margin-bottom: 4.5333333333vw;
    padding-left: 8.5333333333vw;
    padding-top: 0.4vw;
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-notice {
    border: min(4px, 0.2857142857vw) solid var(--bc01);
    border-radius: min(21px, 1.5vw);
    font-size: min(18px, 1.2857142857vw);
    height: min(42px, 3vw);
    margin-bottom: min(20px, 1.4285714286vw);
    padding-left: min(42px, 3vw);
    padding-top: min(3px, 0.2142857143vw);
    width: min(404px, 28.8571428571vw);
  }
}
.p-cost-notice::before {
  background: url("../../../img/icon-notice.svg") no-repeat left top/cover;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-cost-notice::before {
    height: 5.8666666667vw;
    left: 0.8vw;
    width: 5.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-notice::before {
    height: min(30px, 2.1428571429vw);
    left: min(4px, 0.2857142857vw);
    width: min(30px, 2.1428571429vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-cost-body {
    padding-inline: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-body {
    padding-inline: min(10px, 0.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-cost-items {
    display: -ms-grid;
    display: grid;
    gap: 2.6666666667vw 1.3333333333vw;
    -ms-grid-columns: 1fr 1.3333333333vw 1fr 1.3333333333vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-items {
    display: flex;
    gap: min(20px, 1.4285714286vw);
    margin-bottom: min(15px, 1.0714285714vw);
  }
}

.p-cost-item {
  background: #6464d9;
}
@media only screen and (max-width: 768px) {
  .p-cost-item {
    padding: 0 0.9333333333vw 0.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-item {
    padding: 0 min(5px, 0.3571428571vw) min(5px, 0.3571428571vw);
    width: min(135px, 9.6428571429vw);
  }
}

.p-cost-heading {
  color: #fff;
  display: -ms-grid;
  display: grid;
  place-content: center;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-cost-heading {
    font-size: 2.6666666667vw;
    height: 10.4vw;
    letter-spacing: 0;
    line-height: 1.3;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-heading {
    font-size: min(15px, 1.0714285714vw);
    height: min(60px, 4.2857142857vw);
    line-height: 1.333;
  }
}

.p-cost-item-body {
  background: rgba(255, 255, 255, 0.7);
  color: #6464d9;
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center;
  place-items: center;
}
@media only screen and (max-width: 768px) {
  .p-cost-item-body {
    height: 12vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-item-body {
    height: min(68px, 4.8571428571vw);
  }
}

.p-cost-amount {
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .p-cost-amount {
    font-size: 2.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-amount {
    font-size: min(15px, 1.0714285714vw);
  }
}
.p-cost-amount span {
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .p-cost-amount span {
    font-size: 6vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-amount span {
    font-size: min(34px, 2.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-cost-amount-sub {
    font-size: 2.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-amount-sub {
    font-size: min(12px, 0.8571428571vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-cost-offer {
    margin-bottom: 8.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-offer {
    margin-bottom: min(34px, 2.4285714286vw);
  }
}
.p-cost-offer li {
  margin-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 768px) {
  .p-cost-offer li {
    font-size: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-cost-offer li {
    font-size: min(13px, 0.9285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-recommend {
    background: #fff url("../img/pict-recommend_sp.png") no-repeat left bottom/65.7333333333vw auto;
    padding: 1.3333333333vw 2.6666666667vw 38.1333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recommend {
    background: #fff url("../img/pict-recommend.png") no-repeat left bottom/min(283px, 20.2142857143vw) auto;
    padding: min(10px, 0.7142857143vw) min(10px, 0.7142857143vw) min(54px, 3.8571428571vw);
  }
}

.p-recommend-title {
  background: var(--bc01);
  color: #fff;
  display: -ms-grid;
  display: grid;
  place-content: center;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-recommend-title {
    font-size: 4.2666666667vw;
    height: 9.4666666667vw;
    margin-bottom: 3.6vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recommend-title {
    font-size: min(22px, 1.5714285714vw);
    height: min(48px, 3.4285714286vw);
    margin-bottom: min(54px, 3.8571428571vw);
  }
}
.p-recommend-title::before {
  border-color: transparent transparent var(--bc01) transparent;
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  left: 50%;
  position: absolute;
  translate: -50%;
  width: 0;
}
@media only screen and (max-width: 768px) {
  .p-recommend-title::before {
    border-width: 0 2.4vw 3.4666666667vw 2.4vw;
    top: -3.4666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recommend-title::before {
    border-width: 0 min(13px, 0.9285714286vw) min(20px, 1.4285714286vw) min(13px, 0.9285714286vw);
    top: max(-20px, -1.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-recommend-text {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recommend-text {
    font-size: min(15px, 1.0714285714vw);
    padding-left: min(287px, 20.5vw);
  }
}
.p-recommend-text strong {
  color: var(--bc01);
}
@media only screen and (max-width: 768px) {
  .p-recommend-text br {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .p-merit {
    margin-bottom: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit {
    margin-bottom: min(80px, 5.7142857143vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-merit-item {
    display: flex;
  }
}
@media only screen and (max-width: 768px) {
  .p-merit-item + .p-merit-item {
    margin-top: 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-item + .p-merit-item {
    margin-top: min(10px, 0.7142857143vw);
  }
}

.p-merit-summary {
  background: var(--bc03);
  flex-shrink: 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-merit-summary {
    padding: 5.8666666667vw 4vw 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-summary {
    height: min(173px, 12.3571428571vw);
    padding: min(20px, 1.4285714286vw) min(20px, 1.4285714286vw) 0;
    width: min(375px, 26.7857142857vw);
  }
}
.p-merit-summary::before {
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}
@media only screen and (max-width: 768px) {
  .p-merit-summary::before {
    border-width: 3.4666666667vw 2.4vw 0 2.4vw;
    border-color: var(--bc03) transparent transparent transparent;
    bottom: -3.4666666667vw;
    left: 50%;
    translate: -50%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-summary::before {
    border-width: min(15px, 1.0714285714vw) 0 min(15px, 1.0714285714vw) min(20px, 1.4285714286vw);
    border-color: transparent transparent transparent var(--bc03);
    right: max(-20px, -1.4285714286vw);
    top: 50%;
    translate: 0 -50%;
  }
}

.p-merit-summary-heading {
  background: var(--bc01);
  color: #fff;
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-merit-summary-heading {
    border-radius: 3.3333333333vw;
    font-size: 3.7333333333vw;
    height: 6.6666666667vw;
    margin-bottom: 3.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-summary-heading {
    border-radius: min(14px, 1vw);
    font-size: min(15px, 1.0714285714vw);
    height: min(28px, 2vw);
    margin-bottom: min(12px, 0.8571428571vw);
  }
}

.p-merit-lead {
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .p-merit-lead {
    font-size: 3.7333333333vw;
    padding-inline: 2.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-lead {
    font-size: min(15px, 1.0714285714vw);
    padding-inline: min(20px, 1.4285714286vw);
  }
}

.p-merit-detail {
  background: var(--bc01);
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-merit-detail {
    padding: 6vw 4.5333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-detail {
    padding: min(21px, 1.5vw) min(52px, 3.7142857143vw) 0;
  }
}

.p-merit-heading-sub {
  color: #68a4e8;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .p-merit-heading-sub {
    font-size: 4.2666666667vw;
    margin-bottom: 2.6666666667vw;
    text-align: center;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-heading-sub {
    font-size: min(20px, 1.4285714286vw);
    margin-bottom: min(3px, 0.2142857143vw);
  }
}

.p-merit-heading {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .p-merit-heading {
    font-size: 4.2666666667vw;
    margin-bottom: 2.6666666667vw;
    text-align: center;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-heading {
    font-size: min(20px, 1.4285714286vw);
    line-height: 1.5;
    margin-bottom: min(10px, 0.7142857143vw);
  }
}

.p-merit-text {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .p-merit-text {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-merit-text {
    font-size: min(15px, 1.0714285714vw);
  }
}

.p-merit-offer li {
  color: #fff;
}
@media print, screen and (min-width: 769px) {
  .p-merit-offer li {
    font-size: min(13px, 0.9285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-voice {
    margin-bottom: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice {
    margin-bottom: min(80px, 5.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-voice-item {
    position: relative;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-item {
    display: flex;
    gap: min(40px, 2.8571428571vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-voice-item:not(:last-child) {
    margin-bottom: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-item:not(:last-child) {
    margin-bottom: min(50px, 3.5714285714vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-voice-image {
    left: 0;
    position: absolute;
    top: 0;
    width: 26.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-image {
    flex-shrink: 0;
    width: min(300px, 21.4285714286vw);
  }
}
.p-voice-image img {
  height: auto;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .p-voice-detail {
    padding-top: 2.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-detail {
    padding-top: min(12px, 0.8571428571vw);
  }
}

.p-voice-category {
  border-bottom: 1px solid var(--bc04);
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .p-voice-category {
    font-size: 4.2666666667vw;
    margin-bottom: 2vw;
    padding-bottom: 2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-category {
    font-size: min(20px, 1.4285714286vw);
    margin-bottom: min(10px, 0.7142857143vw);
    padding-bottom: min(10px, 0.7142857143vw);
  }
}

.p-voice-heading {
  color: var(--bc01);
}
@media only screen and (max-width: 768px) {
  .p-voice-heading {
    font-size: 4.2666666667vw;
    line-height: 1.5;
    margin-bottom: 24vw;
    padding-left: 29.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-heading {
    font-size: min(24px, 1.7142857143vw);
    margin-bottom: min(10px, 0.7142857143vw);
  }
}

.p-voice-text {
  letter-spacing: 0.08em;
}
@media only screen and (max-width: 768px) {
  .p-voice-text {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-voice-text {
    font-size: min(15px, 1.0714285714vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-menu {
    margin-bottom: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu {
    margin-bottom: min(80px, 5.7142857143vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-menu-items {
    display: flex;
    gap: min(20px, 1.4285714286vw);
  }
}

.p-menu-item {
  background: var(--bc03);
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-menu-item {
    padding: 2.6666666667vw 2.6666666667vw 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-item {
    padding: min(10px, 0.7142857143vw);
  }
}
.p-menu-item:first-child {
  background: #e5edf6;
}

.p-menu-title {
  background: var(--bc04);
  color: var(--bc01);
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-menu-title {
    font-size: 4.2666666667vw;
    height: 11.6vw;
    margin-bottom: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-title {
    font-size: min(20px, 1.4285714286vw);
    height: min(48px, 3.4285714286vw);
    margin-bottom: min(20px, 1.4285714286vw);
  }
}

.p-menu-main {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .p-menu-main {
    gap: 1.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-main {
    gap: min(20px, 1.4285714286vw);
  }
}

.p-menu-heading {
  background: url("../img/bg-balloon.png") no-repeat left top/cover;
  color: var(--bc01);
  display: -ms-grid;
  display: grid;
  flex-shrink: 0;
  letter-spacing: 0.08em;
  place-content: end start;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-menu-heading {
    font-size: 3.2vw;
    height: 23.2vw;
    padding-bottom: 5.8666666667vw;
    padding-left: 2.1333333333vw;
    width: 28.8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-heading {
    font-size: min(15px, 1.0714285714vw);
    height: min(113px, 8.0714285714vw);
    padding-bottom: min(22px, 1.5714285714vw);
    padding-left: min(18px, 1.2857142857vw);
    width: min(142px, 10.1428571429vw);
  }
}
.p-menu-heading::before {
  background: url("../../../img/icon-support.png") no-repeat left top/cover;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  translate: -50%;
}
@media only screen and (max-width: 768px) {
  .p-menu-heading::before {
    height: 5.7333333333vw;
    top: 5.8666666667vw;
    width: 7.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-heading::before {
    height: min(31px, 2.2142857143vw);
    top: min(30px, 2.1428571429vw);
    width: min(38px, 2.7142857143vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-menu-list {
    margin-top: -0.3em;
  }
}
.p-menu-list li {
  letter-spacing: 0.08em;
  margin-left: 1em;
  text-indent: -1em;
}
@media only screen and (max-width: 768px) {
  .p-menu-list li {
    font-size: 2.8vw;
    letter-spacing: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-list li {
    font-size: min(15px, 1.0714285714vw);
  }
}
.p-menu-list li span {
  color: var(--bc01);
}

.p-menu-notice {
  color: var(--bc01);
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-menu-notice {
    font-size: 3.2vw;
    margin-top: 4vw;
    padding-left: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-notice {
    font-size: min(15px, 1.0714285714vw);
    margin-top: min(15px, 1.0714285714vw);
    padding-left: min(35px, 2.5vw);
  }
}
.p-menu-notice::before {
  background: url("../../../img/icon-notice.svg") no-repeat left top/cover;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-menu-notice::before {
    height: 4.8vw;
    left: 0;
    width: 4.8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-notice::before {
    height: min(20px, 1.4285714286vw);
    left: min(4px, 0.2857142857vw);
    width: min(20px, 1.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-menu-offer {
    font-size: 3.2vw;
    margin-block: 2vw 4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-menu-offer {
    font-size: min(13px, 0.9285714286vw);
    margin-top: min(15px, 1.0714285714vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-flyer {
    margin-bottom: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-flyer {
    margin-bottom: min(80px, 5.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-inquiry {
    margin-bottom: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-inquiry {
    margin-bottom: min(120px, 8.5714285714vw);
  }
}