@charset "utf-8";
#root {
  overflow: clip;
}

.img-box{
  width: 100%;
  height: 100svh;
  overflow: hidden;
  position: relative;
}
.img-box>img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  object-fit: cover;
  z-index: 10;
  opacity: 0;
  animation-name: fade;
  animation-duration: 28s;
  animation-iteration-count: infinite;
}
@keyframes fade {
  0%{
    opacity: 0;
    transform: scale(1.2);
  }
  20%{
    opacity: 1;
  }
  80%{
    opacity: 0;
    transform: scale(1);
  }
  100%{
    opacity: 0;
    z-index: 0;
  }
}
/* 2枚目のスライド */
.img-box>img:nth-of-type(2){
  animation-delay: 7s;
}
/* 3枚目のスライド */
.img-box>img:nth-of-type(3){
  animation-delay: 14s;
}
/* 4枚目のスライド */
.img-box>img:last-of-type{
  animation-delay: 21s;
}

.top__fv {
  position: relative;
  height: 100vh;
}
.scrollContents {
      position: absolute;
    z-index: 50;
    width: 417px;
    bottom: -44px;
    left: 50%;
    transform: translateX(-50%);
}
.top-fv__inner {
      position: absolute;
    top: 55%;
    width: 100%;
  padding: 0 clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
  z-index: 20;
}
.top-fv__content {
    display: flex;
    flex-direction: column;
    row-gap: clamp(2.5rem, 2.167rem + 0.69vw, 3rem);
}
.top-fv__sub {
  font-family: "Tenor Sans", sans-serif;
      font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-weight: 400;
    color: #fff;
  text-shadow: 0px 3px 6px rgba(0,0,0,0.78);
}
.top-fv__title {
    font-family: "Noto Serif JP", serif;
    font-size: clamp(1.5rem, 0.75rem + 1.56vw, 2.625rem);
    font-weight: 400;
    color: #fff;
  text-shadow: 0px 3px 6px rgba(0,0,0,0.78);
}

.t-company {
  margin-top: clamp(3.125rem, 1.292rem + 3.82vw, 5.875rem);
}
.t-company__inner {
      padding: 0 clamp(2.188rem, -19.271rem + 44.7vw, 34.375rem);
    position: relative;
    padding-top: 50px;
    padding-bottom: 80px;
}
.t-company__bg {
      position: absolute;
    width: clamp(31.25rem, 22.958rem + 17.27vw, 43.688rem);
    height: clamp(30rem, 22.583rem + 15.45vw, 41.125rem);
    background-color: #F8F8FF;
    z-index: -1;
    top: 0;
    right: clamp(0rem, -18rem + 37.5vw, 27rem);
}
.t-company__container {
      display: flex;
    flex-direction: row-reverse;
    column-gap: clamp(2.5rem, -1rem + 7.29vw, 7.75rem);
    justify-content: center;
}
.t-company__right {
  writing-mode: vertical-rl;
}
.t-company-title__1,
.t-company-title__2 {
      font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    line-height: 1.7;
    letter-spacing: 0.3em;
}
.t-company-title__2 {
  margin-top: clamp(2rem, -0.135rem + 8.76vw, 10.375rem);
}
.t-company__left {
      margin-top: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
    display: flex;
    flex-direction: column;
    row-gap: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.t-company__title {
      font-size: 24px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    line-height: 1.5;
}
.t-company__text {
      font-weight: 400;
    line-height: 2;
}

.t-service-bottom__container--sp {
  display: none;
}
.t-service-bottom {
    margin-top: 80px;
}
.t-service-bottom__img1,
.t-service-bottom__img2 {
      height: 100%;
    object-fit: cover;
}
.block {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.block__1 {
  z-index: 100;
}
.block__2 {
  z-index: 200;
}
.block__3 {
  z-index: 300;
}
.block__4 {
  z-index: 400;
}

.t-service__top {
      position: relative;
    z-index: 10;
}
.t-service-top__inner {
    padding-top: 100px;
    padding-left: clamp(2.188rem, -13.729rem + 33.16vw, 26.063rem);
    padding-right: clamp(2.188rem, -6.646rem + 18.4vw, 15.438rem);
    position: relative;
}
.t-service-top__bg {
      position: absolute;
    width: 461px;
    height: 380px;
    background-color: #F8F8FF;
    z-index: -1;
    top: 0;
    left: clamp(0rem, -8rem + 16.67vw, 12rem);
}
.t-service-top__container {
      display: flex;
    column-gap: clamp(2.5rem, -12.25rem + 30.73vw, 24.625rem);
}
.t-service-top__left {
  writing-mode: vertical-rl;
}
.t-service-title__1,
.t-service-title__2 {
      font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    line-height: 1.7;
    letter-spacing: 0.3em;
}
.t-service-title__2 {
  margin-top: clamp(2rem, 0.279rem + 7.06vw, 8.75rem);
}
.t-service-top__right {
      display: flex;
    flex-direction: column;
    row-gap: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.t-service-top__text {
      font-weight: 400;
    line-height: 2;
}

.service {
  padding-top: clamp(4.5rem, 2.75rem + 3.65vw, 7.125rem);
      background-color: #F8F8F8;
    padding-bottom: clamp(5rem, 1.25rem + 7.81vw, 10.625rem);
      position: relative;
    top: -60px;
}
.service__inner {
      padding-left: clamp(1.563rem, -9.396rem + 22.83vw, 18rem);
    padding-right: clamp(0rem, -12rem + 25vw, 18rem);
}
.service__title {
      font-size: 24px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    padding-bottom: 24px;
    border-bottom: 0.8px solid #000007;
}
.service__items {
      margin-top: 40px;
    display: flex;
    flex-direction: column;
    padding: 0 clamp(0rem, -4rem + 8.33vw, 6rem);
    padding-right: 25px;
}
.service__item {
      display: flex;
    align-items: center;
    height: clamp(28.75rem, 13.625rem + 31.51vw, 51.438rem);
}
.service__item:nth-child(2n) {
  flex-direction: row-reverse;
}
.service-item__left {
      width: 52%;
    padding: clamp(1.25rem, -0.583rem + 3.82vw, 4rem) clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
    background-color: #F8F8F8;
}
.service-item__left--1,
.service-item__left--2 {
  position: relative;
}
.service-item__left-line {
      position: absolute;
    bottom: -65px;
    width: 100%;
    border-bottom: 0.4px solid #676767;
    left: 0;
}
.service__title--sp {
  display: none;
}
.service__title--p {
    position: absolute;
    top: -70px;
    left: 0;
    width: 100%;
}
.service-item__number {
      font-size: 14px;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
}
.service-item__title {
      margin-top: clamp(0.5rem, -0.167rem + 1.39vw, 1.5rem);
    font-size: 24px;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
}
.service-item__text {
      margin-top: clamp(1rem, 2.08vw, 2.5rem);
    font-weight: 300;
    margin-bottom: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.service-btn__wrap {
      display: flex;
    flex-direction: column;
    row-gap: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
}
.service-item__img {
      width: 48%;
  height: clamp(28.125rem, 16.875rem + 23.44vw, 45rem);
    position: relative;
    overflow: hidden;
}

.img-box2>img{
  position: absolute;
  top: 0;
  left: 0;
  height: clamp(28.125rem, 16.875rem + 23.44vw, 45rem);
  z-index: 10;
  opacity: 0;
  animation-name: fade2;
  animation-duration: 14s;
  animation-iteration-count: infinite;
  aspect-ratio: 617/823;
  object-fit: cover;
}
@keyframes fade2 {
  0%{
    opacity: 1;
    transform: scale(1.2);
  }
  10%{
    opacity: 1;
  }
  90%{
    opacity: 1;
    transform: scale(1);
  }
  100%{
    opacity: 1;
    z-index: 0;
  }
}
/* 2枚目のスライド */
.img-box2>img:last-of-type{
  animation-delay: 7s;
}

.t-case {
  padding-top: clamp(5rem, 4.167rem + 1.74vw, 6.25rem);
  padding-bottom: 80px;
}
.t-case__inner {
  padding-left: clamp(1.5rem, -6.583rem + 16.84vw, 13.625rem);
  position: relative;
}
.t-case__bg {
      position: absolute;
    height: 95%;
    width: 96%;
    background-color: #F8F8FF;
    right: 0;
    top: 9%;
  z-index: -1;
}
.t-case__items {
      margin-top: 48px;
    display: flex;
    flex-direction: column;
    row-gap: clamp(2.5rem, 2.167rem + 0.69vw, 3rem);
}
.t-case__item {
      display: flex;
    column-gap: clamp(1.25rem, -1.792rem + 6.34vw, 5.813rem);
    padding-bottom: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
    border-bottom: 0.4px solid #B9B9B9;
    align-items: center;
    overflow: auto;
}
.t-case__left {
      display: flex;
    flex-direction: column;
    row-gap: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.t-case__title {
      font-size: clamp(1.625rem, 1.542rem + 0.17vw, 1.75rem);
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
}
.t-case__block section {
      display: flex;
    column-gap: 8px;
    overflow-x: auto;
}
.caseItem {
  width: clamp(18.75rem, 8.083rem + 22.22vw, 34.75rem);
}
.caseItemBottom {
      display: flex;
    flex-direction: column;
}

.caseItemImg {
  overflow: hidden;
}
.caseItemImg img {
        aspect-ratio: 359/202;
    object-fit: cover;
    height: auto;
    transition: all 0.5s;
}
.caseItemTit {
    margin-top: clamp(1rem, 0.333rem + 1.39vw, 2rem);
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 400;
  color: #000007;
}
.caseItemText {
  margin-top: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
    display: flex;
    flex-direction: row;
    column-gap: 16px;
    align-items: center;
}
.caseItemTime {
        font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    color: #676767;
}
.caseItemCate {
        padding: clamp(0.25rem, 0.083rem + 0.35vw, 0.5rem) clamp(0.25rem, -0.417rem + 1.39vw, 1.25rem);
    background-color: #fff;
    color: #676767;
    border: 1px solid #676767;
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    font-weight: 400;
    line-height: 1;
    text-align: center;
  font-family: "Noto Serif JP", serif;
}
.caseLink:hover .caseItemImg img {
  transform: scale(1.1);
}
.t-case-btn__wrap {
      margin-top: clamp(4rem, 3.333rem + 1.39vw, 5rem);
    display: flex;
    justify-content: center;
}

.t-news {
  padding-top: clamp(5rem, 4.167rem + 1.74vw, 6.25rem);
}
.t-news__inner {
  padding: 0 clamp(1.25rem, -11.958rem + 27.52vw, 21.063rem);
}
.t-news__title {
      font-size: 24px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}
.t-news__block {
      margin-top: 24px;
    border-top: 0.4px solid #676767;
}
.t-news__block section article {
      padding: 16px clamp(0rem, -1.667rem + 3.47vw, 2.5rem);
    border-bottom: 0.4px solid #676767;
  transition: all 0.5s ;
}
.t-news__block section article:hover {
  opacity: 0.5;
}
.newsItemBottom {
      display: flex;
    align-items: center;
}
.newsItemText {
  width: 14%;
}
.newsItemTime {
      font-family: "Noto Serif JP", serif;
    font-weight: 400;
  color: #000007;
}
.newsItemTit {
      width: 86%;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
    font-weight: 700;
  color: #000007;
}
.t-news__btn {
      margin-top: clamp(1.5rem, 0.167rem + 2.78vw, 3.5rem);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1023px) {
  .t-service-bottom__container {
    display: none;
  }
  .t-service-bottom__container--sp {
    display: block;
  }
}

@media (max-width: 767px) {
  .loading__text1 {
      font-size: 20px;
　　}
  .header {
    padding-top: 0 ;
  }
  .slide {
    height: 100%;
  }
  .scrollContents {
        width: 320px;
    bottom: -33px;
  }
  .top-fv__content {
    flex-direction: column;
  }
  
  .t-company__bg {
        height: clamp(15.25rem, 9.043rem + 25.46vw, 21.25rem);
    width: clamp(16.25rem, 7.198rem + 37.14vw, 25rem);
    top: 4%;
  }
  .t-company__container {
    flex-direction: column;
  }
  .t-company__right {
    padding-right: clamp(1.25rem, -1.336rem + 10.61vw, 3.75rem);
  }
  
  .t-service-bottom {
    margin-top: 0;
  }
  .slider__wrapper {
    height: clamp(22.938rem, 0.05rem + 93.9vw, 45.063rem);
  }
  .slide-img {
    flex-direction: column;
  }
  .slide-img img {
    width: 100%;
  }
  
  .t-service-top__bg {
        width: 310px;
    height: 256px;
    top: 18%;
  }
  .t-service-top__container {
        flex-direction: column;
    row-gap: 46px;
  }
  .t-service-top__left {
        width: fit-content;
    padding-left: 70px;
  }
  
  .service {
    margin-top: 120px;
    top: 0;
  }
  .service__items {
    row-gap: 80px;
  }
  .service__item {
        flex-direction: column-reverse;
    height: 770px;
  }
  .service__item:nth-child(2n) {
      flex-direction: column-reverse;
  }
  .service-item__left {
    width: 100%;
  }
  .service-item__left-line {
     display: none;
  }
  .service__title--sp {
    display: block;
  }
  .service__title--p {
    display: none;
  }
  .service-item__img {
    width: 100%;
  }
  
  .t-case__inner {
    padding-right: 24px;
  }
  .t-case__item {
        flex-direction: column-reverse;
    row-gap: 32px;
    align-items: flex-start;
    padding-top: 60px;
  }
  .t-case__left {
    position: relative;
  }
  .t-case__title {
        display: block;
    position: absolute;
    top: -330px;
  }
  
  .newsItemBottom {
        flex-direction: column;
    align-items: flex-start;
    row-gap: 8px;
  }
  .newsItemText {
    width: 100%;
  }
  .newsItemTit {
    width: 100%;
  }
}

@media (max-width: 389px) {
  .top-fv__inner {
    padding: 0 16px;
  }
  .top-fv__title {
    font-size: 22px;
  }
  .loading__text1 {
      font-size: 18px;
　　}
  .t-company__right {
    padding-right: 0;
  }
  .t-service-top__left {
    padding-left: 20px;
  }
  .service__item {
    height: clamp(42.5rem, 16.413rem + 130.43vw, 48.125rem);
  }
}