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

.min-ff {
  font-family: "Noto Serif JP", serif !important;
}

.en-ff {
  font-family: "optima-lt-pro", sans-serif !important;
}

.maru-ff {
  font-family: "fot-tsukuardgothic-std", sans-serif !important;
}

@media screen and (max-width: 639px) {
  .blog h1,
.single h1 {
    font-size: 22px !important;
  }
  .blog h2,
.single h2 {
    font-size: 18px !important;
  }
  .blog h3,
.single h3 {
    font-size: 16px !important;
  }
  .blog h4,
.single h4 {
    font-size: 15px !important;
  }
  .blog h2.c-entry-summary__title {
    font-size: 16px !important;
  }
  h3.c-entry-summary__title {
    font-size: 16px !important;
  }
}
h1.c-entry__title {
  font-size: 20px !important;
}
@media screen and (max-width: 639px) {
  h1.c-entry__title {
    font-size: 18px !important;
  }
}

@media screen and (max-width: 639px) {
  .sp-f12 {
    font-size: 12px !important;
  }
  .sp-f14 {
    font-size: 14px !important;
  }
  .sp-f15 {
    font-size: 15px !important;
  }
  .sp-f16 {
    font-size: 16px !important;
  }
  .sp-f18 {
    font-size: 18px !important;
  }
  .sp-f20 {
    font-size: 20px !important;
  }
  .sp-f22 {
    font-size: 22px !important;
  }
  .sp-tal {
    text-align: left !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .sp-tal {
    text-align: left !important;
  }
}
li.c-meta__item.c-meta__item--author {
  display: none !important;
}

.gap0 {
  gap: 0 !important;
}

@media screen and (max-width: 639px) {
  .section-title h2 {
    font-size: 20px !important;
  }
}

/*=============================================
# ヘッダー
=============================================== */
.p-global-nav .c-navbar__item > a > small {
  font-family: "optima-lt-pro", sans-serif !important;
  color: #905F3A !important;
  letter-spacing: 0.1em !important;
  font-style: italic !important;
}

.p-global-nav .c-navbar__item > a {
  flex-direction: column-reverse !important;
}

.p-global-nav .c-navbar__item > a > span {
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
}

/*=============================================
# ドロワー
=============================================== */
.c-drawer__menu li {
  font-size: 1.3em !important;
}
.c-drawer__menu li small {
  font-family: "optima-lt-pro", sans-serif !important;
}
.c-drawer__menu li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*=============================================
# トップ
=============================================== */
@media screen and (max-width: 639px) {
  .fv {
    padding-top: 6em !important;
    padding-bottom: 3em !important;
  }
}

.fv-title {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif !important;
}
@media screen and (max-width: 639px) {
  .fv-title {
    font-size: 2em !important;
  }
}

@media screen and (max-width: 639px) {
  .fv-sub-text {
    font-size: 16px !important;
  }
}

@media screen and (max-width: 639px) {
  .fv-item-box {
    margin-top: 2em !important;
    gap: 0.5em !important;
    justify-content: center !important;
  }
}

.fv-item {
  background: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 50%;
  width: 180px;
  height: 180px;
  border: 1px solid #F0E5CD;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 639px) {
  .fv-item {
    width: 110px;
    height: 110px;
  }
}

.fv-icon {
  transform: rotateZ(-8deg);
}
@media screen and (min-width: 639px) and (max-width: 1126px) {
  .fv-icon {
    --smb--flex-basis: 30% !important;
  }
}
@media screen and (max-width: 639px) {
  .fv-icon {
    --smb--flex-basis: 42% !important;
    margin-right: 0 !important;
  }
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .fv-flex {
    justify-content: flex-end !important;
  }
}
@media screen and (max-width: 639px) {
  .fv-flex {
    justify-content: end !important;
  }
}

.left-border {
  position: relative;
}
.left-border::before {
  content: "";
  width: 24px;
  height: 1px;
  display: inline-block;
  background: #D49A74;
  position: absolute;
  left: 0;
  top: 50%;
}
@media screen and (max-width: 639px) {
  .left-border::before {
    top: 0.8em;
  }
}

@media screen and (max-width: 639px) {
  .concept-top-flex {
    flex-direction: column !important;
  }
}

.concept-img-box {
  position: relative;
}
@media screen and (max-width: 639px) {
  .concept-img-box {
    margin-top: 2em !important;
  }
}
.concept-img-box::before {
  content: "";
  width: 403px;
  height: 260px;
  display: inline-block;
  background: #FAF3E8;
  position: absolute;
  left: -3em;
  top: 20%;
}

.concept-img2 {
  padding-right: 2em !important;
}

.concept-img3 {
  text-align: -webkit-right !important;
}

p.concept-flex-left {
  line-height: 2 !important;
}

.service-item .has-sm-text-alt-background-color {
  border-radius: 8px !important;
  border: 1px solid #EEEEEE !important;
}

@media screen and (max-width: 639px) {
  .service-item p {
    font-size: 12px !important;
  }
}

.main-btn a {
  position: relative;
  font-family: "fot-tsukuardgothic-std", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
}
.main-btn a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  color: #fff;
  position: absolute;
  right: 2em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
  transition: all 0.3s;
}
.main-btn a:hover {
  opacity: 0.9;
}
.main-btn a:hover::after {
  transform: translateY(-50%) translateX(4px);
}

.smb-btn:hover {
  filter: none !important;
}

@media screen and (max-width: 639px) {
  .message-flex {
    gap: 1em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .message-flex {
    gap: 1em !important;
  }
}

.heart-text {
  position: relative;
}
@media screen and (max-width: 639px) {
  .heart-text {
    padding: 0 4% !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .heart-text {
    padding: 0 4% !important;
  }
}
.heart-text::before {
  content: "";
  width: 285px;
  height: 300px;
  display: inline-block;
  background: #FCFAF5;
  position: absolute;
  bottom: -2em;
  left: -15em;
  z-index: -1;
}

@media screen and (max-width: 639px) {
  .message-img img {
    border-radius: 0 !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .message-img img {
    border-radius: 0 !important;
  }
}

.contact-img img {
  height: 100% !important;
}

.l-footer-widget-area h2 {
  display: block !important;
}
.l-footer-widget-area h2::before {
  display: none !important;
}
.l-footer-widget-area h2::after {
  display: none !important;
}

.widget_nav_menu ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 639px) {
  .widget_nav_menu ul {
    flex-direction: column;
    align-items: center;
  }
}
.widget_nav_menu ul li {
  margin-top: 0 !important;
}
@media screen and (max-width: 639px) {
  .widget_nav_menu ul li {
    padding: 8px !important;
  }
}

@media screen and (max-width: 639px) {
  .footer-nav-flex {
    flex-direction: column !important;
  }
}

.l-footer {
  border-top: none !important;
}
.l-footer .c-widget {
  font-size: 16px !important;
}

@media screen and (max-width: 639px) {
  .contact-flex {
    flex-direction: column !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .contact-flex {
    align-items: normal !important;
  }
}

@media screen and (max-width: 639px) {
  .contact-right {
    padding: 3em 1.5em !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .contact-right {
    padding: 3em 1.5em !important;
  }
}

@media screen and (max-width: 639px) {
  .footer-logo {
    flex: 1 1 100% !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .footer-logo {
    flex: 1 1 100% !important;
  }
}

.c-copyright.c-copyright--inverse {
  text-align: right !important;
  width: 1140px !important;
  max-width: 100% !important;
  margin: auto !important;
}
@media screen and (max-width: 639px) {
  .c-copyright.c-copyright--inverse {
    text-align: center !important;
  }
}
@media screen and (min-width: 639px) and (max-width: 1023px) {
  .c-copyright.c-copyright--inverse {
    text-align: center !important;
  }
}
.c-copyright.c-copyright--inverse .c-fluid-container {
  padding: 0 !important;
}

.c-copyright--inverse {
  background-color: #fff;
  color: #333;
}

.c-page-header[data-has-image=true] {
  height: clamp(210px, 50.5vw, 280px) !important;
}
.c-page-header[data-has-image=true] h1.c-page-header__title {
  font-size: 1.5em !important;
  letter-spacing: 0.2em !important;
  font-family: "fot-tsukuardgothic-std", sans-serif !important;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}

.message-text-box p {
  line-height: 2 !important;
}

.info-list .smb-information__item__label {
  border-left: none !important;
  border-right: none !important;
}
@media screen and (max-width: 639px) {
  .info-list .smb-information__item__label {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}
.info-list .smb-information__item__body {
  border-right: none !important;
}
@media screen and (max-width: 639px) {
  .info-list .smb-information__item__body {
    border-left: none !important;
  }
}

.Illustrator-gallery .spider__figure {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.Illustrator-name {
  border-bottom: 1px solid #D49A74 !important;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 0 !important;
}

.faq .smb-accordion__item__title {
  background: #fff !important;
  position: relative;
  padding-left: 2em !important;
  font-weight: 500 !important;
}
.faq .smb-accordion__item__title::before {
  content: "Q.";
  font-size: 1.25em;
  color: #3E100A;
  position: absolute;
  left: 0;
  font-family: "optima-lt-pro", sans-serif !important;
}
.faq .smb-accordion__item__body {
  background: #FCFAF5;
  border-radius: 4px;
  margin-top: 1em !important;
}

.snow-monkey-form--button-has-accent-color .smf-button-control__control {
  font-family: "fot-tsukuardgothic-std", sans-serif !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  padding: 0.6em 3em !important;
}

@media screen and (max-width: 639px) {
  .flow-flex {
    gap: 1.5em !important;
    flex-direction: column !important;
  }
}

@media screen and (max-width: 639px) {
  .flow-text-box {
    padding-right: 0 !important;
  }
}
.flow-text-box p.en-ff {
  line-height: 1 !important;
}

@media screen and (max-width: 639px) {
  .Illustrator-item {
    padding: 3em 2em !important;
  }
}

@media screen and (max-width: 639px) {
  .flex-title {
    gap: 0 1em !important;
  }
}
@media screen and (max-width: 639px) {
  .flex-title .en-ff {
    font-size: 2.6em !important;
    line-height: 1 !important;
  }
}

@media screen and (max-width: 639px) {
  .info-flex {
    flex-direction: column-reverse !important;
    gap: 0 !important;
  }
}

@media screen and (min-width: 639px) and (max-width: 1023px) {
  .about-img {
    --smb--flex-basis: 35% !important;
  }
}
@media screen and (max-width: 639px) {
  .info-section {
    padding-top: 6em !important;
  }
}

.contact-title-flex {
  gap: 8px !important;
}