@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@500;700&family=Roboto:wght@700&display=swap");
/* --------------- variables --------------------- */
/* Break Point */
/* Color */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*
$slick-font-path: "./fonts/" !default;
$slick-font-family: "slick" !default;
$slick-loader-path: "./" !default;
$slick-arrow-color: white !default;
$slick-dot-color: black !default;
$slick-dot-color-active: $slick-dot-color !default;
$slick-prev-character: "\2190" !default;
$slick-next-character: "\2192" !default;
$slick-dot-character: "\2022" !default;
*/
/*
@function slick-image-url($url) {
	@if function-exists(image-url) {
			@return image-url($url);
	}
	@else {
			@return url($slick-loader-path + $url);
	}
}

@function slick-font-url($url) {
	@if function-exists(font-url) {
			@return font-url($url);
	}
	@else {
			@return url($slick-font-path + $url);
	}
}
*/
/* Slider

.slick-list {
	.slick-loading & {
			background: #fff slick-image-url("ajax-loader.gif") center center no-repeat;
	}
}
*/
/* Icons 
@if $slick-font-family == "slick" {
	@font-face {
			font-family: "slick";
			src: slick-font-url("slick.eot");
			src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg");
			font-weight: normal;
			font-style: normal;
	}
}
*/
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  color: #000;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: #000;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: #000;
  opacity: 0.75;
}

main {
  overflow: hidden;
}

.fv .inner {
  position: relative;
}
.fv .inner .scroll_down {
  position: absolute;
}
.fv .inner .scroll_down span {
  position: absolute;
  color: #000;
  letter-spacing: 0.1em;
  font-family: "Karla", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  writing-mode: vertical-lr;
  text-transform: uppercase;
}
.fv .inner .scroll_down span:before {
  content: "";
  position: absolute;
  bottom: 0;
  background: #0050ff;
  -webkit-clip-path: polygon(50% 70%, 0 0, 100% 0);
          clip-path: polygon(50% 70%, 0 0, 100% 0);
  animation: circlemove 1.6s ease-in-out infinite;
  z-index: 2;
  left: 5px;
}
.fv .inner .scroll_down span:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 75px;
  background: #7c7c7c;
  left: 9px;
  bottom: -92px;
}
@keyframes circlemove {
  0% {
    bottom: -25px;
    opacity: 0;
  }
  10% {
    bottom: -25px;
    opacity: 1;
  }
  90% {
    bottom: -96px;
    opacity: 1;
  }
  100% {
    bottom: -96px;
    opacity: 0;
  }
}
.fv .fvList .fvItem {
  z-index: 3 !important;
}
.fv .fvList .slick-track {
  display: flex;
  align-items: center;
}
.fv .fvList .slick-slide .fvImg {
  overflow: hidden;
  margin-inline: auto;
  height: auto;
  position: relative;
}
@media (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
.fv .fvList .slick-slide .fvImg:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/home/service_main_bg_dot.png) repeat;
  z-index: 2;
}
.fv .fvList .slick-slide .fvImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fv .fvList .slick-slide .fvImg img.zoomed {
  transform: scale(1.1);
}
.fv .fvList .slick-slide .lead {
  font-weight: 700;
  position: absolute;
  left: 0;
  z-index: 3;
}
@media (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
.fv .fvList .slick-slide .lead span {
  background-color: #fff;
  display: inline-block;
}
.fv .fvList .slick-slide .lead p {
  color: #fff;
  transform: translateX(-100%);
  transition: transform 1s cubic-bezier(0, 0.5, 0, 1);
}
@media (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
.fv .fvList .slick-slide.slick-current .lead p {
  transform: translateX(0%);
}
.fv .fvNavigation {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 20px;
  z-index: 10;
}
.fv .fvNavigation .fvPageNumbers {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #000000;
  font-family: "Karla", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.fv .fvNavigation .progressBar {
  height: 2px;
  background-color: #c8c8c8;
  position: relative;
}
.fv .fvNavigation .progressInner {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: #0050ff;
  width: 0;
  transition: width 0.1s linear;
}
.fv .fvNavigation .pauseButton {
  width: 24px;
  height: 24px;
  background: none;
  border: none;
  border-radius: 50%;
  background-color: #0050ff;
  cursor: pointer;
  padding: 0;
  position: relative;
}
.fv .fvNavigation .pauseButton span {
  display: block;
  width: 2px;
  height: 10px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.fv .fvNavigation .pauseButton span:first-child {
  left: 8px;
}
.fv .fvNavigation .pauseButton span:last-child {
  right: 8px;
}
.fv .fvNavigation .pauseButton.playing span:first-child {
  display: none;
}
.fv .fvNavigation .pauseButton.playing span:last-child {
  width: 0;
  height: 0;
  background: transparent;
  border-style: solid;
  border-width: 5px 0 5px 9px;
  border-color: transparent transparent transparent #fff;
  right: 6px;
}

.service {
  position: relative;
}
@media screen and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
.service .inner {
  position: relative;
  z-index: 3;
}
.service .serviceBg01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  background-color: #f5f6fb;
  background-color: rgb(232, 233, 251);
  mix-blend-mode: multiply;
  opacity: 0.3;
  transform: skewY(17deg) translateX(-100%);
  transition: 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.service .serviceBg01.is-active {
  transform: skewY(17deg) translateX(0%);
}
.service .serviceTitle .en {
  display: block;
  line-height: 1;
}
.service .serviceTitle .ja {
  display: block;
  font-weight: 700;
}
.service .mainImgAreaBg {
  position: absolute;
  left: 0;
  z-index: -1;
  overflow: hidden;
  height: auto;
  display: block;
  opacity: 0;
  transition: all 1s;
}
@media screen and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
.service .mainImgAreaBg.isActive {
  opacity: 1;
}
.service .mainImgAreaBg:before, .service .mainImgAreaBg:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.service .mainImgAreaBg:before {
  background: rgba(0, 80, 255, 0.3);
  z-index: 1;
}
.service .mainImgAreaBg:after {
  background: url(../images/home/service_main_bg_dot.png) repeat;
  z-index: 2;
}
.service .mainImgAreaBg img {
  filter: blur(7px);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
.service .serviceInner .serviceImgWrap .mainImgArea {
  height: auto;
  overflow: hidden;
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  transition-delay: 0.4s;
  position: absolute;
}
.service .serviceInner .serviceImgWrap .mainImgArea.isActive {
  opacity: 1;
  visibility: visible;
  transition: all 1s;
  transition-delay: 0;
}
.service .serviceInner .serviceImgWrap .mainImgArea .imgSwitch {
  display: block;
  width: 100%;
  height: 100%;
}
.service .serviceInner .serviceImgWrap .mainImgArea .imgSwitch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
.service .serviceInner .serviceTextWrap .mainTextArea {
  display: none;
}
.service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle {
  display: inline-block;
  color: #fff;
  background: #0050ff;
  position: relative;
  text-transform: uppercase;
}
.service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:before, .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:after {
  content: "";
  position: absolute;
  height: 100%;
  left: 0;
  top: 0;
  background: #0014c8;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
  z-index: 2;
}
.service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:after {
  background: #78b4ff;
  transform: scale(1, -1);
  z-index: 1;
}
.service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .title {
  letter-spacing: 0;
  line-height: 1.3;
}
.service .thumbnailBtns {
  position: relative;
  z-index: 3;
}
.service .thumbnailBtns li .tnBtn {
  position: relative;
  aspect-ratio: 1/1;
  height: auto;
  cursor: pointer;
  display: block;
}
.service .thumbnailBtns li .tnBtn:after {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  transition: background 0.3s ease-in-out;
}
.service .thumbnailBtns li .tnBtn span {
  color: #fff;
  letter-spacing: -0.8px;
  font-weight: 500;
  position: absolute;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  line-height: 1.2;
  width: 100%;
  height: auto;
  z-index: 2;
}
.service .thumbnailBtns li .tnBtn img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service .thumbnailBtns li .tnBtn.isActive:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #0050ff;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.works {
  z-index: 2;
  position: relative;
}
.works .worksBg01 {
  position: absolute;
  width: 100%;
  z-index: -2;
  background-color: rgb(232, 233, 251);
  mix-blend-mode: multiply;
  opacity: 0.3;
  transform: skewY(-17deg) translateX(100%);
  transition: transform 1.5s cubic-bezier(0.4, 0, 0.2, 1);
  top: -100px;
}
.works .worksBg01.is-active {
  transform: skewY(-17deg) translateX(0);
}
.works .worksTitle {
  color: #fff;
}
.works .worksTitle .en {
  display: block;
  line-height: 1;
}
.works .worksTitle .ja {
  display: block;
  font-weight: 700;
}
.works .worksList .slick-list {
  overflow: visible;
}
.works .worksList .slick-track {
  display: flex;
  align-items: center;
}
.works .btnWrap {
  text-align: center;
}
.works .btnWrap .btn {
  display: block;
}

.awards {
  position: relative;
  z-index: 2;
}
.awards .awardsTitle {
  color: #fff;
}
.awards .awardsTitle .en {
  display: block;
  line-height: 1;
}
.awards .awardsTitle .ja {
  display: block;
  font-weight: 700;
}
.awards .awardsContainer .awardsInfo {
  color: #fff;
}
.awards .awardsContainer .awardsInfo .btnWrap .btn {
  display: inline-block;
  max-width: inherit;
}
.news .inner {
  background-color: #f5f6fb;
  position: relative;
}
.news .newsTitle {
  position: absolute;
  left: 50%;
  top: 20px;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
.news .newsTitle .en {
  display: block;
  line-height: 1;
}
.news .newsTitle .ja {
  display: block;
  font-weight: 700;
}
.company .companyTitle {
  color: #fff;
}
.company .companyTitle .en {
  line-height: 1;
}
.company .companyTitle .ja {
  font-weight: 700;
}
.company .companyContainer {
  display: flex;
}
.company .companyContainer .companyInfo {
  color: #fff;
}
.company .companyContainer .companyInfo .companyInfoTitle img {
  filter: drop-shadow(0 0 30px rgba(0, 30, 100, 0.5));
}
.pageLink {
  background: #000;
}
.pageLink .commonWrap.csr {
  background: url(../images/home/csr_bg.webp) no-repeat center center/cover;
}
.pageLink .commonWrap.recruit {
  background: url(../images/home/recruit_bg.webp) no-repeat center center/cover;
}
@media screen and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
#splash {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #0050ff;
  z-index: 9999;
  overflow: hidden;
}

.splash-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}

.splash-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 48px;
  font-weight: bold;
  position: relative;
  gap: 10px;
}

.tbs {
  display: inline-block;
  transition: transform 0.8s ease;
  padding-left: 100px;
}

.action-text {
  display: inline-block;
  transform-origin: 0 0;
  white-space: nowrap;
  position: relative;
  transition: transform 0.8s ease;
}

.ion {
  display: inline-block;
  opacity: 0;
}

.slide-tbs {
  transform: translateX(-90px);
  transition: all 0.8s ease;
}

.center-action {
  transform: translateX(calc(-50% + 0px));
}

.fade-tbs {
  opacity: 0 !important;
  transition: opacity 0.8s ease;
}

.active-ion {
  opacity: 1 !important;
  transition: all 0.8s ease;
}

.splash-text {
  color: #fff;
  font-size: 30px;
  opacity: 0;
  text-align: center;
}

.show-text {
  opacity: 1 !important;
  transition: opacity 0.8s ease;
}

.slide-out {
  transform: translateX(100%) !important;
  transition: transform 1s ease;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
.tbs img {
  width: auto;
}

.act img {
  width: auto;
}

.ion img {
  width: auto;
}

@media screen and (max-width: 1140px) {
  @keyframes circlemove {
    0% {
      bottom: -25px;
      opacity: 0;
    }
    10% {
      bottom: -25px;
      opacity: 1;
    }
    90% {
      bottom: -96px;
      opacity: 1;
    }
    100% {
      bottom: -96px;
      opacity: 0;
    }
  }
  /* レスポンシブ対応 */
}
@media screen and (max-width: 1140px) and (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1140px) and (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
@media screen and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
@media screen and (max-width: 1140px) {
  .works .worksList .slick-track {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 1140px) and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 1140px) and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (max-width: 1140px) and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
@media screen and (min-width: 1141px) {
  @keyframes circlemove {
    0% {
      bottom: -25px;
      opacity: 0;
    }
    10% {
      bottom: -25px;
      opacity: 1;
    }
    90% {
      bottom: -96px;
      opacity: 1;
    }
    100% {
      bottom: -96px;
      opacity: 0;
    }
  }
  /* レスポンシブ対応 */
}
@media screen and (min-width: 1141px) and (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media screen and (min-width: 1141px) and (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
@media screen and (min-width: 1141px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
@media screen and (min-width: 1141px) {
  .works .worksList .slick-track {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 1141px) and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
@media screen and (min-width: 1141px) and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (min-width: 1141px) and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
@media screen and (max-width: 959px) {
  .fv {
    background: url(../images/home/fv_bg_sp.webp) no-repeat bottom center;
    background-size: 100% 100%;
    padding-block: 35px 0;
    margin-bottom: 12vw;
    position: relative;
    min-height: 488px;
  }
  .fv .inner .scroll_down {
    bottom: 0px;
    right: 0px;
  }
  .fv .inner .scroll_down span {
    font-size: 10px;
    left: -10px;
    bottom: 120px;
  }
  .fv .inner .scroll_down span:before {
    width: 9px;
    height: 8px;
  }
  @keyframes circlemove {
    0% {
      bottom: -25px;
      opacity: 0;
    }
    10% {
      bottom: -25px;
      opacity: 1;
    }
    90% {
      bottom: -96px;
      opacity: 1;
    }
    100% {
      bottom: -96px;
      opacity: 0;
    }
  }
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 590/900;
    width: calc(100% - 40px);
  }
  /* レスポンシブ対応 */
}
@media screen and (max-width: 959px) and (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 959px) and (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
@media screen and (max-width: 959px) {
  .fv .fvList .slick-slide .lead {
    font-size: 23px;
    top: min(53.33vw, 200px);
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
@media screen and (max-width: 959px) {
  .fv .fvList .slick-slide .lead.second {
    top: min(40vw, 150px);
  }
  .fv .fvList .slick-slide .lead.third {
    top: min(48vw, 180px);
  }
  .fv .fvList .slick-slide .lead span {
    padding-inline: 10px;
  }
  .fv .fvList .slick-slide .lead * + span {
    margin-top: 6px;
  }
  .fv .fvList .slick-slide .lead p {
    font-size: 13px;
    line-height: 1.69;
    margin-top: 10px;
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
@media screen and (max-width: 959px) {
  .fv .fvNavigation {
    bottom: -40px;
    left: 20px;
  }
  .fv .fvNavigation .fvPageNumbers {
    font-size: 14px;
  }
  .fv .fvNavigation .progressBar {
    width: 120px;
  }
  .service {
    padding-block: 50px 110px;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
@media screen and (max-width: 959px) {
  .service .serviceBg01 {
    height: 400px;
  }
  .service .serviceTitle {
    text-align: center;
  }
  .service .serviceTitle .en {
    font-size: 50px;
  }
  .service .serviceTitle .ja {
    font-size: 14px;
    margin-top: 3px;
  }
  .service .mainImgAreaBg {
    aspect-ratio: 378/480;
    width: 51%;
    top: 150px;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
@media screen and (max-width: 959px) {
  .service .serviceInner {
    min-height: 485px;
    padding-top: 40px;
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
@media screen and (max-width: 959px) {
  .service .serviceInner .serviceImgWrap .mainImgContainer {
    aspect-ratio: 540/400;
    width: 80%;
    height: auto;
  }
  .service .serviceInner .serviceImgWrap .mainImgArea {
    margin-top: 42px;
    aspect-ratio: 540/400;
    width: 80%;
    margin-left: auto;
    filter: drop-shadow(5px 5px 13px rgba(0, 0, 0, 0.2));
    right: 0;
    top: 0;
  }
}
@media screen and (max-width: 959px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
@media screen and (max-width: 959px) {
  .service .serviceInner .serviceTextWrap .mainTextArea {
    margin-top: 13.33vw;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea.isActive {
    display: block;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle {
    font-size: 11px;
    padding-inline: 10px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:before, .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:after {
    width: 4px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .title {
    font-size: 25px;
    margin-top: 16px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap p {
    margin-top: 20px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .btnWrap {
    text-align: center;
  }
  .service .thumbnailBtns {
    margin-top: 30px;
    /* 矢印ボタンのスタイル */
    /* ページネーション数字のスタイル */
  }
  .service .thumbnailBtns li {
    aspect-ratio: 1/1;
    height: auto;
    margin-inline: 5px;
  }
  .service .thumbnailBtns li .tnBtn {
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
  }
  .service .thumbnailBtns li .tnBtn span {
    font-size: 2.9vw;
    padding: 10px;
  }
  .service .thumbnailBtns .slider-navigation {
    position: absolute;
    bottom: -32px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .service .thumbnailBtns .slider-arrow {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    position: absolute;
  }
  .service .thumbnailBtns .slider-arrow.prev {
    left: calc(50% - 50px);
    transform: translateX(-50%);
    bottom: -20px;
  }
  .service .thumbnailBtns .slider-arrow.next {
    left: calc(50% + 50px);
    transform: translateX(-50%);
    bottom: -20px;
  }
  .service .thumbnailBtns .slider-arrow.prev::before {
    content: "";
    background: url(../images/common/arrow_black.svg) no-repeat center center/contain;
    transform: scale(-1, 1);
    width: 32px;
    height: 32px;
  }
  .service .thumbnailBtns .slider-arrow.next::before {
    content: "";
    background: url(../images/common/arrow_black.svg) no-repeat center center/contain;
    width: 32px;
    height: 32px;
  }
  .service .thumbnailBtns .custom-paging {
    font-size: 12px;
    min-width: 40px;
    text-align: center;
  }
  .service .thumbnailBtns .custom-paging {
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    color: #0050ff;
    font-family: "Karla", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
  }
  .works {
    background: url(../images/home/works_bg_sp.webp) no-repeat center top/contain;
    padding-block: 50px 70px;
  }
  .works .worksBg01 {
    height: 400px;
  }
  .works .worksTitle {
    text-align: center;
  }
  .works .worksTitle .en {
    font-size: 50px;
  }
  .works .worksTitle .ja {
    font-size: 14px;
    margin-top: 3px;
  }
  .works .worksList {
    padding-block: 40px 30px;
  }
  .works .worksList .slick-track {
    display: flex;
    align-items: center;
  }
  .works .worksList .worksItem {
    margin: 0 7px;
    box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
  }
  .works .btnWrap .btn {
    min-width: 223px !important;
  }
  .awards {
    background: url(../images/home/awards_bg_sp.webp) no-repeat center top/cover;
    padding-block: 92vw 50px;
  }
  .awards .awardsTitle {
    text-align: center;
  }
  .awards .awardsTitle .en {
    font-size: 50px;
  }
  .awards .awardsTitle .ja {
    font-size: 14px;
    margin-top: 3px;
  }
  .awards .awardsContainer .awardsInfo .awardsInfoText {
    margin-top: 25px;
    max-width: 510px;
    margin-inline: auto;
  }
  .awards .awardsContainer .awardsInfo .btnWrap {
    text-align: center;
    margin-top: 30px;
  }
  .news {
    padding-block: 85px 70px;
  }
  .news .inner {
    padding-block: 40px 30px;
    padding-inline: 20px;
    box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.09);
  }
  .news .newsTitle {
    text-align: center;
  }
  .news .newsTitle .en {
    font-size: 50px;
  }
  .news .newsTitle .ja {
    font-size: 14px;
    margin-top: 3px;
  }
  .news .newsList {
    margin-top: 46px;
  }
  .news .btnWrap {
    margin-top: 30px !important;
    text-align: center;
  }
  .company {
    background: url(../images/home/company_bg_sp.webp) no-repeat center center/cover;
    padding-block: 50px 55px;
  }
  .company .companyTitle {
    text-align: center;
  }
  .company .companyTitle .en {
    display: block;
    font-size: 50px;
  }
  .company .companyTitle .ja {
    display: block;
    font-size: 14px;
    margin-top: 3px;
  }
  .company .companyContainer {
    flex-direction: column;
  }
  .company .companyContainer .companyInfo .companyInfoTitle {
    margin-top: 30px;
  }
  .company .companyContainer .companyInfo .companyInfoTitle img {
    display: block;
    width: 195px;
    height: auto;
    margin-inline: auto;
  }
  .company .companyContainer .companyInfo .companyInfoText {
    margin-top: 26px;
    letter-spacing: 0.05em;
    max-width: 500px;
    margin-inline: auto;
  }
  .company .companyContainer .companyInfo .btnWrap {
    margin-top: 25px;
  }
  .company .companyContainer .companyInfo .btnWrap .btn {
    margin-inline: auto;
  }
  .company .companyContainer .companyFigure {
    order: -1;
    margin-top: 25px;
    max-width: 269px;
    margin-inline: auto;
  }
  .pageLink .commonWrap {
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (max-width: 959px) and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 959px) {
  .pageLink .commonWrap .pageLnkTitle {
    font-size: 30px;
    line-height: 1.4;
  }
  .pageLink .commonWrap .btnWrap {
    margin-top: 10px;
  }
  * + .btnWrap:has(.btnS) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 959px) and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (max-width: 959px) and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
@media screen and (max-width: 959px) {
  .tbs img {
    height: 33px;
  }
  .act img {
    height: 33px;
  }
  .ion img {
    height: 33px;
    padding-left: 5px;
  }
}
@media print, screen and (min-width: 960px) {
  body {
    font-size: 15px;
  }
  .fv {
    background: url(../images/home/fv_bg.webp) no-repeat top center;
    background-size: 100% 100%;
    padding-block: 70px 0;
    margin-bottom: 150px;
    position: relative;
  }
  .fv .inner {
    max-width: 1360px;
    max-width: inherit;
  }
  .fv .inner .scroll_down {
    bottom: 50%;
    transform: translateY(50%);
    right: 0px;
  }
  .fv .inner .scroll_down span {
    font-size: 12px;
    left: -14px;
    bottom: 0;
  }
  .fv .inner .scroll_down span:before {
    width: 9px;
    height: 8px;
  }
  @keyframes circlemove {
    0% {
      bottom: -25px;
      opacity: 0;
    }
    10% {
      bottom: -25px;
      opacity: 1;
    }
    90% {
      bottom: -96px;
      opacity: 1;
    }
    100% {
      bottom: -96px;
      opacity: 0;
    }
  }
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1260/625;
    width: calc(100% - 100px);
  }
  /* レスポンシブ対応 */
}
@media print and (min-width: 450px) and (max-width: 599px), screen and (min-width: 960px) and (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media print and (min-width: 600px) and (max-width: 959px), screen and (min-width: 960px) and (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media print and (min-width: 960px) and (max-width: 1245px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
@media print, screen and (min-width: 960px) {
  .fv .fvList .slick-slide .lead {
    font-size: 46px;
    top: 13.88vw;
  }
}
@media print and (min-width: 960px) and (max-width: 1245px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
@media print, screen and (min-width: 960px) {
  .fv .fvList .slick-slide .lead span {
    padding-inline: 18px;
  }
  .fv .fvList .slick-slide .lead * + span {
    margin-top: 10px;
  }
  .fv .fvList .slick-slide .lead span.first {
    padding-right: 0;
  }
  .fv .fvList .slick-slide .lead span.second {
    margin-top: 0;
    padding-left: 0;
  }
  .fv .fvList .slick-slide .lead p {
    font-size: 21px;
    line-height: 1.71;
    margin-top: 20px;
  }
}
@media print and (min-width: 960px) and (max-width: 1245px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
@media print, screen and (min-width: 960px) {
  .fv .fvNavigation {
    bottom: -50px;
    left: 46px;
  }
  .fv .fvNavigation .fvPageNumbers {
    font-size: 16px;
  }
  .fv .fvNavigation .progressBar {
    width: 256px;
  }
  .service {
    min-height: 870px;
    padding-block: 60px 170px;
    max-width: 1440px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
@media print, screen and (min-width: 960px) {
  .service .serviceBg01 {
    height: 830px;
  }
  .service .serviceTitle .en {
    font-size: 64px;
  }
  .service .serviceTitle .ja {
    font-size: 16px;
    margin-top: 5px;
  }
  .service .mainImgAreaBg {
    aspect-ratio: 412/710;
    width: 412px;
    top: 0;
    transition-delay: 0.5s;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
@media print, screen and (min-width: 960px) {
  .service .mainImgAreaBg.isActive {
    transition: all 1s;
    transition-delay: 0;
  }
  .service .serviceInner {
    display: flex;
  }
}
@media print and (min-width: 960px) and (max-width: 1440px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media print, screen and (min-width: 960px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 738px);
  }
}
@media print and (min-width: 960px) and (max-width: 1440px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
@media print, screen and (min-width: 960px) {
  .service .serviceInner .serviceImgWrap .mainImgContainer {
    position: relative;
    width: 100%;
  }
  .service .serviceInner .serviceImgWrap .mainImgArea {
    aspect-ratio: 390/618;
    width: 390px;
    margin-top: -12px;
    margin-inline: auto 50px;
    filter: drop-shadow(10px 10px 27px rgba(0, 0, 0, 0.2));
    right: 50px;
    top: 0px;
  }
  .service .serviceInner .serviceImgWrap .mainImgArea .imgSwitch:hover {
    opacity: 1;
  }
  .service .serviceInner .serviceTextWrap {
    width: 738px;
  }
}
@media print and (min-width: 960px) and (max-width: 1440px), screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
@media print, screen and (min-width: 960px) {
  .service .serviceInner .serviceTextWrap .serviceItemContainer {
    position: relative;
    width: 100%;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea {
    align-items: flex-end;
    margin-top: 45px;
    opacity: 0;
    transition: opacity 0.5s;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea.isActive {
    display: flex;
    opacity: 1;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap {
    min-height: 210px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle {
    font-size: 14px;
    padding-inline: 20px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:before, .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .subTitle:after {
    width: 8px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap .title {
    font-size: 32px;
    margin-top: 20px;
  }
  .service .serviceInner .serviceTextWrap .mainTextArea .titleWrap p {
    margin-top: 25px;
    padding-right: 50px;
  }
  .service .thumbnailBtns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 40px;
  }
  .service .thumbnailBtns li {
    width: calc((100% - 40px) / 5);
  }
  .service .thumbnailBtns li .tnBtn {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  }
  .service .thumbnailBtns li .tnBtn:hover, .service .thumbnailBtns li .tnBtn:focus {
    opacity: 1;
  }
  .service .thumbnailBtns li .tnBtn:hover:after, .service .thumbnailBtns li .tnBtn:focus:after {
    background: #0050ff;
  }
  .service .thumbnailBtns li .tnBtn span {
    font-size: 15px;
  }
  .service .thumbnailBtns .custom-paging {
    display: none !important;
  }
  .works {
    padding-block: 110px 160px;
  }
  .works:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/home/works_bg.webp) no-repeat right top/cover;
    width: 100%;
    height: 100%;
    max-height: 350px;
    z-index: -1;
  }
  .works .worksBg01 {
    height: 790px;
  }
  .works .worksTitle {
    display: flex;
    align-items: center;
    gap: 50px;
    padding-inline: 80px;
  }
  .works .worksTitle .en {
    font-size: 64px;
  }
  .works .worksTitle .ja {
    font-size: 16px;
    margin-top: 5px;
  }
  .works .worksList {
    padding-block: 80px 64px;
  }
  .works .worksList .slick-track {
    display: flex;
    align-items: center;
  }
  .works .worksList .worksItem {
    margin: 0 10px;
    box-shadow: 11px 11px 16px 0 rgba(0, 0, 0, 0.09);
  }
  .awards {
    background: url(../images/home/awards_bg.webp) no-repeat center center/cover;
    padding-block: 100px 110px;
    aspect-ratio: 1440/520;
  }
  .awards .inner {
    height: 100%;
  }
  .awards .awardsTitle .en {
    font-size: 64px;
  }
  .awards .awardsTitle .ja {
    font-size: 16px;
    margin-top: 5px;
  }
  .awards .awardsContainer {
    display: flex;
    height: 100%;
  }
  .awards .awardsContainer .awardsInfo {
    width: 35%;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .awards .awardsContainer .awardsInfo .awardsInfoText {
    margin-top: 30px;
    font-size: 15px;
  }
  .awards .awardsContainer .awardsInfo .btnWrap {
    margin-top: 48px;
  }
  .awards .awardsContainer .awardsFigure {
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .awards .awardsContainer .awardsFigure img {
    width: 100%;
    height: auto;
  }
  .news {
    padding-block: 145px 160px;
  }
  .news .inner {
    padding-top: min(100px, 6.944vw);
    padding-bottom: min(60px, 4.166vw);
    padding-inline: min(160px, 11.111vw);
    box-shadow: 11px 11px 16px 0 rgba(0, 0, 0, 0.09);
  }
  .news .newsTitle .en {
    font-size: 64px;
  }
  .news .newsTitle .ja {
    font-size: 16px;
    margin-top: 5px;
  }
  .news .btnWrap {
    text-align: right;
  }
  .company {
    background: url(../images/home/company_bg.webp) no-repeat center center/cover;
    padding-block: 130px 200px;
  }
  .company .inner {
    padding-inline: 80px;
  }
  .company .companyTitle {
    display: flex;
    align-items: center;
    -moz-column-gap: 50px;
         column-gap: 50px;
    row-gap: 5px;
    flex-wrap: wrap;
  }
  .company .companyTitle .en {
    display: inline-block;
    font-size: 64px;
  }
  .company .companyTitle .ja {
    display: inline-block;
    font-size: 16px;
    margin-top: 5px;
  }
  .company .companyContainer .companyInfo {
    width: 50%;
    padding-right: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .company .companyContainer .companyInfo .companyInfoTitle {
    margin-top: 80px;
  }
  .company .companyContainer .companyInfo .companyInfoTitle img {
    width: 100%;
    max-width: 343px;
    height: auto;
  }
  .company .companyContainer .companyInfo .companyInfoText {
    margin-top: 30px;
    font-size: 18px;
  }
  .company .companyContainer .companyInfo .btnWrap {
    margin-top: 48px;
  }
  .company .companyContainer .companyFigure {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .company .companyContainer .companyFigure img {
    width: 100%;
    height: auto;
  }
  .pageLinkBg {
    background: #000;
    width: 100%;
  }
  .pageLink {
    display: flex;
    margin-inline: auto;
  }
  .pageLink .commonWrap {
    width: 50%;
    display: flex;
    align-items: center;
    aspect-ratio: 720/400;
  }
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 40px);
    margin-left: auto;
  }
}
@media screen and (min-width: 960px) and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
@media print, screen and (min-width: 960px) {
  .pageLink .commonWrap .pageLnkTitle {
    font-size: 40px;
  }
  .pageLink .commonWrap .btnWrap {
    margin-top: 10px;
  }
  * + .btnWrap:has(.btnS) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 960px) and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (min-width: 960px) and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
@media print, screen and (min-width: 960px) {
  .tbs img {
    height: 36px;
  }
  .act img {
    height: 36px;
  }
  .ion img {
    height: 36px;
    padding-left: 7px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) {
  @keyframes circlemove {
    0% {
      bottom: -25px;
      opacity: 0;
    }
    10% {
      bottom: -25px;
      opacity: 1;
    }
    90% {
      bottom: -96px;
      opacity: 1;
    }
    100% {
      bottom: -96px;
      opacity: 0;
    }
  }
  /* レスポンシブ対応 */
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 450px) and (max-width: 599px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 300/400;
    width: calc(100% - 60px);
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 600px) and (max-width: 959px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1/1;
    width: calc(100% - 80px);
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/900;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .fvImg {
    aspect-ratio: 1600/640;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead {
    font-size: 36px;
    top: 10vw;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead {
    font-size: 3.194vw;
    top: 10.5vw;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1245px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 18px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .fv .fvList .slick-slide .lead p {
    font-size: 1.458vw;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .service {
    max-width: 2560px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .service .mainImgAreaBg {
    aspect-ratio: inherit;
    width: calc(100% - 65.23vw);
    height: 710px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner {
    justify-content: space-around;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceImgWrap {
    width: calc(100% - 43vw - 50px);
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 960px) and (max-width: 1440px) {
  .service .serviceInner .serviceTextWrap {
    width: 47vw;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) {
  .works .worksList .slick-track {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (min-width: 1441px) {
  .pageLink .commonWrap .commonInner {
    width: calc(100% - 80px);
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (max-width: 768px) {
  .splash-logo {
    font-size: 36px;
  }
  .splash-text {
    font-size: 18px;
    padding: 0 20px;
  }
  .tbs {
    padding-left: 85px;
  }
  .slide-tbs {
    transform: translateX(-80px);
  }
}
@media screen and (min-width: 960px) and (max-width: 1140px) and (max-width: 480px) {
  .splash-logo {
    font-size: 28px;
  }
  .splash-text {
    font-size: 16px;
    padding: 0 15px;
  }
}
/*# sourceMappingURL=map/home.css.map */
