@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Red+Rose:wght@300..700&display=swap");
@import url("https://use.typekit.net/zxf4tkz.css");
body #body_wrap {
  /* PCだけで改行 */
  /* SPだけで改行 */
}
body #body_wrap p {
  text-align: justify;
}
body #body_wrap .js-fade {
  transform: translateY(40px);
  opacity: 0;
  transition: all 0.75s 0.4s;
}
body #body_wrap .js-fade.inview {
  transform: translateY(0);
  opacity: 1;
}
body #body_wrap .pc-br {
  display: block;
}
@media screen and (max-width: 768px) {
  body #body_wrap .pc-br {
    display: none;
  }
}
body #body_wrap .sp-br {
  display: none;
}
@media screen and (max-width: 768px) {
  body #body_wrap .sp-br {
    display: block;
  }
}
body #body_wrap #sp_menu * {
  font-weight: bold;
}
body #body_wrap #sp_menu .p-spMenu__inner {
  width: 100vw !important;
  opacity: 0;
  transform: translateX(0) !important;
  transition: transform 0.45s, -webkit-transform 0.45s, opacity 0.45s !important;
}
body #body_wrap #sp_menu .p-spMenu__inner::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/home/hero_bg.png);
  background-color: #00CFC7 !important;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__closeBtn > button i {
  color: white;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .c-widget__title {
  background: none !important;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item > a {
  padding-left: initial;
  padding-right: initial;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 18px;
  color: white;
  border-bottom: initial;
  border-top: 1px solid white;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item > a::before {
  display: none;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item.menu-item-has-children > a {
  position: relative;
  pointer-events: none;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item.menu-item-has-children > a::before, body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item.menu-item-has-children > a::after {
  display: block !important;
  content: "";
  position: absolute;
  left: initial;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 1px;
  background-color: white;
  transition: all 0.3s;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item.menu-item-has-children > a::after {
  transform: rotate(-90deg);
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item.menu-item-has-children > a.active::after {
  transform: rotate(0deg);
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item .sub-menu {
  display: none;
}
body #body_wrap #sp_menu .p-spMenu__inner .p-spMenu__body .p-spMenu__nav .c-spnav .menu-item .sub-menu > li > a {
  border-top-color: rgba(255, 255, 255, 0.25);
}
body #body_wrap #sp_menu .p-spMenu__inner.is-open {
  opacity: 1;
}
body #body_wrap h2.wp-block-heading {
  padding: initial !important;
  letter-spacing: 0.05em;
  font-weight: normal;
  font-size: 18px;
  background-color: initial !important;
  color: #323232;
}
body #body_wrap h2.wp-block-heading::before {
  border: initial !important;
}
body #body_wrap h2.wp-block-heading strong {
  display: block;
  line-height: 1.2;
  font-size: 2.8rem;
  font-family: "area-normal", sans-serif;
  font-weight: 100;
  font-style: normal;
}
body #body_wrap h3.wp-block-heading {
  display: block;
  padding: initial !important;
  font-size: clamp(28px, 3.64583333vw, 40px);
  font-weight: normal;
}
body #body_wrap h3.wp-block-heading::before {
  display: none !important;
}
body #body_wrap h4.wp-block-heading {
  padding: initial !important;
  border-left: initial !important;
}
body #body_wrap #main_visual {
  position: relative;
  background-color: #00CFC7;
}
body #body_wrap #main_visual .background {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
body #body_wrap #main_visual .parallaxBg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: 70% center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/home/hero_bg.png);
  animation-name: fadeIn;
  animation-timing-function: ease;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-fill-mode: both;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  body #body_wrap #main_visual .parallaxBg {
    background-position: right top;
    background-size: contain;
  }
}
@keyframes fadeIn {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
body #body_wrap #main_visual .p-mainVisual__inner {
  position: relative;
  z-index: 2;
}
body #body_wrap #main_visual .p-mainVisual__inner .p-mainVisual__slide::before, body #body_wrap #main_visual .p-mainVisual__inner .p-mainVisual__slide::after {
  display: none;
}
body #body_wrap #main_visual .p-mainVisual__inner .p-mainVisual__slide .p-mainVisual__imgLayer {
  display: none;
}
body #body_wrap #main_visual .p-mainVisual__inner .p-mainVisual__slide .p-mainVisual__textLayer {
  height: 100%;
  justify-content: center;
  flex-direction: column;
}
body #body_wrap #main_visual .p-mainVisual__inner .p-mainVisual__slide .p-mainVisual__textLayer .p-mainVisual__slideTitle {
  font-weight: bold;
  font-size: clamp(28px, 3.64583333vw, 40px);
  animation-name: fadeIn;
  animation-timing-function: ease;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: both;
}
@keyframes fadeIn {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
body #body_wrap #content {
  padding-top: 4em;
}
body #body_wrap #content section.overview .overview__list .overview__item {
  padding: 50px;
  border-radius: 10px;
  box-shadow: 23.4286px 35.1429px 25.7714px rgba(0, 0, 0, 0.14);
}
body #body_wrap #content section.overview .overview__list .overview__item h4.wp-block-heading {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body #body_wrap #content section.overview .overview__list .overview__item h4.wp-block-heading small {
  opacity: 0.75;
}
body #body_wrap #content section.overview .overview__list .overview__item h4.wp-block-heading strong {
  font-size: 1.5em;
  opacity: 1;
}
body #body_wrap #content section.overview .overview__list .overview__item:first-of-type {
  color: white;
  background: linear-gradient(315.21deg, #4e4e4e, #1d1d1d 100.37%);
}
body #body_wrap #content section.overview .overview__list .overview__item:last-of-type {
  background: linear-gradient(135deg, #e8e8e8, #fff);
}
body #body_wrap #content section.businessConsulting h2.wp-block-heading {
  max-width: 1070px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body #body_wrap #content section.businessConsulting h2.wp-block-heading * {
  left: initial !important;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item {
  position: relative;
  padding: 60px 20px;
  color: white;
  background-color: #323232;
}
@media screen and (min-width: 768px) {
  body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item {
    padding: 60px;
  }
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.3;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item > div {
  max-width: 1070px !important;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item > div * {
  left: initial !important;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item > div h3 > strong {
  margin-bottom: 10px;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item > div h3 > small {
  display: block;
  font-size: 0.5em;
  line-height: 1.2;
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item:first-of-type::before {
  background-image: url(../images/home/technologies_link_item01_bg.jpg);
}
body #body_wrap #content section.businessConsulting .businessConsulting__contents .businessConsulting__item:last-of-type::before {
  background-image: url(../images/home/technologies_link_item02_bg.jpg);
}
body #body_wrap #content section.StrengtheningOfCommunicationCapability .StrengtheningOfCommunicationCapability__list .StrengtheningOfCommunicationCapability__item {
  position: relative;
}
body #body_wrap #content section.StrengtheningOfCommunicationCapability .StrengtheningOfCommunicationCapability__list .StrengtheningOfCommunicationCapability__item::before {
  display: none;
  content: "";
  padding-top: 60%;
}
@media screen and (min-width: 768px) {
  body #body_wrap #content section.StrengtheningOfCommunicationCapability .StrengtheningOfCommunicationCapability__list .StrengtheningOfCommunicationCapability__item::before {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  body #body_wrap #content section.StrengtheningOfCommunicationCapability .StrengtheningOfCommunicationCapability__list .StrengtheningOfCommunicationCapability__item > div {
    display: grid;
    place-content: center;
    place-items: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 60px;
  }
}
body #body_wrap #content section.message {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 6em;
  padding-bottom: 6em;
  color: white;
  background-color: #00CFC7;
}
body #body_wrap #content section.message h2.wp-block-heading {
  color: white;
}
body #body_wrap #content section.message::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/home/message_bg.jpg);
  opacity: 0.075;
}
body #body_wrap #content section.message > div {
  max-width: 1070px !important;
}
body #body_wrap #content section.message > div * {
  left: initial !important;
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item {
  position: relative;
  padding: 30px;
  border: 1px solid #00CFC7;
  border-radius: 10px;
  box-shadow: 23.4286px 35.1429px 25.7714px rgba(0, 0, 0, 0.14);
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item::before {
  display: none;
  content: "";
  padding-top: 100%;
}
@media screen and (min-width: 768px) {
  body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item::before {
    display: block;
  }
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item::after {
  display: grid;
  place-content: center;
  place-items: center;
  position: absolute;
  left: -10px;
  top: -10px;
  width: 50px;
  height: 50px;
  color: white;
  border-radius: 50%;
  background-color: #00CFC7;
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item h3 {
  display: grid;
  place-content: center;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8 !important;
}
@media screen and (min-width: 768px) {
  body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item h3 {
    position: absolute;
    left: 0;
    top: 0;
  }
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item:first-child::after {
  content: "01";
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item:nth-child(2)::after {
  content: "02";
}
body #body_wrap #content section.targetCustomers .targetCustomers__list .targetCustomers__item:nth-child(3)::after {
  content: "03";
}
body #body_wrap #content .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body #body_wrap #content .wpcf7-form p:not(:last-of-type) {
  display: flex;
  flex-direction: column;
}
body #body_wrap #content .wpcf7-form p > label {
  display: flex;
  gap: 5px;
}
body #body_wrap #content .wpcf7-form p > label.required::after {
  display: block;
  content: "*";
  color: red;
}
body #body_wrap #content .wpcf7-form p > span {
  display: block;
}
body #body_wrap #content .wpcf7-form p > span input,
body #body_wrap #content .wpcf7-form p > span textarea {
  display: block;
  width: 100%;
}
body #body_wrap #content .wpcf7-form p [data-name=privacy-policy] > span > span {
  margin: initial;
}
body #body_wrap #content .wpcf7-form p [data-name=privacy-policy] > span > span > label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}
body #body_wrap #content .wpcf7-form p [data-name=privacy-policy] > span > span > label input {
  width: 18px;
  height: 18px;
}
body #body_wrap #content .wpcf7-form p .wpcf7-submit {
  display: inline-block;
  width: auto;
  padding: 5px 30px;
  color: white;
  border-radius: 5px;
  background-color: #00CFC7;
}
body #body_wrap #before_footer_widget {
  margin-top: 10em !important;
  margin-bottom: inherit !important;
  border-top: 1px solid #e8e8e8;
}
body #body_wrap #before_footer_widget .l-container {
  max-width: 100% !important;
  padding-left: initial;
  padding-right: initial;
}
body #body_wrap #before_footer_widget .l-container .c-widget .c-widget__title {
  display: none !important;
}
body #body_wrap #before_footer_widget .l-container .c-widget ul {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul {
    flex-direction: initial;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li {
  flex: 1;
  position: relative;
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.5;
  transition: all 0.3s;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul li::before {
    opacity: 0;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 1;
  z-index: 1;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul li::after {
    opacity: 0;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li > a {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 40px;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul li > a {
    gap: 40px;
    padding: 60px;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li > a * {
  color: white;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul li > a * {
    color: inherit;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li > a::before {
  display: none !important;
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li > a > h2 {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  body #body_wrap #before_footer_widget .l-container .c-widget ul li.CTA--contact {
    border-right: 1px solid #e8e8e8;
  }
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li.CTA--contact::before {
  background-image: url(../images/common/contact_bg.jpg);
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li.CTA--download::before {
  background-image: url(../images/common/downloads_bg.jpg);
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li:hover::before {
  opacity: 0.5;
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li:hover::after {
  opacity: 1;
}
body #body_wrap #before_footer_widget .l-container .c-widget ul li:hover > a * {
  color: white;
}
body #body_wrap #header .l-header__bar {
  display: none;
}
body #body_wrap #footer .l-footer__inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3em;
  padding-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner {
    display: flex;
    justify-content: center;
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__widgetArea,
body #body_wrap #footer .l-footer__inner .l-footer__foot {
  padding-top: initial;
  padding-bottom: initial;
}
body #body_wrap #footer .l-footer__inner .l-footer__widgetArea {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__widgetArea {
    margin-bottom: initial;
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__widgetArea .w-footer__box {
  padding: initial;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__widgetArea .w-footer__box img {
    width: 100%;
    max-width: 300px !important;
    height: auto;
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav {
  gap: 20px;
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav {
    gap: 40px;
    justify-content: flex-end;
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li {
  width: calc(50% - 10px);
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li {
    width: calc(50% - 20px);
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li a {
  padding: initial;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li a {
    border-left: initial;
    border-right: initial;
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li > a {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--contact, body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--download {
  width: 100%;
  text-align: center;
  border: 1px solid white;
  border-radius: 40px;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--contact, body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--download {
    width: calc(50% - 20px);
  }
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--contact > a, body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--download > a {
  display: block;
  margin-bottom: initial;
  padding: 15px;
  border-bottom: initial;
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--contact > a::after, body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--download > a::after {
  display: block;
  font-size: 0.75em;
  opacity: 0.75;
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--contact > a::after {
  content: "Contact";
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .l-footer__nav > li.CTA--download > a::after {
  content: "Download";
}
body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .copyright {
  text-align: center;
}
@media screen and (min-width: 768px) {
  body #body_wrap #footer .l-footer__inner .l-footer__foot .l-container .copyright {
    text-align: right;
  }
}/*# sourceMappingURL=style.css.map */