@charset "UTF-8";
/* ===============================================
# underline
=============================================== */
.js__marker {
  background-image: linear-gradient(to bottom, transparent 60%, #f6d48e 60%);
  background-size: 0% 100%;
  background-repeat: no-repeat;
}

/* ===============================================
#
=============================================== */
/* ===============================================
# base
=============================================== */
/* ======================= responsive ===*/
.pc {
  display: block;
}
@media (max-width: 639px) {
  .pc {
    display: none;
  }
}

.mb {
  display: none;
}
@media (max-width: 639px) {
  .mb {
    display: block;
  }
}

/* ======================= layout ===*/
.c-section {
  padding-top: 0;
}

@media (max-width: 639px) {
  .c-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.border-radius-lt .smb-panels__item {
  border-radius: 20px 0 0 0;
}

.border-radius-rt .smb-panels__item {
  border-radius: 0 20px 0 0;
}

.border-radius-rb .smb-panels__item {
  border-radius: 0 0 20px 0;
}

.border-radius-lb .smb-panels__item {
  border-radius: 0 0 0 20px;
}

.c-entry__header {
  margin-bottom: 0;
}

.c-entry__title {
  position: absolute !important; /* 要素を通常のレイアウトから外し、画面の隅に固定する */
  width: 1px !important; /* 幅を1pxに縮小（ほぼ見えない大きさに） */
  height: 1px !important; /* 高さも1pxに縮小 */
  margin: -1px !important; /* 周囲に負の余白を与え、実質的に表示領域から追い出す */
  overflow: hidden !important; /* 枠からはみ出した内容を表示しない */
  clip: rect(0, 0, 0, 0) !important; /* クリッピング領域を0に設定して中身を表示させない */
  white-space: nowrap !important; /* 折り返しをさせない（スクリーンリーダーで1行として読むため） */
  border: 0 !important;
}

/* ======================= レイアウト_レスポンシブ ===*/
@media (max-width: 1023px) {
  .smb-section__body {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ======================= フォント ===*/
@media (max-width: 639px) {
  .smb-section__title {
    font-size: clamp(1.35rem, 6.8vw, 1.7rem);
  }
}

/* ======================= メニューボタン ===*/
.mail {
  display: flex;
  align-items: center;
  justify-content: left;
}
.mail .fa-envelope {
  margin-right: 0.3rem;
  font-size: 1.2rem;
}

/* ======================= btn ===*/
.smb-btn {
  border-bottom: 5px solid #bababa;
  position: relative;
  overflow: hidden;
}
.smb-btn::after {
  -webkit-animation: 4s 0s shine linear infinite;
          animation: 4s 0s shine linear infinite;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  content: "";
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  transform: skewX(-25deg);
  width: 50%;
}

@-webkit-keyframes shine {
  20% {
    left: 150%;
  }
  100% {
    left: 150%;
  }
}

@keyframes shine {
  20% {
    left: 150%;
  }
  100% {
    left: 150%;
  }
}
.smb-btn:hover {
  margin-top: 3px;
  border-bottom: 2px solid #bababa;
}

/* ===============================================
# header
=============================================== */
.l-header .c-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 639px) {
  .l-header .c-container {
    padding-left: 1.8rem;
    padding-right: 1rem;
  }
}
.l-header .c-container .c-row {
  height: 4rem;
}
@media (max-width: 639px) {
  .l-header .c-container .c-row {
    height: auto !important;
  }
}
.l-header .c-container .c-row__col--auto {
  padding-left: clamp(15px, 15px + 72 * (100vw - 1024px) / 416, 88px);
}
.l-header .c-container .menu-item-110 {
  border-radius: 0 0 0 50px;
}
.l-header .c-container .menu-item-110 a {
  background-color: #0140a7;
}
.l-header .c-container .menu-item-110 a .mail {
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-header .c-container .menu-item-110 a .mail .fa-envelope {
  margin-right: 0.3rem;
  font-size: 1.2rem;
}
@media (max-width: 1024px) {
  .l-header .c-container {
    margin-right: 0;
    padding-left: var(--_container-margin-left);
  }
}
@media (max-width: 639px) {
  .l-header .c-site-branding__title .custom-logo {
    width: 200px;
  }
}

/* ===============================================
# fv
=============================================== */
/* ======================= スライダー流体 ===*/
/* ======================= レスポンシブ1024px ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .l-header .c-container {
    padding-right: 1rem;
  }
}
/* ===============================================
# about
=============================================== */
.mission {
  padding-top: 12rem;
  padding-bottom: 0;
}
@media (max-width: 639px) {
  .mission {
    padding-top: 7rem;
  }
}
.mission .smb-section__background-text {
  margin-top: 3rem;
  overflow: visible;
}
@media (max-width: 639px) {
  .mission .smb-section__background-text .smb-section__background-text__text {
    transform: translateY(-2rem);
  }
}
@media (max-width: 639px) {
  .mission .mission__item__container .mission__item p {
    text-align: left;
  }
}
@media (max-width: 639px) {
  .mission .smb-items__item__body {
    padding: 1rem !important;
  }
}
@media (max-width: 639px) {
  .mission .wp-block-image {
    max-width: 350px !important;
    width: clamp(200px, 65vw, 350px) !important;
    margin-left: auto;
    margin-right: auto;
  }
}
.mission .mission__under-img {
  position: relative;
  left: 50%;
  transform: translateX(-50%); /* ← 中央に戻す */
  width: 100vw;
  max-width: none;
  margin: 0;
  bottom: -6rem;
}
@media (max-width: 639px) {
  .mission .mission__under-img {
    top: 2rem;
    max-width: 100vw !important;
    width: 100vw !important;
  }
}

/* ======================= レスポンシブ対応 ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .mission {
    padding-top: 10rem;
  }
  .mission .smb-section__background-text__text {
    transform: translateY(-1rem);
  }
  .mission .mission__item__container .mission__item .wp-block-image {
    max-width: 350px !important;
    margin-left: auto;
    margin-right: auto;
  }
  .mission .mission__under-text {
    text-align: center;
  }
  .mission .mission__under-img {
    top: clamp(0px, (100vw - 640px) * 0.182767624, 70px);
  }
}
/* ===============================================
# service
=============================================== */
.service {
  padding-top: 12rem;
  padding-bottom: 10rem;
  margin-top: 0;
  position: relative;
  z-index: 100;
  /* ======================= character ===*/
}
@media (max-width: 639px) {
  .service {
    padding-top: 5rem;
    padding-bottom: 2rem;
  }
}
.service .smb-section__background-text {
  margin-top: 3rem;
  overflow: visible;
}
@media (max-width: 639px) {
  .service .smb-section__background-text .smb-section__background-text__text {
    transform: translateY(-1rem);
  }
}
.service .service__wrapper {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
  border-radius: 30px;
}
@media (max-width: 639px) {
  .service .service__wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.service .service__container {
  /* ======================= 疑似要素 ===*/
}
@media (max-width: 639px) {
  .service .service__container .service__item {
    margin-bottom: 4rem;
  }
}
@media (max-width: 639px) {
  .service .service__container .service__item .smb-panels__item {
    border-radius: 20px;
  }
}
.service .service__container .service__item .smb-panels__item__body {
  position: relative;
}
@media (max-width: 639px) {
  .service .service__container .service__item .smb-panels__item__body {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }
}
.service .service__container .service__item .smb-panels__item__body:before {
  position: absolute;
  top: -1.8rem;
  left: 3.5rem;
  transform: translateX(-50%);
  padding: 10px;
  background-color: #4caf50;
  color: white;
  font-size: 1.2rem;
  content: "Service01";
  border-radius: 10px 10px 10px 0;
}
@media (max-width: 639px) {
  .service .service__container .service__item .smb-panels__item__body:before {
    left: 56px;
  }
}
.service .service__container .service__item .service__item__img {
  max-width: 230px;
}
.service .service__container .service__item .service__item__title {
  display: flex;
  flex-direction: column; /* 横並びをやめて縦積み */
  align-items: center;
  justify-content: center; /* 垂直中央 */
  height: 5rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  margin-bottom: 0.2rem;
}
.service .service__container .service__item .service__item__subtitle {
  position: relative;
  padding: 1rem 0.5rem;
}
.service .service__container .service__item .service__item__subtitle:before,
.service .service__container .service__item .service__item__subtitle:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: "";
  background-image: linear-gradient(to left, #ffffff 0%, #3b89db 50%, #ffffff 100%);
}
.service .service__container .service__item .service__item__subtitle:before {
  top: 0;
}
.service .service__container .service__item .service__item__subtitle:after {
  bottom: 0;
}
.service .service__container .service__item:nth-child(4) {
  padding-top: 2rem;
}
@media (max-width: 639px) {
  .service .service__container .service__item:nth-child(4) {
    padding-top: 0 !important;
  }
}
.service .service__container .service__item:nth-child(5) {
  padding-top: 2rem;
}
@media (max-width: 639px) {
  .service .service__container .service__item:nth-child(5) {
    padding-top: 0 !important;
  }
}
.service .service__container .service__item:nth-child(6) {
  padding-top: 2rem;
}
@media (max-width: 639px) {
  .service .service__container .service__item:nth-child(6) {
    padding-top: 0 !important;
  }
}
.service .service__container .service__item:nth-child(2) .smb-panels__item__body::before {
  content: "Service02";
}
.service .service__container .service__item:nth-child(3) .smb-panels__item__body::before {
  content: "Service03";
}
.service .service__container .service__item:nth-child(4) .smb-panels__item__body::before {
  content: "Service04";
}
.service .service__container .service__item:nth-child(5) .smb-panels__item__body::before {
  content: "Service05";
}
.service .service__container .service__item:nth-child(6) .smb-panels__item__body::before {
  content: "Service06";
}
.service .service__container .smb-panels__item {
  --smb-panels--item-box-shadow: none; /* 平常時も消したいなら併せて */
}
.service .service__container .smb-panels__item .wp-block-heading {
  display: flex;
  flex-direction: column; /* 横並びをやめて縦積み */
  align-items: center;
  justify-content: center; /* 垂直中央 */
  height: 7rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media (max-width: 639px) {
  .service .service__container .smb-panels__item .wp-block-heading {
    height: 7.5rem;
  }
}
.service .service__container .smb-panels__item .wp-block-heading > span {
  display: block;
  line-height: 0;
  margin: 0;
}
@media (max-width: 639px) {
  .service .service__container .smb-panels__item .wp-block-heading > span {
    display: contents;
  }
}
.service .service__container .service___item-ur {
  pointer-events: none;
  position: relative;
}
.service .service__container .service___item-ur .smb-panels__item__body {
  padding-top: 7rem;
}
@media (max-width: 639px) {
  .service .service__container .service___item-ur .smb-panels__item__body {
    padding-top: 0 !important;
  }
}
.service .service__container .service___item-ur .wp-block-image {
  margin-bottom: 4rem;
}
.service .service__container .service___item-ur .service__btn .smb-btn-wrapper a {
  position: relative !important;
  z-index: 10 !important;
  pointer-events: auto;
}
.service .service__character__img {
  position: absolute;
  bottom: -233px;
  right: 100px;
}
@media (max-width: 639px) {
  .service .service__character__img {
    width: 8rem;
    bottom: clamp(-102px, -102px + (100vw - 639px) * -0.10971787, -67px);
    right: clamp(18px, 18px + (100vw - 320px) * 0.10031348, 50px);
  }
}

.service__under-img {
  position: relative;
  margin-top: 0;
}
.service__under-img .service__under-deco {
  position: absolute;
  top: clamp(-190px, -135px - (100vw - 1024px) * 0.1322115385, -135px);
  left: 0;
}
@media (max-width: 639px) {
  .service__under-img .service__under-deco {
    top: clamp(-60px, -40px - (100vw - 320px) * 0.0626959248, -40px);
  }
}

/* ======================= hover ===*/
@media (any-hover: hover) {
  .smb-panels__item:hover {
    background: #fff !important;
  }
  .smb-panels__item:hover .service__item__title {
    color: #0241a6 !important;
    scale: 1.15;
  }
  .smb-panels__item:hover p {
    color: #0241a6 !important;
  }
  .smb-panels__item:hover .service__item__title:before {
    left: 52px !important;
  }
}
@media (any-hover: hover) and (max-width: 639px) {
  .smb-panels__item:hover .service__item__title:before {
    left: 65px !important;
  }
}
/* Snow Monkey デフォルトの hover を上書きして無効化 */
.service___item-ur .smb-panels__item:hover {
  background: inherit !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: default !important;
}

/* ======================= レスポンシブ ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .service {
    padding-top: 10rem;
    /* ======================= character ===*/
  }
  .service .smb-section__background-text__text {
    transform: translateY(-1rem);
  }
  .service .service__wrapper {
    width: max(650px, 70vw);
    padding-top: 4rem;
    padding-bottom: 0rem;
  }
  .service .service__item {
    margin-bottom: 5rem !important;
  }
  .service .service__under-img .service__under-deco {
    position: absolute;
    top: -8rem;
    left: 0;
  }
  .service .service__item:nth-child(4) {
    padding-top: 0 !important;
  }
  .service .service__item:nth-child(5) {
    padding-top: 0 !important;
  }
  .service .service__item:nth-child(6) {
    padding-top: 0 !important;
  }
  .service .service___item-ur .smb-panels__item__body {
    padding-top: 0 !important;
  }
  .service .service__character__img {
    width: 10rem;
    right: clamp(27px, 27px + (100vw - 639px) * 0.18961039, 100px);
  }
}
/* ======================= background ===*/
.shapedividers_com-7222 {
  overflow: hidden;
  position: relative;
}

.shapedividers_com-7222::before {
  content: "";
  font-family: "shape divider from ShapeDividers.com";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  bottom: -0.1vw;
  left: -0.1vw;
  right: -0.1vw;
  top: -0.1vw;
  background-size: 100% 100px;
  background-position: 50% 0%;
  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0.1 35.28 2.17" preserveAspectRatio="none"><path d="M0 1.85c2.56-.83 7.68-.3 11.79-.42 4.1-.12 6.86-.61 9.58-.28 2.73.33 5.61 1.17 8.61 1 3-.19 4.73-.82 5.3-.84V.1H0z" fill="%23f0f7fa"/></svg>');
}

@media (min-width: 2100px) {
  .shapedividers_com-7222::before {
    background-size: 100% calc(2vw + 100px);
  }
}
/* ===============================================
# reason
=============================================== */
.reason {
  position: relative;
  margin-top: 0;
  padding-top: 12rem;
  padding-bottom: 12rem;
  /* ======================= deco ===*/
}
@media (max-width: 639px) {
  .reason {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media (min-width: 1024px) {
  .reason .c-row__col--lg-1-3,
.reason .c-row__col--lg-2-6,
.reason .c-row__col--lg-3-9,
.reason .c-row__col--lg-4-12 {
    --_item-width: 40%;
  }
}
@media (min-width: 1024px) {
  .reason .c-row__col--lg-2-3,
.reason .c-row__col--lg-4-6,
.reason .c-row__col--lg-6-9,
.reason .c-row__col--lg-8-12 {
    --_item-width: 60%;
  }
}
.reason .smb-section__background-text__text {
  margin-top: 3rem;
}
@media (max-width: 639px) {
  .reason .smb-section__background-text__text {
    margin-top: 4rem;
  }
}
.reason .reason__text {
  z-index: 10;
}
.reason .reason__item {
  margin-bottom: 5rem;
  z-index: 10;
}
@media (max-width: 639px) {
  .reason .reason__item {
    margin-bottom: 0;
    position: relative;
    overflow: visible;
    margin-top: 4rem;
  }
}
.reason .reason__item .c-row__col--lg-2-3 {
  margin-top: 5rem;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-2-3 {
    margin-top: 2rem;
  }
}
.reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper {
  margin-left: -2rem;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper {
    margin-left: 0;
    margin-top: 0;
  }
}
.reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title {
  padding-left: 3rem;
  background: linear-gradient(270deg, rgb(1, 64, 167) 0%, rgb(87, 167, 218) 50%, rgb(1, 64, 167) 100%);
  -webkit-background-clip: text; /* Safari/Chrome 用 */
  -webkit-text-fill-color: transparent;
  background-clip: text; /* Firefox 用 */
  color: transparent;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title {
    padding-left: 0;
    position: absolute;
    top: -0.8rem;
    left: 0;
    z-index: 20;
  }
}
.reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title span {
  font-size: 5rem !important;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title span {
    font-size: 2rem !important;
  }
}
.reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__body {
  margin-top: -1rem;
}
.reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .wp-block-group {
  border-radius: 20px;
  padding: 3rem;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .wp-block-group {
    padding: 2rem;
    border-radius: 20px 20px 0 0;
  }
}
.reason .reason__item .c-row__col--lg-1-3 {
  margin-top: -8rem;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-1-3 {
    margin-top: -1.8rem;
  }
}
.reason .reason__item .c-row__col--lg-1-3 .smb-media-text__figure img {
  border-radius: 20px;
}
@media (max-width: 639px) {
  .reason .reason__item .c-row__col--lg-1-3 .smb-media-text__figure img {
    border-radius: 0 0 20px 20px;
  }
}
.reason .reason__item .wp-block-group {
  position: relative;
  padding: 1rem 1.5rem;
  background: linear-gradient(-110deg, transparent 1rem, #fff 3rem calc(100% - 2rem), transparent calc(100% - 0.1rem)), repeating-linear-gradient(45deg, #97cff2 0px 4px, transparent 4px 8px), repeating-linear-gradient(-45deg, #0140a7 0px 4px, transparent 4px 8px);
}
.reason .reason__item-r {
  margin-bottom: 5rem;
  z-index: 10;
}
@media (max-width: 639px) {
  .reason .reason__item-r {
    margin-bottom: 0;
    position: relative;
    overflow: visible;
    margin-top: 4rem;
  }
}
.reason .reason__item-r .c-row__col--lg-2-3 {
  margin-top: 5rem;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-2-3 {
    margin-top: 2rem;
  }
}
.reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper {
  margin-left: 0;
  margin-right: -2rem;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper {
    margin-right: 0;
    margin-top: 0;
  }
}
.reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title {
  padding-left: 3rem;
  background: linear-gradient(270deg, rgb(1, 64, 167) 0%, rgb(87, 167, 218) 50%, rgb(1, 64, 167) 100%);
  -webkit-background-clip: text; /* Safari/Chrome 用 */
  -webkit-text-fill-color: transparent;
  background-clip: text; /* Firefox 用 */
  color: transparent;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title {
    padding-left: 0;
    position: absolute;
    top: -0.8rem;
    left: 0;
    z-index: 20;
  }
}
.reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title span {
  font-size: 5rem !important;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__title span {
    font-size: 2rem !important;
  }
}
.reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .smb-media-text__body {
  margin-top: -1rem;
}
.reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .wp-block-group {
  border-radius: 20px;
  padding: 3rem;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-2-3 .smb-media-text__contents-wrapper .wp-block-group {
    padding: 2rem;
    border-radius: 20px 20px 0 0;
  }
}
.reason .reason__item-r .c-row__col--lg-1-3 {
  margin-top: -8rem;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-1-3 {
    margin-top: -1.8rem;
  }
}
.reason .reason__item-r .c-row__col--lg-1-3 .smb-media-text__figure img {
  border-radius: 20px;
}
@media (max-width: 639px) {
  .reason .reason__item-r .c-row__col--lg-1-3 .smb-media-text__figure img {
    border-radius: 0 0 20px 20px;
  }
}
.reason .reason__item-r .wp-block-group {
  position: relative;
  padding: 1rem 1.5rem;
  background: linear-gradient(-110deg, transparent 1rem, #fff 3rem calc(100% - 2rem), transparent calc(100% - 0.1rem)), repeating-linear-gradient(45deg, #97cff2 0px 4px, transparent 4px 8px), repeating-linear-gradient(-45deg, #0140a7 0px 4px, transparent 4px 8px);
}
.reason .reason__deco01 {
  position: absolute;
  top: 37rem;
  left: 0;
}
.reason .reason__deco02 {
  position: absolute;
  top: 75rem;
  left: 0;
}
.reason .reason__deco03 {
  position: absolute;
  bottom: -10rem;
  left: 0;
}
@media (max-width: 639px) {
  .reason .reason__deco03 {
    bottom: -9rem;
  }
}
.reason .reason__deco04 {
  position: absolute;
  top: 14rem;
  right: -12rem;
  width: 62vw;
  transform: rotate(173deg);
  z-index: 0;
}
.reason .reason__deco05 {
  position: absolute;
  top: 66rem;
  left: -20rem;
  width: 62vw;
  z-index: 0;
}
.reason .reason__deco06 {
  position: absolute;
  bottom: -7rem;
  right: -18rem;
  width: 62vw;
  z-index: 0;
}

/* ======================= レスポンシブ ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .reason {
    padding-bottom: 15rem;
  }
  .reason .reason__item,
.reason .reason__item-r {
    margin-bottom: 0 !important;
  }
  .reason .reason > .reason__item:nth-of-type(2) {
    margin-bottom: 5rem;
  }
  .reason .c-row__col--lg-2-3 {
    margin-top: 3vh !important;
  }
  .reason .reason__deco01 {
    display: none;
  }
  .reason .reason__deco02 {
    display: none;
  }
  .reason .reason__deco03 {
    bottom: -12rem;
  }
}
/* ===============================================
# about
=============================================== */
.about {
  padding-top: 12rem;
  position: relative;
}
@media (max-width: 639px) {
  .about {
    padding-top: 8rem;
  }
}
@media (max-width: 639px) {
  .about .c-container {
    padding-left: 1.8rem;
    padding-right: 1.8rem;
  }
}
.about .about__deco {
  position: absolute;
  top: 0;
  left: 0;
}
.about .smb-section__background-text__text {
  margin-top: 3rem;
}
@media (max-width: 639px) {
  .about .smb-section__background-text__text {
    margin-top: 2rem;
  }
}
@media (max-width: 639px) {
  .about p {
    text-align: left;
  }
}

/* ======================= レスポンシブ ===*/
@media (max-width: 1023px) {
  .about__deco {
    top: -2rem !important;
  }
}
/* ===============================================
# profile
=============================================== */
.profile {
  padding-top: 10rem;
  margin-top: 0;
}
@media (max-width: 639px) {
  .profile {
    padding-top: 8rem;
  }
}
@media (max-width: 639px) {
  .profile .smb-section__background-text__text {
    transform: translateY(1rem);
  }
}
@media (max-width: 639px) {
  .profile .smb-section__contents-wrapper {
    max-width: 580px;
  }
}
@media (max-width: 639px) {
  .profile .profile__container__right .wp-block-group {
    padding: 0;
  }
}
.profile .profile__container__right li {
  font-size: 0.8rem;
  margin-top: 0;
}
.profile .profile__wrapper {
  padding: 1.5rem;
  border: 1px solid #104aac;
  background-image: radial-gradient(#104aac 20%, transparent 20%), radial-gradient(#104aac 20%, transparent 20%);
  background-size: 10px 10px;
  background-position: 0 0, 5px 5px;
}
@media (max-width: 639px) {
  .profile .profile__wrapper {
    padding: 0.8rem;
  }
}
.profile .profile__wrapper .smb-section__inner {
  padding: 2.5rem;
  padding-top: 3.5rem;
  border-radius: 1rem;
  background-color: white;
}
@media (max-width: 639px) {
  .profile .profile__wrapper .smb-section__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (max-width: 639px) {
  .profile .profile__wrapper .profile__affiliation {
    margin-top: 2rem !important;
  }
}

/* ======================= レスポンシブ対応 ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .smb-section__background-text__text {
    transform: translateY(1.35rem);
  }
}
@media (max-width: 782px) {
  .profile__wrapper .smb-section__inner .profile__container__left .profile__character {
    display: none;
  }
  .profile__wrapper .smb-section__inner .profile__container__right .wp-block-group {
    padding-left: 0;
    padding-right: 0;
  }
}
/* ===============================================
# news
=============================================== */
.news {
  padding-top: 12rem;
}
@media (max-width: 639px) {
  .news {
    padding-top: 10rem;
  }
}
.news .smb-section__background-text__text {
  margin-top: 3rem;
}

/* ===============================================
# archive
=============================================== */
.blog .l-contents__inner {
  padding-top: 10rem;
}
.blog .c-entries__item {
  max-width: 100% !important;
}
@media (max-width: 1024px) {
  .blog .l-contents__inner {
    padding-top: 3rem;
  }
}

@media (min-width: 1024px) {
  /* カテゴリー等のアーカイブ + 投稿一覧（ブログトップ）両方を網羅 */
  body.archive .c-entries,
body.blog .c-entries {
    --entries--item-width: 33.333% !important;
  }
}
/* ===============================================
# contact
=============================================== */
.page-id-93 .c-entry__header {
  opacity: 0;
}
.page-id-93 .smf-item__col--label {
  background: #e6eef9;
}
.page-id-93 .smf-item__col--label .smf-item__label__text {
  color: #0241a6;
  font-weight: bold;
}
.page-id-93 .smf-item__col--label .red {
  color: #e60000;
  font-weight: bold;
}
.page-id-93 .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
  background-color: #0241a6 !important;
}

/* ===============================================
# about-page
=============================================== */
.page-id-132 {
  /* ======================= FV ===*/
  /* ======================= img ===*/
  /* ======================= philosophy===*/
  /* ======================= initiatives ===*/
}
.page-id-132 .smb-section__background-text {
  overflow: visible;
}
.page-id-132 .smb-section__background-text .smb-section__background-text__text {
  margin-top: -6rem;
}
@media (max-width: 639px) {
  .page-id-132 .smb-section__background-text .smb-section__background-text__text {
    margin-top: -18px !important;
    font-size: 3rem !important;
  }
}
.page-id-132 .aboutP__top {
  position: relative;
  margin-top: 8rem;
  padding-bottom: 8rem;
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__top {
    padding-bottom: 1rem;
    max-width: 580px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 3rem;
  }
}
.page-id-132 .aboutP__top .aboutP__title__container {
  gap: 5rem;
}
.page-id-132 .aboutP__top .aboutP__top__title {
  position: relative;
  padding: 1em;
  text-align: center;
  word-break: keep-all;
}
.page-id-132 .aboutP__top .aboutP__top__title:before,
.page-id-132 .aboutP__top .aboutP__top__title:after {
  position: absolute;
  content: "";
}
.page-id-132 .aboutP__top .aboutP__top__title:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 1px solid #0241a6;
  border-left: 1px solid #0241a6;
}
.page-id-132 .aboutP__top .aboutP__top__title:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 1px solid #0241a6;
  border-bottom: 1px solid #0241a6;
}
.page-id-132 .aboutP__title__img01 {
  position: absolute;
  top: 8rem;
  right: 15%;
  width: 3rem;
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__title__img01 {
    top: 7rem;
  }
}
.page-id-132 .aboutP__title__img02 {
  position: absolute;
  top: 25rem;
  left: 0rem;
}
.page-id-132 .aboutP__philosophy {
  padding-top: 10rem;
  /* ======================= item ===*/
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__philosophy .smb-section__body {
    max-width: 400px;
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__philosophy .aboutP__philosophy__wrapper .aboutP__philosophy__item {
    margin-bottom: 5rem;
  }
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__philosophy .aboutP__philosophy__wrapper .aboutP__philosophy__item:last-child {
    margin-bottom: 3rem;
  }
}
.page-id-132 .aboutP__philosophy .about__philosophy__character {
  margin-top: 3rem;
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__philosophy .about__philosophy__character {
    width: 8rem !important;
  }
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__initiatives .smb-section__body {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5rem;
  }
}
@media (max-width: 639px) {
  .page-id-132 .aboutP__initiatives .aboutP__initiatives__container .aboutP__initiatives__item {
    margin-bottom: 4rem;
  }
}
.page-id-132 .aboutP__initiatives .aboutP__initiatives__container .aboutP__initiatives__item .smb-items__item {
  border-radius: 0 30px 0 30px;
}
.page-id-132 .aboutP__initiatives .aboutP__initiatives__container .aboutP__initiatives__item .smb-items__item__body {
  box-shadow: 2px 2px 4px 0px rgba(2, 15, 166, 0.3);
  padding: 0;
  border-radius: 0 30px 0 30px;
}
.page-id-132 .aboutP__initiatives .aboutP__initiatives__container .aboutP__initiatives__item img {
  border-radius: 0 30px 0 30px;
}
.page-id-132 .aboutP__initiatives .aboutP__initiatives__container .aboutP__initiatives__item p {
  padding-top: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1.5rem;
}

/* ======================= レスポンシブ1024px ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .page-id-132 .aboutP__philosophy .smb-section__body {
    max-width: 600px;
    min-width: 400px;
    width: 52vw;
    margin-top: 7rem;
  }
  .page-id-132 .aboutP__philosophy .smb-section__body .aboutP__philosophy__item {
    margin-bottom: 6rem;
  }
  .page-id-132 .aboutP__philosophy .about__philosophy__character {
    width: 10rem !important;
  }
}
/* ======================= background ===*/
.shapedividers_com-617 {
  overflow: hidden;
  position: relative;
}

.shapedividers_com-617::before {
  content: "";
  font-family: "shape divider from ShapeDividers.com";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  bottom: -0.1vw;
  left: -0.1vw;
  right: -0.1vw;
  top: -0.1vw;
  background-size: 100% 100px;
  background-position: 50% 0%;
  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.278 3.527" preserveAspectRatio="none"><path d="M0 1.064v.125a82.946 82.946 0 0035.278-.007v-.125A82.783 82.783 0 010 1.064M0 .45V.7A83.105 83.105 0 0035.278.693v-.25A82.777 82.777 0 010 .45M33.252 0a82.855 82.855 0 01-31.26 0H0v.092A83.44 83.44 0 0035.278.085V0zm-10.8 0h8.84A84.249 84.249 0 013.952 0h8.839zM0 1.557v.075a82.878 82.878 0 0035.278-.007V1.55A82.771 82.771 0 010 1.557" fill="%23ffffff"/></svg>');
}

@media (min-width: 2100px) {
  .shapedividers_com-617::before {
    background-size: 100% calc(2vw + 100px);
  }
}
.shapedividers_com-603 {
  overflow: hidden;
  position: relative;
}

.shapedividers_com-603::before {
  content: "";
  font-family: "shape divider from ShapeDividers.com";
  position: absolute;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  bottom: -0.1vw;
  left: -0.1vw;
  right: -0.1vw;
  top: -0.1vw;
  background-size: 100% 80px;
  background-position: 50% 0%;
  background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.278 3.527" preserveAspectRatio="none"><path d="M0 1.064v.125a82.946 82.946 0 0035.278-.007v-.125A82.783 82.783 0 010 1.064M0 .45V.7A83.105 83.105 0 0035.278.693v-.25A82.777 82.777 0 010 .45M33.252 0a82.855 82.855 0 01-31.26 0H0v.092A83.44 83.44 0 0035.278.085V0zm-10.8 0h8.84A84.249 84.249 0 013.952 0h8.839zM0 1.557v.075a82.878 82.878 0 0035.278-.007V1.55A82.771 82.771 0 010 1.557" fill="%23f0f7fa"/></svg>');
}

@media (min-width: 2100px) {
  .shapedividers_com-603::before {
    background-size: 100% calc(2vw + 80px);
  }
}
/* ===============================================
# service-page
=============================================== */
.page-id-128 {
  /* ======================= FV ===*/
  /* ======================= img ===*/
  /* ======================= service__explanation ===*/
  /* ======================= service__item ===*/
  /* ======================= service__item__wrapper ===*/
  /* ======================= customer ===*/
  /* タブレット：3列 */
  /* スマホ：2列 */
  /* スマホ：1列 */
  /* ======================= サービスFAQ ===*/
}
.page-id-128 .serviceP__top {
  position: relative;
  margin-top: 8rem;
  padding-bottom: 5rem;
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__top {
    margin-top: 6rem;
    padding-bottom: 1rem;
    max-width: 580px !important;
  }
}
.page-id-128 .serviceP__top .smb-section__background-text {
  overflow: visible !important;
}
.page-id-128 .serviceP__top .smb-section__background-text__text {
  margin-top: -5rem;
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__top .smb-section__background-text__text {
    margin-top: -18px !important;
    font-size: 3rem !important;
  }
}
.page-id-128 .serviceP__top .serviceP__title__container {
  gap: 5rem;
}
.page-id-128 .serviceP__top .serviceP__top__title {
  position: relative;
  padding: 1em;
  text-align: center;
  word-break: keep-all;
}
.page-id-128 .serviceP__top .serviceP__top__title:before,
.page-id-128 .serviceP__top .serviceP__top__title:after {
  position: absolute;
  content: "";
}
.page-id-128 .serviceP__top .serviceP__top__title:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 1px solid #0241a6;
  border-left: 1px solid #0241a6;
}
.page-id-128 .serviceP__top .serviceP__top__title:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 1px solid #0241a6;
  border-bottom: 1px solid #0241a6;
}
.page-id-128 .serviceP__title__img01 {
  position: absolute;
  top: 8rem;
  right: 15%;
  width: 6rem;
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__title__img01 {
    top: 7rem;
    right: 3rem;
    width: 4rem;
  }
}
.page-id-128 .serviceP__title__img02 {
  position: absolute;
  top: 25rem;
  left: 0rem;
}
.page-id-128 .service__explanation .service__explanation__img {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.5rem;
}
@media (max-width: 639px) {
  .page-id-128 .service__explanation .service__explanation__img {
    width: 5rem;
    margin-right: 0 !important;
  }
}
.page-id-128 .serviceP__item__section {
  padding-top: 12rem;
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__item__section {
    padding-top: 8rem;
  }
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__item__section .c-container {
    max-width: 580px !important;
  }
}
.page-id-128 .serviceP__item__section .serviceP__item__title {
  position: relative;
  padding: 0.5rem 0 1rem;
  margin-bottom: 2rem;
  background: linear-gradient(90deg, #b2d5de 0% 50%, #353535 50%);
  background-repeat: no-repeat;
  background-size: 4rem 0.2rem;
  background-position: bottom;
}
.page-id-128 .smb-tabs__tab[aria-selected=true] {
  --smb-tabs--tab-background-color: #0241a6 !important;
  color: #fff;
}
.page-id-128 .serviceP__item__wrapper {
  padding-bottom: 0;
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__item__wrapper .smb-section__background-text__text {
    margin-top: 0 !important;
    font-size: 2rem !important;
  }
}
@media (max-width: 639px) {
  .page-id-128 .serviceP__item__wrapper .wp-block-snow-monkey-blocks-tab-panel {
    padding-left: 0;
    padding-right: 0;
  }
}
.page-id-128 .serviceP__item__wrapper .serviceP__item {
  padding-top: 1rem;
  padding-bottom: 2rem;
}
.page-id-128 .serviceP__item__wrapper .serviceP__item .wp-block-heading {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.page-id-128 .customer__container {
  max-width: 1000px;
  margin-left: 0 !important;
  margin-right: auto !important;
  position: relative;
}
.page-id-128 .customer__container .customer__container__item {
  position: relative;
}
.page-id-128 .customer__container .customer__container__item .smb-items__item {
  box-shadow: 10px 10px 0 #f0f7fa;
  border-radius: 20px 0 20px 0;
}
.page-id-128 .customer__container .smb-items__item::before {
  content: "";
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
  width: 50px;
  height: 50px;
  background: #0241a6;
  background: linear-gradient(90deg, rgb(2, 65, 166) 0%, rgb(240, 247, 250) 100%);
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px 0 0 0;
}
.page-id-128 .customer__container .customer__container__item__text {
  padding: 0.2em 0.5em;
  margin: 2em 0;
  color: #565656;
  background: #fff;
  box-shadow: 0px 0px 0px 10px #fff;
  border: dashed 2px #0241a6;
  border-radius: 8px;
  padding: 1rem;
  font-weight: bold;
  min-height: 120px;
}
.page-id-128 .customer__container__item:nth-of-type(3) {
  position: relative;
}
.page-id-128 .customer__image {
  width: 5vw !important;
  min-width: 120px;
  position: absolute;
  right: clamp(-40px, 0px + (100vw - 1440px) * 0.0961538462, 0px) !important;
  bottom: -10px;
  z-index: 10;
}
@media (max-width: 639px) {
  .page-id-128 .customer__image {
    min-width: 100px;
    right: clamp(-16px, (100vw - 639px) * 0.05015674, 0px) !important;
  }
}
.page-id-128 .smb-tabs[data-orientation=horizontal] > .smb-tabs__tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.5rem;
  overflow: visible;
}
.page-id-128 .smb-tabs__tab {
  width: 100%;
  display: block;
  text-align: center;
  padding: 0.75rem 0.8rem !important;
  box-sizing: border-box;
}
.page-id-128 .smb-tabs__tab::after {
  content: "\f054";
  font-family: "Font Awesome 7 Free", "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  display: inline-block;
  margin-left: 0.5em;
  line-height: 1;
}
@media (max-width: 1024px) {
  .page-id-128 .smb-tabs[data-orientation=horizontal] > .smb-tabs__tabs {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 800px) {
  .page-id-128 .smb-tabs[data-orientation=horizontal] > .smb-tabs__tabs {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .page-id-128 .smb-tabs[data-orientation=horizontal] > .smb-tabs__tabs {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 781px) {
  .page-id-128 .serviceP__top {
    margin-top: 2rem;
  }
  .page-id-128 .serviceP__title__container {
    gap: 2rem;
  }
  .page-id-128 .smb-section__background-text {
    overflow: visible;
  }
  .page-id-128 .smb-section__background-text .smb-section__background-text__text {
    margin-top: 0;
  }
}
.page-id-128 .is-style-RJE_R002LP_faq_items {
  position: relative;
}
.page-id-128 .service__faq__img {
  position: absolute;
  bottom: -3px;
  left: -5px;
}
@media (max-width: 639px) {
  .page-id-128 .service__faq__img {
    bottom: -85px;
    left: -11px;
    width: 4.5rem;
  }
}

/* ======================= レスポンシブ　Tab ===*/
@media (min-width: 640px) and (max-width: 1023px) {
  .page-id-128 .serviceP__top {
    margin-top: 5rem;
    padding-bottom: 2rem;
  }
  .page-id-128 .smb-section__background-text__text {
    margin-top: clamp(-80px, -80px + (100vw - 640px) * 0.2088772846, 0px) !important;
  }
  .page-id-128 .customer__image {
    bottom: 0 !important;
    top: auto !important;
    right: clamp(-30px, -30px + (100vw - 640px) * 0.0783289817, 0px);
  }
  .page-id-128 .serviceP__item__wrapper .smb-section__background-text__text {
    margin-top: -40px !important;
  }
  .page-id-128 .service__faq__img {
    position: absolute;
    bottom: -115px;
    left: -48px;
  }
}
/* ===============================================
# news page
=============================================== */
.sidebar__tab .smb-tabs__tab {
  padding: 0.8em !important;
}

/* ===============================================
# footer
=============================================== */
.l-footer .footer__character img {
  width: clamp(6rem, 4.857rem + 5.71vw, 10rem) !important;
}
/*# sourceMappingURL=style.css.map */