@charset "UTF-8";
@import url("../css/reset.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*-------------------------------------------/
    ページ共通要素
/-------------------------------------------*/
/* 表示切替 ----------------------------- */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none !important;
  }
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 1300px) {
  .pc2 {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .pc_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .pc2 {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
}
/* カラー */
:root {
  --white: #ffffff;
  --black: #000000;
  --primary: #006ac0;
  --secondary: #4ac9ec;
  --accent: #4ad0ba;
  --foreground: #333333;
  --muted: #f5f5f5;
  --muted-foreground: #717171;
  --border: #e4e4e4;
  --font-NotoSans: "Noto Sans", "Noto Sans JP", sans-serif;
  --font-sans:
    ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --color-red-400: oklch(70.4% 0.191 22.216);
  --color-green-400: oklch(79.2% 0.209 151.711);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-100: oklch(93.2% 0.032 255.585);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-400: oklch(70.7% 0.165 254.624);
  --color-slate-50: oklch(98.4% 0.003 247.858);
  --color-slate-100: oklch(96.8% 0.007 247.896);
  --color-slate-200: oklch(92.9% 0.013 255.508);
  --color-slate-300: oklch(86.9% 0.022 252.894);
  --color-slate-400: oklch(70.4% 0.04 256.788);
  --color-slate-500: oklch(55.4% 0.046 257.417);
  --color-slate-600: oklch(44.6% 0.043 257.281);
  --color-slate-700: oklch(37.2% 0.044 257.287);
  --color-slate-800: oklch(27.9% 0.041 260.031);
  --color-slate-900: oklch(20.8% 0.042 265.755);
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-600: oklch(44.6% 0.03 256.802);
}

/*=====================================================
  メイン設定
======================================================*/
html {
  -webkit-overflow-scrolling: touch;
  font-size: 62.5%;
}
@media screen and (max-width: 375px) {
  html {
    font-size: max(2.6666666667vw, 10px);
  }
}

body {
  position: relative;
  font-weight: 400;
  font-style: normal;
  font-family: var(--font-NotoSans);
  -webkit-tap-highlight-color: transparent;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  line-height: 1.5;
  max-width: 100%;
  background: var(--white);
  color: var(--foreground);
  animation: fade 1s ease forwards;
}

.wrapper {
  position: relative;
  overflow: clip;
}

/*=================================================
  共通設定
==================================================*/
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: auto;
}

img,
object,
embed {
  max-width: 100%;
  height: auto;
  *width: inherit;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  cursor: pointer;
}

a:hover {
  color: inherit;
}

a img {
  transition: all 0.3s ease;
  display: block;
}

a.btn:hover {
  opacity: 0.8;
}

/*=================================================
		tel リンク
==================================================*/
@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/*---------------------------------------
  ハンバーガー
---------------------------------------*/
.nav-toggle {
  position: absolute;
  width: 8rem;
  height: 6.4rem;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  pointer-events: auto;
}
.nav-toggle div {
  position: relative;
  width: 2.4rem;
  height: 2rem;
}
.nav-toggle div span {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.2rem;
  top: 0;
  left: 0;
  transition: 0.3s ease all;
  background: var(--muted-foreground);
}
.nav-toggle div span:first-child {
  top: 0;
}
.nav-toggle div span:nth-child(2) {
  top: 0.9rem;
}
.nav-toggle div span:nth-child(3) {
  top: 1.8rem;
}

.nav-toggle.active div {
  position: relative;
}
.nav-toggle.active div span {
  position: absolute;
  content: "";
  height: 0.2rem;
  width: 100%;
  top: 50%;
}
.nav-toggle.active div span:first-child {
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: 1;
}
.nav-toggle.active div span:nth-child(2) {
  width: 100%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.nav-toggle.active div span:nth-child(3) {
  display: none;
}

/*=================================================
		ヘッダー
==================================================*/
.site-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid rgba(228, 228, 228, 0.4);
  -webkit-backdrop-filter: blur(1rem);
          backdrop-filter: blur(1rem);
}
.site-header .header__inner {
  width: 100%;
  height: 6.4rem;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-header .header__inner .header-logo {
  width: 15rem;
  height: 6.4rem;
  display: flex;
  align-items: center;
}
.site-header .header__inner .header-logo a {
  width: 100%;
  display: inline-block;
  transition: 0.3s all;
}
.site-header .header__inner .header-logo a:hover {
  opacity: 0.8;
}
.site-header .header__inner .main-navigation {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3rem;
  font-size: 1.4rem;
  font-weight: 500;
}
.site-header .header__inner .main-navigation .gnav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3rem;
  color: var(--muted-foreground);
}
.site-header .header__inner .main-navigation .gnav li a {
  transition: 0.3s all;
}
.site-header .header__inner .main-navigation .gnav li a:hover {
  color: var(--primary);
}
.site-header .header__inner .main-navigation .btn_contact {
  display: inline-flex;
  background: var(--secondary);
  color: var(--white);
  padding: 0.5em 1em;
  border-radius: 1rem;
}
.site-header .header__inner .nav-toggle {
  display: none;
}

@media screen and (max-width: 1023px) {
  .site-header .header__inner .main-navigation {
    display: none;
  }
  .site-header .header__inner .nav-toggle {
    display: flex;
  }
  .site-header.open .header__inner {
    padding: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .site-header.open .header__inner .header-logo {
    width: 19rem;
    padding: 0 2rem;
  }
  .site-header.open .header__inner .main-navigation {
    width: 100%;
    height: auto;
    max-height: 100vh;
    padding: 1.6rem;
    border-top: 1px solid rgba(228, 228, 228, 0.4);
    display: flex;
    flex-direction: column;
  }
  .site-header.open .header__inner .main-navigation .gnav {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
  .site-header.open .header__inner .main-navigation .gnav li {
    width: 100%;
  }
  .site-header.open .header__inner .main-navigation .gnav li a {
    padding: 0.5em;
    display: block;
  }
  .site-header.open .header__inner .main-navigation .btn_contact {
    width: 100%;
    display: flex;
    justify-content: center;
    background: var(--secondary);
    color: var(--white);
    padding: 0.5em 1em;
    border-radius: 1rem;
  }
}
/*=================================================
		フッター
==================================================*/
.site-footer {
  width: 100%;
  background: color-mix(in oklab, var(--muted) 50%, transparent);
  border-top: 1px solid oklch(92% 0 0deg);
  padding: 4.8rem;
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.site-footer .footer__inner {
  width: min(100%, 128rem);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
.site-footer .footer__inner .footer__inner__box01 {
  width: min(25% + 3rem, 35rem);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.site-footer .footer__inner .footer__inner__box01 .footer-logo {
  width: 12rem;
}
.site-footer .footer__inner .footer__inner__box02 {
  flex-grow: 1;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup {
  flex: 1;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .childList li {
  margin-bottom: 0.5em;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .childList li a {
  display: block;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .childList li a:hover {
  color: var(--primary);
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .navTxt {
  font-size: 1.6rem;
  color: var(--foreground);
  font-weight: 700;
  margin-bottom: 1.6rem;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .btn-contact {
  width: 100%;
  font-weight: 700;
  color: var(--white);
  background: var(--primary);
  padding: 0.5em 1em;
  border-radius: 0.5rem;
  display: block;
  margin-top: 1.6rem;
  text-align: center;
}
.site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup .btn-contact:hover {
  background: rgba(0, 106, 192, 0.9);
}
.site-footer .copyright {
  width: min(100%, 128rem);
  margin: 0 auto;
  padding: 3rem;
  border-top: 1px solid oklch(92% 0 0deg);
  margin-top: 5rem;
}
.site-footer .copyright p {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .site-footer {
    padding: 4.8rem 1.6rem;
  }
  .site-footer .footer__inner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 3rem;
  }
  .site-footer .footer__inner .footer__inner__box01 {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .site-footer .footer__inner .footer__inner__box01 .footer-logo {
    width: 12rem;
  }
  .site-footer .footer__inner .footer__inner__box02 {
    flex-grow: unset;
    width: 100%;
  }
  .site-footer .footer__inner .footer__inner__box02 .footer-navgation {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3rem;
  }
  .site-footer .footer__inner .footer__inner__box02 .footer-navgation .navGroup {
    width: 100%;
  }
}

/* ページトップへ */
#pagetop {
  display: none;
  position: fixed;
  z-index: 9999;
  top: auto;
  bottom: 1rem;
  right: 1rem;
}
#pagetop a {
  display: block;
  width: 5rem;
  height: 5rem;
  background: var(--primary);
  background-size: 100% 100%;
  border-radius: 1rem;
}
#pagetop a::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  font-weight: 700;
  content: "↑";
  color: var(--white);
}

/*=================================================
		共通
==================================================*/
.txtBlue {
  color: var(--primary);
}

.txtLightBlue {
  color: var(--secondary);
}

.txtBold {
  font-weight: 700;
}

.shadow-1s {
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}

.bgBlue {
  background: var(--color-blue-50);
}

.bgBlue2 {
  background: rgba(239, 246, 255, 0.5);
}

.tagTxt {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary);
  background: var(--color-blue-100);
  border-radius: 2rem;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: stretch;
  gap: 0.5em;
  padding: 0.25em 1em;
}
.tagTxt span {
  display: inline-block;
}
.tagTxt span.icon {
  width: 1em;
  height: 1em;
}
.tagTxt span.icon svg {
  width: 100%;
}

.contentTitle {
  font-size: 3rem;
  color: #0f172b;
}
@media screen and (min-width: 768px) {
  .contentTitle.pc-fs36 {
    font-size: 3.6rem;
  }
}
.contentTitle.fs24 {
  font-size: 2.4rem;
}
.contentTitle.wh {
  color: var(--white);
}
.contentTitle.txtCenter {
  text-align: center;
}

.contentTitleBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: 6.4rem;
}
.contentTitleBox p {
  width: -moz-fit-content;
  width: fit-content;
  color: var(--muted-foreground);
}
@media screen and (min-width: 768px) {
  .contentTitleBox p {
    text-align: center;
  }
}
.contentTitleBox.bgDark .contentTitle {
  color: var(--white);
}
.contentTitleBox.bgDark p {
  color: #cad5e2;
}

ul.dot {
  padding-left: 1.5em;
}
ul.dot li {
  list-style: disc;
  min-height: 1.5em;
}
ul.dot li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul.listCheckBlue li {
  position: relative;
  padding-left: 2em;
  color: var(--color-slate-700);
  min-height: 1.5em;
}
ul.listCheckBlue li::before {
  position: absolute;
  top: 0.2em;
  left: 0;
  content: "";
  background: url("../images/icon_checkBlue.svg") no-repeat;
  background-size: contain;
  width: 1.25em;
  height: 1.25em;
}
ul.listCheckBlue li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul.listCheckRoundBlue li {
  position: relative;
  padding-left: 2em;
  color: var(--color-slate-700);
  min-height: 1.5em;
}
ul.listCheckRoundBlue li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background: url("../images/icon_checkBlueRound.svg") no-repeat;
  background-size: contain;
  width: 1.5em;
  height: 1.5em;
}
ul.listCheckRoundBlue li:not(:last-child) {
  margin-bottom: 0.5em;
}
ul.listCheckRoundGreen li {
  position: relative;
  padding-left: 1.5em;
  color: var(--color-slate-700);
  min-height: 1.5em;
}
ul.listCheckRoundGreen li::before {
  position: absolute;
  top: 0.25em;
  left: 0;
  content: "";
  background: url("../images/icon_checkBlueGreen.svg") no-repeat;
  background-size: contain;
  width: 1.12em;
  height: 1.12em;
}
ul.listCheckRoundGreen li:not(:last-child) {
  margin-bottom: 0.5em;
}

.btn-nomal-arrow {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  padding: 0.5em 1em;
  background: var(--primary);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 1rem;
}
.btn-nomal-arrow::after {
  content: "";
  width: 1em;
  height: 1em;
  background: url("../images/icon_arrowRight.svg") no-repeat;
  background-size: contain;
}
.btn-nomal-arrow:hover {
  color: var(--white);
  background: rgba(0, 106, 192, 0.9);
}

.page-header {
  width: 100%;
  padding: 8rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: center;
  background: var(--color-slate-50);
}
@media screen and (min-width: 768px) {
  .page-header {
    text-align: center;
  }
}
.page-header .page-title {
  text-align: center;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.1111111111;
  color: var(--color-slate-900);
}
.page-header .leadTxt {
  color: var(--muted-foreground);
}
.page-header .leadTxt.fs20 {
  font-size: 2rem;
}

.lower .page-content {
  padding: 8rem 1.6rem;
}
.lower .page-content .content__inner {
  width: min(100%, 150rem);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .lower .page-content {
    padding: 4.8rem 1.6rem;
  }
}
.lower article.not-found .entry-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.lower p.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.breadcrumb {
  width: 100%;
  font-size: 1.2rem;
  padding: 1.6rem;
  font-weight: 400;
  color: var(--muted-foreground);
}
.breadcrumb > ul {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.breadcrumb > ul li {
  position: relative;
}
.breadcrumb > ul li a {
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.breadcrumb > ul li a:hover {
  color: var(--foreground);
}
.breadcrumb > ul li span {
  display: inline-block;
  padding: 0.15em 0.5em;
}
.breadcrumb > ul li.current {
  color: var(--color-slate-900);
  font-weight: 500;
}
.breadcrumb > ul li:not(:last-child) {
  display: inline-flex;
  align-items: center;
}
.breadcrumb > ul li:not(:last-child)::after {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  content: "/";
  margin-left: 0.5rem;
}

/* ページネーション */
.pagenation {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 10rem auto 0;
}
.pagenation .page-numbers {
  min-width: 3.6rem;
  height: 3.6rem;
  padding: 0 0.25em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--muted-foreground);
}
.pagenation .page-numbers.current {
  color: var(--primary);
}
.pagenation .page-numbers.current:hover {
  background: transparent;
}
.pagenation .page-numbers.next {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagenation .page-numbers.prev {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagenation .page-numbers a:hover {
  opacity: 0.8;
}

/*=================================================
		トップ
==================================================*/
.home #mv {
  width: 100%;
  padding: 12rem 1.6rem;
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5), rgba(255, 255, 255, 0));
}
.home #mv .top-mv__inner {
  width: min(100%, 150rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 5rem;
}
.home #mv .top-mv__inner .top-mv__txtBox {
  width: min(50%, 72rem);
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-self: center;
}
.home #mv .top-mv__inner .top-mv__txtBox .mv-copy {
  font-size: 6rem;
  font-weight: 600;
  line-height: 1.25;
}
.home #mv .top-mv__inner .top-mv__txtBox .inner {
  width: min(100%, 65rem);
}
.home #mv .top-mv__inner .top-mv__txtBox .inner p {
  font-size: 1.8rem;
  color: var(--muted-foreground);
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox a {
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 21rem;
  padding: 0.75em;
  text-align: center;
  border-radius: 1rem;
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox a.btn-contact {
  background: var(--secondary);
  color: var(--white);
  box-shadow: 0 1rem 2rem rgba(255, 214, 168, 0.5);
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox a.btn-contact:hover {
  opacity: 0.8;
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox a.btn-document {
  background: var(--white);
  border: 1px solid var(--primary);
  color: var(--primary);
}
.home #mv .top-mv__inner .top-mv__txtBox .btnBox a.btn-document:hover {
  background: var(--color-blue-50);
}
.home #mv .top-mv__inner .top-mv__imgBox {
  position: relative;
  width: min(50% - 5rem, 72rem);
}
.home #mv .top-mv__inner .top-mv__imgBox .img-box img {
  width: 100%;
  border-radius: 1.6rem;
  border: 4px solid var(--white);
  box-shadow: 0 0.5rem 3rem rgba(0, 0, 0, 0.3);
}
.home #mv .top-mv__inner .top-mv__imgBox .ab_txt-bottom {
  position: absolute;
  left: -2rem;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  gap: 1.6rem;
  background: var(--white);
  border: 1px solid rgb(219, 234, 254);
  padding: 1.6rem;
  border-radius: 1.4rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  animation: animeBounce 1.5s infinite;
}
.home #mv .top-mv__inner .top-mv__imgBox .ab_txt-bottom .iconBox {
  width: 4.8rem;
  height: 4.8rem;
  background: rgb(220, 252, 231);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.home #mv .top-mv__inner .top-mv__imgBox .ab_txt-bottom .iconBox svg {
  width: 2.4rem;
}
.home #mv .top-mv__inner .top-mv__imgBox .ab_txt-bottom .dataBox p {
  font-size: 1.2rem;
}
.home #mv .top-mv__inner .top-mv__imgBox .ab_txt-bottom .dataBox p .num {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  .home #mv {
    padding: 12rem 2.4rem;
  }
  .home #mv .top-mv__inner {
    width: min(100%, 72rem);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5rem;
  }
  .home #mv .top-mv__inner .top-mv__txtBox {
    width: 100%;
  }
  .home #mv .top-mv__inner .top-mv__imgBox {
    position: relative;
    width: min(100%, 72rem);
  }
}
@media screen and (max-width: 767px) {
  .home #mv {
    padding: 6rem 1.6rem;
  }
  .home #mv .top-mv__inner .top-mv__txtBox .mv-copy {
    font-size: 3.6rem;
  }
}
.home #top-sec01 {
  padding: 8rem 1.6rem;
}
.home #top-sec01 .col4-box {
  width: min(100%, 150rem);
  margin: 0 auto;
  display: flex;
  gap: 2rem;
}
.home #top-sec01 .col4-box .inbox {
  flex: 1;
  background: var(--color-slate-50);
  border-radius: 2rem;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  transition: 0.3s all;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.home #top-sec01 .col4-box .inbox .icon {
  width: 4.8rem;
  height: 4.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: 0.3s all;
}
.home #top-sec01 .col4-box .inbox p {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.home #top-sec01 .col4-box .inbox p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: #0f172b;
}
.home #top-sec01 .col4-box .inbox:hover {
  background: var(--color-blue-100);
}
.home #top-sec01 .col4-box .inbox:hover .icon {
  transform: scale(1.08);
}
@media screen and (max-width: 1023px) {
  .home #top-sec01 .col4-box {
    width: min(100%, 72rem);
    flex-wrap: wrap;
  }
  .home #top-sec01 .col4-box .inbox {
    width: calc(50% - 1rem);
    flex: unset;
  }
}
@media screen and (max-width: 767px) {
  .home #top-sec01 .col4-box {
    width: min(100%, 64rem);
  }
  .home #top-sec01 .col4-box .inbox {
    width: 100%;
  }
}
.home #top-sec02 {
  position: relative;
  padding: 8rem 2rem;
  background-color: var(--color-slate-900);
}
.home #top-sec02 .bgImage {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.02;
  pointer-events: none;
}
.home #top-sec02 .bgImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #top-sec02 .content__inner {
  position: relative;
  z-index: 1;
}
.home #top-sec02 .col3-box {
  width: min(100%, 150rem);
  margin: 0 auto;
  display: flex;
  gap: 3rem;
}
.home #top-sec02 .col3-box .inbox {
  flex: 1;
  background: rgba(49, 65, 88, 0.5);
  border-radius: 2rem;
  border: 1px solid #314158;
  padding: 3rem;
  transition: 0.3s all;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.home #top-sec02 .col3-box .inbox p {
  font-size: 1.4rem;
  color: var(--color-slate-400);
}
.home #top-sec02 .col3-box .inbox p.stepNum {
  color: var(--primary);
  font-weight: 500;
}
.home #top-sec02 .col3-box .inbox p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--white);
}
.home #top-sec02 .col3-box .inbox p.itemTitle svg {
  width: 1em;
  display: inline-block;
  vertical-align: text-bottom;
  margin-right: 0.5em;
}
.home #top-sec02 .col3-box .inbox:hover {
  border: 1px solid rgba(0, 106, 192, 0.5);
}
@media screen and (max-width: 767px) {
  .home #top-sec02 .col3-box {
    width: min(100%, 64rem);
    flex-direction: column;
  }
  .home #top-sec02 .col3-box .inbox {
    width: 100%;
  }
}
.home #top-sec03 {
  position: relative;
  padding: 8rem 1.6rem;
  background: var(--color-slate-900);
}
.home #top-sec03 .bgImage {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: var(--color-slate-900);
}
.home #top-sec03 .bgImage .bgBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: color-mix(in oklab, var(--color-slate-900) 80%, transparent);
}
.home #top-sec03 .bgImage img {
  opacity: 0.5;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #top-sec03 .content__inner {
  position: relative;
  z-index: 1;
}
.home #top-sec03 .col2-box {
  width: min(100%, 120rem);
  margin: 0 auto;
  display: flex;
  gap: 3rem;
}
.home #top-sec03 .col2-box .inbox {
  position: relative;
  flex: 1;
  background: rgba(49, 65, 88, 0.5);
  border-radius: 2rem;
  border: 1px solid #314158;
  padding: 4.5rem;
  transition: 0.3s all;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.home #top-sec03 .col2-box .inbox .float-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 12.8rem;
  height: 12.8rem;
  padding: 1.6rem;
}
.home #top-sec03 .col2-box .inbox .float-icon svg {
  stroke: rgba(255, 255, 255, 0.1);
}
.home #top-sec03 .col2-box .inbox .bnrImage {
  height: 8rem;
}
.home #top-sec03 .col2-box .inbox .bnrImage img {
  width: auto;
  height: 100%;
}
.home #top-sec03 .col2-box .inbox p {
  font-size: 1.4rem;
  color: var(--color-slate-300);
}
.home #top-sec03 .col2-box .inbox p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--white);
}
.home #top-sec03 .col2-box .inbox .inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.home #top-sec03 .col2-box .inbox:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-5px);
}
.home #top-sec03 .bottmTxt {
  margin: 4.8rem auto 0;
  display: flex;
  justify-content: center;
}
.home #top-sec03 .bottmTxt p {
  font-size: 1rem;
  color: var(--color-slate-500);
}
@media screen and (min-width: 768px) {
  .home #top-sec03 .bottmTxt p {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .home #top-sec03 .col2-box {
    width: min(100%, 59rem);
    flex-direction: column;
  }
  .home #top-sec03 .col2-box .inbox {
    width: 100%;
    padding: 3rem;
  }
}
.home #top-sec04 {
  position: relative;
  padding: 8rem 2rem;
  background: var(--color-slate-50);
}
.home #top-sec04 .col2-box {
  width: min(100%, 150rem);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 4rem;
}
.home #top-sec04 .col2-box .imageBox {
  width: min(50% - 2rem, 72rem);
  align-self: center;
}
.home #top-sec04 .col2-box .imageBox img {
  width: 100%;
  border-radius: 1.6rem;
  border: 4px solid var(--white);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
}
.home #top-sec04 .col2-box .txtBox {
  width: min(50% - 2rem, 72rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.home #top-sec04 .col2-box .txtBox .inbox {
  display: flex;
  gap: 1.6rem;
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxNumber {
  width: 4.8rem;
  height: 4.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  border-radius: 50%;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxNumber p {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary);
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt p {
  color: var(--muted-foreground);
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt .iconBox {
  display: inline-flex;
  gap: 1rem;
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt .iconBox svg {
  width: 2rem;
  stroke: var(--color-slate-600);
}
.home #top-sec04 .col2-box .txtBox .inbox .inboxTxt .inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 1023px) {
  .home #top-sec04 .col2-box {
    width: min(100%, 72rem);
    flex-direction: column-reverse;
  }
  .home #top-sec04 .col2-box .imageBox {
    width: 100%;
  }
  .home #top-sec04 .col2-box .txtBox {
    width: 100%;
  }
}
.home #top-sec05 {
  padding: 8rem 2rem;
}
.home #top-sec05 .contactBox {
  position: relative;
  width: min(100%, 89.6rem);
  margin: 0 auto;
  padding: 4.8rem;
  border-radius: 2.4rem;
  background-color: var(--primary);
  overflow: clip;
}
.home #top-sec05 .contactBox .bgImage {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  opacity: 0.1;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.home #top-sec05 .contactBox .bgImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home #top-sec05 .contactBox .contactBox__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  color: var(--white);
}
.home #top-sec05 .contactBox .contactBox__inner .contentTitle {
  color: var(--white);
  text-align: center;
}
.home #top-sec05 .contactBox .contactBox__inner p {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .home #top-sec05 .contactBox .contactBox__inner p {
    text-align: center;
  }
}
.home #top-sec05 .contactBox .btnBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem;
}
.home #top-sec05 .contactBox .btnBox a {
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 21rem;
  padding: 0.75em;
  text-align: center;
  border-radius: 1rem;
}
.home #top-sec05 .contactBox .btnBox a.btn-contact {
  background: var(--secondary);
  color: var(--white);
}
.home #top-sec05 .contactBox .btnBox a.btn-contact:hover {
  opacity: 0.8;
}
.home #top-sec05 .contactBox .btnBox a.btn-document {
  background: transparent;
  border: 1px solid var(--white);
  color: var(--white);
}
.home #top-sec05 .contactBox .btnBox a.btn-document:hover {
  background: rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 767px) {
  .home #top-sec05 .contactBox {
    padding: 4.8rem 2.4rem;
  }
}

/*-------------------------------------------------
  サービス
-------------------------------------------------*/
.services #secService {
  width: 100%;
  padding: 8rem 4.8rem;
}
.services #secService .service-wrap {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9.6rem;
}
.services #secService .service-wrap .serviceItem {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxTxt {
  width: min(50%, 72rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxTxt p.itemTag {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary);
  background: var(--color-blue-100);
  border-radius: 2rem;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: stretch;
  gap: 0.5em;
  padding: 0.25em 1em;
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxTxt p.itemTxt {
  font-size: 1.8rem;
  line-height: 1.625;
  color: var(--muted-foreground);
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxTxt .itemTitle {
  font-size: 3rem;
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxImage {
  width: min(50%, 72rem);
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: center;
  padding: 3rem;
}
.services #secService .service-wrap .serviceItem .serviceItem_inboxImage .imgBox {
  width: 25.6rem;
  padding: 2rem;
  border-radius: 2rem;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}
.services #secService .service-wrap .serviceItem:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {
  .services #secService {
    padding: 8rem 1.6rem;
  }
  .services #secService .service-wrap {
    width: min(100%, 72rem);
  }
  .services #secService .service-wrap .serviceItem {
    flex-direction: column-reverse;
  }
  .services #secService .service-wrap .serviceItem .serviceItem_inboxTxt {
    width: 100%;
  }
  .services #secService .service-wrap .serviceItem .serviceItem_inboxImage {
    width: 100%;
  }
  .services #secService .service-wrap .serviceItem:nth-child(even) {
    flex-direction: column-reverse;
  }
}
.services #secFlow {
  padding: 8rem 4.8rem;
  background: var(--color-slate-50);
}
.services #secFlow .col4-box {
  width: min(100%, 150rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.services #secFlow .col4-box .inbox {
  flex: 1;
  background: var(--white);
  border-radius: 2rem;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  transition: 0.3s all;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.services #secFlow .col4-box .inbox .stepNumber {
  font-size: 2rem;
  width: 4.8rem;
  height: 4.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--primary);
  background: var(--color-blue-100);
  border-radius: 50%;
  transition: 0.3s all;
}
.services #secFlow .col4-box .inbox p {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.services #secFlow .col4-box .inbox p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: #0f172b;
}
.services #secFlow .col4-box .inbox:last-child .stepNumber {
  color: var(--white);
  background: var(--primary);
}
@media screen and (max-width: 1023px) {
  .services #secFlow {
    padding: 8rem 1.6rem;
  }
  .services #secFlow .col4-box {
    width: min(100%, 72rem);
  }
  .services #secFlow .col4-box .inbox {
    flex: unset;
    width: min(50% - 3rem);
  }
}
@media screen and (max-width: 767px) {
  .services #secFlow .col4-box .inbox {
    width: 100%;
  }
}
.services #secCheck {
  padding: 8rem 1.6rem;
  background: var(--primary);
}
.services #secCheck .contactBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.services #secCheck .contactBox p {
  color: var(--color-blue-100);
}
@media screen and (min-width: 768px) {
  .services #secCheck .contactBox p {
    text-align: center;
  }
}
.services #secCheck .btnBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.services #secCheck .btnBox .btn-contact {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--primary);
  background: var(--secondary);
  padding: 0.5em 1.5em;
  border-radius: 1rem;
  display: block;
}
.services #secCheck .btnBox .btn-contact:hover {
  background: var(--white);
}

/*-------------------------------------------------
  料金プラン
-------------------------------------------------*/
.pricing .price-content {
  padding: 8rem 4.8rem;
}
.pricing .price-content:nth-child(even) {
  background-color: var(--color-slate-50);
}
.pricing .price-content p.tagTxt {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary);
  background: var(--color-blue-100);
  border-radius: 2rem;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: stretch;
  gap: 0.5em;
  padding: 0.25em 1em;
}
.pricing .price-content .priceItemBox {
  display: flex;
  justify-content: center;
  gap: 3rem;
}
.pricing .price-content .priceItemBox .priceItem {
  position: relative;
  z-index: 0;
  width: min(50% - 1.5rem, 50rem);
  background: var(--white);
  border: 1px solid var(--border);
  padding: 2.4rem 0;
  border-radius: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 {
  width: 100%;
  padding: 0 2.4rem 2.4rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p {
  font-size: 1.4rem;
  color: var(--muted-foreground);
  text-align: center;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.itemTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.priceTxt01 .priceNum-s {
  font-weight: 700;
  color: var(--color-slate-900);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.priceTxt02 .priceNum-l {
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.priceTxt02 .priceNum-l.txtBlue {
  color: var(--primary);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.priceTxt02 .afterTxt,
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.priceTxt02 .beforeTxt {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.noteTxt.txtBlue {
  color: var(--primary);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.noteTxt.txtBold {
  font-weight: 700;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox01 p.noteTxt.txtSmall {
  font-size: 1.2rem;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox02 {
  width: 100%;
  padding: 2.4rem 2.4rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  flex-grow: 1;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox02 ul {
  width: 100%;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox03 {
  width: 100%;
  padding: 0 2.4rem;
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox03 .btn-contact-more {
  font-size: 1.4rem;
  font-weight: 500;
  padding: 0.5em 1em;
  width: 100%;
  display: block;
  text-align: center;
  border-radius: 1rem;
  color: var(--foreground);
  border: 1px solid var(--border);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox03 .btn-contact-more:hover {
  color: var(--white);
  background: var(--accent);
}
.pricing .price-content .priceItemBox .priceItem .priceItem_inbox03 .btn-contact-more.stop {
  pointer-events: none;
}
.pricing .price-content .priceItemBox .priceItem.Tagging {
  border-color: var(--primary);
}
.pricing .price-content .priceItemBox .priceItem.Tagging::after {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.2rem;
  content: "おすすめ";
  color: var(--white);
  display: inline-block;
  width: auto;
  background: var(--primary);
  border-radius: 0 2.4rem 0 1.2rem;
  padding: 0.25em 1.25em;
}
.pricing .price-content .priceItemBox .priceItem.Tagging .priceItem_inbox01 {
  background-color: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
}
.pricing .price-content .priceItemBox .priceItem.Tagging .priceItem_inbox03 .btn-contact-more {
  color: var(--white);
  border: 1px solid var(--primary);
  background: var(--primary);
}
.pricing .price-content .priceItemBox .priceItem.Tagging .priceItem_inbox03 .btn-contact-more:hover {
  color: var(--white);
  background: rgba(0, 106, 192, 0.9);
}
.pricing .price-content .priceItemBox .priceItem.Tagging.tagRecommended::after {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.2rem;
  content: "おすすめ";
  color: var(--white);
  display: inline-block;
  width: auto;
  background: var(--primary);
  border-radius: 0 2.4rem 0 1.2rem;
  padding: 0.25em 1.25em;
}
.pricing .price-content .priceItemBox .priceItem.Tagging.tagPopular::after {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.2rem;
  content: "人気";
  color: var(--white);
  display: inline-block;
  width: auto;
  background: var(--primary);
  border-radius: 0 2.4rem 0 1.2rem;
  padding: 0.25em 1.25em;
}
.pricing .price-content .priceItemBox .priceItem.closed .closedItem {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
}
.pricing .price-content .priceItemBox .priceItem.closed .closedItem .txtMessage {
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-10deg);
  display: inline-block;
  color: var(--white);
  padding: 0.75em 1.25em;
  border-radius: 1rem;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  background: var(--color-gray-600);
  border: 2px solid var(--white);
}
.pricing .price-content .repletionBox {
  width: min(100%, 96rem);
  margin: 4.8rem auto 0;
  padding: 2.4rem;
  border-radius: 2rem;
  background: var(--color-slate-50);
}
.pricing .price-content .repletionBox p {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.pricing .price-content .repletionBox p.txtTitle {
  color: var(--color-slate-900);
  font-weight: 700;
}
.pricing .price-content .otherService {
  display: flex;
  justify-content: center;
  gap: 3.2rem;
}
.pricing .price-content .otherService .otherServiceItem {
  width: min(50% - 1.6rem, 43rem);
  background: var(--white);
  border-radius: 1.6rem;
  border: 1px solid var(--border);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
.pricing .price-content .otherService .otherServiceItem .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
.pricing .price-content .otherService .otherServiceItem p {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.pricing .price-content .otherService .otherServiceItem p.itemTitle {
  font-size: 1.8rem;
  color: var(--foreground);
  font-weight: 700;
}
.pricing .price-content .otherService .otherServiceItem .btn-detail {
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  color: var(--primary);
  text-decoration: none;
  transition: 0.3s all;
  text-underline-offset: 4px;
}
.pricing .price-content .otherService .otherServiceItem .btn-detail:hover {
  text-decoration-line: underline;
}
.pricing .price-content .btnBox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.pricing .price-content .btnBox .btn-link-faq {
  font-size: 1.4rem;
  font-weight: 500;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: var(--white);
  padding: 0.5em 1em;
}
.pricing .price-content .btnBox .btn-link-faq svg {
  width: 1em;
}
.pricing .price-content .btnBox .btn-link-faq:hover {
  color: var(--white);
  background: var(--accent);
}
.pricing .price-content .btnBox .btn-link-contact {
  font-size: 1.4rem;
  font-weight: 500;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  border: 1px solid var(--primary);
  border-radius: 1rem;
  background: var(--primary);
  color: var(--white);
  padding: 0.5em 1.25em;
}
.pricing .price-content .btnBox .btn-link-contact svg {
  width: 1em;
}
.pricing .price-content .btnBox .btn-link-contact:hover {
  background: rgba(0, 106, 192, 0.9);
}
@media screen and (max-width: 1023px) {
  .pricing .price-content {
    padding: 8rem 2.4rem;
  }
  .pricing .price-content .priceItemBox {
    width: min(100%, 72rem);
    margin: 0 auto;
    flex-direction: column;
  }
  .pricing .price-content .priceItemBox .priceItem {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .pricing .price-content {
    padding: 8rem 1.6rem;
  }
  .pricing .price-content .otherService {
    width: min(100%, 72rem);
    margin: 0 auto;
    flex-direction: column;
    gap: 3.2rem;
  }
  .pricing .price-content .otherService .otherServiceItem {
    width: 100%;
  }
}
.pricing #secPrice04 .content__inner,
.pricing #secPrice05 .content__inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 3.2rem;
}

/*-------------------------------------------------
  よくある質問
-------------------------------------------------*/
.faqWrap {
  width: min(100%, 100rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.faqWrap .faqItem {
  font-size: 1.4rem;
  border-bottom: 1px solid var(--border);
}
.faqWrap .faqItem .faqTitle {
  position: relative;
  padding: 2rem 2rem 2rem 0;
  cursor: pointer;
}
.faqWrap .faqItem .faqTitle::after {
  position: absolute;
  right: 0;
  top: calc(50% - 0.8rem);
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url("../images/icon_arrow.svg") no-repeat;
  background-size: contain;
  color: var(--muted-foreground);
  transition: 0.3s all;
}
.faqWrap .faqItem .faqTitle p {
  font-weight: 500;
  padding-left: 2em;
  text-indent: -1.5em;
}
.faqWrap .faqItem .faqTitle p::before {
  content: "Q.";
  margin-right: 0.5em;
}
.faqWrap .faqItem .faqTitle.open::after {
  transform: scaleY(-1);
}
.faqWrap .faqItem .faqAnswer {
  display: none;
  padding-bottom: 2rem;
  color: var(--muted-foreground);
}

/*-------------------------------------------------
  お客様の声一覧
-------------------------------------------------*/
.voice-index {
  width: 100%;
}
.voice-index .voice-list {
  width: min(100%, 96.8rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3.2rem;
}
.voice-index .voice-list .voice-item {
  width: min(50% - 1.6rem, 46.8rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
  background: var(--color-slate-50);
  border-radius: 2.4rem;
  padding: 2.4rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease all;
}
.voice-index .voice-list .voice-item .thumbnailBox {
  width: min(100%, 420px);
  aspect-ratio: 360/250;
  margin: 0 auto;
  text-align: center;
}
.voice-index .voice-list .voice-item .thumbnailBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.voice-index .voice-list .voice-item .title-box {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.6rem;
}
.voice-index .voice-list .voice-item .title-box .detailBox01 {
  width: 100%;
}
.voice-index .voice-list .voice-item .title-box .detailBox01 .clientName {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-slate-900);
  margin-bottom: 0.4rem;
}
.voice-index .voice-list .voice-item .title-box .detailBox01 .clientItemCat {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.voice-index .voice-list .voice-item .messageBox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  flex-grow: 1;
}
.voice-index .voice-list .voice-item .messageBox .clientMessageTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary);
}
.voice-index .voice-list .voice-item .messageBox .clientMessageComment {
  color: var(--color-slate-600);
  line-height: 1.625;
}
.voice-index .voice-list .voice-item .btn-box {
  padding: 0 2.4rem;
}
.voice-index .voice-list .voice-item .btn-more {
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  color: var(--primary);
  text-decoration: none;
  transition: 0.3s all;
  text-underline-offset: 4px;
}
.voice-index .voice-list .voice-item .btn-more svg {
  width: 1em;
}
.voice-index .voice-list .voice-item .btn-more:hover {
  text-decoration-line: underline;
}
.voice-index .voice-list .voice-item:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.voice-index .voice-list .voice-item:hover .btn-more {
  transform: translateX(0.5em);
}
@media screen and (max-width: 767px) {
  .voice-index .voice-list {
    width: 100%;
  }
  .voice-index .voice-list .voice-item {
    width: 100%;
  }
}

.customer-voices-single .singleDetailBox-wrap {
  width: min(100%, 100rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
}
.customer-voices-single .singleDetailBox-wrap .voice-title h2 {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--primary);
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox01 {
  width: min(100%, 80rem);
  background: var(--white);
  border-radius: 2.4rem;
  padding: 2.4rem 0;
  border: 1px solid var(--color-slate-50);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease all;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 3.2rem;
  background: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
  padding: 4.8rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .imgBox {
  width: min(25%, 22rem);
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .imgBox .profileTxt {
  width: 100%;
  text-align: center;
  padding: 1.2rem 0;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .imgBox .profileTxt .profilePost {
  font-size: 1.4rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .imgBox .profileTxt .profileName {
  font-weight: 500;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem 0;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl {
  font-size: 1.6rem;
  font-weight: 500;
  width: 8em;
  flex-shrink: 0;
  align-self: center;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl .company-logo {
  padding-right: 1em;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl .company-logo img {
  width: min(100%, 145px);
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl p {
  font-size: 1.6rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl p span {
  position: relative;
  min-width: 7em;
  display: inline-block;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl p span::after {
  position: absolute;
  right: 0;
  display: inline-block;
  content: ":";
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt {
  width: calc(100% - 8em);
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .clientName {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btn-link {
  font-size: 1.6rem;
  color: var(--primary);
  text-underline-offset: 3px;
  text-decoration: underline;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btn-link:hover {
  text-decoration: none;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btnBox {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .tag-plan {
  width: 13em;
  text-align: center;
  display: inline-block;
  padding: 0.25em 0.5em;
  border-radius: 1rem;
  background: var(--primary);
  color: var(--white);
  font-weight: 700;
}
.customer-voices-single .singleDetailBox-wrap .voiceDetail {
  padding: 2.4rem 4.8rem 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.2rem;
}
.customer-voices-single .singleDetailBox-wrap .voiceDetail .detailBox_inbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
.customer-voices-single .singleDetailBox-wrap .voiceDetail .detailBox_inbox .detailTitle {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary);
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 {
  padding: 3.2rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2 {
  position: relative;
  font-size: 3rem;
  font-weight: 700;
  padding: 1em 0;
  margin-bottom: 2.4rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: calc(100% + 6.4rem);
  height: 100%;
  background: var(--color-slate-50);
  border: 1px solid var(--border);
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2:not(:first-child) {
  margin-top: 2.4rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3 {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 1em 0;
  margin-bottom: 2.4em;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3::before {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.2em;
  background: #e4e4e4;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 9.0909090909em;
  height: 0.2em;
  background: var(--primary);
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3:not(:first-child) {
  margin-top: 2.4rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h4 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h4:not(:first-child) {
  margin-top: 2rem;
}
.customer-voices-single .singleDetailBox-wrap .singleDetailBox02 p {
  line-height: 1.8;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .customer-voices-single .singleDetailBox-wrap .clientProfile {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 3.2rem;
    background: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
    padding: 2.4rem 1.6rem;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .imgBox {
    width: 22rem;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox {
    width: 100%;
    flex-grow: unset;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem 0;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl {
    font-size: 1.6rem;
    font-weight: 500;
    width: 100%;
    flex-shrink: 0;
    align-self: center;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl .company-logo {
    padding-right: 0;
    text-align: center;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl .company-logo img {
    width: min(100%, 145px);
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl p {
    font-size: 1.6rem;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-ttl p span {
    position: relative;
    min-width: 7em;
    display: inline-block;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt {
    width: 100%;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .clientName {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
    text-align: center;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btn-link {
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin: 0 auto;
    font-size: 1.8rem;
    color: var(--primary);
    text-underline-offset: 3px;
    text-decoration: underline;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btn-link:hover {
    text-decoration: none;
  }
  .customer-voices-single .singleDetailBox-wrap .clientProfile .txtBox .inBox .inBox-txt .btnBox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
  }
  .customer-voices-single .singleDetailBox-wrap .voiceDetail {
    padding: 2.4rem 1.6rem 0;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 {
    padding: 3.2rem 1.6rem;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2 {
    position: relative;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 1em 0;
    margin-bottom: 2.4rem;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2::before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: calc(100% + 3.2rem);
    height: 100%;
    background: var(--color-slate-50);
    border: 1px solid var(--border);
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h2:not(:first-child) {
    margin-top: 2.4rem;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3 {
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    padding: 1em 0;
    margin-bottom: 2em;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3::before {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0.2em;
    background: #e4e4e4;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 9.0909090909em;
    height: 0.2em;
    background: #0079af;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 h3:not(:first-child) {
    margin-top: 2.4rem;
  }
  .customer-voices-single .singleDetailBox-wrap .singleDetailBox02 p {
    margin-bottom: 1.5em;
  }
}

/*-------------------------------------------------
  成功事例一覧
-------------------------------------------------*/
.case-index {
  width: 100%;
}
.case-index .case-list {
  width: min(100%, 110rem);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3.2rem;
}
.case-index .case-list .case-item {
  width: calc((100% - 6.4rem) / 3);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
  background: var(--white);
  border-radius: 2.4rem;
  padding: 2.4rem 0;
  border: 1px solid var(--color-slate-200);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease all;
}
.case-index .case-list .case-item:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.case-index .case-list .case-item .detailBox01 {
  width: 100%;
  padding: 0.8rem 2.4rem 2.4rem;
  background: var(--color-slate-50);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
}
.case-index .case-list .case-item .detailBox01 .item-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.case-index .case-list .case-item .detailBox01 .title-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.case-index .case-list .case-item .detailBox01 .title-box .clientName {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.case-index .case-list .case-item .detailBox01 .title-box .clientLogo {
  width: min(100%, 200px);
  margin: 0 auto;
  height: min(5.2083333333vw, 100px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.case-index .case-list .case-item .detailBox01 .title-box .clientLogo img {
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}
.case-index .case-list .case-item .detailBox01 .title-box .clientWebSite {
  width: 100%;
}
.case-index .case-list .case-item .detailBox01 .title-box .clientWebSite .btnSiteLink {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--muted-foreground);
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  background: var(--color-blue-50);
  border: 1px solid var(--primary);
  border-radius: 1.5em;
  padding: 0.1em 1em;
  margin: 0 auto;
}
.case-index .case-list .case-item .detailBox01 .title-box .clientWebSite a.btnSiteLink:hover {
  color: var(--white);
  background: var(--primary);
}
.case-index .case-list .case-item .detailBox01 .imgBox {
  width: min(100%, 400px);
  aspect-ratio: 400/350;
  margin: 0 auto;
  border: 1px solid var(--border);
  background: var(--white);
}
.case-index .case-list .case-item .detailBox01 .imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.case-index .case-list .case-item .detailBox01 .resultBox {
  width: 100%;
  background: var(--white);
  border: 1px solid var(--color-blue-100);
  padding: 1.6rem;
  border-radius: 1.2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.case-index .case-list .case-item .detailBox01 .resultBox .resurtTitle {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--primary);
  font-weight: 700;
}
.case-index .case-list .case-item .detailBox01 .resultBox .resurtTitle svg {
  width: 2rem;
}
.case-index .case-list .case-item .detailBox01 .resultBox .clientResultTxt {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.case-index .case-list .case-item .detailBox01 .clientItemCat {
  color: var(--color-slate-600);
  display: inline-block;
  padding: 0 0.5em;
  border-radius: 1em;
  border: 1px solid var(--border);
  background: var(--white);
}
.case-index .case-list .case-item .detailBox01 .clientUsedService {
  color: var(--primary);
  display: inline-block;
  padding: 0 0.5em;
  border-radius: 1em;
  background: var(--color-blue-100);
}
.case-index .case-list .case-item .detailBox02 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 0 2.4rem;
}
.case-index .case-list .case-item .detailBox02 .detailBox_inbox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.case-index .case-list .case-item .detailBox02 .detailTitle {
  position: relative;
  color: var(--color-slate-900);
  padding-left: 1em;
}
.case-index .case-list .case-item .detailBox02 .detailTitle::before {
  position: absolute;
  top: 0.5625em;
  left: 0;
  content: "";
  width: 0.375em;
  height: 0.375em;
  background: var(--muted-foreground);
  border-radius: 50%;
  flex-shrink: 0;
}
.case-index .case-list .case-item .detailBox02 .detailTitle.markRed::before {
  background: var(--color-red-400);
}
.case-index .case-list .case-item .detailBox02 .detailTitle.markGreen::before {
  background: var(--color-green-400);
}
.case-index .case-list .case-item .detailBox02 .detailTitle.markBlue::before {
  background: var(--color-blue-400);
}
.case-index .case-list .case-item .detailBox02 .clientKadaiBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.case-index .case-list .case-item .detailBox02 .clientKadaiBox .clientKadaiItem {
  width: 100%;
  font-size: 1.4rem;
  color: var(--muted-foreground);
  padding: 1.2rem;
  background: var(--color-slate-50);
  border-radius: 1.2rem;
}
.case-index .case-list .case-item .detailBox02 .clientShisakuBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.case-index .case-list .case-item .detailBox02 .clientShisakuBox ul.listCheckRoundGreen {
  font-size: 1.4rem;
}
.case-index .case-list .case-item .detailBox02 .clientShisakuBox ul.listCheckRoundGreen li.clientShisakuItem {
  color: var(--color-slate-600);
}
.case-index .case-list .case-item .detailBox02 .clientSeikaBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.case-index .case-list .case-item .detailBox02 .clientSeikaBox .clientSeikaItem {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-slate-700);
  padding: 0.8rem;
  background: rgba(239, 246, 255, 0.5019607843);
  border-radius: 0.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
}
.case-index .case-list .case-item .detailBox02 .clientSeikaBox .clientSeikaItem svg {
  width: 1.6rem;
  color: var(--primary);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .case-index .case-list {
    width: 100%;
  }
  .case-index .case-list .case-item {
    width: 100%;
  }
}

.success-stories-single .singleDetailBox {
  width: min(100%, 72rem);
  margin: 0 auto;
}
.success-stories-single .singleDetailBox .case-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
  background: var(--white);
  border-radius: 2.4rem;
  padding: 2.4rem 0;
  border: 1px solid var(--color-slate-200);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: 0.3s ease all;
}
.success-stories-single .singleDetailBox .case-item:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 {
  width: 100%;
  padding: 0.8rem 2.4rem 2.4rem;
  background: var(--color-slate-50);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .item-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientName {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientLogo {
  width: min(100%, 200px);
  margin: 0 auto;
  height: min(5.2083333333vw, 100px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientLogo img {
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
  max-height: 100%;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientWebSite {
  width: 100%;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientWebSite .btnSiteLink {
  font-weight: 500;
  color: var(--muted-foreground);
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  background: var(--color-blue-50);
  border: 1px solid var(--primary);
  border-radius: 1.5em;
  padding: 0.2em 1em;
  margin: 0 auto;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .title-box .clientWebSite a.btnSiteLink:hover {
  color: var(--white);
  background: var(--primary);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .imgBox {
  width: min(100%, 400px);
  aspect-ratio: 400/350;
  margin: 0 auto;
  border: 1px solid var(--border);
  background: var(--white);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .resultBox {
  width: 100%;
  background: var(--white);
  border: 1px solid var(--color-blue-100);
  padding: 1.6rem;
  border-radius: 1.2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .resultBox .resurtTitle {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--primary);
  font-weight: 700;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .resultBox .resurtTitle svg {
  width: 2rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .resultBox .clientResultTxt {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .clientItemCat {
  color: var(--color-slate-600);
  display: inline-block;
  padding: 0 0.5em;
  border-radius: 1em;
  border: 1px solid var(--border);
  background: var(--white);
}
.success-stories-single .singleDetailBox .case-item .detailBox01 .clientUsedService {
  color: var(--primary);
  display: inline-block;
  padding: 0 0.5em;
  border-radius: 1em;
  background: var(--color-blue-100);
}
.success-stories-single .singleDetailBox .case-item .detailBox02 {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 0 2.4rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .detailBox_inbox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .detailTitle {
  color: var(--color-slate-900);
  display: flex;
  justify-content: flex-start;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientKadaiBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientKadaiBox .clientKadaiItem {
  width: 100%;
  font-size: 1.4rem;
  color: var(--muted-foreground);
  padding: 1.2rem;
  background: var(--color-slate-50);
  border-radius: 1.2rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientShisakuBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientShisakuBox ul.listCheckRoundGreen {
  font-size: 1.4rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientShisakuBox ul.listCheckRoundGreen li.clientShisakuItem {
  color: var(--color-slate-600);
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientSeikaBox {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientSeikaBox .clientSeikaItem {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-slate-700);
  padding: 0.8rem;
  background: rgba(239, 246, 255, 0.5019607843);
  border-radius: 0.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
}
.success-stories-single .singleDetailBox .case-item .detailBox02 .clientSeikaBox .clientSeikaItem svg {
  width: 1.6rem;
  color: var(--primary);
  flex-shrink: 0;
}

/*-------------------------------------------------
  コラム一覧
-------------------------------------------------*/
.column-index {
  width: 100%;
}
.column-index .cateTitle {
  font-weight: 500;
  margin-bottom: 2rem;
}
.column-index .column-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3rem;
}
.column-index .column-list .column-item {
  width: min((100% - 6rem) / 3, 48rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  background: var(--white);
  border-radius: 2.4rem;
  padding: 2.4rem 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: 0.5s ease all;
}
.column-index .column-list .column-item .image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 420/220;
  background: var(--color-blue-50);
  overflow: hidden;
}
.column-index .column-list .column-item .image-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  transition: 0.5s ease all;
}
.column-index .column-list .column-item .category {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-slate-900);
}
.column-index .column-list .column-item .category ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.column-index .column-list .column-item .category ul li {
  display: inline-block;
}
.column-index .column-list .column-item .category ul li a {
  display: block;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 2rem;
  padding: 0.2em 1em;
  border: 1px solid var(--border);
}
.column-index .column-list .column-item .category ul li a:hover {
  background-color: rgba(255, 255, 255, 0.7);
}
.column-index .column-list .column-item .text-box {
  width: 100%;
  padding: 0 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  flex-grow: 1;
}
.column-index .column-list .column-item .text-box p.post-date {
  font-size: 1.2rem;
  color: var(--muted-foreground);
}
.column-index .column-list .column-item .text-box p.post-date svg {
  display: inline-block;
  width: 1em;
  margin-right: 0.5em;
}
.column-index .column-list .column-item .text-box p.post-ttl {
  font-size: 2rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.column-index .column-list .column-item .text-box p.post-excerpt {
  font-size: 1.4rem;
  color: var(--muted-foreground);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.column-index .column-list .column-item .btn-box {
  padding: 0 2.4rem;
}
.column-index .column-list .column-item .btn-more {
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0 1em;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  color: var(--primary);
  text-decoration: none;
  transition: 0.3s all;
  text-underline-offset: 4px;
}
.column-index .column-list .column-item .btn-more svg {
  width: 1em;
}
.column-index .column-list .column-item .btn-more:hover {
  text-decoration-line: underline;
}
.column-index .column-list .column-item:hover {
  box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
}
.column-index .column-list .column-item:hover .image-box img {
  transform: scale(1.015);
  transform-origin: center center;
}
.column-index .column-list .column-item:hover .btn-more {
  transform: translateX(0.5em);
}
@media screen and (max-width: 768px) {
  .column-index {
    width: min(100%, 64rem);
  }
  .column-index .column-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
  }
  .column-index .column-list .column-item {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
}

.column-single {
  padding: 8rem 2rem;
}
.column-single .column-content {
  font-size: 1.6rem;
  line-height: 1.5;
  width: min(100%, 100rem);
  margin: 0 auto;
  text-align: left;
}
.column-single .column-content .post-header {
  width: 100%;
  margin-bottom: 5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.column-single .column-content .post-header .post-date {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--primary);
}
.column-single .column-content .post-header .post-title {
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 700;
}
.column-single .column-content .post-header .category {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-slate-900);
}
.column-single .column-content .post-header .category ul {
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem;
}
.column-single .column-content .post-header .category ul li {
  display: inline-block;
}
.column-single .column-content .post-header .category ul li a {
  display: block;
  background-color: var(--color-blue-50);
  border-radius: 2rem;
  padding: 0.2em 1em;
}
.column-single .column-content .post-header .category ul li a:hover {
  background-color: var(--color-blue-200);
}
.column-single .column-content .post-content {
  width: min(100%, 100rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.column-single .column-content .post-content h2 {
  font-size: 2.4rem;
  line-height: 1.2;
  color: #0168b5;
  padding: 0.25em 1em;
  border: 1px solid #0168b5;
  margin-bottom: 1em;
}
.column-single .column-content .post-content h3 {
  font-size: 2rem;
  line-height: 1.2;
  width: -moz-fit-content;
  width: fit-content;
  background: #fe9901;
  color: #fff;
  border-radius: 2.5em;
  padding: 0.25em 1em;
  margin-bottom: 0.5em;
}
.column-single .column-content .post-content h4 {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0;
}
.column-single .column-content .post-content p {
  margin-bottom: 1.5em;
  line-height: 2;
}
.column-single .column-content .post-content p a {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.column-single .column-content .post-content p a:hover {
  text-decoration: none;
}
.column-single .column-content .post-content p.txt-link a {
  font-weight: 500;
  color: var(--color-slate-500);
  text-decoration: none;
  display: inline;
  border-bottom: 1px solid var(--color-slate-500);
}
.column-single .column-content .post-content p.txt-link a::after {
  content: ">";
  margin-left: 1em;
}
.column-single .column-content .post-content p.txt-link a:hover {
  border-bottom: none;
}
.column-single .column-content .post-content a {
  color: var(--foreground);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.column-single .column-content .post-content a:hover {
  text-decoration: none;
}
.column-single .column-content .post-content ul {
  padding-left: 1.25em;
}
.column-single .column-content .post-content ul li {
  list-style: disc;
  margin-bottom: 0.5em;
}
.column-single .column-content .post-content ul li::marker {
  color: #dfdfdf;
}
.column-single .column-content .post-content ol {
  padding-left: 1.25em;
}
.column-single .column-content .post-content ol li {
  padding-left: 0.25em;
  margin-bottom: 0.5em;
}
.column-single .column-content .post-content ol li::marker {
  color: #ff9a0b;
  font-weight: bold;
}
.column-single .column-content .post-content .faqWrap {
  width: 100%;
  padding: 0 2.4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .column-single .column-content .post-content .faqWrap {
    padding: 0 0 2.4rem;
  }
}
.column-single .column-content .post-content .faqWrap p {
  margin-bottom: 0;
}
.column-single .column-content .tagBox {
  color: var(--muted-foreground);
  margin-top: 2.4rem;
  padding: 1.6rem 0;
}
.column-single .column-content .tagBox ul {
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.column-single .column-content .tagBox ul li {
  display: inline-block;
}
.column-single .column-content .tagBox ul li a {
  display: inline-block;
  border: 1px solid var(--color-slate-200);
  padding: 0.15em 0.5em;
  border-radius: 0.5rem;
}
.column-single .column-content .tagBox ul li a:hover {
  background: var(--color-blue-50);
}

/*-------------------------------------------------
  会社概要
	-------------------------------------------------*/
.company #secMission {
  padding-bottom: 0;
}
.company #secMission .mssionBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  text-align: center;
}
.company #secMission .mssionBox h2 {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--primary);
}
.company #secMission .mssionBox .leadTitle {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-slate-900);
}
.company #secMission .mssionBox .leadTxt {
  font-size: 1.8rem;
  line-height: 2;
  color: var(--muted-foreground);
}
@media screen and (max-width: 767px) {
  .company #secMission .mssionBox .leadTxt {
    text-align: left;
  }
}
.company #secConsultant {
  padding-bottom: 0;
}
.company #secConsultant .consultantBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
}
.company #secConsultant .consultant_profile {
  width: min(100%, 96rem);
  margin: 0 auto;
  padding: 6rem;
  background: #fff;
  border-radius: 2.4rem;
  border: 1px solid var(--border);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  gap: 6rem;
}
.company #secConsultant .consultant_profile .profile_box {
  width: calc((100% - 12rem) / 3);
  display: flex;
  flex-direction: column;
}
.company #secConsultant .consultant_profile .profile_box .pic {
  width: calc(100% - 1.5rem);
  margin-right: 1.5rem;
  border-right: 1.5rem solid #0069b5;
  text-align: left;
}
.company #secConsultant .consultant_profile .profile_box .pic img {
  vertical-align: bottom;
}
.company #secConsultant .consultant_profile .profile_box .text_box {
  flex-grow: 1;
  position: relative;
  width: calc(100% - 1.5rem);
  margin-left: auto;
  margin-top: -3.5rem;
  background: #eeeeee;
  border-radius: 10px;
  padding: 3.2rem 2.4rem;
  text-align: left;
}
.company #secConsultant .consultant_profile .profile_box .text_box h4 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1em 0;
}
.company #secConsultant .consultant_profile .profile_box .text_box h4 span {
  font-size: 1.8rem;
}
.company #secConsultant .consultant_profile .profile_box .text_box p {
  font-size: 1.4rem;
  line-height: 2;
  font-feature-settings: "palt";
  color: var(--muted-foreground);
}
@media screen and (max-width: 1023px) {
  .company #secConsultant .consultant_profile {
    padding: 4.8rem;
    gap: 4.8rem;
  }
  .company #secConsultant .consultant_profile .profile_box {
    width: calc((100% - 9.6rem) / 3);
  }
}
@media screen and (max-width: 767px) {
  .company #secConsultant .consultant_profile {
    width: min(100%, 59rem);
    margin: 0 auto;
    padding: 3.2rem;
    background: #fff;
    border-radius: 2.4rem;
    border: 1px solid var(--border);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6rem;
  }
  .company #secConsultant .consultant_profile .profile_box {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .company #secConsultant .consultant_profile .profile_box .pic {
    width: min(65%, 310px);
    margin-right: auto;
    border-right: 2vw solid #0069b5;
    text-align: left;
  }
  .company #secConsultant .consultant_profile .profile_box .text_box {
    flex-grow: 1;
    position: relative;
    width: calc(100% - 1.5rem);
    margin-left: auto;
    margin-top: -3.5rem;
    background: #eeeeee;
    border-radius: 10px;
    padding: 2.4rem;
    text-align: left;
  }
}
.company #secProfile a.txt-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.company #secProfile a.txt-link:hover {
  text-decoration: none;
}
.company #secProfile .profileBox {
  width: min(100%, 96rem);
  margin: 0 auto;
  padding: 2.4rem 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 2.4rem;
}
.company #secProfile .profileBox .profileBoxItem {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.company #secProfile .profileBox .profileBoxItem:not(:last-child) {
  border-bottom: 1px solid var(--color-slate-100);
}
.company #secProfile .profileBox .profileBoxItem .inboxTitle {
  width: 20rem;
  padding: 2.4rem;
  font-weight: 700;
  align-content: center;
  color: var(--color-slate-700);
  background: var(--color-slate-50);
}
.company #secProfile .profileBox .profileBoxItem .inboxContent {
  width: calc(100% - 20rem);
  padding: 2.4rem;
  color: var(--color-slate-600);
}
.company #secProfile .profileBox .profileBoxItem .inboxContent .inbox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8rem;
}
.company #secProfile .profileBox .profileBoxItem .inboxContent .inbox:not(:last-child) {
  margin-bottom: 1.6rem;
}
.company #secProfile .profileBox .profileBoxItem .inboxContent .inbox .iconBox {
  flex-shrink: 0;
}
.company #secProfile .profileBox .profileBoxItem .inboxContent .inbox .iconBox svg {
  width: 2rem;
}
@media screen and (max-width: 767px) {
  .company #secProfile .profileBox .profileBoxItem {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }
  .company #secProfile .profileBox .profileBoxItem .inboxTitle {
    width: 100%;
  }
  .company #secProfile .profileBox .profileBoxItem .inboxContent {
    width: 100%;
  }
}

/*-------------------------------------------------
  お問い合わせ
	-------------------------------------------------*/
.contact .page-header {
  padding-bottom: 4.8rem;
}
.contact #secContact .contactBox {
  width: min(100%, 72rem);
  margin: 0 auto;
  background: var(--white);
  padding: 2.4rem 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
.contact #secContact .contactBox .contentTitleBox {
  background: var(--primary);
  padding: 3.2rem;
  margin-bottom: 0;
}
.contact #secContact .contactBox .contentDetail {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  padding: 4.8rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail01 .btn-contactForm {
  font-size: 2rem;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  color: var(--white);
  padding: 0.85em 1em;
  background: var(--secondary);
  border-radius: 1rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.contact #secContact .contactBox .contentDetail .inboxDetail01 .btn-contactForm svg {
  width: 1.6rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail01 p {
  font-size: 1.2rem;
  color: var(--muted-foreground);
}
.contact #secContact .contactBox .contentDetail .sep {
  font-size: 1.2rem;
  width: 100%;
  color: var(--muted-foreground);
}
.contact #secContact .contactBox .contentDetail .sep span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.contact #secContact .contactBox .contentDetail .sep span::before, .contact #secContact .contactBox .contentDetail .sep span::after {
  content: "";
  width: 2rem;
  height: 1px;
  background: var(--color-slate-200);
  flex-grow: 1;
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2.4rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  background: var(--color-slate-50);
  border-radius: 1.6rem;
  padding: 2.4rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .icon {
  width: 3.2rem;
  color: var(--primary);
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .icon svg {
  width: 100%;
  height: auto;
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .itemTitle {
  font-weight: 700;
  color: var(--color-slate-900);
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .tel {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  color: var(--primary);
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .info {
  font-size: 1.2rem;
  color: var(--muted-foreground);
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .txt {
  font-size: 1.4rem;
  color: var(--muted-foreground);
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .btn-schedule {
  font-size: 1.4rem;
  font-weight: 500;
  display: inline-block;
  padding: 0.25em 0.75em;
  background: var(--white);
  color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 1rem;
}
.contact #secContact .contactBox .contentDetail .inboxDetail02 .detailItem .btn-schedule:hover {
  color: var(--white);
  background: var(--primary);
}
@media screen and (max-width: 767px) {
  .contact #secContact .contactBox .contentTitleBox {
    padding: 3.2rem 1.6rem;
  }
  .contact #secContact .contactBox .contentDetail {
    padding: 3.2rem;
  }
  .contact #secContact .contactBox .contentDetail .inboxDetail01 {
    width: 100%;
  }
  .contact #secContact .contactBox .contentDetail .inboxDetail01 .btn-contactForm {
    width: 100%;
  }
  .contact #secContact .contactBox .contentDetail .inboxDetail02 {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2.4rem;
  }
}

/*-------------------------------------------------
  検索フォーム
-------------------------------------------------*/
.searchform {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  background: var(--white);
  border: 1px solid var(--border);
}
.searchform .search_input {
  width: 27rem;
  font-size: 1.6rem;
  background: transparent;
  border: none;
}
.searchform .search_input::-moz-placeholder {
  color: #ccc;
}
.searchform .search_input::placeholder {
  color: #ccc;
}
.searchform .search_input:focus {
  border: none;
  outline: none;
}
.searchform .btn-search {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--color-blue-100);
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--muted-foreground);
  padding: 0.5em;
}

/*-------------------------------------------------
  サイト内検索　結果表示ページ
-------------------------------------------------*/
.search .page-content .search-result-wrap {
  width: min(100%, 130rem);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.search .page-content .search-result-wrap .search-page-header {
  margin: 2rem auto;
}
.search .page-content .search-result-wrap .search-item {
  position: relative;
  padding: 2rem 0;
  transition: 0.3s all;
  border-bottom: 1px solid var(--border);
}
.search .page-content .search-result-wrap .search-item p.post-date {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary);
}
.search .page-content .search-result-wrap .search-item p.post-ttl {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
}
.search .page-content .search-result-wrap .search-item .post-excerpt {
  color: var(--muted-foreground);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.search .page-content .search-result-wrap .search-item:hover {
  background: var(--color-01);
  opacity: 0.8;
}
.search .page-content .search-result-wrap .entry-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/*-------------------------------------------------
  アニメーション
-------------------------------------------------*/
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes animeBounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    transform: translateY(2rem);
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: translateY(0);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}/*# sourceMappingURL=style.css.map */