@charset "utf-8";

html {
   font-size: 10px;
}

body {
   background: #fff;
   color: #333333;
   font-family: "Noto Sans JP", sans-serif;
   font-size: 1.4rem;
   font-weight: 400;
}

a {
   display: block;
   transition: 0.2s;
}

a:hover {
   opacity: 0.6;
   transition: 0.2s;
}

dt {
   font-weight: normal;
}

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

*,
*::before,
*::after {
   box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   margin: 0;
}

/* Set core root defaults */

html {
   scroll-behavior: smooth;
}

/* Set core body defaults */

body {
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/*
 * l-contents
 * -------------------------------------------------------------
 */

.l-contents {
   margin: 3.6rem auto 6.4rem;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: auto;
   max-width: 128rem;
   padding: 0 3.2rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   overflow: hidden;
}

/*
 * l-mv
 * -------------------------------------------------------------
 */

.l-mv {
   margin-top: 5.3125vw;
   padding: 0 0 4.6875vw 2.5vw;
}

/*
 * l-timeline
 * -------------------------------------------------------------
 */

/*
 * c-section-header
 * -------------------------------------------------------------
 */

.c-section-header {
   text-align: center;
}

.c-section-header__ttl {
   font-size: 2.4rem;
   font-weight: bold;
}

/*
 * u-br
 * -------------------------------------------------------------
 */

.u-brsp {
   display: none;
}

/*
 * p-about
 * -------------------------------------------------------------
 */

.p-about__tetx {
   line-height: 1.8571428571;
   text-align: center;
}

/*
 * p-case
 * -------------------------------------------------------------
 */

.p-case__items {
   display: flex;
   gap: 0 3.2rem;
}

.p-case__item {
   width: calc((100% - 6.4rem) / 3);
}

.p-case__img {
   aspect-ratio: 384/384;
   width: 100%;
}

.p-case__img img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.lb-data .lb-number {
   display: none !important;
}

.p-case__body {
   display: flex;
   flex-direction: column;
   gap: 1.3rem 0;
   margin-top: 1.3rem;
}

.p-case__body-flex {
   display: flex;
   gap: 0 3.2rem;
}

.p-case__body-flex dt {
   font-size: 2rem;
   font-weight: bold;
   width: 7.7rem;
}

.p-case__body-flex dd {
   flex: 1;
   line-height: 1.8571428571;
}

.p-case__sub-items {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 1rem;
   margin-top: 1rem;
}

.p-case__sub-item {
   aspect-ratio: 1/1;
   aspect-ratio: 122 / 100;
   max-width: 12.2rem;
   background: #eee;
}

.p-case__sub-item a {
   height: 100%;
}

.p-case__sub-item img {
   height: 100%;
   object-fit: cover;
}

/*
 * p-company
 * -------------------------------------------------------------
 */

.p-company {
   padding-bottom: 3.9rem;
}

.p-company__inner {
   max-width: 86.4rem;
}

.p-company__contents {
   align-items: flex-start;
   display: flex;
   gap: 0 2.4rem;
}

.p-company__overview {
   display: flex;
   flex: 1;
   flex-direction: column;
   gap: 1.6rem 0;
}

.p-company__overview-flex {
   display: flex;
   gap: 0 1.6rem;
}

.p-company__overview dt {
   font-size: 1.6rem;
   font-weight: bold;
   line-height: 1.73;
   width: 9.6rem;
}

.p-company__overview-desc {
   flex: 1;
}

.p-company__overview dd {
   flex: 1;
   line-height: 1.73;
}

.p-company__map {
   aspect-ratio: 280/280;
   width: 28rem;
}

/*
 * p-footer
 * -------------------------------------------------------------
 */

/*
 * p-header
 * -------------------------------------------------------------
 */

/*
 * p-mv-slide
 * -------------------------------------------------------------
 */

.p-mv-slide__item {
   aspect-ratio: 843/357;
   height: 100%;
   width: 100%;
}

.slide-animation {
   animation-delay: 0s;
   animation-duration: 5.5s;
   animation-name: slide_img;
   animation-timing-function: linear;
}

.p-mv-slide__item:nth-child(1) {
   background: url(./../images/top/mv01.webp) no-repeat top;
   background-size: cover;
}

.p-mv-slide__item:nth-child(2) {
   background: url(./../images/top/mv02.webp) no-repeat top;
   background-size: cover;
}

.p-mv-slide__item:nth-child(3) {
   background: url(./../images/top/mv03.webp) no-repeat top;
   background-size: cover;
}

.p-mv-slide__item:nth-child(4) {
   background: url(./../images/top/mv04.webp) no-repeat top;
   background-size: cover;
}

/*
 * p-mv
 * -------------------------------------------------------------
 */

.p-mv__inner {
   display: flex;
   justify-content: space-between;
}

.p-mv__logo {
   padding: 0 5.2734375vw;
   width: 31.640625vw;
}

.p-mv__logo img {
   margin: 0 auto;
   width: 21.09375vw;
}

.p-mv__slide {
   width: 84.3rem;
   width: 65.859375vw;
}

/*
 * p-service
 * -------------------------------------------------------------
 */

.p-service__items {
   display: flex;
   gap: 0 2.5vw;
}

.p-service__item {
   aspect-ratio: 280/186;
   position: relative;
   width: calc((100% - 7.5vw) / 4);
}

.p-service__item::before {
   background: rgba(0, 0, 0, 0.4);
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.p-service__item:nth-child(1) {
   background: url(./../images/top/service01.webp) no-repeat center;
   background-size: cover;
}

.p-service__item:nth-child(2) {
   background: url(./../images/top/service02.webp) no-repeat center;
   background-size: cover;
}

.p-service__item:nth-child(3) {
   background: url(./../images/top/service03.webp) no-repeat center;
   background-size: cover;
}

.p-service__item:nth-child(4) {
   background: url(./../images/top/service04.webp) no-repeat center;
   background-size: cover;
}

.p-service__item-inner {
   align-items: center;
   display: grid;
   height: 100%;
   justify-items: center;
   place-items: center;
   position: relative;
   width: 100%;
}

.p-service__item-number {
   display: inline-block;
   height: 3.6rem;
   left: 0.8rem;
   position: absolute;
   top: 0.8rem;
   width: 2.3rem;
}

.p-service__item-number_01 {
   background: url(./../images/top/num1.webp) no-repeat center;
   background-size: 100% 100%;
}

.p-service__item-number_02 {
   background: url(./../images/top/num2.webp) no-repeat center;
   background-size: 100% 100%;
}

.p-service__item-number_03 {
   background: url(./../images/top/num3.webp) no-repeat center;
   background-size: 100% 100%;
}

.p-service__item-number_04 {
   background: url(./../images/top/num4.webp) no-repeat center;
   background-size: 100% 100%;
}

.p-service__item-ttl {
   color: #fff;
   font-weight: bold;
   line-height: 1.8571428571;
   text-align: center;
}

/*
 * p-timeline-slide
 * -------------------------------------------------------------
 */

.p-timeline-slide__item {
   width: 240px !important;
}

.p-timeline-slide__item {
   box-shadow: 0.4rem 0.4rem 0.8rem rgba(0, 0, 0, 0.2509803922);
   height: 24rem;
   margin-bottom: 1rem;
}

.p-timeline-slide__item img {
   box-shadow: 0.4rem 0.4rem 0.8rem rgba(0, 0, 0, 0.2509803922);
}

.p-timeline-slide .slick-track {
   display: flex;
   gap: 3.2rem;
}

.p-timeline-slide:nth-child(2) .slick-track {
   left: 7rem;
}

.p-timeline-slide__item img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

/*
 * p-timeline
 * -------------------------------------------------------------
 */

.p-timeline__items {
   align-items: flex-start;
   display: flex;
   gap: 0 3.2rem;
   padding-bottom: 1rem;
}

.p-timeline__body {
   padding-top: 1.5rem;
   position: relative;
   width: 38.8rem;
}

.p-timeline__body::before {
   background: url(./../images/top/timeline_line.webp) no-repeat center;
   background-size: 100%;
   content: "";
   display: block;
   height: 100%;
   left: 0.9rem;
   position: absolute;
   top: 0.4rem;
   width: 0.2rem;
   z-index: -1;
}

.p-timeline__flex {
   display: flex;
   gap: 0 1.6rem;
}

.p-timeline__flex:not(:first-child):not(:last-child) {
   margin-top: 4.3rem;
}

.p-timeline__flex:last-child {
   margin-top: 2.7rem;
}

.p-timeline__ttl {
   display: flex;
   font-size: 2.4rem;
   font-weight: bold;
   gap: 0 0.9rem;
   width: -moz-fit-content;
   width: fit-content;
}

.p-timeline__ttl::before {
   background: #000;
   border-radius: 50%;
   content: "";
   display: inline-block;
   height: 2rem;
   margin-top: 0.1rem;
   width: 2rem;
}

.p-timeline__content {
   flex: 1;
}

.p-timeline__types {
   display: flex;
   gap: 0 0.9rem;
}

.p-timeline__type {
   font-size: 1.6rem;
   font-weight: bold;
}

.p-timeline__types--right {
   justify-content: flex-end;
}

.p-timeline__type span {
   display: inline-block;
   font-size: 2rem;
   margin-left: 0.4rem;
}

.p-timeline__categories {
   display: flex;
   gap: 0 0.8rem;
   margin-top: 1rem;
}

.p-timeline__category {
   background: #aaa;
   border-radius: 0.4rem;
   color: #fff;
   font-weight: bold;
   padding: 0.4rem 0.55rem;
}

.p-timeline__slide-wrap {
   display: flex;
   flex-direction: column;
   gap: 2.2rem 3.2rem;
   min-height: 52rem;
   width: calc(100% - 42rem);
}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}

@media screen and (max-width: 960px) {

   .p-service__items {
      grid-gap: 3.2rem;
      display: grid;
      gap: 3.2rem;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto;
   }

   .p-service__item {
      width: 100%;
   }

}

@media screen and (max-width: 768px) {

   html {
      font-size: 2.564102564vw;
   }

   .l-inner {
      padding: 0 1.6rem;
   }

   .l-mv {
      margin-top: 0;
      padding: 0;
   }

   .c-section-header__ttl {
      font-size: 2rem;
   }

   .u-brsp {
      display: block;
   }

   .p-case__items {
      flex-direction: column;
      gap: 3.2rem 0;
   }

   .p-case__item {
      width: 100%;
   }

   .p-case__img {
      aspect-ratio: 358/356;
   }

   .p-case__body {
      gap: 1.6rem 0;
      margin-top: 1.6rem;
   }

   .p-case__body-flex dd {
      font-size: 1.3rem;
      line-height: 1.8461538462;
   }

   .p-company {
      padding-bottom: 1.1rem;
   }

   .p-company__contents {
      flex-direction: column;
      gap: 3.7rem 0;
   }

   .p-company__overview {
      width: 100%;
   }

   .p-company__map {
      aspect-ratio: 356/300;
      width: 100%;
   }

   .p-mv-slide__item {
      aspect-ratio: 390/390;
   }

   .p-mv-slide__item:nth-child(1) {
      background: url(./../images/top/mv01_SP.webp) no-repeat top;
      background-size: cover;
   }

   .p-mv-slide__item:nth-child(2) {
      background: url(./../images/top/mv02_SP.webp) no-repeat top;
      background-size: cover;
   }

   .p-mv-slide__item:nth-child(3) {
      background: url(./../images/top/mv03_SP.webp) no-repeat top;
      background-size: cover;
   }

   .p-mv-slide__item:nth-child(4) {
      background: url(./../images/top/mv04_SP.webp) no-repeat top;
      background-size: cover;
   }

   .p-mv__inner {
      flex-direction: column;
   }

   .p-mv__logo {
      padding: 3.4rem;
      width: 100%;
   }

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

   .p-mv__slide {
      height: 39rem;
      width: 100%;
   }

   .p-service__items {
      gap: 1.6rem;
   }

   .p-service__item-number {
      height: 2.95rem;
      width: 1.7rem;
   }

   .p-timeline-slide__item {
      width: 100% !important;
   }

   .p-timeline-slide__item {
      height: 100%;
      min-width: 16rem;
   }

   .p-timeline-slide:nth-child(2) .slick-track {
      left: 10rem;
   }

   .p-timeline__items {
      flex-direction: column;
   }

   .p-timeline__body {
      padding-bottom: 11.1rem;
      width: 100%;
   }

   .p-timeline__flex:not(:first-child):not(:last-child) {
      margin-top: 3.7rem;
   }

   .p-timeline__ttl {
      font-size: 2rem;
   }

   .p-timeline__type {
      font-size: 1.4rem;
   }

   .p-timeline__type span {
      font-size: 1.8rem;
   }

   .p-timeline__categories {
      margin-top: 0.8rem;
   }

   .p-timeline__category {
      font-size: 1.2rem;
      padding: 0.4rem 0.5rem;
   }

   .p-timeline__slide-wrap {
      min-height: auto;
      width: 100%;
   }

}

@keyframes slide_img {

   50% {
      background-position: 0 -5rem;
   }

   100% {
      background-position: 0 -5rem;
   }

}


/*# sourceMappingURL=style.css.map */