@charset "UTF-8";
:root {
  --mh--breakpoint--min: 375px;
  --mh--breakpoint--sm: 640px;
  --mh--breakpoint--md: 768px;
  --mh--breakpoint--lg: 1100px;
  --mh--breakpoint--xl: 1280px;
  --mh--breakpoint--x2l: 1450px;
}
/* .home-message
================================================== */
.home-message {
  background: url("../img/common/bg_gradation02.png") no-repeat bottom left/100%, url("../img/common/bg_pattern01.png") repeat top/50px;
}
.home-message__inner {
  padding-block: var(--mh--space--md) 80px;
}
.home-message__copy {
  width: 99.7014925373%;
  margin-bottom: 40px;
}
.home-message__txt {
  line-height: 1.5;
}
@media (width >= 768px ) {
  .home-message {
    background-size: 1451px, 100px;
  }
  .home-message__inner {
    padding-bottom: 200px;
  }
  .home-message__copy {
    width: 1019px;
    margin-bottom: 92px;
  }
  .home-message__txt {
    max-width: fit-content;
    margin-left: auto;
    font-size: var(--mh--font-size--x2l);
  }
}
@media (width >= 1450px ) {
  .home-message__txt {
    max-width: 776px;
  }
}
/* .home-why
================================================== */
.home-why__inner {
  padding-block: var(--mh--space--md) var(--mh--space--x2l);
}
.home-why-contents {
  display: grid;
  gap: var(--mh--space--10-40);
  padding-block: var(--mh--space--20-80) var(--mh--space--40-60);
  border-top: 1px solid var(--mh--color--grayscale-500);
  border-bottom: 1px solid var(--mh--color--grayscale-500);
}
.home-why-contents + .home-why-contents {
  border-top: none;
}
.home-why-contents__top {
  display: grid;
  grid-template-columns: auto 80px;
  gap: var(--mh--space--x3s);
  justify-content: space-between;
}
.home-why-contents__img {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--mh--border-radius--md);
}
.home-why-contents__img img {
  width: 100%;
  height: 100%;
}
.home-why-contents__bottom {
  display: grid;
  gap: var(--mh--space--20-20);
}
.home-why-contents__head {
  font-size: var(--mh--font-size--x6l);
}
.home-why-contents__area-txt {
  display: grid;
  gap: var(--mh--space--10-15);
}
.home-why-contents__lead {
  font-size: var(--mh--font-size--xl);
}
.home-why-contents__txt {
  font-size: var(--mh--font-size--sm);
}
@media (width < 768px) {
  .home-why {
    position: relative;
  }
  .home-why::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 164px;
    content: "";
    background: url("../img/common/bg_pattern01.png") repeat top/50px;
  }
}
@media (width >= 768px ) {
  .home-why-contents {
    grid-template-columns: 1fr 776px;
    justify-content: space-between;
  }
  .home-why-contents__top {
    grid-template-columns: 40px 1fr;
    justify-content: start;
    max-width: 468px;
  }
  .home-why-contents__bottom {
    align-content: space-between;
  }
  .home-why-contents__lead {
    font-size: var(--mh--font-size--x3l);
  }
  .home-why-contents__txt {
    font-size: var(--mh--font-size--md);
  }
}
/* .home-business
================================================== */
.home-business {
  position: relative;
}
.home-business__bg {
  position: absolute;
  inset-inline: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin-inline: auto;
  border-radius: var(--mh--border-radius--md);
}
.home-business__inner {
  position: relative;
  padding-block: var(--mh--space--md) var(--mh--space--x3l);
}
.home-business__area-txt {
  display: grid;
  gap: var(--mh--space--x2s);
  margin-bottom: var(--mh--space--sm);
}
.home-business__lead {
  font-size: var(--mh--font-size--x5l);
}
.home-business-list {
  display: grid;
  gap: var(--mh--space--20-20);
}
.home-business-list__item {
  padding: var(--mh--space--20-50) var(--mh--space--20-20);
  background-color: var(--mh--color--grayscale-100);
  border-radius: var(--mh--border-radius--md);
}
.home-business-list__purpose {
  margin-bottom: var(--mh--space--x5s);
  font-size: var(--mh--font-size--x2s);
}
.home-business-list__sub {
  margin-bottom: var(--mh--space--xs);
  font-size: var(--mh--font-size--x5l);
}
.home-business-list__img {
  margin-bottom: 15px;
}
.home-business-list__img img {
  width: 100%;
  border-radius: var(--mh--border-radius--md);
}
.home-business-list__head {
  margin-bottom: 15px;
  font-size: var(--mh--font-size--x5l);
  text-align: center;
}
.home-business-list__tag {
  padding-bottom: var(--mh--space--20-30);
  margin-bottom: 15px;
  border-bottom: 1px dashed var(--mh--color--grayscale-500);
  text-align: center;
}
.home-business-list__tag-item {
  font-size: var(--mh--font-size--x2s);
  color: var(--mh--color--grayscale-700);
  display: block;
}
.home-business-list__tag-item:not(:last-child)::after {
  content: "｜";
}
.home-business-list__txt {
  margin-bottom: var(--mh--space--30-40);
}
.home-business-list__btn-in {
  max-width: 100%;
}
@media (width >= 768px ) {
  .home-business__area-txt {
    grid-template-columns: 1fr 360px;
    align-items: end;
  }
  .home-business__lead {
    font-size: var(--mh--font-size--x6l);
  }
  .home-business-list {
    grid-template-columns: 1fr 1fr;
  }
  .home-business-list__item {
    display: flex;
    flex-direction: column;
  }
  .home-business-list__purpose {
    font-size: var(--mh--font-size--md);
  }
  .home-business-list__img {
    margin-bottom: 25px;
  }
  .home-business-list__head {
    margin-bottom: 25px;
  }
  .home-business-list__tag {
    margin-bottom: 25px;
  }
  .home-business-list__tag-item {
    display: inline-block;
  }
  .home-business-list__btn {
    margin-top: auto;
  }
}
@media (width >= 1280px ) {
  .home-business-list {
    gap: var(--mh--space--20-60);
  }
  .home-business-list__item {
    padding-inline: var(--mh--space--xs);
  }
}
@media (width >= 1450px ) {
  .home-business__bg {
    width: 96.875%;
  }
}
/* .home-solution
================================================== */
.home-solution__inner {
  padding-block: var(--mh--space--sm) var(--mh--space--x3l);
}
.home-solution__txt {
  margin-block: 10px 30px;
}
.home-solution-list {
  display: grid;
  gap: var(--mh--space--xs);
  margin-bottom: 40px;
}
.home-solution-list__item {
  padding: var(--mh--space--20-50) var(--mh--space--20-60);
  background-color: var(--mh--color--grayscale-100);
  border-radius: var(--mh--border-radius--md);
}
.home-solution-list__tag {
  width: fit-content;
  padding: var(--mh--space--x5s) var(--mh--space--10-10);
  margin-bottom: var(--mh--space--10-10);
  font-size: var(--mh--font-size--xs);
  color: var(--mh--color--grayscale-100);
  background-color: var(--mh--color--primary-500);
  border-radius: 20px;
}
.home-solution-list__head {
  padding-bottom: var(--mh--space--10-15);
  margin-bottom: var(--mh--space--x2s);
  font-size: var(--mh--font-size--x5l);
  border-bottom: 1px solid var(--mh--color--grayscale-500);
}
.home-solution-list__sub {
  margin-bottom: var(--mh--space--10-10);
  font-size: var(--mh--font-size--xl);
}
.home-solution-list__worries {
  margin-bottom: var(--mh--space--x2s);
  margin-left: calc(1em + 8px);
  list-style: disc;
}
.home-solution-list__worries-item {
  font-size: var(--mh--font-size--sm);
  line-height: var(--mh--line-height--sm);
}
.home-solution-list__wrap {
  display: grid;
  gap: var(--mh--space--x3s);
}
.home-solution-list__box {
  background-color: var(--mh--color--surface-600);
  border-radius: var(--mh--border-radius--md);
}
.home-solution-list__box.is-wide .home-solution-list__box-desc {
  padding-block: var(--mh--space--x2s) var(--mh--space--20-30);
}
.home-solution-list__box-head {
  padding: var(--mh--space--10-10) var(--mh--space--x3s);
  font-size: var(--mh--font-size--lg);
  border-bottom: 1px solid var(--mh--color--grayscale-500);
}
.home-solution-list__box-desc {
  padding: var(--mh--space--x3s) var(--mh--space--x3s) var(--mh--space--25-25);
}
.home-solution-list__box-list {
  display: grid;
  gap: var(--mh--space--x5s);
}
.home-solution-list__box-list + .home-solution-list__box-list {
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px dashed var(--mh--color--grayscale-500);
}
.home-solution-list__box-list-head {
  font-size: var(--mh--font-size--sm);
  font-weight: var(--mh--font-weight--bold);
  line-height: var(--mh--line-height--sm);
  color: var(--mh--color--grayscale-700);
}
.home-solution-list__box-list-desc {
  font-size: var(--mh--font-size--sm);
  line-height: var(--mh--line-height--sm);
  color: var(--mh--color--grayscale-800);
}
.home-solution-list__box-txt {
  font-size: var(--mh--font-size--sm);
  line-height: var(--mh--line-height--sm);
  color: var(--mh--color--grayscale-800);
}
@media (width < 768px) {
  .home-solution-list__item {
    position: relative;
  }
  .home-solution-list__item::before {
    position: absolute;
    bottom: 57px;
    left: 0;
    width: 100%;
    height: 120px;
    content: "";
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  }
  .home-solution-list__item.is-open::before {
    visibility: hidden;
    opacity: 0;
  }
  .home-solution-list__wrap {
    height: 60px;
    overflow: hidden;
  }
  .home-solution-list__more {
    display: grid;
    grid-template-columns: auto 12px;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding-top: var(--mh--space--x2s);
    font-weight: var(--mh--font-weight--bold);
    line-height: var(--mh--line-height--sm);
    border: none;
  }
  .home-solution-list__more.is-open span::before {
    transform: rotate(0deg);
  }
  .home-solution-list__more span {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
  }
  .home-solution-list__more span::before, .home-solution-list__more span::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    margin-top: -1px;
    content: "";
    background: var(--mh--color--grayscale-700);
    transition: all var(--mh--duration) var(--mh--easing);
  }
  .home-solution-list__more span::before {
    transform: rotate(-90deg);
  }
}
@media (width >= 768px ) {
  .home-solution__contents {
    display: grid;
    grid-template-areas: "txt btn" "list list";
    grid-template-columns: 1fr 320px;
    gap: var(--mh--space--10-60);
    align-items: end;
    justify-content: space-between;
  }
  .home-solution__txt {
    grid-area: txt;
    margin-block: 0;
  }
  .home-solution-list {
    grid-area: list;
    margin-bottom: 0;
  }
  .home-solution-list__more {
    display: none;
  }
  .home-solution-list__head {
    font-size: var(--mh--font-size--x6l);
  }
  .home-solution-list__sub {
    font-size: var(--mh--font-size--x2l);
  }
  .home-solution-list__worries-item {
    font-size: var(--mh--font-size--md);
  }
  .home-solution-list__wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .home-solution-list__box {
    flex: 1;
  }
  .home-solution-list__box.is-wide {
    flex: 2;
  }
  .home-solution__btn {
    grid-area: btn;
  }
}
/* .home-project
================================================== */
.home-project {
  position: relative;
  padding-bottom: var(--mh--space--60-100);
}
.home-project__bg {
  position: absolute;
  inset-inline: 0;
  top: 0;
  width: 100%;
  height: calc(100% - var(--mh--space--60-100));
  margin-inline: auto;
  border-radius: var(--mh--border-radius--md);
}
.home-project__inner {
  position: relative;
  padding-block: var(--mh--space--sm) var(--mh--space--x3l);
}
.home-project__txt {
  margin-block: 10px 30px;
}
.home-project-tab__contents {
  margin-top: var(--mh--space--20-30);
}
.home-project__btn {
  margin-top: 40px;
}
@media (width >= 768px ) {
  .home-project__inner {
    padding-top: var(--mh--space--md);
  }
  .home-project__contents {
    display: grid;
    grid-template-areas: "txt btn" "tab tab";
    grid-template-columns: 1fr 320px;
    gap: var(--mh--space--10-60);
    align-items: end;
    justify-content: space-between;
  }
  .home-project__txt {
    grid-area: txt;
    margin-block: 0;
  }
  .home-project-tab {
    grid-area: tab;
  }
  .home-project__btn {
    grid-area: btn;
    margin-top: 0;
  }
}
@media (width >= 1450px ) {
  .home-project__bg {
    width: 96.875%;
  }
}
/* .home-logo
================================================== */
.home-logo {
  padding-bottom: var(--mh--space--xl);
}
.home-logo-slider__item {
  width: 52%;
  aspect-ratio: 390/195;
  margin-right: var(--mh--space--x3s);
  overflow: hidden;
  background-color: var(--mh--color--grayscale-100);
  border-radius: var(--mh--border-radius--md);
}
.home-logo-slider__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (width >= 768px ) {
  .home-logo-slider__item {
    width: 20.3125%;
  }
}
/* .home-news
================================================== */
.home-news {
  position: relative;
  z-index: 1;
}
.home-news__inner {
  padding-block: var(--mh--space--sm) var(--mh--space--x3l);
}
.home-news__contents {
  display: grid;
  gap: var(--mh--space--20-60);
}
.home-news__btn {
  margin-top: 20px;
}
@media (width >= 768px ) {
  .home-news__inner {
    padding-bottom: var(--mh--space--x4l);
  }
  .home-news__contents {
    grid-template-areas: "cat archive" "btn archive";
    grid-template-columns: 320px 1fr;
    justify-content: space-between;
  }
  .home-news__cat {
    grid-area: cat;
    align-content: start;
  }
  .home-news__archive {
    grid-area: archive;
  }
  .home-news__btn {
    grid-area: btn;
    margin-top: auto;
  }
}
@media (width >= 1280px ) {
  .home-news__contents {
    column-gap: var(--mh--space--x2l);
  }
}
/* .home-bnr
================================================== */
.home-bnr {
  position: relative;
}
.home-bnr::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 1451px;
  aspect-ratio: 1451/859;
  content: "";
  background: url("../img/common/bg_gradation03.png") no-repeat bottom right/cover;
}
.home-bnr__inner {
  position: relative;
  padding: 0 var(--mh--contents--padding--side) var(--mh--space--x4l);
}
.home-bnr-list {
  display: grid;
  gap: 10px;
}
.home-bnr-list__in {
  display: grid;
  align-content: space-between;
  height: 200px;
  padding: 15px 10px 10px 15px;
  overflow: hidden;
  color: var(--mh--color--grayscale-100);
  background: url("../img/common/bg_pattern03_sp.jpg") repeat-y top/100%;
  border-radius: var(--mh--border-radius--md);
}
.home-bnr-list__head {
  display: grid;
  gap: var(--mh--space--x4s);
}
.home-bnr-list__head-main {
  font-size: var(--mh--font-size--lg);
  line-height: var(--mh--line-height--sm);
}
.home-bnr-list__head-en {
  font-size: var(--mh--font-size--x11l);
}
.home-bnr-list__arw {
  display: grid;
  place-items: center;
  width: 36px;
  aspect-ratio: 1;
  margin-left: auto;
  color: var(--mh--color--grayscale-900);
  background-color: var(--mh--color--grayscale-100);
  border: 1px solid var(--mh--color--grayscale-700);
  border-radius: var(--mh--border-radius--md);
}
.home-bnr-list__arw::after {
  display: inline-block;
  width: 9px;
  height: 10px;
  color: currentColor;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2010%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M4.43%2010%203.302%208.775%205.93%205.9H0V4.1h5.93L3.302%201.23%204.43%200%209%205l-4.57%205Z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%209%2010%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M4.43%2010%203.302%208.775%205.93%205.9H0V4.1h5.93L3.302%201.23%204.43%200%209%205l-4.57%205Z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: all var(--mh--duration) var(--mh--easing);
}
@media (width >= 768px ) {
  .home-bnr-list {
    grid-template-columns: 1fr 1fr;
    gap: 50px;
  }
  .home-bnr-list__in {
    position: relative;
    height: 300px;
    padding: 40px;
    color: var(--mh--color--grayscale-900);
    background: url("../img/common/bg_pattern03_pc.jpg") no-repeat top/cover;
  }
  .home-bnr-list__in::before {
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--mh--color--grayscale-100);
    border: 1px solid var(--mh--color--grayscale-900);
    border-radius: var(--mh--border-radius--md);
  }
  .home-bnr-list__head {
    position: relative;
  }
  .home-bnr-list__arw {
    position: relative;
    width: 56px;
    color: var(--mh--color--grayscale-100);
    background-color: var(--mh--color--grayscale-900);
  }
}
@media (hover: hover) and (pointer: fine) {
  .home-bnr-list__in {
    transition: color var(--mh--duration) var(--mh--easing);
  }
  .home-bnr-list__in::before {
    transition: visibility var(--mh--duration) var(--mh--easing), opacity var(--mh--duration) var(--mh--easing);
  }
  .home-bnr-list__in:hover {
    color: var(--mh--color--grayscale-100);
  }
  .home-bnr-list__in:hover::before {
    visibility: hidden;
    opacity: 0;
  }
  .home-bnr-list__in:hover .home-bnr-list__arw {
    color: var(--mh--color--grayscale-900);
    background-color: var(--mh--color--grayscale-100);
    border-color: var(--mh--color--grayscale-100);
  }
  .home-bnr-list__in:hover .home-bnr-list__arw::after {
    animation: arrow-slide var(--mh--duration) var(--mh--easing);
  }
  .home-bnr-list__arw {
    transition: color var(--mh--duration) var(--mh--easing), background-color var(--mh--duration) var(--mh--easing), border-color var(--mh--duration) var(--mh--easing);
  }
}
/* .home-download
================================================== */
.home-download__inner {
  padding-block: var(--mh--space--md) var(--mh--space--x3l);
}
.home-download__head {
  margin-bottom: 10px;
}
.home-download-tab__contents {
  margin-top: var(--mh--space--20-30);
}
@media (width >= 768px ) {
  .home-download__head {
    margin-bottom: 50px;
  }
}