@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

body {
  background: #fff;
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  font-size: 16px;
  font-size: 1rem;
}

a {
  background: transparent;
  color: #00a4c5;
  cursor: pointer;
  margin: 0;
  padding: 0;
  transition: all 0.3s;
  text-decoration: underline;
  vertical-align: baseline;
}
a:hover {
  text-decoration: none;
}

@media print, screen and (min-width: 768px) {
  a[href^=tel] {
    color: currentcolor;
    pointer-events: none;
    text-decoration: none;
  }
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

.note,
small {
  font-size: 12px;
  font-size: 0.75rem;
}

h1 {
  font-size: 28px;
  margin-bottom: 20px;
}

h2 {
  color: #00a4c5;
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 20px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  h2 {
    font-size: 40px;
    margin: 0 0 40px;
  }
}

h3 {
  font-size: 22px;
}
@media print, screen and (min-width: 768px) {
  h3 {
    font-size: 24px;
  }
}

ul,
ol {
  margin: 0 0 1em 2em;
}

.aligncenter {
  text-align: center;
}

.alignleft {
  float: left;
}

.alignright {
  float: right;
}

img.alignleft {
  margin: 0 20px 20px 0;
}
img.alignright {
  margin: 0 0 20px 20px;
}
img.aligncenter {
  display: block;
  float: none;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  img.sp-block {
    display: block;
    float: none;
    margin: 0 0 20px;
  }
}

.clear {
  clear: both;
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .hidden-pc {
    display: none;
  }
}
table.full-width {
  width: 100%;
}
table.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.bordered-table {
  border-radius: 10px;
  font-size: 12px;
  overflow: hidden;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .bordered-table {
    font-size: 15px;
  }
}
.bordered-table caption {
  background: #bd9617;
  border: 1px solid #ccc;
  color: #fff;
  font-weight: bold;
  padding: 10px;
}
.bordered-table th,
.bordered-table td {
  background: #fff;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
}
.bordered-table thead th {
  background: #ddd;
  white-space: nowrap;
  text-align: center;
}
.bordered-table thead th:last-child,
.bordered-table tbody td {
  border-left: 1px solid #ccc;
}
.bordered-table tbody tr:last-child th,
.bordered-table tbody tr:last-child td {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .bordered-table.list-table {
    width: 100%;
  }
  .bordered-table.list-table th,
  .bordered-table.list-table td {
    display: block;
  }
  .bordered-table.list-table th {
    border-bottom-width: 0;
    border-top-width: 0;
    width: auto !important;
  }
  .bordered-table.list-table tr:first-child th {
    border-top-width: 1px;
  }
}

.col1,
.col2 {
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-bottom: 1em;
}

.table-wrapper {
  background: #fff;
  border: 1px solid #ccc;
  margin-bottom: 1em;
  padding: 10px;
}
.table-wrapper table {
  margin-bottom: 0;
}

section {
  padding: 60px 0;
}
@media print, screen and (min-width: 768px) {
  section {
    padding: 80px 0;
  }
}

.container {
  margin: 0 auto;
  max-width: 1020px;
  padding: 0 10px;
}

.global-footer {
  background: #000;
  color: #fff;
  overflow: hidden;
  padding: 10px;
  font-size: 12px;
}
.global-footer a {
  color: #fff;
  text-decoration: underline;
}
.global-footer a[target=_blank] {
  background: url(../img/icon_blank_w_arrow.gif) right center no-repeat;
  padding-right: 18px;
}
.global-footer p {
  margin-bottom: 0;
}
@media print, screen and (min-width: 1001px) {
  .global-footer .copyright {
    float: left;
  }
}
@media print, screen and (min-width: 1001px) {
  .global-footer .privacy {
    float: right;
  }
}
.global-footer .privacy a {
  display: inline-block;
  margin-top: 1em;
}
@media print, screen and (min-width: 768px) {
  .global-footer .privacy a {
    margin-top: 0;
  }
}
.global-footer .privacy a:not(:last-child) {
  margin-right: 1em;
}

.mainvisual img {
  width: 100%;
}

.intro-section {
  background: #00a4c5;
  color: #fff;
  padding: 20px 0;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .intro-section {
    padding: 25px;
  }
}
.intro-section p {
  font-weight: bold;
  line-height: 1.5;
  font-size: 14px;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 768px) {
  .intro-section p {
    line-height: 1.8;
    font-size: 16px;
    font-size: 1rem;
  }
}
.intro-section p:first-child {
  margin-bottom: 10px;
  font-size: 22px;
  font-size: 1.375rem;
}
@media print, screen and (min-width: 768px) {
  .intro-section p:first-child {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

.feature-section {
  background: #f8fcf5;
}
.feature-section .feature-item {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-item {
    align-items: flex-start;
    display: flex;
  }
}
@media print, screen and (min-width: 1001px) {
  .feature-section .feature-item {
    align-items: center;
  }
}
.feature-section .feature-item:nth-child(even) {
  flex-direction: row-reverse;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-item:nth-child(even) .feature-item-desc {
    margin-right: 40px;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 1001px) {
  .feature-section .feature-item:nth-child(even) .feature-item-desc {
    margin-right: 60px;
  }
}
.feature-section .feature-item-img {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-item-img {
    width: 300px;
  }
}
@media print, screen and (min-width: 1001px) {
  .feature-section .feature-item-img {
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .feature-section .feature-item-img img {
    width: 100%;
  }
}
.feature-section .feature-item-desc {
  margin: 20px 0 0 0;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-item-desc {
    width: calc(100% - 300px);
    margin: 0 0 0 40px;
  }
}
@media print, screen and (min-width: 1001px) {
  .feature-section .feature-item-desc {
    width: calc(100% - 400px);
    margin-left: 60px;
  }
}
.feature-section .feature-item-desc h3 {
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
}
.feature-section .feature-item-desc h3:before {
  background: #bd9617;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 5px;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-box-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
  }
}
.feature-section .feature-box-container .feature-box {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
  padding: 16px;
  text-align: center;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .feature-section .feature-box-container .feature-box {
    margin: 0;
    padding: 20px;
    width: calc((100% - 20px) / 2);
  }
}
@media print, screen and (min-width: 1001px) {
  .feature-section .feature-box-container .feature-box {
    width: calc((100% - 40px) / 3);
  }
}
.feature-section .feature-box-container .feature-box h3 {
  margin: 20px 0 10px;
  font-size: 22px;
  font-size: 1.375rem;
}
.feature-section .feature-box-container .feature-box p {
  text-align: left;
}

.trouble-section {
  background: #f5f5f5;
}
@media print, screen and (min-width: 768px) {
  .trouble-section .trouble-container {
    display: flex;
    justify-content: space-between;
  }
}
.trouble-section .trouble-container .trouble {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  padding: 16px 10px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .trouble-section .trouble-container .trouble {
    display: flex;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .trouble-section .trouble-container .trouble {
    padding: 20px;
    width: calc((100% - 40px) / 3);
  }
}
.trouble-section .trouble-container .trouble .t-img {
  margin-right: 16px;
  width: 70px;
}
@media print, screen and (min-width: 768px) {
  .trouble-section .trouble-container .trouble .t-img {
    margin: 0 auto;
    width: 120px;
  }
}
.trouble-section .trouble-container .trouble .t-text h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 768px) {
  .trouble-section .trouble-container .trouble .t-text h3 {
    margin: 20px 0 10px;
    text-align: center;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.trouble-section .trouble-container .trouble .t-text .check {
  list-style: none;
  margin: 0;
}
.trouble-section .trouble-container .trouble .t-text .check li {
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .trouble-section .trouble-container .trouble .t-text .check li {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.trouble-section .trouble-container .trouble .t-text .check li::before {
  border: 2px solid #ccc;
  content: "";
  height: 12px;
  left: 0;
  position: absolute;
  top: 4px;
  width: 12px;
}
.trouble-section .trouble-container .trouble .t-text .check li::after {
  border-left: 2px solid #ED1C24;
  border-bottom: 2px solid #ED1C24;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  top: 4px;
  transform: rotate(-45deg);
  width: 14px;
}

.pack-menu-section {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu {
    display: flex;
    justify-content: space-between;
    margin: 40px 0 10px;
  }
}
.pack-menu-section .pack-menu-item {
  border-radius: 10px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1), inset 0 0 0 1px #00a4c5;
  margin: 20px 0;
  overflow: hidden;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-item {
    margin: 0;
    width: calc((100% - 20px) / 2);
  }
}
.pack-menu-section .pack-menu-item h3 {
  background: #00a4c5;
  color: #fff;
  padding: 12px 0;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-item h3 {
    padding: 20px 0;
  }
}
.pack-menu-section .pack-menu-item .lead {
  color: #00a4c5;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-item .lead {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.pack-menu-section .pack-menu-item .detail-title {
  font-size: 14px;
  font-size: 0.875rem;
}
.pack-menu-section .pack-menu-detail {
  padding: 20px 10px 10px;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-detail {
    padding: 20px;
  }
}
.pack-menu-section .pack-menu-price {
  border-top: 2px solid #00a4c5;
  border-bottom: 2px solid #00a4c5;
  margin: 12px 0;
  padding: 12px 0 10px;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-price {
    margin: 20px 0;
    padding: 20px 0 10px;
  }
}
.pack-menu-section .pack-menu-price-text {
  color: #00a4c5;
  font-weight: bold;
  font-size: 36px;
  font-size: 2.25rem;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-price-text {
    font-size: 42px;
    font-size: 2.625rem;
  }
}
.pack-menu-section .pack-menu-price-text span {
  font-size: 28px;
  font-size: 1.75rem;
}
.pack-menu-section .pack-menu-feature .detail-title {
  margin-bottom: 12px;
}
.pack-menu-section .pack-menu-feature ul {
  list-style: none;
  margin: 0;
  text-align: left;
}
.pack-menu-section .pack-menu-feature ul li {
  border-top: 2px dotted #c6c6c6;
  padding: 6px 0 6px 30px;
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-feature ul li {
    padding: 12px 0 12px 30px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.pack-menu-section .pack-menu-feature ul li.check::before, .pack-menu-section .pack-menu-feature ul li.check::after {
  content: "";
  display: block;
  position: absolute;
}
.pack-menu-section .pack-menu-feature ul li.check::before {
  width: 18px;
  height: 18px;
  border-radius: 50vh;
  background: #bd9617;
  left: 0;
  top: 8px;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-feature ul li.check::before {
    top: 15px;
  }
}
.pack-menu-section .pack-menu-feature ul li.check::after {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  width: 8px;
  height: 4px;
  transform: rotate(-45deg);
  left: 4px;
  top: 13px;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-feature ul li.check::after {
    top: 20px;
  }
}
.pack-menu-section .pack-menu-feature ul li.cross::before, .pack-menu-section .pack-menu-feature ul li.cross::after {
  background-color: #c6c6c6;
  content: "";
  height: 16px;
  left: 5px;
  position: absolute;
  top: 8px;
  width: 2px;
}
@media print, screen and (min-width: 768px) {
  .pack-menu-section .pack-menu-feature ul li.cross::before, .pack-menu-section .pack-menu-feature ul li.cross::after {
    top: 17px;
  }
}
.pack-menu-section .pack-menu-feature ul li.cross:before {
  transform: rotate(-45deg);
}
.pack-menu-section .pack-menu-feature ul li.cross:after {
  transform: rotate(45deg);
}
.pack-menu-section .note {
  text-align: left;
}

.price-section {
  background: #f4f9f9;
  margin-bottom: 0;
}
.price-section .lead {
  color: #bd9617;
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 768px) {
  .price-section .lead {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.price-section .note {
  margin-top: 10px;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system {
    display: flex;
    margin: 40px 0 10px;
  }
}
.price-section .price-system > div {
  display: flex;
  flex-direction: column;
  margin-bottom: 28px;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system > div {
    margin-bottom: 0;
    width: calc((100% - 60px) / 3);
  }
  .price-section .price-system > div:not(:last-child) {
    margin-right: 30px;
  }
}
.price-section .price-system > div::before, .price-section .price-system > div::after {
  background: #888;
  display: block;
  content: "";
  position: absolute;
  right: 50%;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system > div::before, .price-section .price-system > div::after {
    right: auto;
    top: 50%;
  }
}
.price-section .price-system > div::before {
  bottom: -25px;
  height: 22px;
  width: 4px;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system > div::before {
    bottom: auto;
    margin-top: -10px;
    right: -17px;
  }
}
.price-section .price-system > div::after {
  bottom: -16px;
  height: 4px;
  margin-right: -9px;
  width: 22px;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system > div::after {
    bottom: 0;
    margin-right: 0;
    margin-top: -1px;
    right: -26px;
  }
}
.price-section .price-system > div.work::before, .price-section .price-system > div.work::after {
  display: none;
}
.price-section .price-system > div.visit .title {
  background: #fff;
  color: #00a4c5;
}
.price-section .price-system > div.visit .title, .price-section .price-system > div.visit .inner {
  border-style: dashed;
}
@media screen and (max-width: 767px) {
  .price-section .price-system > div.base {
    margin-top: 20px;
  }
}
.price-section .price-system .title {
  background: #00a4c5;
  border: 2px solid #00a4c5;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
}
.price-section .price-system .inner {
  background: #fff;
  border: 2px solid #00a4c5;
  border-radius: 0 0 5px 5px;
  line-height: 1.2;
  padding: 20px 10px;
  vertical-align: middle;
  font-size: 22px;
  font-size: 1.375rem;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system .inner {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 135px;
    padding: 10px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.price-section .price-system .inner .amount {
  color: #00a4c5;
  font-weight: bold;
  text-align: center;
}
.price-section .price-system .inner .exp {
  color: #333;
  font-size: 14px;
  font-size: 0.875rem;
}
.price-section .price-system-option {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system-option::before {
    border-bottom: 14px solid #00a4c5;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 0;
    content: "";
    display: block;
    height: 0;
    margin-left: 151px;
    width: 0;
  }
}
.price-section .price-system-option-title {
  background: #00a4c5;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}
.price-section .price-system-option-content {
  align-items: center;
  background: #f7f4d7;
  border-radius: 0 0 5px 5px;
  display: flex;
  flex-direction: column;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system-option-content {
    padding: 20px;
  }
}
.price-section .price-system-option-content-list {
  list-style: none;
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system-option-content-list {
    display: flex;
  }
}
.price-section .price-system-option-content-list li {
  background: url(../img/icon-price-system-check.svg?20260421) left center no-repeat;
  padding: 6px 0 0 34px;
}
.price-section .price-system-option-content-list li:not(:last-child) {
  margin: 0 0 5px 0;
}
@media print, screen and (min-width: 768px) {
  .price-section .price-system-option-content-list li:not(:last-child) {
    margin: 0 30px 0 0;
  }
}
.price-section .price-example-title {
  background: #00a4c5;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  margin: 40px 0 10px;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
}
.price-section .price-example .col1 .bordered-table {
  width: 100%;
}
.price-section .price-example .col2 {
  width: 100%;
}
@media print, screen and (min-width: 1001px) {
  .price-section .price-example .col2 {
    float: left;
    margin-right: 20px;
    width: 490px;
  }
}
.price-section .price-example .col2:last-child {
  margin-right: 0;
}
.price-section .price-example h4 {
  margin: 18px 0 10px;
}
.price-section .price-example .price {
  text-align: right;
  white-space: nowrap;
  margin: 0;
}
.price-section .option-price {
  background: #eee;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .price-section .option-price {
    padding: 20px;
  }
}
.price-section .option-price-title {
  background: #00a4c5;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  margin: 40px 0 10px;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
}
.price-section .option-price-item {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  text-align: center;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .price-section .option-price-item {
    width: calc((100% - 10px) / 2);
  }
}
.price-section .option-price-item-title {
  color: #00a4c5;
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 18px;
  font-size: 1.125rem;
}
.price-section .option-price-item-price {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 18px;
  font-size: 1.125rem;
}
.price-section .option-price-item-desc {
  font-size: 12px;
  font-size: 0.75rem;
}
.price-section .cashless-brand-list {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .price-section .cashless-brand-list {
    display: flex;
    justify-content: space-between;
  }
}
.price-section .cashless-brand {
  background: #fff;
  border-radius: 10px;
  box-sizing: border-box;
  margin: 40px 0 10px;
}
@media print, screen and (min-width: 768px) {
  .price-section .cashless-brand {
    margin-bottom: 0;
    text-align: center;
    width: calc((100% - 20px) / 2);
  }
}
.price-section .cashless-brand-title {
  background: #00a4c5;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}

.content-tel {
  background: #fff;
  border: 2px solid #00a4c5;
  margin: 40px auto 0;
}
.content-tel .label {
  background: #00a4c5;
  color: #fff;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
}
@media print, screen and (min-width: 768px) {
  .content-tel .label {
    padding: 5px 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.content-tel .inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-height: 80px;
  padding: 10px 0;
}
.content-tel .inner .num {
  color: #00a4c5;
  font-family: Arial;
  font-weight: bold;
  line-height: 1;
  font-size: 32px;
  font-size: 2rem;
}
@media print, screen and (min-width: 768px) {
  .content-tel .inner .num {
    font-size: 50px;
    font-size: 3.125rem;
  }
}
.content-tel .inner .num a {
  text-decoration: none;
}
.content-tel .inner .num img {
  margin: 0 10px 10px 0;
}
@media screen and (max-width: 767px) {
  .content-tel .inner .num img {
    width: 30px;
  }
}
.content-tel .inner .reception {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .content-tel .inner .reception {
    font-size: 12px;
    font-size: 0.75rem;
  }
}

.contact-section {
  background: #f4f9f9;
  margin-bottom: 0;
  padding: 0;
}
.contact-section .contact-container {
  background: url(../img/cta-bg.webp?20260421) center center/cover no-repeat #fff;
  margin-top: 1em;
  padding: 60px 0;
  position: relative;
}
.contact-section .contact-container::before {
  background: #f7f4f0;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0.9;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.contact-section .contact-inner {
  position: relative;
  text-align: center;
  z-index: 5;
}
.contact-section .contact-inner h2 {
  color: #333;
  margin: 0;
  font-size: 24px;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .contact-section .contact-inner h2 {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.contact-section .contact-inner .tel-number {
  color: #00a4c5;
  font-family: Arial;
  font-weight: bold;
  line-height: 1;
  margin: 20px 0 10px;
  font-size: 48px;
  font-size: 3rem;
}
@media print, screen and (min-width: 768px) {
  .contact-section .contact-inner .tel-number {
    font-size: 72px;
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-section .contact-inner .tel-number img {
    width: 45px;
  }
}
.contact-section .contact-inner .tel-number a {
  text-decoration: none;
}
.contact-section .contact-inner .reception {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contact-section .contact-inner .reception {
    font-size: 12px;
    font-size: 0.75rem;
  }
}