@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
body p {
  font-size: 16px;
}

a {
  text-decoration: none;
}

.smb-section__title {
  margin-bottom: 24px;
}

#contact-form .smb-section__title {
  margin-bottom: 0;
}

#contact-form .smb-section__body {
  margin-top: 0 !important;
}
.c-entry__header {
  display: none;
}

/* ヘッダー */
.c-site-branding .custom-logo,
.wpaw-site-branding__logo .custom-logo {
  width: 200px;
  height: auto;
}

.p-global-nav .c-navbar__item > a {
  padding: 1.2rem 0.6rem !important;
  font-size: 14px;
}

.l-2row-header__row .c-row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-2row-header__row {
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}

.my-header-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.header-btn {
  margin: 0 1rem 0 0;
  display: block;
}
.header-btn a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 18px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-weight: bold;
  min-width: 310px !important;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media (max-width: 599px) {
  .header-btn a {
    width: 100%;
  }
}

.header-btn-web a {
  display: block;
  color: #fff;
  padding: 10px 0 !important;
  height: 68px;
  font-size: 16px;
}

.header-btn-tel a {
  display: block;
  background: #3c65b0;
  color: #fff;
  padding: 10px 0 !important;
  line-height: 1.2;
  height: 68px;
  font-size: 16px;
}
.header-btn-tel a::before {
  width: 0;
}
.header-btn-tel a:hover {
  background: #fff;
  color: #3c65b0;
  opacity: 1;
}

.header-text {
  display: block;
  font-size: 12px;
  font-weight: bold;
  margin-top: 2px;
}

.header-tel {
  display: block;
}

/* フッター */
#menu-sns svg {
  width: 24px;
}

.p-global-nav .c-navbar__item > a {
  padding: 18px;
}

.l-footer {
  background: #333;
}

.l-footer-widget-area {
  max-width: 1200px;
  margin: 0 auto;
  background: #333;
  color: #fff;
  padding-top: 42px;
  padding-bottom: 0;
}
@media (max-width: 599px) {
  .l-footer-widget-area {
    padding-top: 32px !important;
  }
}

.l-footer .p-social-nav {
  position: relative;
  padding-top: 24px;
  padding-bottom: 24px;
}

.l-footer .p-social-nav::before {
  content: "";
  background-image: url(http://smilecars.local/wp-content/uploads/2023/06/logo-c.png);
  position: absolute;
  top: 50%;
  left: calc(50% - 180px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 200px;
  height: 66px;
  background-size: contain;
  background-repeat: no-repeat;
}

.l-footer .p-social-nav .p-social-nav__inner {
  margin-left: 230px;
}

.l-footer .p-social-nav .c-container ul {
  background: #fff;
  width: 320px;
  padding: 14px 0;
  margin: 0 auto;
  border-radius: 10px;
  position: relative;
}

.l-footer .p-social-nav .c-container ul::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 20px 10px 0;
  border-color: transparent #ffffff transparent transparent;
  top: 50%;
  left: -16px;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}

.l-footer-widget-area__item {
  margin-bottom: 0 !important;
}
.l-footer-widget-area__item .footer-info h4 {
  margin-top: 12px;
  font-size: 20px;
}
@media (max-width: 599px) {
  .l-footer-widget-area__item .footer-info h4 {
    font-size: 16px;
  }
}

.c-copyright {
  padding-top: 20px;
}
@media (max-width: 599px) {
  .c-copyright {
    padding-top: 0;
    font-size: 12px;
  }
}

/* 共通 */
.section {
  padding-bottom: 60px !important;
}
@media (max-width: 599px) {
  .section {
    padding-top: 16px !important;
    padding-bottom: 30px !important;
  }
}
@media (max-width: 599px) {
  .section h2 {
    font-size: 1.8em !important;
    text-align: center !important;
    margin-bottom: 0 !important;
  }
}
@media (max-width: 599px) {
  .section .smb-section__lede-wrapper {
    margin-top: 24px !important;
  }
}
@media (max-width: 599px) {
  .section .smb-section__lede {
    text-align: left !important;
  }
}

.sec-bg {
  background: #fcf9ef;
  padding-left: 4vw;
  padding-right: 4vw;
}

/* button */
.btn a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  color: #bc191d !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 2px #bc191d;
  background: #fff;
  width: 100%;
  overflow: hidden;
  z-index: 1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border-radius: 50px;
  font-weight: bold;
  min-width: 280px;
  padding: 16px 46px;
}
.btn a:hover {
  color: #fff !important;
}
@media (max-width: 599px) {
  .btn a {
    width: 100%;
    padding: 16px 28px 16px 16px;
  }
}
.btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  background: #bc191d;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn a:hover::before {
  left: 0;
  color: #fff;
}
.btn a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-red.png) no-repeat center center/contain;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 599px) {
  .btn a::after {
    width: 16px;
    height: 16px;
  }
}
.btn a:hover::after {
  background: url(./img/icon-arrow-wh.png) no-repeat center center/contain;
}

.btn-items {
  height: 110px;
}
.btn-items .smb-buttons {
  height: 100%;
}
.btn-return a::after {
	left: 12px;
	right: auto;
	transform: translateY(-50%) rotate(180deg);
}

@media (max-width: 599px) {
  .btn-web {
    width: 100%;
  }
}
.btn-web a {
  display: inline-block;
  color: #fff;
  font-size: 20px;
  border: 1px solid #3a5faf;
  border-radius: 50px;
  background: #4078f1;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.4)), color-stop(30%, rgba(64, 120, 241, 0.56)), color-stop(65%, rgb(64, 120, 241)), to(rgb(60, 112, 224)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(64, 120, 241, 0.56) 30%, rgb(64, 120, 241) 65%, rgb(60, 112, 224));
  -webkit-box-shadow: 2px 8px 8px #c9c6c0;
          box-shadow: 2px 8px 8px #c9c6c0;
  padding: 22px 16px;
  min-width: 390px;
  height: 92px;
  line-height: 1.2;
  text-align: center;
  position: relative;
}
@media (max-width: 599px) {
  .btn-web a {
    padding: 16px;
    height: 76px;
    font-size: 18px;
  }
}
.btn-web a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(250, 250, 255, 0.9)), color-stop(10%, rgba(250, 250, 255, 0.7)), to(rgba(250, 250, 255, 0)));
  background-image: linear-gradient(to top, rgba(250, 250, 255, 0.9) 0%, rgba(250, 250, 255, 0.7) 10%, rgba(250, 250, 255, 0) 100%);
}
.btn-web a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-wh.png) no-repeat center center/contain;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 599px) {
  .btn-web a {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
  }
}

.header-btn a {
  min-width: 310px;
  font-size: 16px !important;
  height: 68px !important;
  padding: 14px 16px;
  line-height: 1.4;
}

@media (max-width: 599px) {
  .btn-tel {
    width: 100%;
  }
}
.btn-tel a {
  display: inline-block;
  color: #204060;
  font-size: 20px;
  border: 1px solid #ccac37;
  border-radius: 50px;
  background: #f6c100;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.45)), color-stop(100%, rgb(239, 188, 1)), color-stop(30%, rgb(249, 201, 26)), color-stop(58%, rgb(246, 193, 0)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45), rgb(239, 188, 1) 100%, rgb(249, 201, 26) 30%, rgb(246, 193, 0) 58%);
  -webkit-box-shadow: 2px 8px 8px #c9c6c0;
          box-shadow: 2px 8px 8px #c9c6c0;
  padding: 8px 16px;
  min-width: 390px;
  text-align: center;
  height: 92px;
  line-height: 1.2;
  position: relative;
}
@media (max-width: 599px) {
  .btn-tel a {
    padding: 12px 16px;
    height: 76px;
    font-size: 16px;
  }
}
@media (max-width: 599px) {
  .btn-tel a .sme-font-size {
    font-size: 14px !important;
  }
}
.btn-tel a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.9)), color-stop(10%, rgba(250, 250, 255, 0.7)), to(rgba(250, 250, 255, 0)));
  background-image: linear-gradient(to bottom, rgba(250, 250, 255, 0.9) 0%, rgba(250, 250, 255, 0.7) 10%, rgba(250, 250, 255, 0) 100%);
}
.btn-tel a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-db.png) no-repeat center center/contain;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 599px) {
  .btn-tel a {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
  }
}

.btn-large a {
  padding: 20px 46px;
  min-width: 520px;
  line-height: 1.4;
}

.btn-small {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.btn-small a {
  padding: 10px 46px;
  min-width: 0;
  max-width: 360px;
  width: 100%;
  height: 72px;
}

/* 下層 */
.c-entry__content {
  padding-bottom: 160px;
}

.page-template-page-templates .wp-block-snow-monkey-blocks-section {
  margin-top: 0 !important;
}

.wp-block-cover__inner-container p {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.6rem;
}

.smb-section.section-100vw .c-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

.smb-section.section-100vw .c-container .smb-section__body {
  width: 100vw;
  max-width: 100vw;
}

.smb-section.section-100vw .c-container .smb-section__body iframe {
  width: 100%;
}

.smb-section__body h3 {
  margin-top: 72px;
  margin-bottom: 24px;
}

.column-mb {
  margin-bottom: 140px;
}

.service-block .wp-block-column figure {
  height: 250px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-result .wp-block-columns:not(:first-child) {
  margin-top: 10px;
}

.smb-step__item {
  margin-left: 80px;
}

.smb-step__item__title > .smb-step__item__number {
  margin-left: -80px;
}

@media screen and (min-width: 767px) {
  .pc-none {
    display: none;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
  }
}
@media screen and (max-width: 768px) {
  .l-header__content {
    padding-bottom: 0.4rem;
    padding-top: 0.4rem;
  }
  .c-site-branding .custom-logo,
  .wpaw-site-branding__logo .custom-logo {
    width: 160px;
    height: auto;
  }
  .c-container {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .p-section-front-page-content h2 {
    font-size: 36px;
  }
  .wp-block-column {
    -ms-flex-preferred-size: 100% !important;
        flex-basis: 100% !important;
  }
  .wp-block-columns {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .wp-block-columns.block-columns-1,
  .wp-block-columns.block-columns-2 {
    position: relative;
  }
  .wp-block-columns.block-columns-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .wp-block-columns.block-columns-2 .wp-block-column:first-child {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .wp-block-columns.block-columns-1 .wp-block-column h2,
  .wp-block-columns.block-columns-2 .wp-block-column h2 {
    position: absolute;
    top: 0;
    width: 100%;
  }
  .wp-block-columns.block-columns-1 .wp-block-column p,
  .wp-block-columns.block-columns-2 .wp-block-column ul {
    margin-top: 20px;
  }
  .wp-block-column {
    margin: 0 !important;
  }
  .p-section-front-page-content .c-entry__content .about-block {
    margin-top: 0;
  }
  .smb-section__title:after {
    height: 0;
    margin-top: 0;
  }
  .wp-block-snow-monkey-blocks-btn {
    margin: 0 auto !important;
  }
  .wp-block-column.is-vertically-aligned-top iframe {
    margin: 0 auto 30px !important;
  }
  .wp-block-column.is-vertically-aligned-top:last-child iframe {
    margin-bottom: 0 !important;
  }
  .l-footer .p-social-nav::before {
    top: auto;
    bottom: -12px;
    left: 50%;
  }
  .l-footer .p-social-nav .p-social-nav__inner {
    margin-left: 0;
    margin-bottom: 86px;
  }
  .l-footer .p-social-nav .c-container ul::before {
    top: auto;
    bottom: -12px;
    left: calc(50% - 10px);
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  /* 下層 */
  .wp-block-cover__inner-container p {
    font-size: 2rem;
    letter-spacing: 0.4rem;
  }
  .wp-block-cover,
  .wp-block-cover-image {
    min-height: 240px;
  }
  .sp-mb-sm .c-row--margin > .c-row__col.c-row__col--lg-1-3 {
    margin-bottom: 12px;
  }
  .service-block .wp-block-column figure {
    width: 88%;
    height: auto;
    margin: 0 auto;
  }
  .service-block .wp-block-column h3 {
    margin-top: 40px;
  }
  .service-block .wp-block-columns .wp-block-column:not(:last-of-type) {
    padding-bottom: 96px;
  }
  .column-mb {
    margin-bottom: 0;
  }
  .section-result .wp-block-columns:not(:first-child) {
    margin-top: 0;
  }
  .section-result .wp-block-columns figure {
    padding-bottom: 1rem;
  }
  .smb-step__item {
    margin-left: 60px;
  }
  .smb-step__item__title > .smb-step__item__number {
    margin-left: -60px;
  }
}
/* 店舗一覧 */
.stores-sec {
  margin-top: 0 !important;
}

.stores-sec .smb-section__body {
  max-width: 840px;
  margin-top: 46px;
  margin-left: auto;
  margin-right: auto;
}

.stores-sec dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.stores-sec dl dd {
  font-size: 17px;
  margin-bottom: 24px;
}

.stores-sec dl dd a {
  display: inline-block;
  padding: 12px 24px;
  min-width: 260px;
  text-align: center;
  border: 3px solid #eee;
  border-radius: 48px;
  text-decoration: none;
}

.top-shops-head {
  border-bottom: 1px solid #000;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.top-shops-head .wp-block-column {
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
}

.top-shops-head .wp-block-column:first-child {
  width: 44%;
}

.top-shops-head .wp-block-column:first-child figure {
  margin-bottom: auto;
}

.top-shops-head .wp-block-column:last-child {
  width: 56%;
  text-align: left;
}

.top-shops-head .wp-block-column h2 {
  margin-bottom: 12px !important;
  border-bottom: none;
}

@media screen and (max-width: 781px) {
  .top-shops-head .wp-block-column:first-child {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top-shops-head .wp-block-column:first-child figure {
    margin: 0 auto;
  }
  .top-shops-head .wp-block-column h2 {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .c-container,
  .c-fluid-container {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .stores-sec dl dd {
    width: 100%;
  }
  .stores-sec dl dd a {
    width: 100%;
  }
  .stores__other--content p,
  .stores__other--content p a {
    width: 100%;
  }
  .stores__other--content p:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 560px) {
  .stores__prev-next {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .stores__prev,
  .stores__next {
    width: 100%;
    text-align: center;
  }
  .stores__prev {
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}
/* 余白調整 */
.is-layout-constrained > :not(:first-child),
.p-entry-content > :not(:first-child),
.textwidget > :not(:first-child) {
  margin-top: 0!important;
}

.wp-block-column > :not(:first-child),
.wp-block-cover__inner-container > :not(:first-child),
.wp-block-latest-posts__post-full-content > :not(:first-child),
.wp-block-latest-posts__post-full-content > div:not([class]) > :not(:first-child),
.wp-block-media-text__content > :not(:first-child),
:where(.wp-block-group) > :not(:first-child),
:where(.wp-block-group__inner-container) > :not(:first-child) {
  margin-top: 24px;
}

.smb-section {
  padding-top: 72px;
}

.service-block {
  padding-top: 30px;
}

.smb-section__body > .mb-24 {
  margin-bottom: -24px;
}

.c-entry__content {
  padding-bottom: 0;
}

.smb-section__body > p {
  margin-top: 24px !important;
}

.smb-section__title + .smb-section__lede,
.smb-section__title + .smb-section__lede-wrapper {
  margin-top: 24px;
}

.smb-section__body {
  margin-top: 46px;
}

.smb-media-text:where(:not(.smb-media-text--mobile-text):not(.smb-media-text--mobile-text)) > .c-row--reverse .smb-media-text__contents-wrapper {
  margin: 36px 0 0;
}

.line-btn.mt-48 {
  margin-top: 48px;
}

.section-result .wp-block-columns {
  margin-bottom: 36px;
}

.shops .c-entry__content p {
  margin-top: 24px;
}

.shops .stores__other .stores__other--content p {
  margin-top: 0;
}

.shops .c-entry__content .smb-section__body {
  margin-top: 0;
}

.shops .c-entry__content .smb-section__body p {
  margin-top: 0 !important;
}

.shops .c-entry__content .stores__other {
  margin-top: 48px;
}

.contact-content {
  padding-top: 12px;
}

.contact-content .smb-buttons {
  margin-top: 36px;
}

.contact-content .has-lightest-grey-background-color {
  margin-top: 36px !important;
}

.service-block .wp-block-column h3 {
  margin-top: 30px;
  margin-bottom: 12px;
}

.l-footer-widget-area__item .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 781px) {
  .l-footer-widget-area__item .menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 6px;
  }
  .l-footer-widget-area {
    text-align: center;
  }
  .l-footer-widget-area .wp-block-columns {
    row-gap: 42px;
  }
}
@media screen and (max-width: 781px) and (max-width: 599px) {
  .l-footer-widget-area .wp-block-columns {
    row-gap: 26px;
  }
}
@media screen and (max-width: 781px) {
  .footer-info img {
    margin: 0 auto;
  }
}
.wp-block-column:not(:first-child) {
  margin-left: 0 !important;
}

.l-footer-widget-area__item .menu li {
  margin-top: 0;
}

.footer-info h4 {
  font-size: 16px;
  margin-bottom: 0 !important;
}

.footer-info p {
  margin-top: 10px !important;
}

.c-page-top {
  background: #3c65b0;
}

#page-top {
  right: 16px;
}

.section h2 {
  margin-top: 0;
}

.top-flow h2 {
  margin-top: 0;
}

.top-flow .smb-section__body h3 {
  margin-top: 0;
  margin-bottom: 0;
}

.top-form h2 {
  margin-top: 0;
}

.cta h2 {
  margin-top: 0;
}

.btn-blue a {
  border: 2px solid #3c65b0;
}

.top-contact-tel a {
  text-align: center;
}

.top-form {
  max-width: 60rem;
}

.top-form .smf-form--simple-table .smf-item__col--label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 22em;
          flex: 0 0 22em;
  max-width: 22em;
}

.smf-form .smf-item .smf-text-control__control {
  width: 100%;
}

.smf-form--simple-table + .smf-action {
  margin-bottom: 20px;
}

.smf-form--simple-table .smf-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form-radio {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}
.grecaptcha-badge { visibility: hidden; }

/* まずは無料で愛車を査定してみるセクション -------------------------*/
.smb-section__subtitle {
  opacity: 0;
}

@media (max-width: 599px) {
  .btn-tel {
    width: 100%;
  }
}

.cta__btn-items .btn-tel a {
  display: inline-block;
  color: #204060;
  font-size: 28px;
  border: 4px solid #ccac37;
  border-radius: 50px;
  background: #f6c100;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.45)), color-stop(100%, rgb(239, 188, 1)), color-stop(30%, rgb(249, 201, 26)), color-stop(58%, rgb(246, 193, 0)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45), rgb(239, 188, 1) 100%, rgb(249, 201, 26) 30%, rgb(246, 193, 0) 58%);
  -webkit-box-shadow: 2px 8px 8px #c9c6c0;
          box-shadow: 2px 8px 8px #c9c6c0;
  padding: 2px 16px;
  text-align: center;
  height: 92px;
  line-height: 0.8;
  position: relative;
}
@media screen and (max-width: 600px) {
  .cta__btn-items .btn-tel a {
    min-width: 390px;
  }
}
@media (max-width: 599px) {
  .cta__btn-items .btn-tel a {
    font-size: 24px;
    border: 3px solid #ccac37;
    padding: 0px 16px;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    height: 76px;
    width: 100%;
    line-height: 0.8;
  }
}

.smb-btn__label {
  color: currentColor;
  white-space: inherit !important;
}

@media (max-width: 599px) {
  .cta__btn-items {
    width: 100%;
  }
}

.cta__btn-items .btn-web a {
  font-size: 28px;
  border: 4px solid #3a5faf;
  padding: 15px 16px;
  line-height: 1;
}
@media (max-width: 599px) {
  .cta__btn-items .btn-web a {
    font-size: 24px;
    border: 3px solid #3a5faf;
    padding: 11px 16px;
  }
}

.cta__btn-items .btn-tel a code {
  padding: 0;
  background: none;
}

@media (max-width: 599px) {
  .btn-web a {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
    height: 76px;
  }
}

.btn-web a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.5)), color-stop(10%, rgba(250, 250, 255, 0.4)), to(rgba(250, 250, 255, 0)));
  background: linear-gradient(to bottom, rgba(250, 250, 255, 0.5) 0%, rgba(250, 250, 255, 0.4) 10%, rgba(250, 250, 255, 0) 100%);
}

.btn-tel a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.5)), color-stop(10%, rgba(250, 250, 255, 0.4)), to(rgba(250, 250, 255, 0)));
  background: linear-gradient(to bottom, rgba(250, 250, 255, 0.5) 0%, rgba(250, 250, 255, 0.4) 10%, rgba(250, 250, 255, 0) 100%);
}

/* ------------- 共通 -------------*/
/* inner */
.l-inner {
  max-width: 1080px;
  margin-inline: auto;
  padding-inline: 40px;
}
@media (max-width: 599px) {
  .l-inner {
    padding-inline: 16px;
  }
}

/* セクションタイトル */
.c-section-title {
  font-size: 40px;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (max-width: 767px) {
  .c-section-title {
    font-size: 28.8px;
  }
}

.c-section-title--white {
  color: #fff;
}

/* ボタン 黄色い電話・LINEボタン-------------*/
.c-contact-btn {
  display: grid;
  place-content: center;
  width: 100%;
  font-weight: 700;
  border-radius: 50px;
  text-align: center;
  line-height: 1.2;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
  -webkit-box-shadow: 2px 8px 8px #c9c6c0;
          box-shadow: 2px 8px 8px #c9c6c0;
  -webkit-transition: -webkit-filter 0.3s ease-in-out;
  transition: -webkit-filter 0.3s ease-in-out;
  transition: filter 0.3s ease-in-out;
  transition: filter 0.3s ease-in-out, -webkit-filter 0.3s ease-in-out;
}
.c-contact-btn::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.5)), color-stop(10%, rgba(250, 250, 255, 0.4)), to(rgba(250, 250, 255, 0)));
  background: linear-gradient(to bottom, rgba(250, 250, 255, 0.5) 0%, rgba(250, 250, 255, 0.4) 10%, rgba(250, 250, 255, 0) 100%);
}
.c-contact-btn::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-db.png) no-repeat center center/contain;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .c-contact-btn {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
  }
}

.c-contact-btn span {
  display: block;
}

.c-contact-btn--tel {
  color: #204060;
  border: 4px solid #ccac37;
  background: #f6c100;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.45)), color-stop(100%, rgb(239, 188, 1)), color-stop(30%, rgb(249, 201, 26)), color-stop(58%, rgb(246, 193, 0)));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.45), rgb(239, 188, 1) 100%, rgb(249, 201, 26) 30%, rgb(246, 193, 0) 58%);
}
@media (max-width: 767px) {
  .c-contact-btn--tel {
    border: 3px solid #ccac37;
  }
}
@media (max-width: 599px) {
  .c-contact-btn--tel {
    row-gap: 0;
  }
}

.c-contact-btn--tel span:nth-child(1) {
  font-size: 14px;
}

.c-contact-btn--tel span:nth-child(2) {
  font-size: 27px;
}
@media (max-width: 599px) {
  .c-contact-btn--tel span:nth-child(2) {
    font-size: 23px;
  }
}

.c-contact-btn--tel span:nth-child(3) {
  font-size: 14px;
}

.c-contact-btn--line {
  font-size: 18px;
  border: 4px solid #0e9f0e;
  background: #00b900;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.45)), color-stop(100%, rgb(0, 185, 0)), color-stop(30%, rgb(0, 185, 0)), color-stop(58%, rgb(0, 185, 0)));
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.45), rgb(0, 185, 0) 100%, rgb(0, 185, 0) 30%, rgb(0, 185, 0) 58%);
  color: #fff;
  padding-bottom: 5px;
}
@media (max-width: 767px) {
  .c-contact-btn--line {
    border: 3px solid #0e9f0e;
  }
}

.c-contact-btn--line strong {
  font-size: 34px;
  letter-spacing: 0.08em;
}
@media (max-width: 599px) {
  .c-contact-btn--line strong {
    font-size: 28px;
  }
}

.c-contact-btn--line::after {
  background: url(./img/icon-arrow-wh.png) no-repeat center center/contain;
}

.c-contact-btn:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}

/* ボタン 赤いボーダーボタン -------------------------*/
.c-border-btn {
  z-index: 3;
  display: inline-block;
  width: 100%;
  color: #bc191d;
  border: solid 2px #bc191d;
  text-decoration: none;
  border-radius: 50px;
  font-weight: bold;
  min-width: 280px;
  padding: 16px 46px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: relative;
  overflow: hidden;
  text-align: center;
}
@media (max-width: 767px) {
  .c-border-btn {
    font-size: 16px;
  }
}

.c-border-btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #bc191d;
  -webkit-transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

.c-border-btn::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 14px;
  height: 14px;
  border-right: 3px solid #bc191d;
  border-bottom: 3px solid #bc191d;
}

.c-border-btn:hover {
  color: #fff;
  background-color: #bc191d;
}

.c-border-btn:hover::before {
  left: 0;
}

.c-border-btn:hover::after {
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

/* パンくず -------------------------*/
.breadcrumbs__wrap {
  margin-top: 40px !important;
}
@media (max-width: 767px) {
  .breadcrumbs__wrap {
    margin-top: 20px !important;
  }
}

.breadcrumbs {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.breadcrumbs span a {
  text-decoration: none;
}

.no-link {
  pointer-events: none;
  cursor: default; /* Optional: change cursor to default to indicate non-clickable */
}

.btn-search a.smb-btn:hover {
  -webkit-filter: brightness(1) !important;
          filter: brightness(1) !important;
}

.red-border-btn a.smb-btn:hover {
  -webkit-filter: brightness(1) !important;
          filter: brightness(1) !important;
}

.u-pb72 {
  padding-bottom: 72px !important;
}

.l-wrapper {
  margin-top: 0 !important;
  width: 100%;
  position: relative;
  overflow: hidden;
}

/*下層ページタイトル--------------*/
.c-lower-page-title {
  padding-block: 70px;
  background-color: #bc191d;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .c-lower-page-title {
    padding-block: 36px;
  }
}

.c-lower-page-title::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(135deg, #bc191d, #bc191d 4px, #c43633 4px, #c43633 10px);
}

.c-lower-page-title span {
  position: absolute;
  bottom: -17px;
  right: 0;
  font-size: 120px;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: #b5161a;
  z-index: 4;
}
@media (max-width: 767px) {
  .c-lower-page-title span {
    font-size: 60px;
    bottom: -10px;
  }
}

.c-lower-page-title h1 {
  position: relative;
  z-index: 5;
  color: #fff;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .c-lower-page-title h1 {
    font-size: 30px;
  }
}
@media (max-width: 599px) {
  .c-lower-page-title h1 {
    font-size: 24px;
  }
}

/* FV */
.fv {
  position: relative;
}
.fv .fv-btn {
  position: absolute;
  bottom: 86px;
  left: 60px;
  gap: 1em;
}
@media (max-width: 1023px) {
  .fv .fv-btn {
    bottom: unset;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translate(-50%, -20%);
            transform: translate(-50%, -20%);
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 599px) {
  .fv .fv-btn .fv-btn-web {
    width: 100%;
    padding: 0 16px;
  }
}
.fv .fv-btn .fv-btn-web a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  border: 1px solid #3A5FAF;
  border-radius: 50px;
  background: #4078F1;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.4)), color-stop(30%, rgba(64, 120, 241, 0.56)), color-stop(65%, rgb(64, 120, 241)), to(rgb(60, 112, 224)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(64, 120, 241, 0.56) 30%, rgb(64, 120, 241) 65%, rgb(60, 112, 224));
	box-shadow: 2px 8px 8px #333;
  width: 100%;
  padding: 0.8em 2.4em;
  text-align: center;
  position: relative;
}
.fv .fv-btn .fv-btn-web a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.9)), color-stop(10%, rgba(250, 250, 255, 0.7)), to(rgba(250, 250, 255, 0)));
  background-image: linear-gradient(to bottom, rgba(250, 250, 255, 0.9) 0%, rgba(250, 250, 255, 0.7) 10%, rgba(250, 250, 255, 0) 100%);
}
.fv .fv-btn .fv-btn-web a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-wh.png) no-repeat center center/contain;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 599px) {
  .fv .fv-btn .fv-btn-web a {
    max-width: 360px;
    font-size: 16px;
  }
}
@media (max-width: 599px) {
  .fv .fv-btn .fv-btn-tel {
    width: 100%;
    padding: 0 16px;
  }
}
.fv .fv-btn .fv-btn-tel a {
  display: inline-block;
  color: #204060;
  font-size: 18px;
  border: 1px solid #CCAC37;
  border-radius: 50px;
  background: #F6C100;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.45)), color-stop(100%, rgb(239, 188, 1)), color-stop(30%, rgb(249, 201, 26)), color-stop(58%, rgb(246, 193, 0)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.45), rgb(239, 188, 1) 100%, rgb(249, 201, 26) 30%, rgb(246, 193, 0) 58%);
  -webkit-box-shadow: 2px 8px 8px #C9C6C0;
          box-shadow: 2px 8px 8px #C9C6C0;
  -webkit-box-shadow: 2px 8px 8px #333;
          box-shadow: 2px 8px 8px #333;
  max-width: 320px;
  width: 100%;
  padding: 0.8em 2.4em;
  text-align: center;
  position: relative;
}
.fv .fv-btn .fv-btn-tel a::before {
  position: absolute;
  content: "";
  width: 86%;
  height: 50%;
  border-radius: 100px;
  top: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 250, 255, 0.9)), color-stop(10%, rgba(250, 250, 255, 0.7)), to(rgba(250, 250, 255, 0)));
  background: linear-gradient(to bottom, rgba(250, 250, 255, 0.9) 0%, rgba(250, 250, 255, 0.7) 10%, rgba(250, 250, 255, 0) 100%);
}
.fv .fv-btn .fv-btn-tel a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-db.png) no-repeat center center/contain;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 599px) {
  .fv .fv-btn .fv-btn-tel a {
    max-width: 360px;
    font-size: 16px;
  }
}

.fv-img figure {
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.fv-img figure img {
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 767px) {
  .spider__slide {
    height: 560px;
  }
}
@media (max-width: 599px) {
  .spider__slide {
    height: 420px;
  }
}

@media (max-width: 767px) {
  .smb-spider-slider__figure-wrapper {
    width: 100%;
    height: 100%;
  }
}

/* TOP */
.p-section-front-page-content:first-child {
  padding-top: 0;
  padding-bottom: 0;
}

.p-section-front-page-content h2:not(.smb-section__title) {
  background: none;
  border-left: none;
  padding: 0;
  border-bottom: 1px solid #000;
  margin-bottom: 24px;
}

.p-section-front-page-content .smb-section__title {
  font-size: 40px;
}

.smb-section__title:after {
  margin-top: 6px;
}

/* .smb-section__body.is-layout-constrained.wp-block-section-is-layout-constrained {
  margin-top: 0;
} */


.smb-section__title + .smb-section__lede, .smb-section__title + .smb-section__lede-wrapper {
  margin-bottom: 24px;
}

h2 {
  letter-spacing: 0.2rem;
}

.smb-section {
  padding-bottom: 0;
}

.wp-block-column:not(:first-child) {
  margin-left: 40px;
}

.wp-block-column > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) + :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  margin-top: 16px;
}

.spider__figure {
  width: 100%;
}

/* TOP_RESULT */
.wp-block-columns {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.wp-block-column.is-vertically-aligned-top iframe {
  min-width: 0 !important;
}

.are-vertically-aligned-top .wp-block-column:not(:first-child) {
  margin-left: 20px;
}

/* TOP_SHOPS */
.top-shops h2 {
  font-size: 40px;
}

/* list */
.wp-block-columns.block-columns-2 .wp-block-column ul li {
  margin-top: 4px;
}

.reason-items {
  text-align: center !important;
}
@media (max-width: 599px) {
  .reason-items {
    gap: 1.6em !important;
  }
}

.reason-item h3 {
  position: relative;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
  font-size: 1.6em;
  padding-left: 78px !important;
  padding-bottom: 0 !important;
}
@media (max-width: 767px) {
  .reason-item h3 {
    text-align: left;
    padding-left: 60px !important;
    font-size: 1.4em;
  }
}
.reason-item h3::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .reason-item h3::before {
    width: 60px;
    height: 60px;
  }
}
.reason-item h3.point1::before {
  background: url(./img/icon-point1.png) no-repeat center center/contain;
}
.reason-item h3.point2::before {
  background: url(./img/icon-point2.png) no-repeat center center/contain;
}
.reason-item h3.point3::before {
  background: url(./img/icon-point3.png) no-repeat center center/contain;
}
.reason-item p {
  font-size: 1.2em;
  margin-top: 1em !important;
  padding: 1.6em 1.2em;
  background: #EFEEE8;
  border-radius: 20px;
  border: solid 2px #F6C100;
  height: calc(100% - 70px);
}
@media (max-width: 881px) {
  .reason-item h3 {
    font-size: 1.4em;
  }
}
@media (max-width: 823px) {
  .reason-item h3 {
    font-size: 1.2em;
  }
  .reason-item p {
    height: calc(100% - 60px);
  }
}
@media (max-width: 781px) {
  .reason-item p {
    font-size: 16px;
    padding: 1em 0.8em;
    height: auto;
  }
}

.top-flow {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
@media (max-width: 599px) {
  .top-flow {
    padding-bottom: 46px !important;
  }
}
.top-flow h2 {
  position: relative;
}
.top-flow h2::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 100%;
  top: -56px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(./img/fukidashi2.png) no-repeat center center/contain;
}
.top-flow .flow-items {
  text-align: center !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top-flow .has-text-align-center {
  margin-top: 16px !important;
}
@media (max-width: 599px) {
  .top-flow .has-text-align-center {
    margin-top: 12px !important;
  }
}
.top-flow .flow-item {
  background: #fff;
  padding: 2.4em 1.6em;
  border-radius: 20px;
  position: relative;
}
@media (max-width: 767px) {
  .top-flow .flow-item {
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 599px) {
  .top-flow .flow-item {
    max-width: 90%;
    padding: 1.6em 1em;
  }
}
@media (max-width: 599px) {
  .top-flow .flow-item figure {
    width: 128px;
  }
}
.top-flow .flow-item::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  left: -36px;
  top: -32px;
}
@media (max-width: 599px) {
  .top-flow .flow-item::before {
    width: 62px;
    height: 62px;
    left: -20px;
  }
}
.top-flow .flow-item p {
  margin-top: 12px;
}
@media (max-width: 599px) {
  .top-flow .flow-item p {
    font-size: 14px;
  }
}
.top-flow .flow1::before {
  background: url(./img/icon-step1.png) no-repeat center center/contain;
}
.top-flow .flow2::before {
  background: url(./img/icon-step2.png) no-repeat center center/contain;
}
.top-flow .flow3::before {
  background: url(./img/icon-step3.png) no-repeat center center/contain;
}

.cta {
  padding-top: 100px !important;
  padding-bottom: 20px !important;
}
@media (max-width: 1023px) {
  .cta {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
.cta h2 {
  position: relative;
}
.cta h2::before {
  content: "";
  position: absolute;
  max-width: 280px;
  width: 26%;
  height: 100%;
  top: -90%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(./img/fukidashi.png) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .cta h2::before {
    width: 180px;
    top: -82px;
  }
}
@media (max-width: 599px) {
  .cta .smb-section__body {
    margin-top: 24px !important;
  }
}
@media (max-width: 599px) {
  .cta__btn-items {
    gap: 1em !important;
  }
}

@media (max-width: 767px) {
  .btn-items {
    padding-bottom: 210px !important;
  }
}

.top-search-btn {
  padding-top: 0;
}
.btn-search {
  margin-top: 40px;
}

.top-shops {
  padding-bottom: 0 !important;
}
.top-shops .smb-section__body {
  margin-top: 0;
}
.top-shops .shop-items {
  background: #EFEEE8;
  padding: 2em 1.8em;
  border-radius: 20px;
  max-width: 720px;
  width: 100%;
  position: relative;
}
.top-shops .shop-items::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(./img/bg-y.png) no-repeat center center/cover;
  border-radius: 20px;
  top: 20px;
  left: 20px;
  z-index: -1;
}
@media (max-width: 599px) {
  .top-shops .shop-items {
    padding: 1.6em 1.2em;
    width: 90%;
  }
}
.top-shops .smb-btn-wrapper a {
  border-bottom: 3px solid #2b2b2b;
  color: #2b2b2b;
  background-color: #EFEEE8;
  border-radius: 0;
  font-weight: bold;
  letter-spacing: 0.13rem;
  min-width: 280px;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 599px) {
  .top-shops .smb-btn-wrapper a {
    padding: 0.6em 1.2em;
  }
}
.top-shops .smb-btn-wrapper a::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(./img/icon-arrow-bk.png) no-repeat center center/contain;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-shops .smb-btn-wrapper a:hover {
  -webkit-filter: none;
          filter: none;
  color: #BC191D;
  border-bottom: 3px solid #BC191D;
}
.top-shops .smb-btn-wrapper a:hover::after {
  background: url(./img/icon-arrow-red.png) no-repeat center center/contain;
}

.top-shops-btn {
  gap: 2rem;
}

.top-fc {
  padding-bottom: 60px !important;
}
.top-fc .top-fc-body {
  max-width: 720px;
  width: 100%;
}

/* お問い合わせフォーム */
.smf-action .smf-button-control__control {
  background: #fff;
  color: #4078F1;
  font-weight: bold;
  letter-spacing: 0.3rem;
  border-radius: 50px;
  border: 2px solid #4078F1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.smf-action .smf-button-control__control:hover {
  background: #4078F1;
  color: #fff;
}

@media (max-width: 599px) {
  .top-form {
    max-width: 36rem !important;
  }
  .smf-form--simple-table .smf-item {
    display: block;
    width: 100%;
    max-width: 36rem;
  }
  .smf-form--simple-table .smf-item__col--controls {
    max-width: 100%;
    margin-top: 12px;
  }
}
.top-form-contact {
  max-width: 880px;
  margin: 0 auto;
}
.top-form-contact p {
  margin-top: 16px !important;
}
.top-form-contact .form-store-error p {
  margin-top: -16px !important;
  font-size: 93%;
}
@media (max-width: 767px) {
  .top-form-contact .smf-item__col {
    padding-bottom: 0;
  }
}
.form-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3em;
}

.form-list__label {
  width: 40%;
  font-weight: bold;
}

.form-list__label label,
.form-list__radio-label span {
  color: #333;
  font-weight: bold;
}

.form-list__label small,
.form-list__radio-label small {
  color: #fff;
  background: #bc191d;
  padding: 0 0.6em;
  margin-left: 1em;
  font-weight: bold;
  display: inline-block;
  border-radius: 5px;
}

.form-list__input {
  width: 60%;
  margin-bottom: 0;
}

.form-list.form-list-text-area {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form-list__input input,
.form-list__input textarea {
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 0.4rem 1rem;
}

.form-list__radio-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.form-list__radio-label {
  width: 40%;
}

.form-list__radio-btn {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  row-gap: 10px;
}
.form-list__radio-btn span:hover {
  cursor: pointer;
}
.has-text-align-center.cta-btn-text {
	margin-top: 1rem!important;
}

@media (max-width: 599px) {
  .form-list {
    display: block;
    margin-bottom: 1em;
  }
  .form-list__label {
    width: 100%;
  }
  .form-list__input {
    width: 100%;
    margin-top: 10px;
  }
  .form-list__radio-flex {
    display: block;
  }
  .form-list__radio-label {
    width: 100%;
  }
  .form-list__radio-btn {
    width: 100%;
  }
}
.form-flex-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}

.form-btn,
.form-back-btn {
  display: block;
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
}

.form-btn input {
  width: 100%;
  height: 4em;
  background: #fff;
  color: #4078F1;
  font-weight: bold;
  letter-spacing: 0.08rem;
  border-radius: 50px;
  border: 2px solid #4078F1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 599px) {
  .form-btn input {
    font-size: 14px;
  }
}
.form-btn input:hover {
  background: #4078F1;
  color: #fff;
}

.form-back-btn input {
  width: 100%;
  height: 4em;
  background-color: #fff;
  border: #4078F1 solid 2px;
  font-weight: bold;
  color: #4078F1;
  border-radius: 50px;
}
.form-back-btn input:hover {
  background: #F4F4F4;
}

.form-back-btn {
  display: none;
}

.page-template-page-contact-confirm .form-back-btn {
  display: block !important;
}
.page-template-page-contact-confirm .form-btn input {
  background-color: #4078F1;
  border: 2px solid #4078F1;
  color: #fff;
  letter-spacing: 0;
}

@media (max-width: 599px) {
  .form-flex-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 0;
	  margin-top: 0 !important;
  }
  .form-btn,
  .form-back-btn {
    max-width: 100%;
  }
}
.form-list__radio-btn [type=radio] {
  display: none;
}
.form-list__radio-btn .horizontal-item {
  margin-left: 0 !important;
}
@media (max-width: 599px) {
  .form-list__radio-btn .horizontal-item {
    display: block;
    margin-bottom: 8px;
  }
}
.form-list__radio-btn .mwform-radio-field-text {
  display: inline-block;
  padding-left: 38px;
  position: relative;
  cursor: pointer;
  font-size: 16px;
}
@media (max-width: 599px) {
  .form-list__radio-btn .mwform-radio-field-text {
    padding-left: 34px;
    display: block;
  }
}
.form-list__radio-btn .mwform-radio-field-text::before {
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  display: inline-block;
}
@media (max-width: 599px) {
  .form-list__radio-btn .mwform-radio-field-text::before {
    left: 0;
  }
}
.form-list__radio-btn .mwform-radio-field-text:hover::before {
  border: 1px solid #f5f5f5;
  -webkit-box-shadow: 0 0 6px rgba(245, 245, 245, 0.16);
          box-shadow: 0 0 6px rgba(245, 245, 245, 0.16);
}
.form-list__radio-btn .mwform-radio-field-text:active::before {
  background: #F4F4F4;
}
.form-list__radio-btn .mwform-radio-field-text::after {
  content: "";
  width: 10px;
  height: 10px;
  background: #333;
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  display: none;
}
.form-list__radio-btn [type=radio]:checked + span::after {
  display: block;
}

.form-d-none {
	display: none;
}
.form-param-1,
.form-param-2,
.form-param-3 {
  margin-left: auto;
  margin-bottom: 12px;
}
.form-param-1 br,
.form-param-2 br {
  display: none;
}
.form-param-2 select:not(:first-child),
.form-param-4 select {
  display: none;
}
.form-store-error {
    margin-bottom: 2px;
    color: #bc191d;
}
.form-store-error + p {
  margin-top: 2px!important;
}

.form-param-4 > span > label {
  display: none;
}

.form-param-4 > span > label input {
  cursor: pointer;
}

.policy-link a {
  color: #3c65b0;
  position: relative;
  z-index: 99;
}

.top-btn a {
  background: #333;
  color: #fff;
}

/* contact
-------------------------------------------------- */
.page-template-page-contact,
.page-template-page-contact-confirm,
.page-template-page-contact-complete {
  background-color: #F8F7E9;
}

.contact__container {
  padding-top: 100px;
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .contact__container {
    padding-top: 60px;
  }
}
.contact__container .smb-section {
  padding-top: 0;
}

.contact h2 {
  font-size: 24px;
}
@media (max-width: 599px) {
  .contact h2 {
    font-size: 18px;
  }
}
.contact .back-to-top {
  margin-top: 46px;
  cursor: pointer;
}

.form-contact {
  max-width: 680px;
  margin: 0 auto;
}

.form-flex-btn {
  margin-top: 60px;
}

.page-template-page-contact-confirm .form-flex-btn {
  margin-top: 100px !important;
}

.form-btn input[type=submit] {
  cursor: pointer !important;
}

.page-template-page-contact-confirm .form-back-btn input[type=submit] {
  cursor: pointer !important;
}

.form-list__label label {
  cursor: default;
}
.form-list__label label span {
  font-size: 12px;
}

.form-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3em;
}
.form-list-post {
  margin-bottom: 1em;
  flex-wrap: wrap;
  -moz-flex-wrap: wrap;
	align-items: flex-start;
}
.form-list-post .form-list__label p {
  margin-top: 0 !important;
	font-weight: 400 !important;

}
.form-param-4 {
  width: 60%;
  margin-left: auto;
  -moz-width: 60%;
  -moz-margin-left: auto;
}
@media (max-width: 599px) {
  .form-param-4 {
    width: 100%;
  }
}

.form-list__label {
  width: 40%;
	padding-right: 20px;
}

.form-list__label label,
.form-list__radio-label span {
  color: #333;
}

.form-list__label small,
.form-list__radio-label small {
  color: #fff;
  background: #bc191d;
  padding: 0 0.6em;
  margin-left: 1em;
  font-weight: bold;
  display: inline-block;
  border-radius: 5px;
}

.form-list__label > span {
  font-size: 12px;
}

.form-list__input {
  width: 60%;
}

.form-list.form-list-text-area {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form-list__input input,
.form-list__input textarea,
.form-list__input select {
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 0.4rem 1rem;
}

.form-list__radio-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.form-list__radio-label {
  width: 40%;
}

.form-list__radio-btn {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  row-gap: 10px;
}
.form-list__radio-btn span:hover {
  cursor: pointer;
}

@media (max-width: 599px) {
  .form-list {
    display: block;
    margin-bottom: 1em;
  }
  .form-list__label {
    width: 100%;
	  padding-right: 0;
  }
  .form-list__input {
    width: 100%;
    margin-top: 10px;
  }
  .form-list__radio-flex {
    display: block;
  }
  .form-list__radio-label {
    width: 100%;
  }
  .form-list__radio-btn {
    width: 100%;
  }
}
.form-flex-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}

.form-btn,
.form-back-btn {
  display: block;
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
}

.form-btn input {
  width: 100%;
  height: 4em;
  background: #fff;
  color: #4078F1;
  font-weight: bold;
  letter-spacing: 0.3rem;
  border-radius: 50px;
  border: 2px solid #4078F1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.form-btn input:hover {
  background: #4078F1;
  color: #fff;
}

.form-back-btn input {
  width: 100%;
  height: 4em;
  background-color: #fff;
  border: #4078F1 solid 2px;
  font-weight: bold;
  color: #4078F1;
}
.form-back-btn input:hover {
  background: #F4F4F4;
}

.form-back-btn {
  display: none;
}

.id_315 .form-back-btn {
  display: block !important;
}

@media (max-width: 599px) {
  .form-flex-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .form-btn,
  .form-back-btn {
    max-width: 100%;
  }
}
.form-list__radio-btn [type=radio] {
  display: none;
}
.form-list__radio-btn .horizontal-item {
  margin-left: 0 !important;
}
@media (max-width: 599px) {
  .form-list__radio-btn .horizontal-item {
    display: block;
    margin-bottom: 8px;
  }
}
.form-list__radio-btn .mwform-radio-field-text {
  display: inline-block;
  padding-left: 38px;
  position: relative;
  cursor: pointer;
  font-size: 16px;
}
@media (max-width: 599px) {
  .form-list__radio-btn .mwform-radio-field-text {
    padding-left: 34px;
    display: block;
  }
}
.form-list__radio-btn .mwform-radio-field-text::before {
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
  display: inline-block;
}
@media (max-width: 599px) {
  .form-list__radio-btn .mwform-radio-field-text::before {
    left: 0;
  }
}
.form-list__radio-btn .mwform-radio-field-text:hover::before {
  border: 1px solid #f5f5f5;
  -webkit-box-shadow: 0 0 6px rgba(245, 245, 245, 0.16);
          box-shadow: 0 0 6px rgba(245, 245, 245, 0.16);
}
.form-list__radio-btn .mwform-radio-field-text:active::before {
  background: #F4F4F4;
}
.form-list__radio-btn .mwform-radio-field-text::after {
  content: "";
  width: 10px;
  height: 10px;
  background: #333;
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  display: none;
}
.form-list__radio-btn [type=radio]:checked + span::after {
  display: block;
}

.top-btn a {
  background: #333;
  color: #fff;
}

.mwform-checkbox-field-text {
  display: none;
}

.form-list-check {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: flex;
  flex-wrap: wrap;
  margin-top: 32px;
  position: relative;
  width: 20em;
  margin: 0 auto;
}

.form-list-check [type="checkbox"]::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2em;
  cursor: pointer;
}

.page-template-page-contact-confirm .form-list-check {
  display: none;
}

.form-list-check > p:last-child {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 0 !important;
}

/* shops ページタイトル背景ヘッダー画像 */
.single-shops .wp-block-cover.page-header {
  position: relative;
  height: 176px !important;
  min-height: 176px !important;
  overflow: hidden;
}
@media (max-width: 767px) {
  .single-shops .wp-block-cover.page-header {
    height: 96px !important;
    min-height: 96px !important;
  }
}

.single-shops .wp-block-cover.page-header::before {
  position: absolute;
  z-index: 5;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(135deg, #bc191d, #bc191d 4px, #c43633 4px, #c43633 10px);
}

.single-shops .wp-block-cover.page-header::after {
  position: absolute;
  z-index: 6;
  content: "shops";
  bottom: -17px;
  right: 0;
  font-size: 120px;
  text-transform: uppercase;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: #b5161a;
}
@media (max-width: 767px) {
  .single-shops .wp-block-cover.page-header::after {
    font-size: 60px;
    bottom: -10px;
  }
}

.single-shops .wp-block-cover .wp-block-cover__inner-container {
  position: relative;
  z-index: 10;
}

.single-shops .wp-block-cover.page-header .page-title {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .single-shops .wp-block-cover.page-header .page-title {
    font-size: 24px !important;
  }
}

.single-shops .wp-block-cover.page-header .page-title-area {
  font-size: 24px;
  line-height: 1;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .single-shops .wp-block-cover.page-header .page-title-area {
    margin-top: 5px;
    font-size: 20px;
  }
}

/*---------------------------------------
店長挨拶
---------------------------------------*/
.shops__greeting {
  margin-top: 100px !important;
}
@media (max-width: 767px) {
  .shops__greeting {
    margin-top: 60px !important;
  }
}

.shops-greeting__inner {
  max-width: 1180px;
  margin-inline: auto;
  padding-inline: 40px;
}
@media (max-width: 599px) {
  .shops-greeting__inner {
    padding-inline: 16px;
  }
}

.shops-greeting__contents {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .shops-greeting__contents {
    margin-top: 40px;
  }
}

.shops-greeting__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  padding-bottom: 50px;
  padding-left: 50px;
}
@media (max-width: 980px) {
  .shops-greeting__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
    padding-bottom: 0;
  }
}

.shops-greeting__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  height: 430px;
  background-color: #f8f7e9;
  border-radius: 20px;
}
@media (max-width: 1080px) {
  .shops-greeting__bg {
    height: 410px;
  }
}
@media (max-width: 980px) {
  .shops-greeting__bg {
    display: none;
  }
}

.shops-greeting__bg::before {
  content: "";
  position: absolute;
  bottom: 30px;
  left: 30px;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(135deg, #f6c100, #f6c100 4px, #fff 4px, #fff 10px);
  border-radius: 20px;
  z-index: -2;
}
@media (max-width: 980px) {
  .shops-greeting__bg::before {
    display: none;
  }
}

.shops-greeting__cta {
  position: relative;
  z-index: 5;
  text-align: center;
}
@media (max-width: 980px) {
  .shops-greeting__cta {
    margin-top: -60px;
    padding-block: 90px 60px;
    width: 100vw;
    background-color: #f8f7e9;
    margin-right: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
  }
}

.shops-greeting__btn-wrap {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 30px;
}
@media (max-width: 1080px) {
  .shops-greeting__btn-wrap {
    margin-top: 30px;
  }
}
@media (max-width: 980px) {
  .shops-greeting__btn-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-column-gap: 4%;
       -moz-column-gap: 4%;
            column-gap: 4%;
  }
}
@media (max-width: 871px) {
  .shops-greeting__btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.shops-greeting__btn {
  min-width: 390px;
  height: 92px;
}
@media (max-width: 1080px) {
  .shops-greeting__btn {
    min-width: 360px;
    height: 92px;
  }
}
@media (max-width: 980px) {
  .shops-greeting__btn {
    min-width: 390px;
    height: 92px;
  }
}
@media (max-width: 599px) {
  .shops-greeting__btn {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
    height: 76px;
  }
}

.shops-greeting__store-name {
  font-size: 20px;
  font-weight: 700;
}

.shops-greeting__store-manager {
  padding-inline: 16px;
  padding-bottom: 0;
  font-size: 16px;
  position: relative;
  display: inline-block;
}
@media (max-width: 1080px) {
  .shops-greeting__store-manager {
    margin-top: 0;
  }
}
@media (max-width: 980px) {
  .shops-greeting__store-manager {
    margin-top: 0;
  }
}

.shops-greeting__store-manager span {
  padding-inline: 8px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media (max-width: 599px) {
  .shops-greeting__store-manager span {
    font-size: 20px;
  }
}

.shops-greeting__img {
  position: relative;
  z-index: 5;
  max-width: 500px;
  width: 52%;
  aspect-ratio: 500/460;
  border-radius: 20px;
  overflow: hidden;
  background-color: #ccc;
}
@media (max-width: 767px) {
  .shops-greeting__img {
    max-width: 500px;
    width: 100%;
  }
}

.shops-greeting__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.shops-greeting__body {
  max-width: 1000px;
  margin-inline: auto;
  margin-top: 60px;
  padding-inline: 80px;
}
@media (max-width: 767px) {
  .shops-greeting__body {
    margin-top: 30px;
    padding-inline: 0;
  }
}

.shops-greeting dt {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  padding-bottom: 4px;
  border-bottom: 1px solid #ccc;
  margin-top: 48px;
}
@media (max-width: 767px) {
  .shops-greeting dt {
    margin-top: 40px;
    font-size: 22px;
    padding-bottom: 3px;
  }
}

.shops-greeting dd {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-align: justify;
}
@media (max-width: 767px) {
  .shops-greeting dd {
    margin-top: 16px;
  }
}

.shops-greeting dd a {
  text-decoration: none;
  color: initial;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.shops-greeting dd a:hover {
  opacity: 0.7;
}

/*---------------------------------------
お客様の声
---------------------------------------*/
.shops__customer-voice {
  margin-top: 100px !important;
}
@media (max-width: 767px) {
  .shops__customer-voice {
    margin-top: 60px !important;
  }
}

.customer-voice {
  background-color: #bc191d;
  padding-block: 80px;
}
@media (max-width: 767px) {
  .customer-voice {
    padding-block: 68px;
    padding-block: 56px;
  }
}

/*---------------------------------------
お客様の声 スライダー
---------------------------------------*/
.customer-voice__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 60px;
}
@media (max-width: 599px) {
  .customer-voice__inner {
    padding-inline: 40px;
  }
}

.customer-voice__contents {
  max-width: 1080px;
  margin-inline: auto;
  margin-top: 60px;
  position: relative;
}
@media (max-width: 767px) {
  .customer-voice__contents {
    margin-top: 40px;
  }
}

.customer-voice__items.no-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
}
@media (max-width: 599px) {
  .customer-voice__items.no-slide {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.customer-voice__items.no-slide .voice-card {
  width: 33.333%;
}
@media (max-width: 599px) {
  .customer-voice__items.no-slide .voice-card {
    width: 100%;
  }
}

:root {
  --swiper-navigation-color: #fff;
}

.swiper-button-next,
.swiper-button-prev {
  top: 60% !important;
}

.swiper-button-next {
  right: -50px !important;
}
@media (max-width: 1200px) {
  .swiper-button-next {
    right: -40px !important;
  }
}
@media (max-width: 599px) {
  .swiper-button-next {
    right: -26px !important;
  }
}

.swiper-button-prev {
  left: -50px !important;
}
@media (max-width: 1200px) {
  .swiper-button-prev {
    left: -40px !important;
  }
}
@media (max-width: 599px) {
  .swiper-button-prev {
    left: -26px !important;
  }
}

.swiper-button-prev,
.swiper-button-next {
  width: 20px !important;
  height: 30px !important;
}
@media (max-width: 599px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 15px !important;
    height: 20px !important;
  }
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 30px !important;
  font-weight: 700;
  color: #fff;
}
@media (max-width: 599px) {
  .swiper-button-prev::after,
  .swiper-button-next::after {
    font-size: 24px !important;
  }
}

.customer-voice__items {
  list-style: none;
}

.voice-card__title {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
}

.voice-card__img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 20px;
}

/*---------------------------------------
公式LINEまたはお電話からお気軽にご相談ください。
---------------------------------------*/
.shops-contact {
  background-color: #f8f7e9;
  padding-block: 80px;
}
@media (max-width: 767px) {
  .shops-contact {
    padding-block: 68px;
    margin-top: 0 !important;
  }
}

.shops-contact__massage {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .shops-contact__massage {
    font-size: 18px;
  }
}

.shops-contact__btn-wrap {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4%;
     -moz-column-gap: 4%;
          column-gap: 4%;
}
@media (max-width: 871px) {
  .shops-contact__btn-wrap {
    margin-top: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 43px;
  }
}
@media (max-width: 599px) {
  .shops-contact__btn-wrap {
    row-gap: 20px;
  }
}

.shops-contact__btn {
  min-width: 390px;
  height: 92px;
}
@media (max-width: 599px) {
  .shops-contact__btn {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    width: 100%;
    height: 76px;
  }
}

/*---------------------------------------
店舗情報 カスタムフィールド
---------------------------------------*/
.shops__info {
  margin-top: 100px !important;
  max-width: 900px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .shops__info {
    margin-top: 60px !important;
    padding-bottom: 10px;
  }
}

/*---------------------------------------
店舗詳細
---------------------------------------*/
.stores .c-entry__content {
  padding-bottom: 60px;
}

table {
  border-spacing: 0;
  table-layout: auto;
}

table.stores-info__table {
  width: 100%;
  margin-top: 50px;
  border: 2px solid #2b2b2b;
  border-radius: 20px;
}
@media (max-width: 767px) {
  table.stores-info__table {
    margin-top: 40px;
    border-radius: 10px;
  }
}
table.stores-info__table th,
table.stores-info__table td {
  padding-block: 20px;
  padding-inline: 0;
}
@media (max-width: 767px) {
  table.stores-info__table th,
  table.stores-info__table td {
    padding-block: 10px;
  }
}
table.stores-info__table th {
  width: 180px;
  border-right: 2px solid #2b2b2b;
  background-color: #efeee8;
}
@media (max-width: 767px) {
  table.stores-info__table th {
    width: 100px;
  }
}
table.stores-info__table td {
  padding-inline: 20px;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 767px) {
  table.stores-info__table td {
    padding-inline: 10px;
  }
}
table.stores-info__table tr:not(:last-child) th,
table.stores-info__table tr:not(:last-child) td {
  border-bottom: 2px solid #2b2b2b;
}
table.stores-info__table tr:first-child th {
  border-radius: 20px 0 0 0;
}
@media (max-width: 767px) {
  table.stores-info__table tr:first-child th {
    border-radius: 10px 0 0 0;
  }
}
table.stores-info__table tr:last-child th {
  border-radius: 0 0 0 20px;
}
@media (max-width: 767px) {
  table.stores-info__table tr:last-child th {
    border-radius: 0 0 0 10px;
  }
}

.stores-info__table td a {
  text-decoration: none;
  color: initial;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.stores-info ul {
  margin-top: 24px;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  list-style: none;
}

.stores-info ul li a {
  display: block;
  width: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.stores-info__x a {
  display: block;
  width: 100%;
  height: auto;
}

.fa-twitter {
  font-size: 36px;
}

.fa-instagram {
  font-size: 36px;
}

.fa-tiktok {
  font-size: 32px;
}

.fa-youtube {
  font-size: 36px;
}

.fa-line {
  font-size: 32px;
}

.stores-info ul li a:hover {
  opacity: 0.7;
}

/*---------------------------------------
アクセス
---------------------------------------*/
.shops__access {
  margin-top: 120px !important;
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .shops__access {
    margin-top: 68px !important;
    padding-bottom: 60px;
  }
}

.shops-access__content {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .shops-access__content {
    margin-top: 40px;
  }
}

.shops-access__map {
  width: 100%;
  aspect-ratio: 1080/500;
}
@media (max-width: 767px) {
  .shops-access__map {
    aspect-ratio: 100/80;
  }
}

.shops-access__map iframe {
  width: 100%;
  height: 100%;
  border: none;
  -o-object-fit: cover;
     object-fit: cover;
}

/*---------------------------------------
同地域の他店舗
---------------------------------------*/
.shops__other {
  margin-top: 100px !important;
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .shops__other {
    margin-top: 60px !important;
    padding-bottom: 40px;
  }
}

.shops-other__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 3%;
     -moz-column-gap: 3%;
          column-gap: 3%;
  row-gap: 30px;
  margin-top: 60px;
  list-style: none;
  padding-left: 0;
}
@media (max-width: 767px) {
  .shops-other__lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 40px;
    row-gap: 20px;
  }
}

.shops-other__list a {
  text-decoration: none;
}

.single-shops .c-entry__footer {
  margin-top: 0;
	display: none;
}

/*---------------------------------------
店舗一覧 archive共通
---------------------------------------*/
/* ページタイトル背景ヘッダー画像 画像の設定はカスタマイズ→デザインから*/
.archive .wp-block-cover.wp-duotone-unset-1 {
  position: relative;
  height: 250px !important;
  min-height: 250px !important;
  overflow: hidden;
}

@media (max-width: 767px) {
  .archive .wp-block-cover.page-header {
    height: 200px !important;
    min-height: 200px !important;
  }
}

@media (max-width: 767px) {
  .archive .wp-block-cover.page-header .page-title {
    font-size: 24px !important;
  }
}

.archive .l-contents__container.c-fluid-container {
  padding-inline: 0;
}

.archive .c-page-header {
  position: relative;
  height: 250px !important;
  min-height: 250px !important;
  overflow: hidden;
  position: relative;
}

.archive .c-page-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.archive .c-page-header__title {
  position: relative;
  z-index: 3;
  font-size: 36px;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .archive .c-page-header__title {
    font-size: 24px !important;
  }
}

.archive .c-fluid-container {
  padding-inline: 0;
}

.archive .l-contents__inner:last-child {
  padding-block: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none !important;
}

/*---------------------------------------
店舗一覧（大）archive-shops
---------------------------------------*/
.archive-shops {
  width: 100%;
  max-width: 100% !important;
}

.archive-shops__contents {
  padding-block: 100px 180px;
}
@media (max-width: 599px) {
  .archive-shops__contents {
    padding-block: 60px 80px;
  }
}

.shops-area__lists {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 60px;
}
@media (max-width: 979px) {
  .shops-area__lists {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
}
@media (max-width: 669px) {
  .shops-area__lists {
    margin-top: 30px;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(6, 1fr);
    row-gap: 20px;
  }
}

.archive-shops__map-wrap {
  margin-top: 120px;
  padding: 40px;
  border-radius: 20px;
  background-color: #f8f7e8;
}
@media (max-width: 599px) {
  .archive-shops__map-wrap {
    margin-top: 80px;
    padding: 16px 16px 10px;
    border-radius: 10px;
  }
}

h2.archive-shops__title span {
  font-size: 24px;
  padding-inline: 40px;
  position: relative;
}
@media (max-width: 599px) {
  h2.archive-shops__title span {
    font-size: 22px;
    padding-inline: 25px 10px;
  }
}

h2.archive-shops__title span::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 51%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-color: #333;
  -webkit-mask-image: url(./img/search.svg);
          mask-image: url(./img/search.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 599px) {
  h2.archive-shops__title span::before {
    width: 18px;
    height: 18px;
    left: 0;
  }
}

/*---------------------------------------
店舗一覧（中）taxonomy-shops
---------------------------------------*/
.shops-area {
  max-width: 100% !important;
}

.area__contents {
  padding-block: 100px 140px;
}
@media (max-width: 599px) {
  .area__contents {
    padding-block: 60px 80px;
  }
}

.area__wrap:not(:first-of-type) {
  margin-top: 140px;
}
@media (max-width: 599px) {
  .area__wrap:not(:first-of-type) {
    margin-top: 90px;
  }
}

.area__title {
  text-align: center;
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .area__title {
    font-size: 28.8px;
  }
}

.area__items {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 20px;
}
@media (max-width: 599px) {
  .area__items {
    margin-top: 30px;
  }
}

@media (max-width: 599px) {
  .area__item {
    width: 100%;
  }
}

/*---------------------------------------
company
---------------------------------------*/
.company__container {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .company__container {
    padding-top: 60px;
  }
}
@media (max-width: 599px) {
  .company__container {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}

.company__greeting {
  margin-top: 120px;
}
@media (max-width: 767px) {
  .company__greeting {
    margin-top: 80px;
  }
}

.company__history {
  margin-top: 180px;
}
@media (max-width: 767px) {
  .company__history {
    margin-top: 80px;
  }
}

.company__info {
  margin-top: 120px;
}
@media (max-width: 767px) {
  .company__info {
    margin-top: 80px;
  }
}

.company__access {
  margin-top: 120px;
}
@media (max-width: 767px) {
  .company__access {
    margin-top: 80px;
  }
}

/*---------------------------------------
company-philosophy
---------------------------------------*/
.company-philosophy__contents {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .company-philosophy__contents {
    margin-top: 40px;
  }
}

.company-philosophy__lead {
  text-align: center;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (max-width: 599px) {
  .company-philosophy__lead {
    font-size: 20px;
  }
}

.company-philosophy__body {
  margin-top: 40px;
  max-width: 700px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .company-philosophy__body {
    margin-top: 24px;
  }
}

.company-philosophy__text {
  font-weight: 500;
  text-align: justify;
}

/*---------------------------------------
company-greeting
---------------------------------------*/
.company-greeting__contents {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 6%;
     -moz-column-gap: 6%;
          column-gap: 6%;
  position: relative;
}
@media (max-width: 940px) {
  .company-greeting__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
    padding-bottom: 0;
    margin-top: 40px;
  }
}

.company-greeting__img-box {
  padding-bottom: 70px;
  max-width: 500px;
  width: 44%;
}
@media (max-width: 940px) {
  .company-greeting__img-box {
    width: 52%;
  }
}
@media (max-width: 767px) {
  .company-greeting__img-box {
    width: 100%;
  }
}

.company-greeting__img {
  position: relative;
  z-index: 5;
  aspect-ratio: 500/460;
  border-radius: 20px;
  overflow: hidden;
}

.company-greeting__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.company-greeting__bg {
  position: absolute;
  bottom: -45px;
  right: 0;
  width: 70%;
  height: 400px;
  background-color: #f8f7e9;
  border-radius: 20px;
}
@media (max-width: 940px) {
  .company-greeting__bg {
    display: none;
  }
}

.company-greeting__bg::before {
  content: "";
  position: absolute;
  top: -30px;
  left: -30px;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(135deg, #f6c100, #f6c100 4px, #fff 4px, #fff 10px);
  z-index: -2;
  border-radius: 20px;
}
@media (max-width: 940px) {
  .company-greeting__bg::before {
    display: none;
  }
}

.company-greeting__body {
  position: relative;
  padding-right: 50px;
  width: 50%;
}
@media (max-width: 940px) {
  .company-greeting__body {
    margin-top: -140px;
    padding-block: 110px 40px;
    width: 100vw;
    background-color: #f8f7e9;
    margin-right: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    margin-left: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
  }
}

.company-greeting__text {
  font-weight: 500;
}

.company-greeting__name {
  margin-top: 20px;
  text-align: right;
  font-weight: 700;
}

.company-greeting__name span {
  font-size: 20px;
}

/*---------------------------------------
company-history
---------------------------------------*/
.company-history__body {
  margin-top: 50px;
  border-top: 1px solid #2b2b2b;
}
@media (max-width: 767px) {
  .company-history__body {
    margin-top: 40px;
  }
}
.company-history__body dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 40px;
  border-bottom: 1px solid #2b2b2b;
}
@media (max-width: 767px) {
  .company-history__body dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px;
  }
}
.company-history__body dt {
  width: 180px;
}
@media (max-width: 767px) {
  .company-history__body dt {
    width: 100%;
    line-height: 1.2;
  }
}
.company-history__body dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .company-history__body dd {
    margin-top: 8px;
  }
}

/*---------------------------------------
company-info
---------------------------------------*/
.company-info {
  max-width: 780px;
  margin-inline: auto;
}

table {
  border-spacing: 0;
  table-layout: auto;
}

table.company-info__table {
  width: 100%;
  margin-top: 50px;
  border: 2px solid #2b2b2b;
  border-radius: 20px;
}
@media (max-width: 767px) {
  table.company-info__table {
    margin-top: 40px;
    border-radius: 10px;
  }
}
table.company-info__table th,
table.company-info__table td {
  padding-block: 20px;
  padding-inline: 0;
}
@media (max-width: 767px) {
  table.company-info__table th,
  table.company-info__table td {
    padding-block: 10px;
  }
}
table.company-info__table th {
  width: 180px;
  border-right: 2px solid #2b2b2b;
  background-color: #efeee8;
}
@media (max-width: 767px) {
  table.company-info__table th {
    width: 100px;
  }
}
table.company-info__table td {
  padding-inline: 20px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  table.company-info__table td {
    padding-inline: 10px;
  }
}
table.company-info__table tr:not(:last-child) th,
table.company-info__table tr:not(:last-child) td {
  border-bottom: 2px solid #2b2b2b;
}
table.company-info__table tr:first-child th {
  border-radius: 20px 0 0 0;
}
@media (max-width: 767px) {
  table.company-info__table tr:first-child th {
    border-radius: 10px 0 0 0;
  }
}
table.company-info__table tr:last-child th {
  border-radius: 0 0 0 20px;
}
@media (max-width: 767px) {
  table.company-info__table tr:last-child th {
    border-radius: 0 0 0 10px;
  }
}

table td a {
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

table td a:hover {
  opacity: 0.7;
}

/*---------------------------------------
company-access
---------------------------------------*/
.company-access__content {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .company-access__content {
    margin-top: 40px;
  }
}

.company-access__map {
  width: 100%;
  aspect-ratio: 1080/500;
}
@media (max-width: 767px) {
  .company-access__map {
    aspect-ratio: 100/80;
  }
}

.company-access__map iframe {
  width: 100%;
  height: 100%;
  border: none;
  -o-object-fit: cover;
     object-fit: cover;
}

/*---------------------------------------
faq
---------------------------------------*/
.page-template-page-faq .smb-section__contents-wrapper {
  max-width: 860px !important;
}

.faq__container {
  padding-top: 100px;
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .faq__container {
    padding-top: 60px;
  }
}
@media (max-width: 599px) {
  .faq__container {
    padding-bottom: 80px;
  }
}

@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item {
    padding-block: 20px;
  }
}
.page-template-page-faq .smb-faq__item__question {
  margin: 0;
}
.page-template-page-faq .smb-faq__item__question__label {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 40px;
  margin-right: 10px;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item__question__label {
    font-size: 24px;
  }
}
.page-template-page-faq .smb-faq__item__question__body {
  padding-top: 10px;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item__question__body {
    padding-top: 5px;
    font-size: 14px;
  }
}
.page-template-page-faq .smb-faq__item__answer {
  margin-top: 20px;
}
.page-template-page-faq .smb-faq__item__answer__label {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 40px;
  margin-right: 10px;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item__answer__label {
    font-size: 24px;
  }
}
.page-template-page-faq .smb-faq__item__answer__body {
  padding-top: 10px;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item__answer__body {
    padding-top: 5px;
  }
}
.page-template-page-faq .smb-faq__item__answer__body p {
  font-weight: 500;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-faq__item__answer__body p {
    font-size: 14px;
  }
}
.page-template-page-faq .smb-section__title {
  margin-bottom: 0;
}
@media (max-width: 599px) {
  .page-template-page-faq .smb-section__title {
    font-size: 24px;
  }
}
.page-template-page-faq .smb-section__body {
  margin-top: 20px;
}
.page-template-page-faq #faq-section:not(:first-of-type) {
  padding-top: 120px !important;
}
@media (max-width: 599px) {
  .page-template-page-faq #faq-section:not(:first-of-type) {
    padding-top: 80px !important;
  }
}
.page-template-page-faq #faq-section:first-of-type {
  padding-top: 0 !important;
}

/*---------------------------------------
スマイルカーズとは
---------------------------------------*/
.page-template-page-about .smb-section__title {
  font-size: 40px !important;
}
@media (max-width: 599px) {
  .page-template-page-about .smb-section__title {
    font-size: 28.8px !important;
  }
}

/*---------------------------------------
about
---------------------------------------*/
@media (max-width: 599px) {
  .about-section {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }
}
@media (max-width: 599px) {
  .about-section .smb-section__body {
    margin-top: 30px;
  }
}

.about-flex {
  margin-top: 60px !important;
  margin-bottom: 80px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1080px;
}
@media (max-width: 599px) {
  .about-flex {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    gap: 30px !important;
  }
}

.about-img {
  width: 45%;
  aspect-ratio: 500/340;
  border-radius: 20px;
  overflow: hidden;
}

.about-img figure {
  width: 100%;
  height: 100%;
  margin: 0;
}

.about-img figure img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 79% 50%;
     object-position: 79% 50%;
}

.about-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 500;
}

.page-template-page-about .about-reason .smb-section__background::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f8f7e8;
}

@media (max-width: 599px) {
  .about-reason .wp-block-snow-monkey-blocks-section {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
  }
}

/*---------------------------------------
service
---------------------------------------*/
.service-section {
  padding-top: 60px !important;
  padding-bottom: 100px;
}
@media (max-width: 599px) {
  .service-section {
    padding-top: 20px !important;
    padding-bottom: 60px;
  }
}

@media (max-width: 599px) {
  .service-section .smb-section__lede-wrapper {
    margin-top: 24px !important;
    text-align: justify;
  }
}

.service-section .smb-section__body {
  margin-top: 24px !important;
}

.service-items {
  margin-top: 60px !important;
  max-width: 1000px;
  margin-inline: auto;
}
@media (max-width: 599px) {
  .service-items {
    margin-top: 24px !important;
    gap: 30px;
  }
}

.service-item {
  background-color: #efeee8;
  background-color: #3c65b0;
  padding: 40px 30px;
  border-radius: 30px;
}
@media (max-width: 599px) {
  .service-item {
    border-radius: 20px;
    padding: 30px 16px;
  }
}

.service-item .service-img-box {
  padding-inline: 20px;
}

.service-item figure {
  background-color: #fff;
  padding: 16px;
  border-radius: 16px;
  overflow: hidden;
}

.service-item h3.wp-block-heading {
  margin-block: 0;
  color: #fff;
  font-size: 24px;
  text-align: center;
}

.service-item .service-text-box {
  margin-top: 20px !important;
}

.service-text {
  margin-top: 20px !important;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-align: justify;
}
@media (max-width: 599px) {
  .service-text {
    font-size: 14px;
  }
}

.error404 {
  max-width: 100%;
}
.error404 .l-wrapper {
  max-width: 100%;
}
.error404 .l-contents__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.error404 .l-contents__container {
  padding-left: 0;
  padding-right: 0;
}
.error404 .not-found__page-header {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.error404 .back-to-top {
  margin-top: 46px;
  text-align: center;
}
.error404 .back-to-top a {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.error404 .sp {
  display: none;
}
@media (max-width: 599px) {
  .error404 .sp {
    display: block;
  }
}

.not-found__title {
  font-size: 24px;
}
@media (max-width: 599px) {
  .not-found__title {
    font-size: 18px;
  }
}
.not-found__container {
  padding-top: 100px;
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .not-found__container {
    padding-top: 60px;
  }
}
.not-found__container .smb-section {
  padding-top: 0;
}
.not-found__text {
  text-align: center;
  margin-top: 46px;
}

/*---------------------------------------
utility
---------------------------------------*/
@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
}

@media (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

.u-ib {
  display: inline-block;
}

.u-center {
  text-align: center;
}

.u-mt80 {
  margin-top: 80px;
}