.u-hide {
  display: none !important;
}

.u-opacity {
  opacity: 0;
}

.u-sp {
  display: block !important;
}
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

.u-spTab {
  display: block !important;
}
@media (min-width: 1280px) {
  .u-spTab {
    display: none !important;
  }
}

.u-tab {
  display: none !important;
}
@media (min-width: 768px) {
  .u-tab {
    display: block !important;
  }
}
@media (min-width: 1280px) {
  .u-tab {
    display: none !important;
  }
}

.u-tabPc {
  display: none !important;
}
@media (min-width: 768px) {
  .u-tabPc {
    display: block !important;
  }
}

.u-pc {
  display: none !important;
}
@media (min-width: 1280px) {
  .u-pc {
    display: block !important;
  }
}

.u-spPc {
  display: none !important;
}
@media (max-width: 767px) {
  .u-spPc {
    display: block !important;
  }
}
@media (min-width: 1280px) {
  .u-spPc {
    display: block !important;
  }
}

.l-header {
  position: fixed;
  display: block !important;
  background-color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.8181818182rem + 0.1136363636vw, 1rem);
  line-height: 1.8;
  width: 100%;
  min-width: auto;
  height: auto;
  top: 0;
  left: 0;
  border-bottom: 1px solid #DBDBDB;
  z-index: 90;
}
.l-header .c-inner {
  padding-left: clamp(16px, 2.7777777778vw, 32px);
}
@media (min-width: 768px) {
  .l-header .c-inner {
    padding-left: clamp(8px, 1.3888888889vw, 16px);
    padding-right: clamp(8px, 1.3888888889vw, 16px);
  }
}
@media (min-width: 1280px) {
  .l-header .c-inner {
    padding-left: clamp(16px, 2.7777777778vw, 32px);
    padding-right: clamp(16px, 2.7777777778vw, 32px);
  }
}
@media (hover: hover) {
  .l-header a:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}

.l-header__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: clamp(24px, 4.1666666667vw, 48px);
       column-gap: clamp(24px, 4.1666666667vw, 48px);
  padding-top: clamp(13px, 2.0833333333vw, 24px);
  padding-bottom: clamp(13px, 2.0833333333vw, 24px);
}
@media (min-width: 768px) {
  .l-header__contents {
    justify-content: space-between;
    -moz-column-gap: clamp(7.5px, 1.3020833333vw, 15px);
         column-gap: clamp(7.5px, 1.3020833333vw, 15px);
  }
}

.l-header__menu {
  position: relative;
  flex: 0 1 clamp(24px, 4.1666666667vw, 48px);
  height: clamp(10px, 1.7361111111vw, 20px);
}
.l-header__menu span {
  position: absolute;
  background-color: #434750;
  width: 100%;
  height: clamp(1px, 0.1736111111vw, 2px);
  left: 0;
  transition: all 0.4s;
}
.l-header__menu span:nth-of-type(1) {
  top: 0;
}
.l-header__menu span:nth-of-type(2) {
  bottom: 0;
}

.l-header__logo {
  flex: 0 1 clamp(169px, 29.3402777778vw, 338px);
}
@media (min-width: 768px) {
  .l-header__logo {
    flex: 0 1 clamp(90px, 15.625vw, 180px);
  }
}
@media (min-width: 1280px) {
  .l-header__logo {
    flex: 0 1 clamp(154.5px, 26.8229166667vw, 309px);
  }
}
.l-header__logo img {
  height: 100%;
}

.l-header__button {
  flex: 0 1 clamp(132px, 22.9166666667vw, 264px);
  background-color: #ffffff;
}
.l-header__button a {
  display: block;
  background-color: #EC3331;
  color: #ffffff;
  font-size: clamp(0.75rem, 0.4090909091rem + 0.6818181818vw, 1.5rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  padding-top: clamp(13px, 2.2569444444vw, 26px);
  padding-right: clamp(12px, 2.0833333333vw, 24px);
  padding-bottom: clamp(13px, 2.2569444444vw, 26px);
}
.l-header__button a span {
  position: relative;
}
.l-header__button a span::before, .l-header__button a span::after {
  content: "";
  position: absolute;
  display: block;
}
.l-header__button a span::before {
  background-color: #ffffff;
  width: clamp(12px, 2.0833333333vw, 24px);
  height: clamp(12px, 2.0833333333vw, 24px);
  top: 50%;
  right: clamp(-40px, -3.4722222222vw, -20px);
  border-radius: 50%;
  margin-top: clamp(-12px, -1.0416666667vw, -6px);
}
.l-header__button a span::after {
  background-image: url(/wp/wp-content/themes/bfs/img/icon_arrow_r.svg);
  background-size: 100%;
  width: clamp(6px, 1.0416666667vw, 12px);
  aspect-ratio: 6/3;
  top: 50%;
  right: clamp(-34px, -2.9513888889vw, -17px);
  margin-top: clamp(-3px, -0.2604166667vw, -1.5px);
}
@media (max-width: 767px) {
  .l-header__button a span::after {
    transform: rotate(-90deg);
  }
}
@media (min-width: 768px) {
  .l-header__button a span::after {
    right: clamp(-20px, -1.7361111111vw, -10px);
  }
}

@media (max-width: 767px) {
  .l-header__box {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: calc(100vh - clamp(13px, 2.0833333333vw, 24px) - clamp(155px, 26.9097222222vw, 310px) / 155 * 38 - clamp(13px, 2.0833333333vw, 24px));
    height: calc(100dvh - clamp(13px, 2.0833333333vw, 24px) - clamp(155px, 26.9097222222vw, 310px) / 155 * 38 - clamp(13px, 2.0833333333vw, 24px));
    top: calc(clamp(13px, 2.0833333333vw, 24px) + clamp(155px, 26.9097222222vw, 310px) / 155 * 38 + clamp(13px, 2.0833333333vw, 24px));
    right: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    transition-property: right;
    transition-duration: 0.7s;
  }
}
@media (min-width: 768px) {
  .l-header__box {
    flex: 1 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: clamp(40.5px, 7.03125vw, 81px);
         column-gap: clamp(40.5px, 7.03125vw, 81px);
  }
}

@media (max-width: 767px) {
  .l-header__nav-box {
    width: 78.67%;
    height: calc(100vh - clamp(13px, 2.0833333333vw, 24px) - clamp(155px, 26.9097222222vw, 310px) / 155 * 38 - clamp(13px, 2.0833333333vw, 24px) + 0.5px);
    height: calc(100dvh - clamp(13px, 2.0833333333vw, 24px) - clamp(155px, 26.9097222222vw, 310px) / 155 * 38 - clamp(13px, 2.0833333333vw, 24px) + 0.5px);
  }
}
@media (min-width: 768px) {
  .l-header__nav-box {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .l-header__nav-inner {
    background-color: #ffffff;
    height: 100%;
    padding-top: clamp(112px, 19.4444444444vw, 224px);
  }
}
@media (min-width: 768px) {
  .l-header__nav-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: clamp(10px, 1.7361111111vw, 20px);
         column-gap: clamp(10px, 1.7361111111vw, 20px);
  }
}
@media (min-width: 1280px) {
  .l-header__nav-inner {
    -moz-column-gap: clamp(40.5px, 7.03125vw, 81px);
         column-gap: clamp(40.5px, 7.03125vw, 81px);
  }
}

@media (max-width: 767px) {
  .l-header__nav {
    border-bottom: 1px solid #DBDBDB;
    padding-right: clamp(16px, 2.7777777778vw, 32px);
    padding-bottom: clamp(43px, 7.4652777778vw, 86px);
    padding-left: clamp(16px, 2.7777777778vw, 32px);
  }
}
@media (min-width: 768px) {
  .l-header__nav {
    flex: 1 1;
    position: relative;
  }
}
@media (min-width: 768px) {
  .l-header__nav::after {
    content: "";
    position: absolute;
    display: block;
    background-color: #DBDBDB;
    width: 1px;
    height: clamp(28px, 4.8611111111vw, 56px);
    top: 50%;
    right: clamp(-10px, -0.8680555556vw, -5px);
    margin-top: clamp(-28px, -2.4305555556vw, -14px);
  }
}
@media (min-width: 1280px) {
  .l-header__nav::after {
    right: clamp(-40.5px, -3.515625vw, -20.25px);
  }
}

@media (min-width: 768px) {
  .l-header__nav-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: clamp(5px, 0.8680555556vw, 10px);
         column-gap: clamp(5px, 0.8680555556vw, 10px);
  }
}
@media (min-width: 1280px) {
  .l-header__nav-list {
    -moz-column-gap: clamp(20px, 3.4722222222vw, 40px);
         column-gap: clamp(20px, 3.4722222222vw, 40px);
  }
}

@media (max-width: 767px) {
  .l-header__nav-item:nth-last-of-type(n+2) {
    margin-bottom: clamp(22px, 3.8194444444vw, 44px);
  }
}
.l-header__nav-item a {
  font-weight: 700;
}

@media (max-width: 767px) {
  .l-header__actions {
    padding-top: clamp(40px, 6.9444444444vw, 80px);
    padding-right: clamp(16px, 2.7777777778vw, 32px);
    padding-bottom: clamp(40px, 6.9444444444vw, 80px);
    padding-left: clamp(16px, 2.7777777778vw, 32px);
  }
}
@media (min-width: 768px) {
  .l-header__actions {
    flex: 0 1 clamp(235px, 22.9166666667vw, 264px);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: row-reverse;
    -moz-column-gap: clamp(5px, 0.8680555556vw, 10px);
         column-gap: clamp(5px, 0.8680555556vw, 10px);
  }
}
@media (min-width: 1280px) {
  .l-header__actions {
    -moz-column-gap: clamp(12px, 2.0833333333vw, 24px);
         column-gap: clamp(12px, 2.0833333333vw, 24px);
  }
}

.l-header__actions-button {
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .l-header__actions-button:nth-last-of-type(n+2) {
    margin-bottom: clamp(20px, 3.4722222222vw, 40px);
  }
}
.l-header__actions-button a {
  display: block;
  color: #ffffff;
  font-size: clamp(0.875rem, 0.8181818182rem + 0.1136363636vw, 1rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  padding-top: clamp(13px, 1.7795138889vw, 20.5px);
  padding-right: clamp(12px, 2.0833333333vw, 24px);
  padding-bottom: clamp(13px, 1.7795138889vw, 20.5px);
}
.l-header__actions-button a span {
  position: relative;
  display: inline;
}
.l-header__actions-button a span::before, .l-header__actions-button a span::after {
  content: "";
  position: absolute;
  display: block;
}
.l-header__actions-button a span::before {
  background-color: #ffffff;
  width: clamp(12px, 1.3888888889vw, 16px);
  height: clamp(12px, 1.3888888889vw, 16px);
  top: 50%;
  right: clamp(-24px, -2.0833333333vw, -20px);
  border-radius: 50%;
  margin-top: clamp(-8px, -0.6944444444vw, -6px);
}
.l-header__actions-button a span::after {
  width: clamp(6px, 0.6944444444vw, 8px);
  aspect-ratio: 6/3;
  top: 50%;
  right: clamp(-20px, -1.7361111111vw, -17px);
  margin-top: clamp(-2px, -0.1736111111vw, -1px);
}

@media (min-width: 768px) {
  .l-header__actions-button--request {
    flex: 1 1 176px;
  }
}
.l-header__actions-button--request a {
  background-color: #EC3331;
}
.l-header__actions-button--request a span::after {
  background-image: url(/wp/wp-content/themes/bfs/img/icon_arrow_r.svg);
  background-size: 100%;
}

@media (min-width: 768px) {
  .l-header__actions-button--doc {
    flex: 1 1 64px;
  }
}
@media (max-width: 767px) {
  .l-header__actions-button--doc a {
    background-color: #434750;
  }
}
@media (min-width: 768px) {
  .l-header__actions-button--doc a {
    color: #EC3331;
    padding: 0;
  }
}
.l-header__actions-button--doc a span::after {
  background-image: url(/wp/wp-content/themes/bfs/img/icon_arrow_g.svg);
  background-size: 100%;
}
@media (min-width: 768px) {
  .l-header__actions-button--doc a span::before, .l-header__actions-button--doc a span::after {
    content: none;
  }
}

/* active */
.l-header-active .l-header__menu span {
  top: 50%;
  transform: rotate(45deg);
}
.l-header-active .l-header__menu span:nth-of-type(2) {
  transform: rotate(-45deg);
}
@media (max-width: 767px) {
  .l-header-active .l-header__box {
    right: 0;
  }
}

/* top */
body.home .l-header,
body.page-id-5907 .l-header,
body.page-id-5912 .l-header {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.1818181818vw, 1.6rem);
}
body.home .l-header .c-inner,
body.page-id-5907 .l-header .c-inner,
body.page-id-5912 .l-header .c-inner {
  width: auto;
}
body.home .l-header__button a,
body.page-id-5907 .l-header__button a,
body.page-id-5912 .l-header__button a {
  font-size: clamp(1.2rem, 0.6545454545rem + 1.0909090909vw, 2.4rem);
}
body.home .l-header__actions-button a,
body.page-id-5907 .l-header__actions-button a,
body.page-id-5912 .l-header__actions-button a {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.1818181818vw, 1.6rem);
}

body {
  margin-top: calc(clamp(13px, 2.0833333333vw, 24px) + clamp(155px, 26.9097222222vw, 310px) / 155 * 38 + clamp(13px, 2.0833333333vw, 24px)) !important;
}
@media (min-width: 768px) {
  body {
    margin-top: calc(clamp(13px, 2.0833333333vw, 24px) + clamp(100px, 17.3611111111vw, 200px) / 200 * 56 + clamp(13px, 2.0833333333vw, 24px)) !important;
  }
}

.l-footer {
  background-color: #434750;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.8181818182rem + 0.1136363636vw, 1rem);
  line-height: 1.8;
  min-width: auto;
  border-top: 1px solid #DBDBDB;
  border-bottom: 1px solid #DBDBDB;
  padding-top: 0;
  padding-bottom: 0;
}
@media (hover: hover) {
  .l-footer a:hover {
    opacity: 0.6;
    transition: all 0.3s ease;
  }
}

.l-footer__body {
  border-bottom: 1px solid #000000;
  padding-top: clamp(40px, 6.9444444444vw, 80px);
  padding-bottom: clamp(40px, 6.9444444444vw, 80px);
}
.l-footer__body .c-inner {
  padding: 0 clamp(16px, 2.7777777778vw, 32px);
  width: min(100%, 1344px);
  margin: 0 auto;
}

@media (min-width: 768px) {
  .l-footer__contents {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    -moz-column-gap: clamp(15px, 2.6041666667vw, 30px);
         column-gap: clamp(15px, 2.6041666667vw, 30px);
  }
}
@media (min-width: 1280px) {
  .l-footer__contents {
    -moz-column-gap: clamp(175px, 30.3819444444vw, 350px);
         column-gap: clamp(175px, 30.3819444444vw, 350px);
  }
}

.l-footer__info {
  font-size: clamp(0.75rem, 0.6931818182rem + 0.1136363636vw, 0.875rem);
}
@media (max-width: 767px) {
  .l-footer__info {
    border-bottom: 1px solid #DBDBDB;
    padding-bottom: clamp(27px, 4.6875vw, 54px);
    margin-bottom: clamp(27px, 4.6875vw, 54px);
  }
}
@media (min-width: 768px) {
  .l-footer__info {
    flex: 1 1 282px;
  }
}

.l-footer__logo {
  width: 58.31%;
  margin-bottom: clamp(16px, 2.7777777778vw, 32px);
}
@media (min-width: 768px) {
  .l-footer__logo {
    width: 73.53%;
  }
}

.l-footer__company {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(21px, 2.8645833333vw, 33px);
  margin-bottom: clamp(3px, 0.9548611111vw, 11px);
}

.l-footer__company-label {
  position: relative;
}
.l-footer__company-label::after {
  content: "";
  position: absolute;
  display: flex;
  background-color: #ffffff;
  width: 1px;
  height: clamp(24px, 2.7777777778vw, 32px);
  top: 50%;
  right: clamp(-16.5px, -1.4322916667vw, -11.5px);
  margin-top: clamp(-16px, -1.3888888889vw, -12px);
}

.l-footer__company-name {
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .l-footer__nav {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    -moz-column-gap: clamp(59px, 10.2430555556vw, 118px);
         column-gap: clamp(59px, 10.2430555556vw, 118px);
  }
}
@media (min-width: 768px) {
  .l-footer__nav {
    flex: 1 1 640px;
  }
}

@media (min-width: 768px) {
  .l-footer__nav-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: clamp(15px, 2.6041666667vw, 30px);
         column-gap: clamp(15px, 2.6041666667vw, 30px);
  }
}
@media (min-width: 1280px) {
  .l-footer__nav-list {
    -moz-column-gap: clamp(20px, 3.4722222222vw, 40px);
         column-gap: clamp(20px, 3.4722222222vw, 40px);
  }
}
@media (min-width: 768px) {
  .l-footer__nav-list:nth-last-of-type(n+2) {
    margin-bottom: clamp(9.5px, 1.6493055556vw, 19px);
  }
}

.l-footer__nav-list--l {
  flex: 1 1 113px;
}

@media (max-width: 767px) {
  .l-footer__nav-list--r {
    flex: 1 1 171px;
  }
}

@media (max-width: 767px) {
  .l-footer__nav-item:nth-last-of-type(n+2) {
    margin-bottom: clamp(19px, 3.2986111111vw, 38px);
  }
}
.l-footer__nav-item a {
  color: #ffffff;
  font-weight: bold;
  line-height: 1.5;
}

.l-footer__bottom {
  text-align: center;
  padding-top: clamp(3px, 1.3020833333vw, 15px);
  padding-bottom: clamp(7px, 1.6493055556vw, 19px);
}

.l-footer__copyright {
  color: #000000;
  font-size: clamp(0.625rem, 0.5113636364rem + 0.2272727273vw, 0.875rem);
  line-height: 1.5;
}

/* top */
body.home .l-footer,
body.page-id-5907 .l-footer,
body.page-id-5912 .l-footer {
  font-size: clamp(1.4rem, 1.3090909091rem + 0.1818181818vw, 1.6rem);
}
body.home .l-footer .c-inner,
body.page-id-5907 .l-footer .c-inner,
body.page-id-5912 .l-footer .c-inner {
  width: min(100%, 1344px);
}
body.home .l-footer__info,
body.page-id-5907 .l-footer__info,
body.page-id-5912 .l-footer__info {
  font-size: clamp(1.2rem, 1.1090909091rem + 0.1818181818vw, 1.4rem);
}
body.home .l-footer__copyright,
body.page-id-5907 .l-footer__copyright,
body.page-id-5912 .l-footer__copyright {
  font-size: clamp(1rem, 0.8181818182rem + 0.3636363636vw, 1.4rem);
}