@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  height: 100%;
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  font-weight: normal;
  line-height: 2;
  font-weight: 400;
  color: #3e4a5a;
  font-size: 1.4rem;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.06em;
}

@media (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}
a {
  text-decoration: none;
  color: #3e4a5a;
}

img {
  width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

_:lang(x)::-internal-media-controls-overlay-cast-button,
img {
  image-rendering: -webkit-optimize-contrast;
}

/* =========================================================
 utility
========================================================= */
/* 表示・非表示
----------------------------------------------- */
.pc {
  display: none;
}

.sp {
  display: inline-block;
}

@media (min-width: 768px) {
  .pc {
    display: inline-block;
  }
  .sp {
    display: none;
  }
}
/* =========================================================
 component
========================================================= */
/* inner
-------------------------------------- */
.inner {
  width: 88%;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .inner {
    width: 90%;
    max-width: 1200px;
  }
}
/* section
-------------------------------------- */
.c-section--bg {
  background: #3e4a5a;
}

/* list
-------------------------------------- */
.c-list--check li {
  display: flex;
  align-items: flex-start;
  gap: 0.64em;
  line-height: 1.6;
}
.c-list--check li::before {
  flex-shrink: 0;
  width: 1.31em;
  max-width: 29px;
  max-height: 29px;
  aspect-ratio: 1/1;
  margin-top: 0.24em;
  background: url(../img/common/icon_check.svg) no-repeat center/contain;
  content: "";
}

/* title
-------------------------------------- */
.c-sectionTitle {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .c-sectionTitle {
    font-size: min(3vw, 3.6rem);
  }
}
/* btn
-------------------------------------- */
.c-primaryBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 280px;
  height: 50px;
  padding-inline: 1em;
  background: #fff;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
}
.c-primaryBtn::after {
  position: absolute;
  right: 0;
  width: 1.7em;
  aspect-ratio: 41/16;
  transform: translateX(46%);
  transition: 0.3s transform;
  background: url(../img/common/btn_arrow.svg) no-repeat center/contain;
  content: "";
}

@media (any-hover: hover) {
  .c-primaryBtn {
    transition: 0.5s background-color;
  }
  .c-primaryBtn:hover {
    background: #eaf4f9;
  }
}
@media (min-width: 768px) {
  .c-primaryBtn {
    width: min(38vw, 513px);
    height: 86px;
    letter-spacing: 0.1em;
    font-size: 2rem;
  }
}
@media (any-hover: hover) {
  .c-primaryBtn:hover::after {
    transform: translateX(65%);
  }
}
/* link
-------------------------------------- */
/* tableWrapper
-------------------------------------- */
@media (max-width: 767px) {
  .c-tableWrapper--maxSmall {
    overflow-x: auto;
    background: linear-gradient(to left, hsla(0, 0%, 100%, 0), white 15px) 0 0/50px 100%, linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) 0 0/20px 100%, linear-gradient(to right, hsla(0, 0%, 100%, 0), white 15px) right/50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) right/20px 100%;
    background-repeat: no-repeat;
    background-attachment: local, scroll, local, scroll;
    border-right: 1px solid #ccc;
  }
}
/* table
-------------------------------------- */
.c-table {
  width: 100%;
  table-layout: fixed;
  margin-right: auto;
  margin-left: auto;
}
.c-table th,
.c-table td {
  padding: 1.6em 0;
}
.c-table thead th {
  text-align: left;
  color: #2e8fc0;
  font-weight: bold;
}

/* tableList
-------------------------------------- */
.c-tableList {
  line-height: 1.5;
}
.c-tableList > div {
  display: flex;
}
.c-tableList dt {
  font-weight: bold;
}

@media (max-width: 767px) {
  .c-tableList > div {
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .c-tableList dd {
    flex: 1;
  }
}
.c-tableList--cell dt {
  padding: 1em;
  background: #f6f6f6;
}
.c-tableList--cell dd {
  padding: 1em;
}

@media (min-width: 768px) {
  .c-tableList--cell dt {
    width: 22%;
    min-width: 180px;
    padding: 1.5em;
  }
}
@media (min-width: 768px) {
  .c-tableList--cell dd {
    padding: 1.5em;
  }
}
@media (max-width: 767px) {
  .c-tableList--border > div {
    padding: 1em 0;
  }
}
@media (min-width: 768px) {
  .c-tableList--border > div {
    padding: 1.625em 0;
  }
}
@media (max-width: 767px) {
  .c-tableList--border > div > dt {
    font-weight: bold;
    margin-bottom: 0.5em;
  }
}
@media (min-width: 768px) {
  .c-tableList--border > div > dt {
    font-weight: normal;
    position: relative;
    width: 22%;
    min-width: 175px;
  }
}
/* img
-------------------------------------- */
.c-drawerBtn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 29px;
  aspect-ratio: 29/17;
  transform: rotate(-45deg);
}
.c-drawerBtn > span {
  height: 1px;
  background: #000;
  transition: 0.5s width;
  content: "";
}
.c-drawerBtn > span:nth-child(1), .c-drawerBtn > span:nth-child(3) {
  width: 60%;
}
.c-drawerBtn > span:nth-child(2) {
  width: 100%;
}

/* =========================================================
 header
========================================================= */
body.is-drawerOpen {
  overflow: hidden;
}

.hidden {
  display: none;
}

header {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  background: #fff;
  transition: 0.5s background-color;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding-inline: 14px 0;
}

@media (min-width: 768px) {
  .header__inner {
    height: min(5vw, 70px);
    padding: 0 min(3.125vw, 60px) 0 min(2.6041666667vw, 50px);
    transition: 0.5s margin;
  }
}
.header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  width: 172px;
  font-size: 10px;
  font-size: 0.625rem;
}

@media (min-width: 768px) {
  .header__logo {
    width: max(min(17.8645833333vw, 280px), 220px);
  }
}
@media (any-hover: hover) {
  .header__logo a {
    transition: 0.5s opacity;
  }
  .header__logo a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .header__nav {
    position: fixed;
    top: 60px;
    right: 0;
    left: 0;
    max-height: 0;
    overflow: auto;
    transition: 0.5s max-height ease, 0.5s padding ease;
  }
  .header__nav > * {
    overflow: hidden;
    transition: 0.5s padding ease;
  }
  body.is-drawerOpen .header__nav {
    max-height: calc(100vh - 60px);
  }
}
.header__navList {
  letter-spacing: 0.06em;
}

@media (max-width: 767px) {
  .header__navList {
    padding-inline: 6%;
    background: #fff;
  }
  .header__navList .pc {
    display: none;
  }
  .header__navList > li {
    border-bottom: 1px solid #2e8fc0;
  }
  .header__navList > li > a,
  .header__navList > li > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1em 0.6em;
    font-size: 1.6rem;
  }
  .header__navList > li > span {
    display: flex !important;
  }
  .header__navList > li > a::after {
    width: 0.5em;
    margin-right: 0.6em;
    aspect-ratio: 1/1;
    border-right: 2px solid #2e8fc0;
    border-bottom: 2px solid #2e8fc0;
    transform: rotate(-45deg);
    content: "";
  }
  .header__navList > li > .is-toggleBtn {
    cursor: pointer;
  }
  .header__navList > li > .is-toggleBtn .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 1.6em;
    aspect-ratio: 1/1;
    content: "";
  }
  .header__navList > li > .is-toggleBtn .icon::before {
    position: absolute;
    width: 70%;
    height: 2px;
    background: #2e8fc0;
    content: "";
  }
  .header__navList > li > .is-toggleBtn .icon::after {
    position: absolute;
    width: 70%;
    height: 2px;
    background: #2e8fc0;
    content: "";
    transform: rotate(90deg);
    transition: 0.5s;
  }
  .header__navList > li > .is-toggleBtn.is-toggleBtn--open .icon::after {
    transform: rotate(360deg);
  }
  body.is-drawerOpen .header__navList {
    padding-block: 30px 60px;
  }
}
@media (min-width: 768px) {
  .header__navList {
    display: flex;
    gap: 2em;
    font-size: min(1.2vw, 16px);
  }
  .header__navList li .menu_parent {
    position: relative;
  }
  .header__navList li .menu_parent .sub_menu {
    display: none;
    top: 4rem;
    position: absolute;
    background-color: #fff;
    padding: 0 3rem 2.4rem;
    width: -moz-fit-content;
    width: fit-content;
  }
  .header__navList li .menu_parent .sub_menu li {
    white-space: nowrap;
    line-height: 2.6;
  }
  .header__navList li .menu_parent .sub_menu li:not(:last-child) {
    border-bottom: 1px #ccc solid;
  }
}
@media (min-width: 768px) and (any-hover: hover) {
  .header__navList > li a {
    transition: 0.5s color;
  }
  .header__navList > li a:hover {
    color: #2e8fc0;
  }
}
@media (max-width: 767px) {
  .header__navChild {
    display: grid;
    grid-template-rows: 0fr;
    transition: 0.5s grid-template-rows ease, 0.5s padding ease;
  }
  .header__navChild > * {
    overflow: hidden;
  }
  .header__navChild.is-toggleContents--open {
    grid-template-rows: 1fr;
  }
}
@media (min-width: 768px) {
  .header__navChild {
    display: none;
  }
}
@media (max-width: 767px) {
  .header__navChildList {
    background: #eaf4f9;
  }
  .is-toggleContents--open .header__navChildList {
    border-top: 1px solid rgba(46, 143, 192, 0.5);
  }
  .header__navChildList li + li {
    border-top: 1px solid rgba(46, 143, 192, 0.5);
  }
  .header__navChildList li.list {
    background-color: #2e8fc0;
  }
  .header__navChildList li.list a {
    color: #fff;
  }
  .header__navChildList li.list a::before {
    content: none;
  }
  .header__navChildList a {
    display: flex;
    align-items: center;
    gap: 0.6em;
    padding: 0.7em 1em;
  }
  .header__navChildList a::before {
    content: "-";
  }
  .header__navChildList a::after {
    width: 0.5em;
    aspect-ratio: 1/1;
    border-right: 1px solid #2e8fc0;
    border-bottom: 1px solid #2e8fc0;
    transform: rotate(-45deg);
  }
}
.header__drawerBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 60px;
  aspect-ratio: 1/1;
}
.header__drawerBtn span {
  position: absolute;
  width: 26px;
  height: 2px;
  left: calc(50% - 13px);
  background: #2e8fc0;
  transition: transform 0.5s, opacity 0.3s;
}
.header__drawerBtn span:nth-child(1) {
  transform: translateY(-8px);
}
.header__drawerBtn span:nth-child(3) {
  transform: translateY(8px);
}

@media (min-width: 768px) {
  .header__drawerBtn {
    display: none;
  }
}
body.is-drawerOpen .header__drawerBtn span:nth-child(1) {
  transform: rotate(45deg);
}
body.is-drawerOpen .header__drawerBtn span:nth-child(2) {
  opacity: 0;
}
body.is-drawerOpen .header__drawerBtn span:nth-child(3) {
  transform: rotate(-45deg);
}

/* =========================================================
 footer
========================================================= */
footer {
  position: relative;
  z-index: 2;
  background: #333333;
  color: #fff;
}
footer .footer_cta {
  display: flex;
  position: fixed;
  right: 10px;
  bottom: -1px;
  left: 10px;
  gap: 5px;
}
footer .footer_cta .footer_ctaBtn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  height: 60px;
  border-radius: 3px 3px 0 0;
  padding-inline: 1.1em 0.5em;
  font-size: min(4.5vw, 18px);
  line-height: 1;
}
footer .footer_cta .footer_ctaBtn .text {
  letter-spacing: 0.14em;
}
footer .footer_cta .footer_ctaBtn .illust {
  width: min(15vw, 60px);
}
footer .footer_cta .footer_ctaBtn--consultation {
  background: #2e8fc0;
  color: #fff;
}
footer .footer_cta .footer_ctaBtn--documents {
  background: #fff;
  border: 1px solid #3e4a5a;
}
footer .footer__inner {
  display: flex;
  flex-direction: column;
  gap: 30px 20px;
  padding-block: 35px 80px;
}
footer .footer__inner .footer__logo {
  width: 280px;
  margin-bottom: 16px;
}
footer .footer__inner .footer__company {
  margin-bottom: 40px;
}
footer .footer__inner .footer__company a {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 0.6em 3.4em;
  color: #fff;
  border: 1px solid;
  line-height: 1.4;
  font-size: 1.6rem;
}
footer .footer__inner .footer__company a::after {
  position: absolute;
  right: 0.5em;
  width: 0.67em;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow_white.svg) no-repeat center/contain;
  content: "";
}
footer .footer__inner .footer__info {
  line-height: 1.6;
}
footer .footer__inner .footer__info .footer__infoTitle {
  font-weight: 500;
  font-size: 1.7rem;
}
footer .footer__inner .footer__info dt {
  margin-block: 1.5em 0.2em;
  font-weight: 500;
  font-size: 1.5rem;
}
footer .footer__inner .footer__info dd p {
  font-size: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}
footer .footer__copy {
  text-align: center;
  font-size: 2vw;
}

@media (max-width: 767px) {
  .is-footerCta {
    transition: 0.5s;
    opacity: 0;
    pointer-events: none;
  }
  .is-footerCta--show {
    opacity: 1;
    pointer-events: initial;
  }
}
@media (min-width: 768px) {
  footer .footer_cta {
    position: relative;
    gap: 4rem;
    width: 90%;
    max-width: 1426px;
    margin-inline: auto;
    transform: translateY(-32%);
  }
  footer .footer_cta .footer_ctaBtn {
    justify-content: space-between;
    min-height: 4.6em;
    padding: 0 2.5em;
    border-radius: 3px;
    font-size: min(2.5vw, 36px);
  }
  footer .footer_cta .footer_ctaBtn .illust {
    width: min(10vw, 160px);
  }
  footer .footer__inner {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1032px;
    padding-block: 20px 55px;
  }
  footer .footer__inner .footer__main {
    width: 46.511627907%;
  }
  footer .footer__inner .footer__main .footer__info dt {
    font-size: 1.6rem;
  }
  footer .footer__inner .footer__main .footer__info dd p {
    font-size: 1.6rem;
  }
  footer .footer__inner .footer__main .footer__info .footer__infoTitle {
    font-size: 2rem;
  }
  footer .footer__inner .footer__main .footer__nav {
    display: flex;
  }
  footer .footer__inner .footer__main .footer__nav a {
    color: #fff;
  }
  footer .footer__inner .footer__nav {
    width: calc(52% - 20px);
    display: flex !important;
    justify-content: space-between;
    gap: 30px;
    max-width: 480px;
  }
  footer .footer__inner .footer__nav dl {
    width: 175px;
  }
  footer .footer__inner .footer__nav dl dt {
    margin-bottom: 0.7em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid;
    font-weight: 500;
    font-size: 18px;
    font-size: 1.8rem;
  }
  footer .footer__inner .footer__nav dl dd {
    font-size: 1.4rem;
  }
  footer .footer__inner .footer__nav dl dd ul li + li {
    margin-top: 0.4em;
  }
  footer .footer__copy {
    text-align: left;
    font-size: 1.2rem;
  }
}
@media (any-hover: hover) {
  .footer_ctaBtn--consultation {
    transition: 0.5s background-color;
  }
  .footer_ctaBtn--consultation:hover {
    background: #fff;
  }
  .footer_ctaBtn--documents {
    transition: 0.5s background-color;
  }
  .footer_ctaBtn--documents:hover {
    background: #eaf4f9;
  }
}
@media (max-width: 767px) {
  .footer_ctaBtn--documents {
    border-bottom: none;
  }
}
@media (any-hover: hover) {
  .footer__logo a {
    transition: 0.5s opacity;
  }
  .footer__logo a:hover {
    opacity: 0.7;
  }
}
@media (any-hover: hover) {
  .footer__company a {
    transition: 0.5s background-color;
  }
  .footer__company a:hover {
    background: rgba(255, 255, 255, 0.1);
  }
}
@media (any-hover: hover) {
  .footer__nav a {
    color: #fff;
    transition: 0.5s opacity;
  }
  .footer__nav a:hover {
    opacity: 0.7;
  }
}
/* =========================================================
 main
========================================================= */
.main {
  position: relative;
  overflow: clip;
  padding-bottom: 60px;
  background: url(../img/common/bg.svg) repeat center/164px 214px;
}

@media (min-width: 768px) {
  .main {
    padding-bottom: min(13.503375844vw, 180px);
    background-size: 328px 428px;
  }
}
body:has(.p-homeKv) .main {
  padding-bottom: 0;
}

/* =========================================================
 fixedCta
========================================================= */
@media (min-width: 768px) {
  .l-fixedCta {
    position: fixed;
    right: -1px;
    top: 60%;
    transform: translateY(-50%);
    z-index: 11;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .l-fixedCta__btn {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(8vw, 100px);
    height: min(17vw, 240px);
    border-radius: 3px 0 0 3px;
  }
  .l-fixedCta__btn .text {
    margin-inline: 0.8em 0.5em;
    letter-spacing: 0.14em;
    writing-mode: vertical-rl;
    font-size: min(1.8vw, 24px);
  }
  .l-fixedCta__btn .illust {
    width: min(5.25vw, 70px);
  }
  .l-fixedCta__btn--consultation {
    background: #2e8fc0;
    color: #fff;
  }
  .l-fixedCta__btn--documents {
    background: #fff;
    border: 1px solid;
  }
}
@media (any-hover: hover) {
  .l-fixedCta__btn--consultation {
    transition: 0.5s background-color;
  }
  .l-fixedCta__btn--consultation:hover {
    background: #2980ab;
  }
  .l-fixedCta__btn--documents {
    transition: 0.5s background-color;
  }
  .l-fixedCta__btn--documents:hover {
    background: #eaf4f9;
  }
}
/* =========================================================
 project
========================================================= */
.p-kv {
  position: relative;
  margin-inline: auto;
}

.p-kv__img img {
  width: 100%;
}

.p-kv__banner {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 100px;
  z-index: 5;
}

@media (any-hover: hover) {
  .p-kv__banner {
    transition: 0.5s opacity;
  }
  .p-kv__banner:hover {
    opacity: 0.7;
  }
}
.p-kv {
  position: relative;
}
.p-kv::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #f8f8f8;
  mix-blend-mode: multiply;
}
.p-kv .p-kv__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-block: 10vw;
}
.p-kv .p-kv__inner .p-kv__title {
  text-align: center;
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  .p-kv .p-kv__inner {
    padding-block: 7rem;
  }
  .p-kv .p-kv__inner .p-kv__title {
    font-size: 3.6rem;
  }
}
/* pageTitle
-------------------------------------- */
.p-pageTitle {
  margin: 40px 0 50px;
}

.p-pageTitle__inner {
  max-width: 1600px;
}

/* パンくず
-------------------------------------- */
.breadcrumb {
  border-block: 1px solid #ddd;
  background: #fff;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.breadcrumb .breadcrumb_inner {
  display: flex;
  flex-wrap: wrap;
  padding-block: 0.2em;
}
.breadcrumb .breadcrumb_inner > * {
  display: flex;
  align-items: center;
}
.breadcrumb .breadcrumb_inner > *::after {
  width: 0.6em;
  margin-inline: 0.7em 0.8em;
  aspect-ratio: 1/1;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  content: "";
}
.breadcrumb .breadcrumb_inner > *:last-child::after {
  display: none;
}

@media (min-width: 768px) {
  .breadcrumb {
    font-size: 1.2rem;
  }
}
@media (any-hover: hover) {
  .breadcrumb_inner a {
    transition: 0.5s color;
  }
  .breadcrumb_inner a:hover {
    color: #2e8fc0;
  }
}
/* entryList
-------------------------------------- */
/* pager
-------------------------------------- */
.p-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-pager:has(a) {
  margin-top: 40px;
}
.p-pager a {
  color: #2e8fc0;
  display: inline-flex !important;
  align-items: center;
  gap: 0.8em;
}
.p-pager a span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-pager a:before {
  flex-shrink: 0;
  background: #2e8fc0;
  color: #fff;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: none;
  font-size: 14px;
  font-size: 0.875rem;
}

@media (max-width: 767px) {
  .p-pager {
    gap: 10px;
    flex-direction: column;
  }
}
@media (min-width: 521px) {
  .p-pager:has(a) {
    margin-top: 80px;
  }
}
@media (min-width: 768px) {
  .p-pager > * {
    width: 48%;
  }
}
@media (any-hover: hover) {
  .p-pager a {
    transition: 0.5s opacity;
  }
  .p-pager a:hover {
    opacity: 0.7;
  }
}
.p-pager__next {
  text-align: right;
}
.p-pager__next a {
  flex-direction: row-reverse;
}
.p-pager__next a:before {
  padding: 0.2em 0.6em 0.2em 0.8em;
  content: "NEXT >";
}

@media (max-width: 767px) {
  .p-pager__next {
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .p-pager__prev {
    margin-right: auto;
  }
}
.p-pager__prev a:before {
  padding: 0.2em 0.8em 0.2em 0.6em;
  content: "< PREV";
}

/* pagination {
-------------------------------------- */
.p-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8em;
  margin-top: 50px;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
}
.p-pagination > * {
  min-width: 2em;
  padding: 0.2em 0.5em;
  border-radius: 100%;
  text-align: center;
}
.p-pagination .prev,
.p-pagination .next {
  position: relative;
}
.p-pagination .prev::before, .p-pagination .prev::after {
  top: 0;
  left: 0;
  transition: 0.5s background-color;
}
.p-pagination .next::before, .p-pagination .next::after {
  top: 0;
  left: 0;
  transition: 0.5s background-color;
}
.p-pagination .prev::after {
  transform: scale(-1, 1);
}
.p-pagination .current {
  border-color: transparent !important;
  color: #fff;
  background: #2e8fc0 !important;
  border-radius: 100%;
}

@media (any-hover: hover) {
  .p-pagination a {
    transition: 0.5s color;
  }
  .p-pagination a:hover {
    color: #2e8fc0;
  }
}
@media (any-hover: hover) {
  .p-pagination .prev:hover::before,
  .p-pagination .next:hover::before {
    background: #2e8fc0;
  }
}
/* 提供サービス一覧
-------------------------------------- */
.p-serviceList__inner {
  padding-block: 6rem;
}
.p-serviceList__inner .p-serviceList__title {
  margin-bottom: 3rem;
}
.p-serviceList__inner .p-serviceList__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5vw 6%;
}
.p-serviceList__inner .p-serviceList__list li {
  width: 47%;
}
.p-serviceList__inner .p-serviceList__list li .link {
  display: grid;
  grid-template-areas: "img" "title" "text";
  gap: 0 1.6rem;
  letter-spacing: 0.04em;
}
.p-serviceList__inner .p-serviceList__list li .link .img {
  grid-area: img;
  margin-bottom: 0.7em;
}
.p-serviceList__inner .p-serviceList__list li .link .title {
  grid-area: title;
  margin-bottom: min(2vw, 1rem);
  color: #2e8fc0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}
.p-serviceList__inner .p-serviceList__list li .link .text {
  grid-area: text;
  line-height: 1.6;
  font-size: 1.2rem;
  text-align: justify;
}

@media (min-width: 768px) {
  .p-serviceList__inner {
    padding-block: 10rem;
  }
  .p-serviceList__inner .p-serviceList__title {
    margin-bottom: 5rem;
  }
  .p-serviceList__inner .p-serviceList__list {
    gap: 1.4rem 2%;
  }
  .p-serviceList__inner .p-serviceList__list li {
    width: 32%;
  }
  .p-serviceList__inner .p-serviceList__list li .link {
    grid-template-areas: "img title" "img text";
    grid-template-columns: 40% 1fr;
    grid-template-rows: auto 1fr;
  }
  .p-serviceList__inner .p-serviceList__list li .link .title {
    font-size: min(1.6666666667vw, 2rem);
  }
  .p-serviceList__inner .p-serviceList__list li .link .text {
    font-size: min(1.1666666667vw, 1.4rem);
  }
}
/* 関連事例紹介
-------------------------------------- */
.p-relationList .p-relationList__inner {
  max-width: 1510px;
}
.p-relationList .p-relationList__inner .p-relationList__title {
  margin-bottom: 3rem;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper {
  display: flex;
  flex-direction: column;
  gap: 5vw;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .link {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .img {
  aspect-ratio: 454/290;
  padding: 12px 12px 0;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .inner {
  padding: 20px;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .title {
  margin-block: 1em 0.5em;
  font-size: 4.6vw;
  font-weight: 500;
  line-height: 1;
}
.p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .text {
  text-align: justify;
}
.p-relationList .p-relationList__inner .p-relationList__btn {
  margin-top: 5rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-relationList .p-relationList__inner .p-relationList__title {
    margin-bottom: 5rem;
  }
  .p-relationList .p-relationList__inner .p-relationList__wrapper {
    max-width: 150rem;
    flex-direction: row;
    overflow-x: scroll;
    padding-bottom: 3rem;
    gap: 3.6rem;
  }
  .p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .link {
    width: 48rem;
  }
  .p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .title {
    font-size: 2.4rem;
  }
  .p-relationList .p-relationList__inner .p-relationList__wrapper .p-relationList__item .c_inner {
    padding: 3rem;
  }
  .p-relationList .p-relationList__inner .p-relationList__btn {
    margin-top: 5rem;
  }
}
@media (any-hover: hover) {
  .p-relationList__item .link {
    transition: 0.5s opacity;
  }
  .p-relationList__item .link:hover {
    opacity: 0.7;
  }
}
/* =========================================================
 home
========================================================= */
.dummy-slider {
  display: flex;
  overflow-x: scroll;
  padding-bottom: 3rem;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: auto;
  /* Firefox */
}
.dummy-slider > * {
  flex: none;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.dummy-slider::-webkit-scrollbar {
  display: auto;
}

.dummy-slider--achievements {
  gap: 26px;
}
.dummy-slider--achievements > * {
  width: 28rem;
}

.dummy-slider--service {
  gap: 26px;
}
.dummy-slider--service > * {
  width: 28rem;
}

@media (min-width: 768px) {
  .dummy-slider--service > * {
    width: 48rem;
  }
}
.dummy-slider--gallery > * {
  width: 280px;
}

@media (min-width: 768px) {
  .dummy-slider--gallery > * {
    width: 37.6041666667%;
  }
}
/* panel animation */
/* kv
-------------------------------------- */
.p-homeKv {
  position: relative;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 74% 100%, 0 calc(100% - 20px));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 74% 100%, 0 calc(100% - 20px));
}

@media (min-width: 768px) {
  .p-homeKv {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 74% 100%, 0 calc(100% - 30px));
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 74% 100%, 0 calc(100% - 30px));
  }
}
.p-homeKv__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 50vh;
  color: #fff;
  text-align: center;
}
.p-homeKv__inner .move_txt {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.p-homeKv__inner .p-homeKv__title {
  letter-spacing: 0.08em;
  font-size: 5.2vw;
  line-height: 1.4;
  font-weight: 500;
}
.p-homeKv__inner .kv_sublead {
  font-size: 3vw;
}
.p-homeKv__inner .p-homeKv__lead {
  margin-top: 1em;
  line-height: 1.7;
  font-size: 3.2vw;
}

@media (min-width: 768px) {
  .p-homeKv__inner {
    height: 560px;
  }
  .p-homeKv__inner .p-homeKv__title {
    font-size: min(3.3333333333vw, 4rem);
  }
  .p-homeKv__inner .kv_sublead {
    font-size: min(1.2vw, 1.5rem);
  }
  .p-homeKv__inner .p-homeKv__lead {
    margin-top: 1.3em;
    font-size: min(1.5vw, 1.8rem);
  }
}
.p-homeKv__movie {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.p-homeKv__movie::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #3e4a5a;
  opacity: 0.3;
  mix-blend-mode: multiply;
  content: "";
}
.p-homeKv__movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* title
-------------------------------------- */
.p-homeTitle {
  font-size: 5.6vw;
  font-weight: 500;
}

@media (min-width: 768px) {
  .p-homeTitle {
    font-size: min(2.6666666667vw, 3.2rem);
    line-height: 1;
  }
}
/* achievements
-------------------------------------- */
.p-homeAchievements__inner {
  display: flex;
  flex-direction: column;
  align-items: start;
  max-width: 1100px;
  gap: 30px;
  padding-block: 3rem 4.5rem;
}
.p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__title {
  margin-bottom: 0.4em;
  line-height: 1;
}
.p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__title .blue {
  color: #2e8fc0;
}
.p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__title small {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.04em;
  margin-top: 1em;
}
.p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__text {
  text-align: justify;
}
.p-homeAchievements__inner .p-homeAchievements__btn {
  flex-shrink: 1;
}

@media (min-width: 768px) {
  .p-homeAchievements__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
    padding-block: 50px 65px;
  }
  .p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__title {
    margin-bottom: 0.6em;
  }
  .p-homeAchievements__inner .p-homeAchievements__main .p-homeAchievements__text {
    text-align: left;
    font-size: min(1.4vw, 1.6rem);
  }
}
.slider_achievements {
  width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 0 7rem;
}
.slider_achievements .p-homeAchievements__slide {
  margin: 0 3vw;
}
.slider_achievements .p-homeAchievements__slide .link {
  display: flex;
  flex-direction: column;
  border-top: 1px solid;
  border-bottom: 1px solid;
  background: #fff;
}
.slider_achievements .p-homeAchievements__slide .title {
  padding: 1em 0.5em 0.6em;
  text-align: center;
  font-size: 4vw;
  color: #2e8fc0;
  line-height: 1;
  font-weight: 500;
}
.slider_achievements .p-homeAchievements__slide .list {
  padding: 1em 0.6em 1.2em;
  font-size: min(4vw, 1.3rem);
  line-height: 1.8;
}
.slider_achievements .p-homeAchievements__slide .list li {
  display: flex;
}
.slider_achievements .p-homeAchievements__slide .list li::before {
  content: "・";
}

@media (any-hover: hover) {
  .p-homeAchievements__slide .link {
    transition: 0.5s opacity;
  }
  .p-homeAchievements__slide .link:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  .slider_achievements .p-homeAchievements__slide {
    margin: 0 1.5vw !important;
  }
  .slider_achievements .p-homeAchievements__slide .title {
    font-size: min(1.847826087vw, 1.7rem);
  }
  .slider_achievements .p-homeAchievements__slide .list {
    font-size: min(0.8vw, 1.4rem);
  }
}
/* support
-------------------------------------- */
.p-homeSupport {
  margin-top: 80px;
  position: relative;
  -webkit-clip-path: polygon(0 0, 25% 20px, 100% 0, 100% calc(100% - 20px), 74.4% 100%, 0% calc(100% - 20px));
  clip-path: polygon(0 0, 25% 20px, 100% 0, 100% calc(100% - 20px), 74.4% 100%, 0% calc(100% - 20px));
}
.p-homeSupport .p-homeSupport__inner {
  position: relative;
  z-index: 2;
  padding-block: 7rem 6rem;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__title {
  margin-bottom: 1em;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__title .blue {
  color: #2e8fc0;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__title small {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.04em;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4vw 0;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item {
  width: 48%;
  background-color: #fff;
  border: 1px #3e4a5a solid;
  border-radius: 1rem;
  padding: 4vw 0;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item .img {
  width: min(25.6vw, 192px);
  margin-inline: auto;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item .img img {
  width: 100%;
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item .text {
  text-align: center;
  min-height: 4em;
  margin-top: 0.6em;
  line-height: 1.54;
  letter-spacing: 0.08em;
  font-size: min(3.2vw, 2.6rem);
}
.p-homeSupport .p-homeSupport__inner .p-homeSupport__lead {
  margin-top: 1.5em;
  text-align: center;
  line-height: 1.8;
  font-size: 4vw;
}
.p-homeSupport .p-homeSupport__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.p-homeSupport .p-homeSupport__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 768px) {
  .p-homeSupport {
    margin-top: 110px;
  }
  .p-homeSupport .p-homeSupport__inner {
    padding-block: 10rem 8rem;
  }
  .p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item {
    width: 22%;
    height: -moz-fit-content;
    height: fit-content;
    padding: min(4vw, 28px);
  }
  .p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item:nth-child(odd) {
    margin-top: min(2vw, 28px);
  }
  .p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item .img {
    width: min(12vw, 16rem);
  }
  .p-homeSupport .p-homeSupport__inner .p-homeSupport__wrapper .p-homeSupport__item .text {
    font-size: min(1.6vw, 2rem);
  }
  .p-homeSupport .p-homeSupport__inner .p-homeSupport__lead {
    font-size: min(1.8333333333vw, 2.2rem);
  }
}
/* strength
-------------------------------------- */
.strength__inner {
  padding-block: 6rem;
}
.strength__inner .strength__head .strength__title {
  text-align: center;
  margin-bottom: 1em;
  line-height: 1.4;
}
.strength__inner .strength__head .strength__title .blue {
  color: #2e8fc0;
}
.strength__inner .strength__head .strength__title small {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: 1em;
}

.strength_list {
  overflow: auto;
  display: flex;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
  gap: 0 2vw;
}
.strength_list > * {
  flex: none;
}
.strength_list > * {
  width: 280px;
}

.strength_panel .box {
  display: block;
  height: 100%;
  padding-block: 8vw;
  background: #fff;
  border: 1px solid #3e4a5a;
  border-radius: 3px;
  transition: 0.5s color, 0.5s background-color;
}
.strength_panel .title {
  min-height: 3.9em;
  padding-inline: 0.5em;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
}
.strength_panel .title span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 70%;
  margin-bottom: 0.6em;
  color: #9ea4ac;
  transition: 0.5s color;
}
.strength_panel .img {
  width: 75.5208333333%;
  margin-inline: auto;
}
.strength_panel .img img {
  width: 100%;
}
.strength_panel .text {
  margin-top: 0.8em;
  padding-inline: 2.4em;
  text-align: justify;
}
@media (min-width: 768px) {
  .strength_panel:nth-of-type(1) {
    z-index: 5;
  }
  .strength_panel:nth-of-type(2) {
    transform: translateX(-55%);
    z-index: 4;
  }
  .strength_panel:nth-of-type(3) {
    transform: translateX(-110%);
    z-index: 3;
  }
  .strength_panel:nth-of-type(4) {
    transform: translateX(-165%);
    z-index: 2;
  }
  .strength_panel:nth-of-type(5) {
    transform: translateX(-220%);
    z-index: 1;
  }
  .strength_panel:nth-of-type(2).move-left {
    transform: translateX(-73%);
  }
  .strength_panel:nth-of-type(3).move-left {
    transform: translateX(-146%);
  }
  .strength_panel:nth-of-type(4).move-left {
    transform: translateX(-219%);
  }
  .strength_panel:nth-of-type(3).move-right {
    transform: translateX(-74%);
  }
  .strength_panel:nth-of-type(4).move-right {
    transform: translateX(-147%);
  }
  .strength_panel {
    position: relative;
    transition-property: all;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.9, 0, 0.24, 1);
  }
}

@media (min-width: 768px) {
  .strength__inner {
    display: flex;
    padding-block: 128px 115px;
  }
  .strength__inner .strength__head {
    width: 124px;
  }
  .strength__inner .strength__head .strength__title {
    text-align: left;
    display: inline-block;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0;
    line-height: 1.4;
    margin-left: -0.6em;
  }
  .strength__inner .strength__head .strength__title small {
    text-orientation: sideways;
    text-align: left;
    margin-right: 0.1em;
    margin-top: 0.2em;
  }
  .strength__inner .strength__main {
    width: calc(100% - 124px);
  }
  .strength__inner .strength__main .strength_list {
    overflow: hidden;
    gap: 0 0vw;
  }
  .strength__inner .strength__main .strength_list .strength_panel .box {
    padding-block: 36px;
  }
  .strength__inner .strength__main .strength_list .strength_panel .box .title {
    font-size: min(2vw, 2.6rem);
    line-height: 1.4;
  }
  .strength__inner .strength__main .strength_list .strength_panel .box .text {
    font-size: min(1.1vw, 1.6rem);
    text-align: justify;
    line-height: 1.8;
  }
  .strength__inner .strength__main .strength_list > * {
    width: min(27vw, 384px);
  }
}
@media (any-hover: hover) {
  .strength_panel .box:hover {
    background: #3e4a5a;
    color: #fff;
  }
  .strength_panel .box:hover .title span {
    color: #fff;
  }
}
/* cta
-------------------------------------- */
.p-homeCta {
  background: #eaf4f9;
}

.p-homeCta__inner {
  display: flex;
  padding-block: 50px;
  gap: 30px min(3.7509377344vw, 50px);
}

@media (max-width: 1023px) {
  .p-homeCta__inner {
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .p-homeCta__inner {
    padding-block: 60px;
  }
}
.p-homeCta__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 3rem;
  background: #fff;
  border-radius: 3px;
}

@media (min-width: 768px) {
  .p-homeCta__box {
    padding-block: 36px;
    flex: 1;
  }
}
.p-homeCta__box--tel .title {
  margin-bottom: 0.9em;
}
.p-homeCta__box--tel .tel-free {
  display: flex;
  align-items: center;
  gap: 0.15em;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  line-height: 1;
  font-size: 40px;
  font-size: min(9vw, 3.3rem);
  letter-spacing: 0.05em;
}
.p-homeCta__box--tel .tel-free .icon {
  width: 0.87em;
}
.p-homeCta__box--tel .tel {
  display: flex;
  gap: 0.3em;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 2rem;
}
.p-homeCta__box--tel .hour {
  text-align: center;
  font-size: 1.1rem;
}

@media (min-width: 768px) {
  .p-homeCta__box--tel .tel-free {
    font-size: 5.5rem;
  }
  .p-homeCta__box--tel .tel {
    font-size: 2.8rem;
  }
}
@media (min-width: 768px) {
  .p-homeCta__box--tel .hour {
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
}
.p-homeCta__box--contact {
  padding-inline: 20px;
}
.p-homeCta__box--contact .title {
  margin-bottom: 1em;
}
.p-homeCta__box--contact .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8em;
  position: relative;
  width: 100%;
  max-width: 516px;
  height: 5em;
  background: #3e4a5a;
  color: #fff;
  font-size: min(4.8vw, 18px);
}
.p-homeCta__box--contact .btn .icon {
  width: 2.2em;
}

@media (min-width: 768px) {
  .p-homeCta__box--contact {
    padding-inline: 28px;
  }
}
@media (max-width: 767px) {
  .p-homeCta__box--contact .btn {
    padding-left: 1em;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .p-homeCta__box--contact .btn .icon {
    width: 9vw;
  }
}
@media (min-width: 768px) {
  .p-homeCta__box--contact .btn {
    height: 6.36em;
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: 0.06em;
  }
}
@media (any-hover: hover) {
  .p-homeCta__box--contact .btn {
    transition: 0.5s background-color;
  }
  .p-homeCta__box--contact .btn:hover {
    background: #2e8fc0;
  }
}
@media (min-width: 768px) {
  .p-homeCta__box--contact .btn .icon {
    position: absolute;
    right: 1.2em;
  }
}
.p-homeCta__boxTitle {
  letter-spacing: 0.06em;
  text-align: center;
  font-size: min(5vw, 2.4rem);
  font-weight: 500;
  line-height: 1;
}

/* base
-------------------------------------- */
.p-homeBase {
  position: relative;
}

.p-homeBase__wrapper {
  position: relative;
  z-index: 2;
  max-width: 1920px;
  margin-inline: auto;
}

.p-homeBase__inner {
  padding-block: 6rem 2rem;
}

@media (min-width: 768px) {
  .p-homeBase__inner {
    padding-block: 100px;
  }
}
.p-homeBase__main {
  position: relative;
  z-index: 2;
}
.p-homeBase__main .p-homeBase__title {
  margin-bottom: 0.6em;
  line-height: 1;
}
.p-homeBase__main .p-homeBase__title .blue {
  color: #2e8fc0;
}
.p-homeBase__main .p-homeBase__title small {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.04em;
  margin-top: 0.8em;
}
.p-homeBase__main .p-homeBase__text {
  text-align: justify;
}

@media (min-width: 768px) {
  .p-homeBase__main {
    width: 50%;
    margin-left: auto;
  }
  .p-homeBase__main .p-homeBase__title {
    margin-bottom: 0.6em;
  }
}
.p-homeBase__list {
  margin-top: 40px;
}
.p-homeBase__list > li {
  margin-top: 16px;
}
.p-homeBase__list > li > a,
.p-homeBase__list > li > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.1em 0.6em 0.1em 0.9em;
  border: 1px solid #d8dbde;
  border-radius: 3px;
  background: #fff;
  transition: 0.5s background-color;
  font-size: 1.6rem;
}
.p-homeBase__list > li > a::after {
  width: 0.6em;
  aspect-ratio: 1/1;
  background: url(../img/home/base_arrow.svg) no-repeat center/contain;
  content: "";
  transition: 0.5s margin;
}

@media (min-width: 768px) {
  .p-homeBase__list {
    margin-top: 55px;
  }
}
@media (min-width: 768px) {
  .p-homeBase__list > li {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .p-homeBase__list > li > a,
  .p-homeBase__list > li > span {
    font-size: 2rem;
  }
}
@media (any-hover: hover) {
  .p-homeBase__list > li > a:hover {
    background: #eaf4f9;
  }
  .p-homeBase__list > li > a:hover::after {
    margin-right: -0.3em;
  }
}
.p-homeBase__listChild {
  display: flex;
  flex-wrap: wrap;
  gap: 20%;
  padding: 0.8em 0.8em 0;
  font-size: 1.4rem;
}
.p-homeBase__listChild ul {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 12em;
  line-height: 2;
}

@media (min-width: 768px) {
  .p-homeBase__listChild {
    font-size: 1.7rem;
  }
}
@media (any-hover: hover) {
  .p-homeBase__listChild a {
    transition: 0.3s color;
    display: flex;
    align-items: center;
  }
  .p-homeBase__listChild a:hover {
    color: #2e8fc0;
  }
  .p-homeBase__listChild a::after {
    display: inline-block;
    width: 0.6em;
    aspect-ratio: 1/1;
    background: url(../img/home/base_arrow.svg) no-repeat center/contain;
    content: "";
    margin-left: 0.3em;
  }
}
@media (max-width: 767px) {
  .p-homeBase__img {
    position: relative;
    z-index: 2;
    width: 80%;
    margin: 40px auto 0;
  }
}
@media (min-width: 768px) {
  .p-homeBase__img {
    position: absolute;
    top: 50%;
    left: -3%;
    transform: translateY(-50%);
    width: 49.3229166667%;
  }
}
.text_slider {
  position: absolute;
  display: flex;
  animation: 20s linear infinite sliderAnimation;
  bottom: -2rem;
  z-index: -1;
}
.text_slider .slide {
  white-space: nowrap;
  color: #f5f5f5;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  line-height: 1;
  font-size: 26rem;
  margin-right: 8rem;
}
@keyframes sliderAnimation {
  100% {
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .text_slider {
    bottom: 6.5vw;
  }
}
/* service
-------------------------------------- */
.p-homeService {
  padding-block: 60px;
}

.p-homeService__title {
  writing-mode: horizontal-tb;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 1em;
}
.p-homeService__title .blue {
  color: #2e8fc0;
}
.p-homeService__title small {
  display: block;
  font-size: 0.4em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.04em;
  margin-top: 0.1em;
  text-align: center;
}

.p-homeService__slide .link {
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid;
}
.p-homeService__slide .text_box {
  padding: 0 1rem 1rem 1rem;
  margin-top: -8vw;
}
.p-homeService__slide .text_box .solution {
  width: 90%;
  display: flex;
  justify-content: center;
  padding-block: 0.4em 0.6em;
  margin: 0 auto;
  font-size: 3.2vw;
  color: #fff;
  line-height: 1;
  background-color: #2e8fc0;
  border-radius: 999px;
  position: relative;
}
.p-homeService__slide .img {
  aspect-ratio: 454/290;
  padding: 12px 12px 0;
}
.p-homeService__slide .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-homeService__slide .box {
  padding: 20px;
}
.p-homeService__slide .box .title {
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1;
}
.p-homeService__slide .box .text {
  text-align: justify;
}

.p-homeService__btn {
  margin-top: 40px;
  text-align: center;
}

@media (min-width: 768px) {
  .p-homeService {
    padding-block: 110px;
  }
  .p-homeService .p-homeService__inner {
    display: flex;
    max-width: none;
    width: auto;
    margin-left: 5%;
  }
  .p-homeService .p-homeService__inner .p-homeService__head {
    width: 186px;
  }
  .p-homeService .p-homeService__inner .p-homeService__head .p-homeService__title {
    writing-mode: vertical-rl;
    text-align: left;
  }
  .p-homeService .p-homeService__inner .p-homeService__head .p-homeService__title small {
    text-align: left;
  }
  .p-homeService .p-homeService__inner .p-homeService__main {
    width: calc(100% - 186px);
  }
  .p-homeService .p-homeService__inner .p-homeService__main .p-homeService__slide .box {
    padding: 2.5rem 4rem 4rem;
  }
  .p-homeService .p-homeService__inner .p-homeService__main .p-homeService__slide .box .title {
    font-size: 2.4rem;
  }
  .p-homeService .p-homeService__inner .p-homeService__main .p-homeService__slide .text_box {
    padding: 0 1rem 2rem 1rem;
    margin-top: -4.5rem;
  }
  .p-homeService .p-homeService__inner .p-homeService__main .p-homeService__slide .text_box .solution {
    width: 90%;
    display: flex;
    justify-content: center;
    padding-block: 0.4em 0.6em;
    margin: 0 auto;
    font-size: 2rem;
    color: #fff;
    line-height: 1;
    background-color: #2e8fc0;
    border-radius: 999px;
    position: relative;
  }
  .p-homeService__btn {
    margin-top: 55px;
  }
}
@media (min-width: 1333px) {
  .p-homeService__inner {
    margin-left: calc((100% - 1200px) / 2);
  }
}
@media (any-hover: hover) {
  .p-homeService__slide .link {
    transition: 0.5s opacity;
  }
  .p-homeService__slide .link:hover {
    opacity: 0.7;
  }
}
/* vacant
-------------------------------------- */
.p-homeVacant__inner {
  display: grid;
  gap: 20px 0;
  position: relative;
  padding: 25px 20px;
}

@media (min-width: 768px) {
  .p-homeVacant__inner {
    padding: 30px 45px;
    grid-template-columns: 35% 30%;
    grid-template-areas: "head wrapper" "btn wrapper";
  }
}
.p-homeVacant__head {
  position: relative;
  z-index: 2;
  color: #fff;
}

@media (min-width: 768px) {
  .p-homeVacant__head {
    grid-area: head;
  }
}
.p-homeVacant__title {
  letter-spacing: 0.06em;
  font-size: 7vw;
  line-height: 1;
  margin-bottom: 0.2em;
}

@media (min-width: 768px) {
  .p-homeVacant__title {
    font-size: min(3vw, 4.4rem);
    margin-top: 0.3em;
  }
}
.p-homeVacant__lead {
  letter-spacing: 0.04em;
  font-size: 20px;
  font-size: 1.25rem;
}

@media (min-width: 768px) {
  .p-homeVacant__lead {
    font-size: 2rem;
  }
}
.p-homeVacant__wrapper {
  display: flex;
  gap: 20px 30px;
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .p-homeVacant__wrapper {
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .p-homeVacant__wrapper {
    grid-area: wrapper;
  }
}
.p-homeVacant__item .link {
  display: block;
  height: 100%;
  padding: 20px;
  background: #fff;
  border-radius: 3px;
  text-align: center;
}
.p-homeVacant__item .title {
  margin-bottom: 0.8em;
  font-weight: 500;
  font-size: 1.6rem;
}
.p-homeVacant__item .text {
  margin-top: 0.6em;
  font-weight: 400;
}

@media (any-hover: hover) {
  .p-homeVacant__item .link {
    transition: 0.5s background-color;
  }
  .p-homeVacant__item .link:hover {
    background: #eaf4f9;
  }
}
@media (min-width: 768px) {
  .p-homeVacant__item .link {
    padding: 25px;
  }
  .p-homeVacant__item .title {
    font-size: min(1.3vw, 1.8rem);
  }
}
.p-homeVacant__btn {
  position: relative;
  z-index: 2;
}
.p-homeVacant__btn .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 280px;
  height: 50px;
  padding-inline: 1em;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1.4;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
}
.p-homeVacant__btn .btn::after {
  position: absolute;
  right: 0.8em;
  width: 0.62em;
  aspect-ratio: 11/10;
  transition: 0.3s transform;
  background: url(../img/home/vacant_arrow.svg) no-repeat center/contain;
  content: "";
}

@media (max-width: 767px) {
  .p-homeVacant__btn {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .p-homeVacant__btn {
    grid-area: btn;
    margin-block: auto 1em;
  }
}
@media (any-hover: hover) {
  .p-homeVacant__btn .btn {
    transition: 0.5s background-color;
  }
  .p-homeVacant__btn .btn:hover {
    background: rgba(255, 255, 255, 0.15);
  }
}
@media (min-width: 768px) {
  .p-homeVacant__btn .btn {
    width: 264px;
    height: 45px;
    font-size: 1.8rem;
  }
}
@media (any-hover: hover) {
  .p-homeVacant__btn .btn:hover::after {
    transform: translateX(50%);
  }
}
.p-homeVacant__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.p-homeVacant__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* gallery
-------------------------------------- */
.photo_slider {
  display: flex;
  min-width: 100%;
  width: -moz-min-content;
  width: min-content;
  animation: 20s linear infinite sliderAnimation;
  margin-top: 70px;
}
@keyframes sliderAnimation {
  100% {
    transform: translateX(-50%);
  }
}
.photo_slider .slide {
  width: 50vw;
  aspect-ratio: 722/481;
  position: relative;
}

@media (min-width: 768px) {
  .photo_slider {
    margin-top: 140px;
  }
  .photo_slider .slide {
    width: 722px;
    height: 481px;
  }
}
/* =========================================================
 取り扱い商品ページ
========================================================= */
/* intro
-------------------------------------- */
.p-serviceIntro {
  position: relative;
}
.p-serviceIntro::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #f8f8f8;
  mix-blend-mode: multiply;
}
.p-serviceIntro .p-serviceIntro__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6vw;
  z-index: 2;
  padding-block: 7vw 8vw;
}
.p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__tag {
  font-size: 1.2rem;
}
.p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__title {
  position: relative;
  margin-top: 0.1em;
  margin-bottom: 0.6em;
  padding-left: 0.55em;
  font-weight: 700;
  font-size: 6.8vw;
  line-height: 1;
}
.p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__title::before {
  position: absolute;
  top: 0.1em;
  bottom: 0;
  left: 0;
  width: 3px;
  background: #2e8fc0;
  content: "";
}
.p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__lead {
  margin-bottom: 0.4em;
  color: #2e8fc0;
  font-weight: 500;
  line-height: 1.63;
  font-size: 1.6rem;
}
.p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__text {
  font-size: 1.4rem;
  text-align: justify;
}

@media (min-width: 768px) {
  .p-serviceIntro .p-serviceIntro__inner {
    padding-block: 7rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
  }
  .p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__tag {
    font-size: min(1.3333333333vw, 1.6rem);
    line-height: 1;
  }
  .p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__title {
    font-size: min(3.1666666667vw, 3.8rem);
    margin-top: 0.3em;
    margin-bottom: 0.6em;
  }
  .p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__lead {
    font-size: min(1.8333333333vw, 2.2rem);
  }
  .p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__main .p-serviceIntro__text {
    font-size: min(1.3333333333vw, 1.6rem);
  }
  .p-serviceIntro .p-serviceIntro__inner .p-serviceIntro__img {
    width: 52%;
  }
}
/* こんなお悩みありませんか？
-------------------------------------- */
.p-serviceWorry__inner {
  padding-block: 6rem;
}
.p-serviceWorry__inner .p-serviceWorry__title {
  margin-bottom: 6vw;
}
.p-serviceWorry__inner .p-serviceWorry__wrapper {
  display: flex;
  flex-direction: column;
  gap: 27px;
}
.p-serviceWorry__inner .p-serviceWorry__wrapper .p-serviceWorry__item {
  padding: 7vw;
  border-radius: 3px;
  border: 1px solid;
  text-align: center;
  max-width: 382px;
  margin-inline: auto;
  background-color: #fff;
}
.p-serviceWorry__inner .p-serviceWorry__wrapper .p-serviceWorry__item .img {
  width: 85%;
  margin-inline: auto;
}
.p-serviceWorry__inner .p-serviceWorry__wrapper .p-serviceWorry__item .text {
  margin-top: 0.8em;
  text-align: justify;
  line-height: 1.6;
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .p-serviceWorry__inner {
    padding-block: 100px;
  }
  .p-serviceWorry__inner .p-serviceWorry__title {
    margin-bottom: 5rem;
  }
  .p-serviceWorry__inner .p-serviceWorry__wrapper {
    flex-direction: row;
    justify-content: space-between;
    gap: 1.8vw;
  }
  .p-serviceWorry__inner .p-serviceWorry__wrapper .p-serviceWorry__item {
    width: min(31.8333333333vw, 382px);
    padding: 30px;
  }
  .p-serviceWorry__inner .p-serviceWorry__wrapper .p-serviceWorry__item .text {
    font-size: min(1.3333333333vw, 1.6rem);
  }
}
/* 富士ロジテックなら
-------------------------------------- */
.p-serviceFeatures {
  position: relative;
}
.p-serviceFeatures::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #eaf4f9;
  mix-blend-mode: multiply;
}
.p-serviceFeatures .p-serviceFeatures__inner {
  position: relative;
  z-index: 2;
  padding-block: 6rem;
}
.p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box {
  display: flex;
  max-width: 1034px;
  flex-direction: column;
  gap: 3rem;
  margin-top: 4rem;
}
.p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxMain .title {
  margin-bottom: 0.8em;
  color: #2e8fc0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}
.p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxMain .text {
  text-align: justify;
  letter-spacing: 0.06em;
}

@media (min-width: 768px) {
  .p-serviceFeatures .p-serviceFeatures__inner {
    padding-block: 10rem;
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box {
    flex-direction: row;
    gap: 3.9%;
    margin-top: 60px;
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box:nth-of-type(2n) {
    margin-left: auto;
    flex-direction: row-reverse;
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxMain {
    flex: 1;
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxMain .title {
    font-size: min(2.1666666667vw, 2.6rem);
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxMain .text {
    font-size: min(1.3333333333vw, 1.6rem);
  }
  .p-serviceFeatures .p-serviceFeatures__inner .p-serviceFeatures__box .p-serviceFeatures__boxImg {
    width: 56.5%;
  }
}
/* 取扱い実績
-------------------------------------- */
.p-serviceHandling__inner {
  padding-block: 6rem;
}
.p-serviceHandling__inner .p-serviceHandling__title {
  margin-bottom: 3rem;
}
.p-serviceHandling__inner .p-serviceHandling__list {
  display: grid;
  gap: 0.8em 1em;
  grid-template-columns: auto auto;
  margin-inline: auto;
  font-size: 1.4rem;
  width: -moz-fit-content;
  width: fit-content;
}
.p-serviceHandling__inner .table {
  border: 1px #3e4a5a solid;
  line-height: 1.6;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background-color: #fff;
}
.p-serviceHandling__inner .table .title {
  background-color: #ecedee;
}
.p-serviceHandling__inner .table .title th {
  text-align: center;
  font-weight: 400;
  padding: 0.8em 1em;
}
.p-serviceHandling__inner .table .title th:not(:last-child) {
  border-right: 1px #3e4a5a solid;
}
.p-serviceHandling__inner .table .title th.w1 {
  width: 30%;
}
.p-serviceHandling__inner .table .title th.w2 {
  width: 70%;
}
.p-serviceHandling__inner .table tr:not(:last-child) {
  border-bottom: 1px #3e4a5a solid;
}
.p-serviceHandling__inner .table td {
  padding: 0.8em 1em;
}
.p-serviceHandling__inner .table td.w4 {
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
.p-serviceHandling__inner .table td:not(:last-child) {
  border-right: 1px #3e4a5a solid;
}

#pharmaceuticals .p-serviceHandling .p-serviceHandling__inner {
  max-width: 90rem;
}
#pharmaceuticals .p-serviceHandling .p-serviceHandling__inner th.w1 {
  width: 20%;
}
#pharmaceuticals .p-serviceHandling .p-serviceHandling__inner th.w2 {
  width: 50%;
}
#pharmaceuticals .p-serviceHandling .p-serviceHandling__inner th.w3 {
  width: 30%;
}

#precision .p-serviceHandling .p-serviceHandling__inner {
  max-width: 70rem;
}
#precision .p-serviceHandling .p-serviceHandling__inner .table th.w1 {
  width: 50%;
}
#precision .p-serviceHandling .p-serviceHandling__inner .table th.w2 {
  width: 50%;
}

#medical .p-serviceHandling__inner table {
  display: block;
  height: 500px;
  overflow-y: scroll;
}

@media (min-width: 768px) {
  .p-serviceHandling__inner {
    padding-block: 10rem;
  }
  .p-serviceHandling__inner .p-serviceHandling__title {
    margin-bottom: 5rem;
  }
  .p-serviceHandling__inner .p-serviceHandling__list {
    grid-template-columns: repeat(3, auto);
    width: -moz-fit-content;
    width: fit-content;
    font-size: min(1.8333333333vw, 2.2rem);
    gap: 0.8em 2em;
  }
}
/* 業許可・業登録
-------------------------------------- */
.permission .permission__inner {
  padding-block: 6rem 0;
  max-width: 100%;
  margin: 0 auto;
}
.permission .permission__inner .permission__title {
  margin-bottom: 3rem;
}
.permission .permission__inner .table {
  border: 1px #3e4a5a solid;
  line-height: 1.6;
  width: 100%;
  background-color: #fff;
}
.permission .permission__inner .table .title {
  background-color: #ecedee;
}
.permission .permission__inner .table .title th {
  text-align: center;
  font-weight: 400;
  padding: 0.8em 1em;
}
.permission .permission__inner .table .title th:not(:last-child) {
  border-right: 1px #3e4a5a solid;
}
.permission .permission__inner .table tr:not(:last-child) {
  border-bottom: 1px #3e4a5a solid;
}
.permission .permission__inner .table td {
  padding: 0.8em 1em;
}
.permission .permission__inner .table td:not(:last-child) {
  border-right: 1px #3e4a5a solid;
}
.permission .permission__inner .txt {
  margin-top: 3vw;
}
.permission .permission__inner .txt dt {
  font-size: 1.1em;
  font-weight: 500;
}
.permission .permission__inner .txt dd {
  word-break: break-word;
}

@media (min-width: 768px) {
  .permission .permission__inner {
    padding-block: 10rem 0;
    max-width: 90rem;
  }
  .permission .permission__inner .permission__title {
    margin-bottom: 5rem;
  }
  .permission .permission__inner .txt {
    margin-top: 2rem;
  }
}
/* 施設設備
-------------------------------------- */
.equipment {
  margin-bottom: 6rem;
}
.equipment .equipment__inner {
  background-color: #f8f8f8;
  padding-block: 10vw;
  padding-inline: 6vw;
}
.equipment .equipment__inner .equipment__title {
  margin-bottom: 3rem;
}
.equipment .equipment__inner .equipment_list {
  display: flex;
  flex-direction: column;
  gap: 0.5em 0;
}
.equipment .equipment__inner .equipment_list dl {
  display: flex;
  gap: 0 1em;
}
.equipment .equipment__inner .equipment_list dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #2e8fc0;
  width: 34%;
  vertical-align: middle;
}
.equipment .equipment__inner .equipment_list dl dd {
  width: 66%;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .equipment {
    margin-bottom: 10rem;
  }
  .equipment .equipment__inner {
    padding-block: 6rem;
    padding-inline: 7rem;
  }
  .equipment .equipment__inner .equipment__title {
    margin-bottom: 5rem;
  }
  .equipment .equipment__inner .equipment_list dl dt {
    width: 12%;
  }
  .equipment .equipment__inner .equipment_list dl dd {
    width: 88%;
  }
}
/* 付帯業務・流通加工実績
-------------------------------------- */
.p-serviceProcessing {
  background: #f8f8f8;
}
.p-serviceProcessing .p-serviceProcessing__inner {
  padding-block: 6rem;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__title {
  margin-bottom: 3rem;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper {
  padding: 6vw;
  background: #fff;
  border-radius: 3px;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8em 1em;
  margin-inline: auto;
  font-size: 1.4rem;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__list.n2 {
  margin-top: 0.8em;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__imgs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3vw 4%;
  margin-top: 4rem;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__imgs li {
  width: 48%;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__imgs li .text {
  text-align: center;
  font-size: 1.4rem;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__movies {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4vw 2%;
  margin-top: 6vw;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__movies li {
  width: 48%;
}
.p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__movies li iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 520/315;
}
.p-serviceProcessing .p-serviceProcessing__inner picture {
  display: block;
  width: 100%;
  margin: 10vw auto 0;
}

@media (min-width: 768px) {
  .p-serviceProcessing .p-serviceProcessing__inner {
    padding-block: 10rem;
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__title {
    margin-bottom: 5rem;
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper {
    padding: 5rem 4rem;
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__list {
    grid-template-columns: repeat(3, auto);
    max-width: 1100px;
    font-size: min(1.5vw, 1.8rem);
    width: -moz-fit-content;
    width: fit-content;
    gap: 0.8em 3em;
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__imgs li {
    width: min(352px, 30%);
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__wrapper .p-serviceProcessing__imgs li .text {
    font-size: min(1.3333333333vw, 1.6rem);
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__movies {
    margin-top: 5.5rem;
    gap: 2rem 2%;
  }
  .p-serviceProcessing .p-serviceProcessing__inner .p-serviceProcessing__movies li {
    width: min(389px, 31%);
  }
  .p-serviceProcessing .p-serviceProcessing__inner picture {
    width: 90%;
    margin: 7rem auto 0;
  }
  #pharmaceuticals .p-serviceProcessing__imgs li {
    width: min(352px, 50%);
  }
}
/* 取扱い実績・検査・作業事例
-------------------------------------- */
.example {
  background: #f8f8f8;
}
.example .example_inner {
  padding-bottom: 6rem;
}
.example .example_inner .example_title {
  margin-bottom: 3rem;
}
.example .example_inner .example_wrapper {
  width: -moz-fit-content;
  width: fit-content;
  margin: 4vw auto 0;
}
.example .example_inner .example_wrapper h3 {
  text-align: center;
  font-size: 5vw;
  font-weight: 500;
  color: #2e8fc0;
  border-bottom: 1px solid #3e4a5a;
}
.example .example_inner .example_wrapper .example_box {
  display: flex;
  gap: 5vw;
  flex-direction: column;
  margin: 5vw auto 0;
}
.example .example_inner .example_wrapper .example_box .example_txt {
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
.example .example_inner .example_wrapper .example_box .example_txt dt {
  font-weight: 500;
  border: #3e4a5a solid 1px;
  padding: 0.4em;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  margin-bottom: 0.4em;
  border-radius: 2px;
}
.example .example_inner .example_wrapper .example_box .example_imgs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

#precision .example .example_inner {
  padding-block: 6rem;
}
#precision .example .example_inner .example_txt_list {
  display: flex;
  gap: 3em;
}

#promotional .example .example_inner {
  padding-top: 6rem;
}
#promotional .example .example_inner .example_list {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem 0;
}
#promotional .example .example_inner .example_list .example_wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0 auto;
}
#promotional .example .example_inner .example_list .example_wrapper .example_box {
  width: 94%;
  margin: 2rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 1.6em 0;
}
#promotional .example .example_inner .example_list .example_wrapper .example_box .example_txt {
  display: flex;
  flex-direction: row;
}
#promotional .example .example_inner .example_list .example_wrapper .example_box .example_imgs {
  width: 100%;
}
#promotional .example .example_inner .example_list .example_wrapper .example_box .example_imgs .img {
  width: 100%;
}

@media (min-width: 768px) {
  .example .example_inner {
    padding-bottom: 10rem;
  }
  .example .example_inner .example_title {
    margin-bottom: 5rem;
  }
  .example .example_inner .example_wrapper {
    margin: 4rem auto 0;
  }
  .example .example_inner .example_wrapper h3 {
    font-size: 2.4rem;
  }
  .example .example_inner .example_wrapper .example_box {
    display: flex;
    gap: 3em;
    flex-direction: row;
    justify-content: space-between;
    margin: 4rem auto 0;
    flex-grow: 1;
  }
  .example .example_inner .example_wrapper .example_box .example_txt {
    display: flex;
    flex-direction: column;
    gap: 2em;
  }
  .example .example_inner .example_wrapper .example_box .example_txt dl {
    flex: 1;
  }
  .example .example_inner .example_wrapper .example_box .example_imgs {
    width: 34.5rem;
  }
  #precision .example .example_inner {
    padding-block: 10rem;
  }
  #precision .example .example_inner .example_wrapper {
    width: 100%;
  }
  #precision .example .example_inner .example_wrapper .example_box .example_imgs {
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
  }
  #precision .example .example_inner .example_wrapper .example_box .example_imgs .img {
    width: 35rem;
  }
  #promotional .example .example_inner {
    padding-top: 10rem;
  }
  #promotional .example .example_inner .example_list {
    width: 108rem;
    gap: 2rem 0;
  }
  #promotional .example .example_inner .example_list .example_wrapper {
    width: 46%;
    margin: 1rem auto 0;
  }
  #promotional .example .example_inner .example_list .example_wrapper .example_box {
    margin: 2rem auto 0;
    gap: 1.6em 0;
  }
  #promotional .example .example_inner .example_list .example_wrapper .example_box .example_imgs {
    width: 100%;
  }
  #promotional .example .example_inner .example_list .example_wrapper .example_box .example_imgs .img {
    width: 100%;
  }
}
/* utilization
-------------------------------------- */
.p-serviceUtilization__inner {
  padding-block: 6rem;
}
.p-serviceUtilization__inner .p-serviceUtilization__title {
  margin-bottom: 3rem;
}
.p-serviceUtilization__inner .p-serviceUtilization__main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 30px;
}
.p-serviceUtilization__inner .p-serviceUtilization__main .p-serviceUtilization__mainText {
  padding: 20px;
  border: 1px solid;
  letter-spacing: 0.04em;
  text-align: justify;
}
.p-serviceUtilization__inner .p-serviceUtilization__case {
  flex-direction: column;
  margin-top: 60px;
}
.p-serviceUtilization__inner .p-serviceUtilization__case .p-serviceUtilization__caseTitle {
  width: 100%;
  text-align: left;
  color: #2e8fc0;
  letter-spacing: 0.04em;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 4vw;
}
.p-serviceUtilization__inner .p-serviceUtilization__case .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 4vw 5%;
}
.p-serviceUtilization__inner .p-serviceUtilization__case .box .p-serviceUtilization__caseMain .title {
  margin-bottom: 1em;
  letter-spacing: 0.04em;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
.p-serviceUtilization__inner .p-serviceUtilization__case .box .p-serviceUtilization__caseMain .text {
  letter-spacing: 0.04em;
  text-align: justify;
}

@media (min-width: 768px) {
  .p-serviceUtilization__inner {
    max-width: 108rem;
    padding-block: 10rem;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__main {
    flex-direction: row;
    align-items: center;
    gap: 4%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__main .p-serviceUtilization__mainText {
    width: 48%;
    padding: 4%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__main .p-serviceUtilization__mainImg {
    width: 48%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__case {
    flex-wrap: wrap;
    gap: 40px 8.6476540938%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__case .box .p-serviceUtilization__caseMain {
    width: 48%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__case .box .p-serviceUtilization__caseMain .title {
    font-size: min(1.75vw, 2.1rem);
  }
  .p-serviceUtilization__inner .p-serviceUtilization__case .box .p-serviceUtilization__caseImg {
    width: 40%;
  }
  .p-serviceUtilization__inner .p-serviceUtilization__case .p-serviceUtilization__caseTitle {
    text-align: center;
    font-size: min(2.1666666667vw, 2.6rem);
    margin-bottom: 4rem;
  }
}
/* 拠点
-------------------------------------- */
.p-serviceBase {
  background: #f8f8f8;
}
.p-serviceBase .p-serviceBase__inner {
  padding: 6rem 0;
}
.p-serviceBase .p-serviceBase__inner .p-serviceBase__title {
  line-height: 1;
  margin-bottom: 2rem;
}
.p-serviceBase .p-serviceBase__inner .p-serviceBase__lead {
  letter-spacing: 0.04em;
}
.p-serviceBase .p-serviceBase__inner .p-serviceBase__img {
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .p-serviceBase .p-serviceBase__inner {
    padding: 10rem 0;
  }
  .p-serviceBase .p-serviceBase__inner .p-serviceBase__title {
    margin-bottom: 4rem;
  }
  .p-serviceBase .p-serviceBase__inner .p-serviceBase__lead {
    max-width: 600px;
    margin-inline: auto;
  }
}
/* =========================================================
 取り扱い商品一覧
========================================================= */
#service_list .service_list_intro {
  position: relative;
}
#service_list .service_list_intro .service_list_intro_inner {
  position: relative;
  display: flex;
  padding-block: 10vw;
  justify-content: center;
  z-index: 2;
}
#service_list .service_list_intro .service_list_intro_inner .service_list_intro_title {
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.1em;
}
#service_list .service_list_intro::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #f8f8f8;
  mix-blend-mode: multiply;
}
#service_list .service_list_inner {
  padding-block: 5rem;
}
#service_list .service_list_inner .service_list_title {
  font-size: 4.4vw;
  color: #3e4a5a;
  line-height: 1.7;
  margin-bottom: 8vw;
}
#service_list .service_list_inner .service_list_title small {
  display: block;
  font-size: 1.4rem;
  margin-top: 1em;
  font-weight: 400;
  text-align: justify;
}
#service_list .service_list_inner .p-relationList__wrapper {
  display: flex;
  justify-content: flex-start;
  gap: 6vw 0;
  flex-wrap: wrap;
  width: 100%;
  padding-bottom: 3rem;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item {
  width: 100%;
  border: 1px solid #ccc;
  background-color: #fff;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .img {
  aspect-ratio: 454/290;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box {
  padding: 4vw;
  margin-top: 0;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title {
  font-size: 5vw;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
#service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title img {
  width: 1.8rem;
  margin-left: 0.4em;
}
#service_list .p-relationList .lead {
  text-align: center;
  margin-bottom: 8vw;
  text-align: justify;
}
#service_list .p-relationList .p-relationList__inner .p-relationList__wrapper {
  flex-direction: row;
  overflow-x: scroll;
}
#service_list .p-relationList .p-relationList__inner .p-relationList__wrapper .link {
  width: 88vw;
}
@media (min-width: 768px) {
  #service_list .service_list_intro .service_list_intro_inner {
    padding-block: 7rem;
  }
  #service_list .service_list_intro .service_list_intro_inner .service_list_intro_title {
    font-size: 3.6rem;
  }
  #service_list .service_list_inner {
    padding-block: 9rem;
  }
  #service_list .service_list_inner .service_list_title {
    font-size: 2.6rem;
    margin-bottom: 5rem;
  }
  #service_list .service_list_inner .service_list_title small {
    font-size: 1.6rem;
    margin-top: 2em;
    text-align: center;
  }
  #service_list .service_list_inner .p-relationList__wrapper {
    gap: 3rem 2.6%;
    width: 100%;
    padding-bottom: 3rem;
  }
  #service_list .service_list_inner .p-relationList__wrapper .p-relationList__item {
    width: 23%;
  }
  #service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box {
    padding: 1.4rem 1.4rem 1.8rem;
  }
  #service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title {
    font-size: min(1.2vw, 1.8rem);
  }
  #service_list .service_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title img {
    width: 1.8rem;
    margin-left: 0.4em;
  }
  #service_list .p-relationList .lead {
    text-align: center;
    margin-bottom: 2em;
  }
  #service_list .p-relationList .p-relationList__inner .p-relationList__wrapper {
    flex-direction: row;
    overflow-x: scroll;
  }
  #service_list .p-relationList .p-relationList__inner .p-relationList__wrapper .link {
    width: 48rem;
  }
}

/* =========================================================
 事例一覧
========================================================= */
.case_list_intro {
  position: relative;
}
.case_list_intro .case_list_intro_inner {
  position: relative;
  display: flex;
  padding-block: 10vw;
  justify-content: center;
  z-index: 2;
}
.case_list_intro .case_list_intro_inner .case_list_intro_title {
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.case_list_intro::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #f8f8f8;
  mix-blend-mode: multiply;
}

.case_list_inner {
  padding-block: 5rem 0;
}
.case_list_inner .case_list_title {
  font-size: 4.4vw;
  color: #3e4a5a;
  line-height: 1.7;
  margin-bottom: 8vw;
}
.case_list_inner .case_list_title small {
  display: block;
  font-size: 1.4rem;
  margin-top: 1em;
  font-weight: 400;
  text-align: justify;
}
.case_list_inner .p-relationList__wrapper {
  display: flex;
  justify-content: flex-start;
  gap: 6vw 0;
  flex-wrap: wrap;
  width: 100%;
  padding-bottom: 3rem;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item {
  width: 100%;
  border: 1px solid #3e4a5a;
  background-color: #fff;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .img {
  aspect-ratio: 454/290;
  padding: 12px 12px 0;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .text_box {
  padding: 0 3rem 3rem 3rem;
  margin-top: -2rem;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .solution {
  width: 90%;
  display: flex;
  justify-content: center;
  padding-block: 0.4em 0.6em;
  margin: 0 auto;
  font-size: 5vw;
  color: #fff;
  line-height: 1;
  background-color: #2e8fc0;
  border-radius: 999px;
  position: relative;
  z-index: 1;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title {
  font-size: 5vw;
  font-weight: 500;
  margin-top: 0.5em;
  display: flex;
  align-items: center;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title img {
  width: 1.8rem;
  margin-left: 0.4em;
}
.case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .text {
  text-align: justify;
}

.p-relationList__wrapper .text_box {
  padding: 0 3rem 3rem 3rem;
  margin-top: -4vw;
}
.p-relationList__wrapper .text_box .solution {
  width: 90%;
  display: flex;
  justify-content: center;
  padding-block: 0.4em 0.6em;
  margin: 0 auto;
  font-size: 4vw;
  color: #fff;
  line-height: 1;
  background-color: #2e8fc0;
  border-radius: 999px;
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .case_list_intro .case_list_intro_inner {
    padding-block: 7rem;
  }
  .case_list_intro .case_list_intro_inner .case_list_intro_title {
    font-size: 3.6rem;
  }
  .case_list_inner {
    padding-block: 9rem 0;
  }
  .case_list_inner .case_list_title {
    font-size: 2.6rem;
    margin-bottom: 5rem;
  }
  .case_list_inner .case_list_title small {
    font-size: 1.6rem;
    margin-top: 2em;
    text-align: center;
  }
  .case_list_inner .p-relationList__wrapper {
    gap: 3rem 2%;
    width: 100%;
    padding-bottom: 3rem;
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item {
    width: 32%;
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item .img {
    padding: 12px 12px 0;
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item .text_box {
    padding: 0 3rem 3rem 3rem;
    margin-top: -2rem;
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .solution {
    width: 90%;
    padding-block: 0.4em 0.6em;
    font-size: min(1.4vw, 2rem);
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title {
    font-size: min(1.4vw, 2rem);
    margin-top: 0.5em;
  }
  .case_list_inner .p-relationList__wrapper .p-relationList__item .text_box .title img {
    width: 1.8rem;
    margin-left: 0.4em;
  }
  .p-relationList__wrapper .text_box {
    padding: 0 3rem 3rem 3rem;
    margin-top: -2rem;
  }
  .p-relationList__wrapper .text_box .solution {
    padding-block: 0.4em 0.6em;
    font-size: 2rem;
  }
}
/* =========================================================
 事例紹介
========================================================= */
.p-postBody a:not(.wp-block-button__link) {
  text-decoration: underline;
  color: #1e00ff;
}
.p-postBody > * + * {
  margin-top: 2em;
}
.p-postBody p {
  text-align: justify;
}
.p-postBody p strong {
  color: #2e8fc0;
}
.p-postBody * + h2,
.p-postBody * + h3,
.p-postBody * + h4,
.p-postBody * + h5,
.p-postBody * + h6 {
  margin-top: 2em;
}
.p-postBody ul li {
  display: flex;
  position: relative;
}
.p-postBody li + li {
  margin-top: 0.5em;
}
.p-postBody ul:not(.blocks-gallery-grid) li {
  display: list-item;
  padding-left: 1em;
}
.p-postBody ul:not(.blocks-gallery-grid) li:before {
  position: absolute;
  left: 0;
  content: "・";
}
.p-postBody ol {
  padding-left: 1.5em;
}
.p-postBody iframe {
  max-width: 100%;
}
.p-postBody pre {
  white-space: pre-wrap;
}
.p-postBody .alignleft {
  float: left;
  margin: 0 1em 1em 0;
}
.p-postBody .alignright {
  float: right;
  margin: 0 0 1em 1em;
}
.p-postBody .aligncenter {
  margin-right: auto;
  margin-left: auto;
}
.p-postBody figure {
  max-width: 1000px;
  margin: 30px auto;
}
.p-postBody figure figcaption {
  margin-top: 1em;
  text-align: center;
}
.p-postBody .txt {
  margin-top: 0.6em;
}
.p-postBody .wp-block-button__link {
  background: #2e8fc0;
}
.p-postBody .wp-block-columns > * > * + * {
  margin-top: 2em;
}

@media (any-hover: hover) {
  .p-postBody a:not(.wp-block-button__link):hover {
    text-decoration: none;
  }
}
#case h3 {
  font-size: 4.2vw;
  font-weight: 500;
  color: #2e8fc0;
  line-height: 1.8;
}

@media (min-width: 768px) {
  #case h3 {
    font-size: min(1.847826087vw, 1.7rem);
  }
}
.p-caseIntro {
  position: relative;
}
.p-caseIntro::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #f8f8f8;
  mix-blend-mode: multiply;
}
.p-caseIntro .p-caseIntro__inner {
  display: grid;
  grid-template-areas: "icon title" "icon lead";
  grid-template-columns: 14vw 1fr;
  gap: 0 20px;
  max-width: 920px;
  padding-block: 7vw;
}
.p-caseIntro .p-caseIntro__inner .p-caseIntro__icon {
  grid-area: icon;
  margin-block: auto;
  width: 13vw;
}
.p-caseIntro .p-caseIntro__inner .p-caseIntro__title {
  grid-area: title;
  color: #2e8fc0;
  font-weight: 500;
  letter-spacing: 0.06em;
  font-size: 2rem;
}
.p-caseIntro .p-caseIntro__inner .p-caseIntro__lead {
  grid-area: lead;
  line-height: 1.6;
  font-size: 1.6rem;
  text-align: justify;
}

@media (min-width: 768px) {
  .p-caseIntro .p-caseIntro__inner {
    grid-template-columns: 14% 1fr;
    padding-block: min(4.2vw, 8rem);
  }
  .p-caseIntro .p-caseIntro__inner .p-caseIntro__icon {
    width: 8.7rem;
  }
  .p-caseIntro .p-caseIntro__inner .p-caseIntro__title {
    font-size: 2rem;
  }
  .p-caseIntro .p-caseIntro__inner .p-caseIntro__lead {
    font-size: min(2.8888888889vw, 2.6rem);
  }
}
.p-caseContainer {
  position: relative;
}
.p-caseContainer .p-caseNav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  z-index: 3;
  width: min(25vw, 23rem);
  padding: min(2.8260869565vw, 26px) min(2.8260869565vw, 26px) min(2.8260869565vw, 26px) min(4.347826087vw, 4rem);
  border: 1px solid;
  border-left: none;
  border-radius: 0 3px 3px 0;
  background: #fff;
}
.p-caseContainer .p-caseNav li + li {
  border-top: 1px solid #c5c9cd;
}
.p-caseContainer .p-caseNav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7em 0.5em;
  font-size: min(1.9565217391vw, 18px);
  letter-spacing: 0.04em;
}
.p-caseContainer .p-caseNav a::after {
  width: 0.5em;
  aspect-ratio: 1/1;
  border-right: 1px solid #2e8fc0;
  border-bottom: 1px solid #2e8fc0;
  transform: rotate(-45deg);
  content: "";
}
.p-caseContainer .p-caseContents__inner {
  padding: 6vw 0 14vw;
}
.p-caseContainer .p-caseContents__inner .p-caseContents__section + .p-caseContents__section {
  margin-top: 5rem;
}
.p-caseContainer .p-caseContents__inner .p-caseContents__section .p-caseContents__title {
  display: flex;
  align-items: center;
  gap: 0.6em;
  margin-bottom: 0.4em;
  letter-spacing: 0.04em;
  font-size: 6vw;
  font-weight: 500;
}
.p-caseContainer .p-caseContents__inner .p-caseContents__section .p-caseContents__title::before {
  width: 1.6em;
  height: 4px;
  background: #2e8fc0;
  content: "";
}

@media (min-width: 768px) {
  .p-caseContainer .p-caseContents__inner {
    max-width: 920px;
    padding: 6rem 0 10rem;
  }
  .p-caseContainer .p-caseContents__inner .p-caseContents__section + .p-caseContents__section {
    margin-top: 8rem;
  }
  .p-caseContainer .p-caseContents__inner .p-caseContents__section .p-caseContents__title {
    font-size: min(3.2608695652vw, 3rem);
    margin-bottom: 1em;
  }
  .p-caseContainer .p-caseContents__inner .p-caseContents__section .p-caseContents__title::before {
    width: 2em;
  }
}
.p-caseContents__body .gallery {
  display: grid;
  gap: 1em;
}

@media (min-width: 768px) {
  .p-caseContents__body .gallery {
    gap: 2%;
    grid-template-columns: repeat(3, 1fr);
  }
  .p-caseContents__body .gallery img {
    width: 100%;
  }
}
.p-caseContents__body--point ul {
  padding-inline: 1em;
  font-size: 4vw;
}
.p-caseContents__body--point ul li + li {
  margin-top: 0.8em;
}
.p-caseContents__body--point ul li {
  display: flex;
  gap: 0 0.5em;
  line-height: 1.6;
}
.p-caseContents__body--point ul li::before {
  flex-shrink: 0;
  width: 1.31em;
  max-width: 29px;
  max-height: 29px;
  aspect-ratio: 1/1;
  margin-top: 0.2em;
  background: url(../img/common/icon_check.svg) no-repeat center/contain;
  content: "";
}

@media (min-width: 768px) {
  .p-caseContents__body--point ul {
    font-size: min(2.6086956522vw, 2.4rem);
  }
}
.p-caseProducts {
  padding-block: 14vw;
  background: #f8f8f8;
}
.p-caseProducts .p-relationList__title {
  margin-bottom: 1em;
}
.p-caseProducts .p-caseProducts__btn {
  text-align: center;
  margin-top: 9vw;
}

@media (min-width: 768px) {
  .p-caseProducts {
    padding-block: 10rem;
  }
  .p-caseProducts .p-caseProducts__btn {
    margin-top: 5.6rem;
  }
}
#case .slider_achievements .p-homeAchievements__slide .link {
  background-color: transparent;
}

#case .p-relationList .p-relationList__inner {
  padding-block: 6rem 0;
}

@media (min-width: 768px) {
  #case .p-relationList .p-relationList__inner {
    padding-block: 10rem 0;
  }
}
.p-caseCompany {
  margin-block: 60px;
}
.p-caseCompany .p-caseCompany__inner {
  max-width: 920px;
  padding: 25px;
  background: #f8f8f8;
}
.p-caseCompany .p-caseCompany__inner .p-relationList__title {
  margin-bottom: 1em;
}
.p-caseCompany .p-caseCompany__inner .p-caseCompany__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  letter-spacing: 0.04em;
  gap: 0.5em 2em;
  font-size: 1.6rem;
}

@media (min-width: 768px) {
  .p-caseCompany {
    margin-block: 100px;
  }
  .p-caseCompany .p-caseCompany__inner {
    padding: min(5.8823529412vw, 60px);
  }
  .p-caseCompany .p-caseCompany__inner .p-caseCompany__list {
    font-size: min(2.6086956522vw, 2.4rem);
  }
}
/* =========================================================
 資料ダウンロード
========================================================= */
.p-documentsList__inner {
  padding-block: 50px;
}
.p-documentsList__inner .p-documentsList__lead {
  margin-bottom: 30px;
  text-align: justify;
}
.p-documentsList__inner .p-documentsList__wrapper {
  display: grid;
  gap: 40px;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item {
  display: flex;
  flex-direction: column;
  border: 1px solid;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .img {
  aspect-ratio: 340/190;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 6vw;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .title {
  margin-bottom: 0.5em;
  color: #2e8fc0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: justify;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .text {
  margin-bottom: 2em;
  line-height: 1.6;
  font-size: 1.6rem;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: auto;
  padding: 0.46em 1.5em;
  border-radius: 3px;
  background: #3e4a5a;
  color: #fff;
  letter-spacing: 0.06em;
  font-size: 1.6rem;
}
.p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .btn::after {
  position: absolute;
  right: 0.8em;
  width: 1em;
  height: 1em;
  background: url(../img/documents/icon_download.svg) no-repeat center/contain;
  content: "";
}

@media (min-width: 768px) {
  .p-documentsList__inner {
    padding-block: 90px;
  }
  .p-documentsList__inner .p-documentsList__lead {
    margin-bottom: 40px;
    text-align: center;
  }
  .p-documentsList__inner .p-documentsList__wrapper {
    grid-template-columns: repeat(3, 1fr);
    gap: min(4.1666666667vw, 80px) min(4.5833333333vw, 88px);
  }
  .p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner {
    padding: 8% 8.5%;
  }
  .p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .title {
    font-size: min(1.8004501125vw, 2rem);
  }
  .p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .text {
    margin-bottom: 2.5em;
    font-size: min(1.5003750938vw, 1.8rem);
  }
  .p-documentsList__inner .p-documentsList__wrapper .p-documentsList__item .c_inner .btn {
    font-size: min(1.3503375844vw, 1.6rem);
  }
}
@media (any-hover: hover) {
  .p-documentsList__item .btn {
    transition: 0.5s background-color;
  }
  .p-documentsList__item .btn:hover {
    background: #2e8fc0;
  }
}
/* =========================================================
 資料ダウンロードフォーム
========================================================= */
.p-documentsIntro__inner {
  padding-block: 40px;
  text-align: center;
}
.p-documentsIntro__inner .p-documentsIntro__title {
  margin-bottom: 1.3em;
  font-weight: 400;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-documentsIntro__inner .p-documentsIntro__text span {
  border-bottom: 1px solid;
}

@media (min-width: 768px) {
  .p-documentsIntro__inner {
    padding-block: 80px;
  }
  .p-documentsIntro__inner .p-documentsIntro__title {
    font-size: 3.2rem;
  }
}
.p-documentsFeatures {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 40px;
}
.p-documentsFeatures .p-documentsFeatures__img img {
  width: 100%;
}
.p-documentsFeatures .p-documentsFeatures__main .title {
  margin-bottom: 0.8em;
  color: #2e8fc0;
  font-size: 1.8rem;
  font-weight: 500;
}
.p-documentsFeatures .p-documentsFeatures__main .list li {
  display: flex;
  word-break: break-all;
}
.p-documentsFeatures .p-documentsFeatures__main .list li::before {
  content: "・";
}
.p-documentsFeatures .p-documentsFeatures__main .list li + li {
  margin-top: 0.8em;
}

@media (min-width: 768px) {
  .p-documentsFeatures {
    flex-direction: row;
    gap: min(3.9100684262vw, 40px);
    margin-bottom: 90px;
  }
  .p-documentsFeatures .p-documentsFeatures__img {
    width: 50%;
  }
  .p-documentsFeatures .p-documentsFeatures__main {
    flex: 1;
  }
  .p-documentsFeatures .p-documentsFeatures__main .title {
    font-size: 2rem;
  }
}
/*------------------------------
フォームのベース
------------------------------*/
.p-formSection__inner {
  max-width: 920px;
}
.p-formSection__inner .thanks .thanks_inner {
  margin-block: min(10vw, 5rem) 0;
  display: flex;
  flex-direction: column;
  gap: min(6vw, 2rem) 0;
}
.p-formSection__inner .thanks .thanks_inner p {
  text-align: justify;
}

.p-formSection__lead {
  margin-bottom: 1em;
  font-size: 1.4rem;
}

@media (min-width: 768px) {
  .p-formSection__lead {
    font-size: 1.6rem;
  }
}
.p-formSection__lead span {
  color: #d93924;
  font-size: 80%;
}

* + .p-formSection__lead {
  margin-top: 50px;
}

@media (min-width: 768px) {
  * + .p-formSection__lead {
    margin-top: 100px;
  }
}
.p-formSection__table + .p-formSection__lead {
  margin-top: 40px;
}

@media (min-width: 768px) {
  .p-formSection__table + .p-formSection__lead {
    margin-top: 70px;
  }
}
.p-formSection__table dt span {
  color: #d93924;
  font-size: 1.2rem;
}

.p-formSection__select select,
.p-formSection__table textarea,
.p-formSection__table input[type=text],
.p-formSection__table input[type=tel],
.p-formSection__table input[type=number],
.p-formSection__table input[type=email] {
  width: 100%;
  box-sizing: border-box;
  height: 50px;
  padding: 0 1em;
  color: #3e4a5a;
  border: 1px solid #d8dbde;
  font-size: 1.6rem;
}

.p-formSection__select select::-moz-placeholder, .p-formSection__table textarea::-moz-placeholder, .p-formSection__table input[type=text]::-moz-placeholder, .p-formSection__table input[type=tel]::-moz-placeholder, .p-formSection__table input[type=number]::-moz-placeholder, .p-formSection__table input[type=email]::-moz-placeholder {
  color: #9ea4ac;
}

.p-formSection__select select::placeholder,
.p-formSection__table textarea::placeholder,
.p-formSection__table input[type=text]::placeholder,
.p-formSection__table input[type=tel]::placeholder,
.p-formSection__table input[type=number]::placeholder,
.p-formSection__table input[type=email]::placeholder {
  color: #9ea4ac;
}

.p-formSection__table {
  background: #fff;
  border-top: 1px solid #d8dbde;
  font-size: 1.6rem;
}

.p-formSection__table > div {
  display: flex;
  border-bottom: 1px solid #d8dbde;
}

@media (max-width: 767px) {
  .p-formSection__table > div {
    flex-direction: column;
    padding-block: 0.8em 1.2em;
  }
}
@media (min-width: 768px) {
  .p-formSection__table > div {
    align-items: center;
    gap: 40px;
    padding: 1.8em;
  }
}
.p-formSection__table dt {
  display: flex;
  align-items: center;
  gap: 0.8em;
  width: 100%;
  margin-bottom: 0.6em;
  font-weight: 500;
}

@media (min-width: 768px) {
  .p-formSection__table dt {
    width: 20rem;
    margin: 0;
    padding: 0;
  }
}
@media (min-width: 768px) {
  .p-formSection__table dd {
    flex: 1;
    padding: 0;
  }
}
.p-formSection__table textarea {
  display: block;
  height: 224px;
  padding-block: 0.5em;
}

.p-formSection__table .att {
  margin-top: 1em;
  font-size: 1.2rem;
  text-align: justify;
}

.p-formSection__select {
  position: relative;
  max-width: 390px;
}

.p-formSection__select::after {
  position: absolute;
  right: 1em;
  top: 1.5em;
  height: 0.6em;
  width: 0.6em;
  border-right: 2px solid #3e4a5a;
  border-bottom: 2px solid #3e4a5a;
  transform: translateY(-50%) rotate(45deg);
  content: "";
}

.p-formSection__select select {
  padding-right: 3em;
  color: #3e4a5a;
  cursor: pointer;
}

.p-formSection__name .label {
  margin-bottom: 0.3em;
}

.p-formSection__name .item {
  display: flex;
  gap: 12px;
}

@media (min-width: 768px) {
  .p-formSection__name .item {
    gap: 24px;
  }
}
.p-formSection__name .item > * {
  width: calc((100% - 12px) / 2);
  max-width: 200px;
}

.p-formSection__name .item + .item {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .p-formSection__name .item + .item {
    margin-top: 30px;
  }
}
.p-formSection__tel {
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (min-width: 768px) {
  .p-formSection__tel {
    gap: 14px;
  }
}
.p-formSection__tel > div {
  max-width: 165px;
}

.p-formSection__btn {
  text-align: center;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 0 2%;
}

@media (min-width: 768px) {
  .p-formSection__btn {
    margin-top: 80px;
  }
}
.p-formSection__btn button,
.p-formSection__btn input[type=submit] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44%;
  max-width: 400px;
  height: 50px;
  background: #3e4a5a url(../img/common/arrow_white.svg) no-repeat calc(100% - 1em) center/12px auto;
  color: #fff;
  transition: 0.5s background-color;
  font-size: 1.8rem;
}

.p-formSection__btn input[type=button] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44%;
  max-width: 400px;
  height: 50px;
  background: #fff url(../img/common/arrow_white.svg) no-repeat calc(100% - 1em) center/12px auto;
  border: 1px solid #3e4a5a;
  color: #3e4a5a;
  transition: 0.5s background-color;
  font-size: 1.8rem;
}

@media (min-width: 768px) {
  .p-formSection__btn button,
  .p-formSection__btn input[type=submit] {
    max-width: 530px;
    height: 66px;
    font-size: 2.4rem;
  }
  .p-formSection__btn input[type=button] {
    max-width: 530px;
    height: 66px;
    font-size: 2.4rem;
  }
}
@media (any-hover: hover) {
  .p-formSection__btn button:hover,
  .p-formSection__btn input[type=submit]:hover {
    background-color: #2e8fc0;
  }
}
.p-formSection .privacy {
  font-size: 1.4rem;
  margin-top: 2rem;
  text-align: justify;
}
.p-formSection .privacy a {
  color: #2e8fc0;
  text-decoration: underline;
}

/*------------------------------
お問い合わせ
------------------------------*/
#contact .inner {
  margin-inline: auto;
}

.p-contactCta__inner {
  max-width: 573px;
  margin-top: 50px;
  border: 1px solid;
}

@media (min-width: 768px) {
  .p-contactCta__inner {
    margin-top: 100px;
  }
}
.p-contactFlow {
  display: grid;
  grid-template-columns: 0.95fr 0.95fr 1fr;
  gap: 4px;
  margin-top: 50px;
}
.p-contactFlow .p-contactFlow__item {
  letter-spacing: 0.02em;
}
.p-contactFlow .p-contactFlow__item > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.4em;
  background: #ecedee;
  line-height: 1.6;
  font-size: 4vw;
}
.p-contactFlow .p-contactFlow__item > span span {
  margin-top: 0.4em;
  font-size: 64%;
  font-family: "Inter", sans-serif;
}
.p-contactFlow .p-contactFlow__item--current > span {
  background: #3e4a5a;
  color: #fff;
}

@media (min-width: 768px) {
  .p-contactFlow {
    margin-top: 100px;
  }
  .p-contactFlow .p-contactFlow__item > span {
    flex-direction: row;
    gap: 0.64em;
    font-size: 2.8rem;
  }
}
.p-contactFlow__item:nth-child(1) {
  z-index: 3;
}

.p-contactFlow__item:nth-child(1) > span {
  margin-right: -20px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
  padding-right: 20px;
}

.p-contactFlow__item:nth-child(2) {
  z-index: 2;
}

.p-contactFlow__item:nth-child(2) > span {
  margin-right: -20px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
}

.p-contactFlow__item:nth-child(3) > span {
  padding-left: 20px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
}

.p-contactAtt {
  margin-block: 30px;
}
.p-contactAtt > * + * {
  margin-top: 1.5em;
}
.p-contactAtt ul li {
  display: flex;
  text-align: justify;
}
.p-contactAtt ul li::before {
  content: "＊";
}

@media (min-width: 768px) {
  .p-contactAtt {
    margin-block: 40px;
  }
}
/*# sourceMappingURL=styles.css.map */