@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap");
body {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
  font-weight: 500;
}
@media screen and (max-width: 639px) {
  body {
    font-size: 14px !important;
  }
}

.en-ff {
  font-family: "Lexend", sans-serif !important;
  line-height: 1 !important;
}

@media screen and (max-width: 639px) {
  h1 {
    font-size: 24px !important;
  }
  .single h1.c-entry__title {
    font-size: 20px !important;
  }
  h2 {
    font-size: 20px !important;
  }
  .blog h2.c-entry-summary__title,
.archive h2.c-entry-summary__title {
    font-size: 14px !important;
  }
  h3 {
    font-size: 18px !important;
  }
  h3.c-entry-summary__title {
    font-size: 14px !important;
  }
  h4 {
    font-size: 16px !important;
  }
  .c-prev-next-nav__item-title {
    font-size: 16px !important;
  }
}
li.c-meta__item.c-meta__item--author {
  display: none !important;
}

@media screen and (max-width: 639px) {
  .sp-28em {
    font-size: 2.8em !important;
  }
}
@media screen and (max-width: 639px) {
  .is-pc {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .is-sp {
    display: none;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .is-tab {
    display: none;
  }
}
@media screen and (max-width: 639px) {
  .flex-b {
    flex-basis: 100% !important;
  }
}
@media screen and (max-width: 639px) {
  .gap2em {
    gap: 2em !important;
  }
  .mt2em {
    margin-top: 2em !important;
  }
  .mt0 {
    margin-top: 0 !important;
  }
  .wp-block-gallery figure {
    flex: 100% !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .flex-b {
    flex-basis: 45% !important;
  }
}
.tel a {
  text-decoration: none !important;
  color: #333 !important;
}

.dot-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 639px) {
  .dot-title {
    font-size: 18px !important;
  }
}
.dot-title::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #0E8DC4;
  border-radius: 50px;
}

.btn-group {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

.icon-btn {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 0.4em 2.2em;
  border-radius: 2em;
  text-decoration: none;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  transition: background-color 0.3s ease;
}
.icon-btn span {
  font-size: 0.9em;
  font-weight: bold;
  letter-spacing: 0.08em;
}

.icon-btn svg {
  font-size: 1.2em;
}

.btn-line {
  background-color: #00B900;
}

.btn-line:hover {
  background-color: #5abe5a;
}

.btn-quote {
  background-color: #0E8DC4;
}

.btn-quote:hover {
  background-color: #5ca3ce;
}

/*=============================================
# header
=============================================== */
@media screen and (min-width: 1024px) {
  .l-2row-header__row.u-invisible-md-down {
    margin-top: 0 !important;
  }
  .p-global-nav .c-navbar__item > a {
    padding: 0.5em 2.5em 1em !important;
  }
  .c-navbar {
    justify-content: end;
  }
  .c-navbar__item {
    flex: 0 0 auto !important;
  }
  .c-navbar .menu-item:last-child a {
    padding-right: 0 !important;
  }
}
@media (min-width: 1024px) {
  .l-header--sticky-lg {
    box-shadow: none !important;
  }
}
/*=============================================
# ドロワー フッター固定
=============================================== */
.c-drawer__menu li a {
  text-align: center !important;
  font-size: 1.2em !important;
}

.c-drawer__item {
  padding-bottom: 1em !important;
  padding-top: 1em !important;
}

.p-footer-sticky-nav {
  box-shadow: none !important;
}
.p-footer-sticky-nav ul li a {
  font-size: 13px;
  text-align: start;
  display: flex;
  gap: 8px;
  padding: 1em 0 !important;
  color: #fff !important;
  font-weight: bold !important;
}
.p-footer-sticky-nav ul li a svg {
  margin: 0;
  font-size: 2em;
}
.p-footer-sticky-nav .nav-estimate {
  background: #EA8612;
}
.p-footer-sticky-nav .nav-contact a {
  background: #0E8DC4;
}
.p-footer-sticky-nav .nav-line a {
  background: #00B900;
}

/*=============================================
# top
=============================================== */
@media screen and (max-width: 639px) {
  .fv {
    --smb-section--min-height: 55vh !important;
  }
  .fv-title {
    margin-top: 6em !important;
    margin-bottom: 1.5em !important;
    font-size: 18px !important;
  }
  .fv-en-title {
    font-size: 3.5em !important;
    line-height: 1 !important;
  }
}
.fv:before {
  content: "";
  width: 45%;
  height: 100%;
  display: inline-block;
  background: #F5F8FA;
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.fv-text {
  z-index: 1;
}

.section-title h2 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 639px) {
  .section-title h2 {
    font-size: 18px !important;
  }
}
.section-title h2::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #0E8DC4;
  border-radius: 50px;
}

.contact-section .section-title h2::before {
  background: #fff;
}

.section-title.section-title-center h2 {
  justify-content: center !important;
}

@media screen and (max-width: 639px) {
  .section-title .en-ff {
    font-size: 3em !important;
  }
}

@media screen and (max-width: 639px) {
  .check-list-box p {
    font-size: 16px !important;
  }
}
@media screen and (max-width: 639px) {
  .slash-text {
    font-size: 18px !important;
  }
}
@media screen and (max-width: 639px) {
  .slash-text-box img {
    width: 48px !important;
  }
}

.btn a {
  font-weight: bold !important;
  align-items: center;
  position: relative;
  width: 300px !important;
  max-width: 100% !important;
}
.btn a::after {
  content: "";
  background: url(https://moyreform.site/wp-content/uploads/2025/05/arrow-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.3em;
  height: 1.3em;
  position: absolute;
  right: 1.5em;
}

.works-section .smb-section__fixed-background {
  bottom: 0;
  left: auto !important;
  position: absolute;
  right: 0;
  top: 0;
  width: 78% !important;
  height: 50% !important;
}

.works-section h3 {
  font-size: 16px !important;
}

.section-p8 {
  padding-top: 8em !important;
  padding-bottom: 8em !important;
}
@media screen and (max-width: 639px) {
  .section-p8 {
    padding-top: 6em !important;
    padding-bottom: 6em !important;
  }
}

.lh16 {
  line-height: 1.6 !important;
}

.merit-item .smb-box__background {
  top: auto;
  height: 80%;
}

.merit-img .smb-section-with-bgimage__bgimage img {
  -o-object-position: 50% 75% !important;
     object-position: 50% 75% !important;
  height: 30% !important;
}
@media screen and (max-width: 639px) {
  .merit-img .smb-section-with-bgimage__bgimage img {
    -o-object-position: 90% 50% !important;
       object-position: 90% 50% !important;
    height: 10% !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .merit-img .smb-section-with-bgimage__bgimage img {
    -o-object-position: 75% 90% !important;
       object-position: 75% 90% !important;
    height: 20% !important;
  }
}

.merit-box {
  margin-top: 18em !important;
}
@media screen and (max-width: 639px) {
  .merit-box {
    margin-top: 11em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .merit-box {
    margin-top: 14em !important;
  }
}

.merit-flex-items {
  gap: 1em 2em !important;
}

@media screen and (max-width: 639px) {
  .service-section h3 {
    font-size: 15px !important;
  }
}

.service-section .smb-section__fixed-background {
  bottom: 0;
  position: absolute;
  right: auto;
  top: auto;
  width: 85% !important;
  height: 35% !important;
}

.faq-section .smb-accordion__item__title {
  position: relative;
  padding: 1.5em 2em 1.5em 5.5em !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}
@media screen and (max-width: 639px) {
  .faq-section .smb-accordion__item__title {
    padding: 1.5em 2em 1.5em 5em !important;
  }
}
.faq-section .smb-accordion__item__title::before {
  content: "Q";
  font-size: 1.5em;
  font-weight: 400;
  color: #0E8DC4;
  font-family: "Lexend", sans-serif !important;
  border: 1px solid #0E8DC4;
  background: #fff;
  border-radius: 50px;
  width: 1.8em;
  height: 1.8em;
  text-align: center;
  line-height: 1.7em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1em;
}
@media screen and (max-width: 639px) {
  .faq-section .smb-accordion__item__title::before {
    font-size: 1.3em;
  }
}
.faq-section .smb-accordion__item__body {
  padding-left: 5.5em !important;
}
@media screen and (max-width: 639px) {
  .faq-section .smb-accordion__item__body {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }
}

.contact-title-border {
  padding-bottom: 1.5em !important;
  border-bottom: 1px solid #fff !important;
}
@media screen and (max-width: 639px) {
  .contact-title-border {
    gap: 2em !important;
  }
}

.contact-panel .smb-panels__item {
  border-radius: 4px !important;
}

@media (min-width: 1024px) {
  .contact-section .c-row[data-lg-columns="2"] {
    --_item-width: 100%;
  }
}
.contact-panel.mail-btns {
  flex: 1 1 25% !important;
}

.contact-panel.estimate-btns {
  flex: 1 1 55% !important;
}

.contact-mail-btn {
  font-weight: 600;
}
.contact-mail-btn svg.svg-inline--fa.fa-line {
  font-size: 1.3em !important;
  margin-right: 10px;
}
.contact-mail-btn svg.svg-inline--fa.fa-envelope {
  font-size: 1.3em !important;
  margin-right: 10px;
}
.contact-mail-btn span.smb-btn__label {
  display: flex;
  align-items: center;
}

.widget_nav_menu .sub-menu {
  display: block !important;
  border-bottom: none !important;
  border-top: none !important;
  margin-top: 0 !important;
}

button.children-expander {
  display: none !important;
}

.widget_nav_menu ul a {
  font-size: 16px !important;
  font-weight: 900 !important;
}

.widget_nav_menu .sub-menu li a {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.wp-block-group.section-title h2 {
  display: block;
  margin-bottom: 0 !important;
}
.wp-block-group.section-title h2::before {
  display: none;
}
.wp-block-group.section-title h2::after {
  display: none;
}

.section-title h2.dot-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 639px) {
  .section-title h2.dot-title {
    font-size: 18px !important;
  }
}
.section-title h2.dot-title::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #0E8DC4;
  border-radius: 50px;
}

.contact-section .wp-block-group.section-title h2 {
  position: relative;
  display: block !important;
}
.contact-section .wp-block-group.section-title h2::before {
  content: "";
  width: 10px !important;
  height: 10px !important;
  display: inline-block;
  background: #fff;
  border-radius: 50px;
  min-width: auto !important;
}

.l-footer {
  border-top: none !important;
  margin-top: 2em !important;
}

.l-footer-widget-area {
  padding-top: 0 !important;
}

.l-footer .c-fluid-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.c-copyright.c-copyright--inverse {
  text-align: end;
  width: 1200px;
  max-width: 100%;
  /* padding: 0 2%; */
  margin: auto;
}

.c-copyright--inverse {
  background-color: #fff;
  color: #696969;
  padding-top: 0 !important;
}

.l-footer--default .c-copyright {
  text-align: end;
  width: 1140px;
  max-width: 100%;
  margin: auto;
}
@media screen and (max-width: 639px) {
  .l-footer--default .c-copyright {
    text-align: center;
  }
}

.footer-flex {
  align-items: start !important;
}
@media screen and (max-width: 639px) {
  .footer-flex {
    margin-top: 1em !important;
  }
}

.footer-nav-flex {
  align-items: start !important;
  justify-content: end !important;
  gap: 4em !important;
}

@media screen and (max-width: 639px) {
  .footer-nav-flex {
    justify-content: start !important;
    gap: 1em !important;
    flex-wrap: wrap;
  }
  .footer-nav-flex .widget.widget_nav_menu {
    flex: 1 1 100% !important;
  }
}
h1.c-page-header__title {
  font-size: 1.37em !important;
  color: #333;
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 639px) {
  h1.c-page-header__title {
    font-size: 1.2em !important;
  }
}
h1.c-page-header__title::before {
  content: "";
  font-family: "Lexend", sans-serif !important;
  font-weight: 300;
  font-size: 3em;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
@media screen and (max-width: 639px) {
  h1.c-page-header__title::before {
    font-size: 2.2em;
  }
}

.blog h1.c-page-header__title::before,
.category h1.c-page-header__title::before {
  content: "TOPICS";
}

.page-id-23 h1.c-page-header__title::before {
  content: "SERVICE";
}

.post-type-archive-works h1.c-page-header__title::before,
.tax-works-category h1.c-page-header__title::before {
  content: "WORKS";
}

.page-id-25 h1.c-page-header__title::before {
  content: "COMPANY";
}

.page-id-27 h1.c-page-header__title::before {
  content: "FAQ";
}

.page-id-31 h1.c-page-header__title::before {
  content: "ESTIMATE";
}

.page-id-29 h1.c-page-header__title::before {
  content: "CONTACT";
}

.page-id-33 h1.c-page-header__title::before {
  content: "PRIVACY POLICY";
}

.c-page-header[data-has-image=true] {
  height: clamp(240px, 62.5vw, 360px) !important;
}
.c-page-header[data-has-image=true] .c-page-header__bgimage {
  width: 60%;
  left: auto;
  right: 0;
}
@media screen and (max-width: 639px) {
  .c-page-header[data-has-image=true] .c-page-header__bgimage {
    width: 65%;
    opacity: 0.5;
  }
}

.title-border {
  position: relative;
}
.title-border::after {
  content: "";
  width: 3em;
  height: 1px;
  background: #0E8DC4;
  display: inline-block;
  position: absolute;
  bottom: -0.5em;
  left: 0;
}

.company-info .c-row__col.c-row__col--1-3 {
  border-top: 1px solid #0E8DC4;
}
.company-info .smb-information__item:last-child .c-row__col.c-row__col--1-3 {
  border-bottom: 1px solid #0E8DC4;
}
.company-info .c-row__col.c-row__col--2-3 {
  border-top: 1px solid #EBEBEB;
}
.company-info .smb-information__item:last-child .c-row__col.c-row__col--2-3 {
  border-bottom: 1px solid #EBEBEB;
}
.company-info .smb-information__item__label {
  color: #0E8DC4 !important;
  font-weight: bold;
  letter-spacing: 0.1em !important;
}
@media screen and (min-width: 1024px) {
  .company-info .smb-information__item__body {
    padding-left: 3em !important;
  }
}

.company-section .smb-section__fixed-background {
  height: 80% !important;
  top: auto !important;
}

.map {
  margin-top: 0 !important;
}
.map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9 !important;
}

.contact-form button.smf-button-control__control {
  border-radius: 50px !important;
  padding-left: 2.5em !important;
  padding-right: 2.5em !important;
  font-weight: 600;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif !important;
}
@media screen and (max-width: 639px) {
  .contact-form button.smf-button-control__control {
    font-size: 14px !important;
  }
}