@charset "utf-8";


/*----------------------------------------------------
 #visual
----------------------------------------------------*/

#visual {
  position: relative;
  overflow: hidden;
  width: 100vw;
  height: 56.25vw;
}

#visual .visualImage {
  width: 100%;
  height: 100%;
}

#visual .visualImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#visual .video_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  background: url('../img/home/visual@2x.jpg') center no-repeat;
  background-size: cover;
}
/*--
#visual .video_wrapper:not(.js_active)::before {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  z-index: 1;
}

#visual .video_wrapper:not(.js_active) .loderPosition {
  opacity: 1;
  transition: all 0.3s ease 0s;
}

#visual .video_wrapper:not(.js_active) #loderTex {
  opacity: 1;
  transition: all 0.3s ease 0s;
}

--*/

#visual .video_wrapper .loderPosition {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  z-index: 1;
}

#visual .video_wrapper .loader {
  color: #ffffff;
  font-size: 90px;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 72px auto;
  position: relative;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}

#visual .video_wrapper #loderTex {
  font-size: 17px;
  font-weight: 700;
  line-height: 0.9053409;
  letter-spacing: 0.057em;
  color: #fff;
  font-family: "Figtree", sans-serif;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  z-index: 1;
}

@-webkit-keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

#visual video {
  width: 100vw;
  height: 56.25vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
}


/*----------------------------------------------------
 #future
----------------------------------------------------*/

#future {
  position: relative;
  overflow: hidden;
  padding: 199px 0 0 0;
}

#future .futureFlex {
  display: flex;
  justify-content: space-between;
}

#future .futureFlex .imageArea {
  position: relative;
  width: 800px;
  transform: translate(35px, 0);
  -webkit-transform: translate(35px, 0);
  -moz-transform: translate(35px, 0);
  padding: 133px 0 0 0;
}

#future .futureFlex .imageArea .enTex {
  position: absolute;
  top: -97px;
  left: -78px;
}

#future .futureFlex .imageArea .enTex p {
  font-size: 176px;
	font-weight: 700;
	line-height: 0.9053409;
	letter-spacing: 0.057em;
  color: #eff2f1;
  white-space: nowrap;
}

#future .futureFlex .conts {
  width: 460px;
}

#future .futureFlex .conts h2 {
  font-size: 50px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: 0.2em;
  margin-bottom: 25px;
}

#future .futureFlex .conts h3 {
  font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
  margin-bottom: 25px;
}

#future .futureFlex .conts p {
  font-size: 18px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.06em;
  text-align: justify;
  margin-bottom: 17px;
}

#future .futureFlex .conts .button {
	width: 360px;
	height: 60px;
  margin-top: 72px;
}

#future .futureFlex .conts .button a {
  position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #116e60;
	border-radius: 30px;
}

#future .futureFlex .conts .button a .tex {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
  transition: all 0.3s ease 0s;
}

#future .futureFlex .conts .button a .arrow {
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%) scale(0.5);
  -webkit-transform: translateY(-50%) scale(0.5);
  -ms-transform: translateY(-50%) scale(0.5);
}

#future .futureFlex .conts .button a .dli-chevron-right {
  color: #fff;
  transition: all 0.3s ease 0s;
}

/*----------------------------------------------------
 #news
----------------------------------------------------*/

#news {
  position: relative;
  overflow: hidden;
  padding: 140px 0 99px 0;
}

#news .head {
  margin-bottom: 57px;
}

#news .head h2 {
  display: flex;
  flex-direction: column;
}

#news .head h2 b {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  transform: translateX(-7px);
  -webkit-transform: translateX(-7px);
  -moz-transform: translateX(-7px);
}

#news .head h2 small {
  font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2em;
}

#news .newsList {
  display: flex;
  flex-direction: column;
  margin-bottom: 80px;
}

#news .newsList dl:first-child {
  border-top: 1px solid #cccccc;
}

#news .newsList dl {
  border-bottom: 1px solid #cccccc;
}

#news .newsList dl > a {
  display: flex;
  align-items: center;
  padding: 23px 0 23px 14px;
}

#news .newsList dl > a dt {
  display: flex;
  align-items: center;
  width: 219px;
  margin: 0 15px 0 0;
}

#news .newsList dl > a dt .days {
  font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.1em;
  color: #000;
  border-right: 1px solid #cccccc;
  margin-right: 20px;
  padding: 15px 17px 15px 0;
}

#news .newsList dl > a dt .cat {
  width: 93px;
  height: 24px;
}

#news .newsList dl > a dt .cat object {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

#news .newsList dl > a dt .cat object a {
  background: #8fc31f;
  border-radius: 20px;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#news .newsList dl > a dt .cat object a span {
  font-size: 14px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
  color: #fff;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

#news .newsList dl > a dd {
  width: calc(100% - 234px);
}

#news .newsList dl > a dd .newsTitle {
  font-size: 16px;
	font-weight: 400;
	line-height: 1.7142857;
	letter-spacing: 0.1em;
  color: #000;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

#news .btArea {
  display: flex;
  justify-content: right;
}

#news .btArea .button {
	width: 360px;
	height: 60px;
}

#news .btArea .button a {
  position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #116e60;
	border-radius: 30px;
}

#news .btArea .button a .tex {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
  transition: all 0.3s ease 0s;
}

#news .btArea .button a .arrow {
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%) scale(0.5);
  -webkit-transform: translateY(-50%) scale(0.5);
  -ms-transform: translateY(-50%) scale(0.5);
}

#news .btArea .button a .arrow .dli-chevron-right {
  color: #fff;
  transition: all 0.3s ease 0s;
}

/*----------------------------------------------------
 #case
----------------------------------------------------*/

#case {
  position: relative;
  overflow: hidden;
  background: #eff2f1;
  padding: 101px 0 100px 0;
}

#case:before {
  content: '';
  width: 34.438vw;
  height: 100%;
  background: #eff2f1;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

#case .caseFlex {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 85px;
}

#case .caseFlex .conts {
  position: relative;
  width: 422px;
  background: #eff2f1;
  padding: 67px 0 0 0;
  z-index: 1;
}

#case .caseFlex .conts:before {
  content: '';
  width: 100%;
  height: calc(100% + 60px);
  background: #eff2f1;
  position: absolute;
  left: 0;
  top: -30px;
}

#case .caseFlex .conts .head {
  position: relative;
  margin-bottom: 53px;
}

#case .caseFlex .conts .head h2 {
  display: flex;
  flex-direction: column;
  margin-bottom: 51px;
}

#case .caseFlex .conts .head h2 b {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  transform: translateX(-4px);
  -webkit-transform: translateX(-4px);
  -moz-transform: translateX(-4px);
}

#case .caseFlex .conts .head h2 small {
  font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2em;
}

#case .caseFlex .conts .head p {
  font-size: 30px;
	font-weight: 700;
	line-height: 1.5333;
	letter-spacing: 0.1em;
}

#case .caseFlex .conts .arrow_box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 110px;
  height: 43px;
  border-radius: 21.5px;
  background: #116e60;
  padding: 0 20px 0;
}

#case .caseFlex .conts .arrow_box .prevNav {
  position: relative;
  width: 50%;
  height: 100%;
  padding: 0 0 0 20px;
  transition: all 0.3s ease 0s;
  cursor: pointer;
}

#case .caseFlex .conts .arrow_box .prevNav:after {
  content: '';
  width: 1px;
  height: 60%;
  background: #fff;
  position: absolute;
  top: 20%;
  right: 0.5px;
}

#case .caseFlex .conts .arrow_box .prevNav .dli-chevron-left {
  color: #fff;
  transform: translateX(-100%) translateY(2px) rotate(-135deg) scale(0.5);
  -webkit-transform: translateX(-100%) translateY(2px) rotate(-135deg) scale(0.5);
  -ms-transform: translateX(-100%) translateY(2px) rotate(-135deg) scale(0.5);
  transition: all 0.3s ease 0s;
}

#case .caseFlex .conts .arrow_box .slick-disabled .dli-chevron-left {
  opacity: 0.4;
}

#case .caseFlex .conts .arrow_box .nextNav {
  width: 50%;
  height: 100%;
  padding: 0 20px 0 0;
  transition: all 0.3s ease 0s;
  cursor: pointer;
}

#case .caseFlex .conts .arrow_box .nextNav .dli-chevron-right {
  color: #fff;
  transform: translateX(100%) translateY(2px) rotate(45deg) scale(0.5);
  -webkit-transform: translateX(100%) translateY(2px) rotate(45deg) scale(0.5);
  -ms-transform: translateX(100%) translateY(2px) rotate(45deg) scale(0.5);
  transition: all 0.3s ease 0s;
}

#case .caseFlex .conts .arrow_box .slick-disabled .dli-chevron-right {
  opacity: 0.4;
}

#case .caseFlex .caseSlide {
  width: calc(100% - 438px);
}

#case .caseFlex .caseSlide .slick-slide {
  height: auto !important;
}

#case .caseFlex .caseSlide .slick-track {
  display: flex;
}

#case .caseFlex .caseSlide .box {
  width: 572px;
  background: #eff2f1;
  border-radius: 20px;
  margin-right: 27px;
  padding: 65px 49px 86px 49px;
  box-shadow: -5px -5px 5px 3px rgba(255, 255, 255, 0.8), 5px 5px 5px 3px rgba(201, 201, 201, 0.8);
  transition: all 0.3s ease 0s;
}

#case .caseFlex .caseSlide .box .catList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 11px;
}

#case .caseFlex .caseSlide .box .catList .cat {
  width: 130px;
  height: 26px;
}

#case .caseFlex .caseSlide .box .catList .cat object {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

#case .caseFlex .caseSlide .box .catList .cat object a {
  background: #8fc31f;
  border-radius: 18px;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

#case .caseFlex .caseSlide .box .catList .cat object a span {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

#case .caseFlex .caseSlide .box .imageBox {
  width: 100%;
  height: 180px;
  background: #fff;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 17px;
}

#case .caseFlex .caseSlide .box .imageBox .image {
  max-width: 190px;
}

#case .caseFlex .caseSlide .box .serviceType {
  display: flex;
  align-items: center;
  margin-bottom: 29px;
}

#case .caseFlex .caseSlide .box .serviceType p {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.045em;
  padding: 0 15px 0 0;
}

#case .caseFlex .caseSlide .box .logoType {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-left: 1px solid #cccccc;
  padding: 6px 0 6px 20px;
}

#case .caseFlex .caseSlide .box .logoType .logo {
  width: 100%;
  max-width: 90.5px;
  line-height: 1;
  margin-right: 14px;
}

#case .caseFlex .caseSlide .box .boxConts h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 11px;
}

#case .caseFlex .caseSlide .box .boxConts p {
  font-size: 14px;
  font-weight: 500;
  line-height: 2.2857142;
  letter-spacing: 0.045em;
}

#case .logosLoop {
  position: relative;
  z-index: 1;
  margin-bottom: 89px;
}

#case .logosLoop .loopTop {
  margin-bottom: 40px;
}

#case .logosLoop .loopTop .logoImg {
  margin: 0 15px;
  display: flex;
  align-items: center;
}

#case .logosLoop .loopTop .logoImg.logo01 {
  width: 214px;
}

#case .logosLoop .loopTop .logoImg.logo02 {
  width: 153px;
}

#case .logosLoop .loopTop .logoImg.logo03 {
  width: 202px;
}

#case .logosLoop .loopTop .logoImg.logo04 {
  width: 241px;
}

#case .logosLoop .loopTop .logoImg.logo05 {
  width: 193px;
}

#case .logosLoop .loopTop .logoImg.logo06 {
  width: 117px;
}

#case .logosLoop .loopTop .logoImg.logo07 {
  width: 207px;
}

#case .logosLoop .loopTop .logoImg.logo08 {
  width: 186px;
}

#case .logosLoop .loopTop .logoImg.logo09 {
  width: 229px;
}

#case .logosLoop .loopTop .logoImg.logo10 {
  width: 212px;
}

#case .logosLoop .loopTop .logoImg.logo11 {
  width: 249px;
}

#case .logosLoop .loopTop .logoImg.logo12 {
  width: 212px;
}

#case .logosLoop .loopTop .logoImg.logo13 {
  width: 197px;
}

#case .logosLoop .loopTop .slick-track {
  display: flex;
  align-items: center;
}

#case .logosLoop .loopTop img {
  width: 100%;
}

#case .logosLoop .loopMiddle {
  margin-bottom: 40px;
}

#case .logosLoop .loopMiddle .logoImg.logo01 {
  width: 293px;
}

#case .logosLoop .loopMiddle .logoImg.logo02 {
  width: 216px;
}

#case .logosLoop .loopMiddle .logoImg.logo03 {
  width: 275px;
}

#case .logosLoop .loopMiddle .logoImg.logo04 {
  width: 239px;
}

#case .logosLoop .loopMiddle .logoImg.logo05 {
  width: 245px;
}

#case .logosLoop .loopMiddle .logoImg.logo06 {
  width: 246px;
}

#case .logosLoop .loopMiddle .logoImg.logo07 {
  width: 78px;
}

#case .logosLoop .loopMiddle .logoImg.logo08 {
  width: 137px;
}

#case .logosLoop .loopMiddle .logoImg.logo09 {
  width: 255px;
}

#case .logosLoop .loopMiddle .logoImg.logo10 {
  width: 263px;
}

#case .logosLoop .loopMiddle .logoImg.logo11 {
  width: 255px;
}

#case .logosLoop .loopMiddle .logoImg.logo12 {
  width: 128px;
}

#case .logosLoop .loopMiddle .logoImg {
  margin: 0 15px;
  display: flex;
  align-items: center;
}

#case .logosLoop .loopMiddle .slick-track {
  display: flex;
  align-items: center;
}

#case .logosLoop .loopMiddle img {
  width: 100%;
}

#case .logosLoop .loopBottom .logoImg.logo01 {
  width: 311px;
}

#case .logosLoop .loopBottom .logoImg.logo02 {
  width: 202px;
}

#case .logosLoop .loopBottom .logoImg.logo03 {
  width: 179px;
}

#case .logosLoop .loopBottom .logoImg.logo04 {
  width: 163px;
}

#case .logosLoop .loopBottom .logoImg.logo05 {
  width: 237px;
}

#case .logosLoop .loopBottom .logoImg.logo06 {
  width: 193px;
}

#case .logosLoop .loopBottom .logoImg.logo07 {
  width: 235px;
}

#case .logosLoop .loopBottom .logoImg.logo08 {
  width: 341px;
}

#case .logosLoop .loopBottom .logoImg.logo09 {
  width: 235px;
}

#case .logosLoop .loopBottom .logoImg.logo10 {
  width: 275px;
}

#case .logosLoop .loopBottom .logoImg.logo11 {
  width: 216px;
}

#case .logosLoop .loopBottom .logoImg.logo12 {
  width: 185px;
}

#case .logosLoop .loopBottom .logoImg {
  margin: 0 15px;
  display: flex;
  align-items: center;
}

#case .logosLoop .loopBottom .slick-track {
  display: flex;
  align-items: center;
}

#case .logosLoop .loopBottom img {
  width: 100%;
}

#case .btArea {
  display: flex;
  justify-content: right;
}

#case .btArea .button {
	width: 360px;
	height: 60px;
}

#case .btArea .button a {
  position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #116e60;
	border-radius: 30px;
}

#case .btArea .button a .tex {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
  transition: all 0.3s ease 0s;
}

#case .btArea .button a .arrow {
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%) scale(0.5);
  -webkit-transform: translateY(-50%) scale(0.5);
  -ms-transform: translateY(-50%) scale(0.5);
}

#case .btArea .button a .arrow .dli-chevron-right {
  color: #fff;
  transition: all 0.3s ease 0s;
}

/*----------------------------------------------------
 #service
----------------------------------------------------*/

#service {
  position: relative;
  overflow: hidden;
  padding: 138px 0 0 0;
}

#service .head {
  margin-bottom: 43px;
}

#service .head h2 {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
}

#service .head h2 b {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 17px;
  transform: translateX(-2px);
  -webkit-transform: translateX(-2px);
  -moz-transform: translateX(-2px);
}

#service .head h2 small {
  font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2em;
}

#service .head p {
  font-size: 30px;
  font-weight: 400;
  line-height: 1.53333;
  letter-spacing: 0.03em;
  text-align: center;
}

#service .serviceList {
  display: flex;
  margin-bottom: 81px;
}

#service .serviceList .box {
  position: relative;
  width: 370px;
  margin-right: 86px;
  border-radius: 20px;
  overflow: hidden;
  background: #eff2f1;
  box-shadow: rgba(0, 0, 0, 0.1) 0 4px 12px;
  transition: all 0.3s ease 0s;
}

#service .serviceList .box .logoArea {
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 0 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 131px;
  height: 62px;
  z-index: 1;
}

#service .serviceList .box01 .logoArea .typeLogo {
  width: 100%;
  max-width: 67.5px;
}

#service .serviceList .box02 .logoArea .typeLogo {
  width: 100%;
  max-width: 91.5px;
}

#service .serviceList .box03 .logoArea .typeLogo {
  width: 100%;
  max-width: 91px;
}

#service .serviceList .box .image {
  position: relative;
  width: 100%;
  height: 270px;
}

#service .serviceList .box .image:after {
  content: '';
  width: 1px;
  height: 56px;
  background: #525252;
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#service .serviceList .box .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#service .serviceList .box .conts {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 36px 0 74px 0;
}

#service .serviceList .box .conts h3 {
  font-size: 30px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2px;
  color: #000;
}

#service .serviceList .box .conts p {
  font-size: 18px;
	font-weight: 400;
	line-height: 1.4444;
	letter-spacing: 0.045em;
  text-align: center;
  margin-bottom: 27px;
  color: #000;
}

#service .serviceList .box .conts .button {
  position: relative;
	width: 230px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #8fc31f;
	border-radius: 30px;
  transition: all 0.3s ease 0s;
}

#service .serviceList .box .conts .button .tex {
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
  transition: all 0.3s ease 0s;
}

#service .serviceList .box .conts .button .arrow {
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%) scale(0.5);
  -webkit-transform: translateY(-50%) scale(0.5);
  -ms-transform: translateY(-50%) scale(0.5);
}

#service .serviceList .box .conts .button .arrow .dli-chevron-right {
  color: #fff;
  transition: all 0.3s ease 0s;
}

#service .btArea {
  display: flex;
  justify-content: right;
}

#service .btArea .button {
	width: 360px;
	height: 60px;
}

#service .btArea .button a {
  position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #116e60;
	border-radius: 30px;
}

#service .btArea .button a .tex {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #fff;
}

#service .btArea .button a .arrow {
  position: absolute;
  top: 50%;
  right: 36px;
  transform: translateY(-50%) scale(0.5);
  -webkit-transform: translateY(-50%) scale(0.5);
  -ms-transform: translateY(-50%) scale(0.5);
}

#service .btArea .button a .arrow .dli-chevron-right {
  color: #fff;
}

/*---------------------------------------------------------------------------
 HOVER + PC
---------------------------------------------------------------------------*/

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

  #service .serviceList .box:nth-child(3n) {
    margin-right: 0;
  }

  #future .futureFlex .conts .button a:hover {
    background: #d6e1dd;
  }

  #future .futureFlex .conts .button a:hover .tex {
    color: #000000;
  }

  #future .futureFlex .conts .button a:hover .dli-chevron-right {
    color: #000000;
  }

  #news .newsList dl > a:hover {
    opacity: 0.7;
  }

  #news .btArea .button a:hover {
    background: #d6e1dd;
  }

  #news .btArea .button a:hover .tex {
    color: #000000;
  }

  #news .btArea .button a:hover .dli-chevron-right {
    color: #000000;
  }

  #case .caseFlex .conts .arrow_box .prevNav:hover .dli-chevron-left {
    opacity: 0.4;
  }

  #case .caseFlex .conts .arrow_box .nextNav:hover .dli-chevron-right {
    opacity: 0.4;
  }

  #case .btArea .button a:hover {
    background: #d6e1dd;
  }

  #case .btArea .button a:hover .tex {
    color: #000000;
  }

  #case .btArea .button a:hover .dli-chevron-right {
    color: #000000;
  }

  #case .caseFlex .caseSlide .box:hover {
    box-shadow: -2.5px -2.5px 2.5px 1.5px rgba(255, 255, 255, 0.4), 2.5px 2.5px 2.5px 1.5px rgb(201, 201, 201, 0.4);
  }

  #service .serviceList .box:hover {
    box-shadow: rgba(0, 0, 0, 0.05) 0 2px 6px;
  }

  #service .serviceList .box a:hover .conts .button {
    background: #d6e1dd;
  }

  #service .serviceList .box a:hover .conts .button .tex {
    color: #000000;
  }

  #service .serviceList .box a:hover .conts .button .dli-chevron-right {
    color: #000000;
  }

  #service .btArea .button a:hover {
    background: #d6e1dd;
  }

  #service .btArea .button a:hover .tex {
    color: #000000;
  }

  #service .btArea .button a:hover .dli-chevron-right {
    color: #000000;
  }

}

/*---------------------------------------------------------------------------
 PC VW
---------------------------------------------------------------------------*/

@media screen and (min-width: 769px) and (max-width: 1280px) {

  /*----------------------------------------------------
  HOVER
  ----------------------------------------------------*/

  #service .serviceList .box:hover {
    box-shadow: rgba(0, 0, 0, 0.05) 0 0.156vw 0.469vw;
  }

  /*----------------------------------------------------
  #visual
  ----------------------------------------------------*/

  #visual {
    width: 100vw;
    height: 56.25vw;
  }

  #visual .video_wrapper .loader {
    font-size: 7.031vw;
    margin: 5.625vw auto;
  }

  #visual video {
    height: 56.25vw;
  }

  /*----------------------------------------------------
  #future
  ----------------------------------------------------*/

  #future {
    padding: 15.547vw 0 0 0;
  }

  #future .futureFlex .imageArea {
    width: 62.5vw;
    transform: translate(2.734vw, 0);
    -webkit-transform: translate(2.734vw, 0);
    -moz-transform: translate(2.734vw, 0);
    padding: 10.391vw 0 0 0;
  }

  #future .futureFlex .imageArea .enTex {
    top: -7.578vw;
    left: -6.094vw;
  }

  #future .futureFlex .imageArea .enTex p {
    font-size: 13.75vw;
  }

  #future .futureFlex .conts {
    width: 35.938vw;
  }

  #future .futureFlex .conts h2 {
    font-size: 3.906vw;
    margin-bottom: 1.953vw;
  }

  #future .futureFlex .conts h3 {
    font-size: 1.875vw;
    margin-bottom: 1.953vw;
  }

  #future .futureFlex .conts p {
    font-size: 1.406vw;
    margin-bottom: 1.328vw;
  }

  #future .futureFlex .conts .button {
    width: 28.125vw;
    height: 4.688vw;
    margin-top: 5.625vw;
  }

  #future .futureFlex .conts .button a {
    border-radius: 2.344vw;
  }

  #future .futureFlex .conts .button a .tex {
    font-size: 1.406vw;
  }

  #future .futureFlex .conts .button a .arrow {
    right: 2.813vw;
  }

  /*----------------------------------------------------
  #news
  ----------------------------------------------------*/

  #news {
    padding: 10.938vw 0 7.734vw 0;
  }

  #news .head {
    margin-bottom: 4.453vw;
  }

  #news .head h2 b {
    font-size: 6.25vw;
    margin-bottom: 1.172vw;
    transform: translateX(-0.547vw);
    -webkit-transform: translateX(-0.547vw);
    -moz-transform: translateX(-0.547vw);
  }

  #news .head h2 small {
    font-size: 1.875vw;
  }

  #news .newsList {
    margin-bottom: 6.25vw;
  }

  #news .newsList dl > a {
    padding: 1.797vw 0 1.797vw 1.094vw;
  }

  #news .newsList dl > a dt {
    width: 17.109vw;
    margin: 0 1.172vw 0 0;
  }

  #news .newsList dl > a dt .days {
    font-size: 1.25vw;
    margin-right: 1.563vw;
    padding: 1.172vw 1.328vw 1.172vw 0;
  }

  #news .newsList dl > a dt .cat {
    width: 7.266vw;
    height: 1.875vw;
  }

  #news .newsList dl > a dt .cat object a {
    border-radius: 1.563vw;
  }

  #news .newsList dl > a dt .cat object a span {
    font-size: 1.094vw;
  }

  #news .newsList dl > a dd {
    width: calc(100% - 18.281vw);
  }

  #news .newsList dl > a dd .newsTitle {
    font-size: 1.25vw;
  }

  #news .btArea .button {
    width: 28.125vw;
    height: 4.688vw;
  }

  #news .btArea .button a {
    border-radius: 2.344vw;
  }

  #news .btArea .button a .tex {
    font-size: 1.406vw;
  }

  #news .btArea .button a .arrow {
    right: 2.813vw;
  }

  /*----------------------------------------------------
  #case
  ----------------------------------------------------*/

  #case {
    padding: 7.891vw 0 7.813vw 0;
  }

  #case:before {
    width: 34.438vw;
  }

  #case .caseFlex {
    margin-bottom: 6.641vw;
  }

  #case .caseFlex .conts {
    width: 32.969vw;
    padding: 5.234vw 0 0 0;
  }

  #case .caseFlex .conts:before {
    height: calc(100% + 4.688vw);
    top: -2.344vw;
  }

  #case .caseFlex .conts .head {
    margin-bottom: 4.141vw;
  }

  #case .caseFlex .conts .head h2 {
    margin-bottom: 3.984vw;
  }

  #case .caseFlex .conts .head h2 b {
    font-size: 6.25vw;
    margin-bottom: 1.172vw;
    transform: translateX(-4px);
    -webkit-transform: translateX(-4px);
    -moz-transform: translateX(-4px);
  }

  #case .caseFlex .conts .head h2 small {
    font-size: 1.875vw;
  }

  #case .caseFlex .conts .head p {
    font-size: 2.344vw;
  }

  #case .caseFlex .conts .arrow_box {
    width: 8.594vw;
    height: 3.359vw;
    border-radius: 1.68vw;
    padding: 0 1.563vw 0;
  }

  #case .caseFlex .conts .arrow_box .prevNav {
    padding: 0 0 0 1.563vw;
  }

  #case .caseFlex .conts .arrow_box .prevNav:after {
    width: 0.078vw;
    right: 0.039vw;
  }

  #case .caseFlex .conts .arrow_box .prevNav .dli-chevron-left {
    transform: translateX(-100%) translateY(0.156vw) rotate(-135deg) scale(0.5);
    -webkit-transform: translateX(-100%) translateY(0.156vw) rotate(-135deg) scale(0.5);
    -ms-transform: translateX(-100%) translateY(0.156vw) rotate(-135deg) scale(0.5);
  }

  #case .caseFlex .conts .arrow_box .nextNav {
    padding: 0 1.563vw 0 0;
  }

  #case .caseFlex .conts .arrow_box .nextNav .dli-chevron-right {
    transform: translateX(100%) translateY(0.156vw) rotate(45deg) scale(0.5);
    -webkit-transform: translateX(100%) translateY(0.156vw) rotate(45deg) scale(0.5);
    -ms-transform: translateX(100%) translateY(0.156vw) rotate(45deg) scale(0.5);
  }

  #case .caseFlex .caseSlide {
    width: calc(100% - 34.219vw);
  }

  #case .caseFlex .caseSlide .box {
    width: 44.688vw;
    border-radius: 1.563vw;
    margin-right: 2.109vw;
    padding: 5.078vw 3.828vw 6.719vw 3.828vw;
    box-shadow: -0.391vw -0.391vw 0.391vw 0.234vw rgba(255, 255, 255, 0.8), 0.391vw 0.391vw 0.391vw 0.234vw rgba(201, 201, 201, 0.8);
  }

  #case .caseFlex .caseSlide .box .catList {
    margin-bottom: 0.859vw;
  }

  #case .caseFlex .caseSlide .box .catList .cat {
    width: 10.156vw;
    height: 2.031vw;
  }

  #case .caseFlex .caseSlide .box .catList .cat object a {
    border-radius: 1.406vw;
  }

  #case .caseFlex .caseSlide .box .catList .cat object a span {
    font-size: 1.094vw;
  }

  #case .caseFlex .caseSlide .box .imageBox {
    height: 14.063vw;
    border-radius: 1.563vw;
    margin-bottom: 1.328vw;
  }

  #case .caseFlex .caseSlide .box .imageBox .image {
    max-width: 14.844vw;
  }

  #case .caseFlex .caseSlide .box .serviceType {
    margin-bottom: 2.266vw;
  }

  #case .caseFlex .caseSlide .box .serviceType p {
    font-size: 1.094vw;
    padding: 0 1.172vw 0 0;
  }

  #case .caseFlex .caseSlide .box .logoType {
    padding: 0.469vw 0 0.469vw 1.563vw;
  }

  #case .caseFlex .caseSlide .box .logoType .logo {
    max-width: 7.07vw;
    margin-right: 1.094vw;
  }

  #case .caseFlex .caseSlide .box .boxConts h3 {
    font-size: 1.406vw;
    margin-bottom: 0.859vw;
  }

  #case .caseFlex .caseSlide .box .boxConts p {
    font-size: 1.094vw;
    line-height: 2.2857142;
  }

  #case .logosLoop {
    margin-bottom: 6.953vw;
  }

  #case .logosLoop .loopTop {
    margin-bottom: 3.125vw;
  }

  #case .logosLoop .loopTop .logoImg {
    margin: 0 1.172vw;
  }

  #case .logosLoop .loopTop .logoImg.logo01 {
    width: 16.719vw;
  }

  #case .logosLoop .loopTop .logoImg.logo02 {
    width: 11.953vw;
  }

  #case .logosLoop .loopTop .logoImg.logo03 {
    width: 15.781vw;
  }

  #case .logosLoop .loopTop .logoImg.logo04 {
    width: 18.828vw;
  }

  #case .logosLoop .loopTop .logoImg.logo05 {
    width: 15.078vw;
  }

  #case .logosLoop .loopTop .logoImg.logo06 {
    width: 9.141vw;
  }

  #case .logosLoop .loopTop .logoImg.logo07 {
    width: 16.172vw;
  }

  #case .logosLoop .loopTop .logoImg.logo08 {
    width: 14.531vw;
  }

  #case .logosLoop .loopTop .logoImg.logo09 {
    width: 17.891vw;
  }

  #case .logosLoop .loopTop .logoImg.logo10 {
    width: 16.563vw;
  }

  #case .logosLoop .loopTop .logoImg.logo11 {
    width: 19.453vw;
  }

  #case .logosLoop .loopTop .logoImg.logo12 {
    width: 16.563vw;
  }

  #case .logosLoop .loopTop .logoImg.logo13 {
    width: 15.391vw;
  }

  #case .logosLoop .loopMiddle {
    margin-bottom: 3.125vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo01 {
    width: 22.891vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo02 {
    width: 16.875vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo03 {
    width: 21.484vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo04 {
    width: 18.672vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo05 {
    width: 19.141vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo06 {
    width: 19.219vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo07 {
    width: 6.094vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo08 {
    width: 10.703vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo09 {
    width: 19.922vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo10 {
    width: 20.547vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo11 {
    width: 19.922vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo12 {
    width: 10vw;
  }

  #case .logosLoop .loopMiddle .logoImg {
    margin: 0 1.172vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo01 {
    width: 24.297vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo02 {
    width: 15.781vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo03 {
    width: 13.984vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo04 {
    width: 12.734vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo05 {
    width: 18.516vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo06 {
    width: 15.078vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo07 {
    width: 18.359vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo08 {
    width: 26.641vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo09 {
    width: 18.359vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo10 {
    width: 21.484vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo11 {
    width: 16.875vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo12 {
    width: 14.453vw;
  }

  #case .logosLoop .loopBottom .logoImg {
    margin: 0 1.172vw;
  }

  #case .btArea .button {
    width: 28.125vw;
    height: 4.688vw;
  }

  #case .btArea .button a {
    border-radius: 2.344vw;
  }

  #case .btArea .button a .tex {
    font-size: 1.406vw;
  }

  #case .btArea .button a .arrow {
    right: 2.813vw;
  }

  /*----------------------------------------------------
  #service
  ----------------------------------------------------*/

  #service {
    padding: 10.781vw 0 0 0;
  }

  #service .head {
    margin-bottom: 3.359vw;
  }

  #service .head h2 {
    margin-bottom: 3.125vw;
  }

  #service .head h2 b {
    font-size: 6.25vw;
    margin-bottom: 1.328vw;
    transform: translateX(-0.156vw);
    -webkit-transform: translateX(-0.156vw);
    -moz-transform: translateX(-0.156vw);
  }

  #service .head h2 small {
    font-size: 1.875vw;
  }

  #service .head p {
    font-size: 2.344vw;
  }

  #service .serviceList {
    margin-bottom: 6.328vw;
  }

  #service .serviceList .box {
    width: 28.906vw;
    margin-right: 6.719vw;
    border-radius: 1.563vw;
    box-shadow: rgba(0, 0, 0, 0.1) 0 0.313vw 0.938vw;
  }

  #service .serviceList .box .logoArea {
    border-radius: 0 0 1.563vw;
    width: 10.234vw;
    height: 4.844vw;
  }

  #service .serviceList .box01 .logoArea .typeLogo {
    max-width: 5.273vw;
  }

  #service .serviceList .box02 .logoArea .typeLogo {
    max-width: 7.148vw;
  }

  #service .serviceList .box03 .logoArea .typeLogo {
    max-width: 7.109vw;
  }

  #service .serviceList .box .image {
    height: 21.094vw;
  }

  #service .serviceList .box .image:after {
    width: 0.078vw;
    height: 4.375vw;
    bottom: -2.187vw;
  }

  #service .serviceList .box .conts {
    padding: 2.813vw 0 5.781vw 0;
  }

  #service .serviceList .box .conts h3 {
    font-size: 2.344vw;
    margin-bottom: 0.156vw;
  }

  #service .serviceList .box .conts p {
    font-size: 1.406vw;
    margin-bottom: 2.109vw;
  }

  #service .serviceList .box .conts .button {
    width: 17.969vw;
    height: 3.906vw;
    border-radius: 2.344vw;
  }

  #service .serviceList .box .conts .button .tex {
    font-size: 1.094vw;
  }

  #service .serviceList .box .conts .button .arrow {
    right: 2.813vw;
  }

  #service .btArea .button {
    width: 28.125vw;
    height: 4.688vw;
  }

  #service .btArea .button a {
    border-radius: 2.344vw;
  }

  #service .btArea .button a .tex {
    font-size: 1.406vw;
  }

  #service .btArea .button a .arrow {
    right: 2.813vw;
  }

}

/*---------------------------------------------------------------------------
 SP
---------------------------------------------------------------------------*/

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

  /*----------------------------------------------------
  #visual
  ----------------------------------------------------*/

  #visual {
    height: 146.667vw;
    padding: 16vw 0 0 0;
  }

  #visual .video_wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background: url('../img/home/visual-sp.jpg') center no-repeat;
    background-size: cover;
  }

  #visual video {
    width: 100vw;
    height: 146.667vw;
  }

  /*----------------------------------------------------
  #future
  ----------------------------------------------------*/

  #future {
    padding: 14.667vw 0 0 0;
  }

  #future .futureFlex {
    flex-direction: column;
  }

  #future .futureFlex .imageArea {
    width: 100%;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    padding: 0 0 0 0;
  }

  #future .futureFlex .imageArea .image {
    width: 100%;
    margin: 0 auto 0;
  }

  #future .futureFlex .imageArea .enTex {
    top: -20.533vw;
    left: -3.733vw;
  }

  #future .futureFlex .imageArea .enTex p {
    font-size: 14.667vw;
    line-height: 0.9090909;
  }

  #future .futureFlex .conts {
    width: 100%;
    margin-bottom: 29.867vw;
  }

  #future .futureFlex .conts h2 {
    font-size: 8.533vw;
    line-height: 1.2623;
    margin-bottom: 5.333vw;
  }

  #future .futureFlex .conts h3 {
    font-size: 5.333vw;
    margin-bottom: 4.533vw;
    letter-spacing: 0.06em;
  }

  #future .futureFlex .conts p {
    font-size: 4.533vw;
    line-height: 1.93333;
    margin-bottom: 3.467vw;
  }

  #future .futureFlex .conts .button {
    width: 78.667vw;
    height: 12vw;
    margin: 8.533vw auto 0;
  }

  #future .futureFlex .conts .button a .tex {
    font-size: 3.733vw;
    letter-spacing: 0.06em;
  }

  #future .futureFlex .conts .button a .arrow {
    right: 4vw;
    transform: translateY(-50%) scale(0.4);
    -webkit-transform: translateY(-50%) scale(0.4);
    -ms-transform: translateY(-50%) scale(0.4);
  }

  /*----------------------------------------------------
  #news
  ----------------------------------------------------*/

  #news {
    padding: 14.4vw 0 16.267vw 0;
  }

  #news .head {
    margin-bottom: 5.6vw;
  }

  #news .head h2 {
    display: flex;
    flex-direction: column;
  }

  #news .head h2 b {
    font-size: 12.267vw;
    margin-bottom: 1.867vw;
    transform: translateX(-0.8vw);
    -webkit-transform: translateX(-0.8vw);
    -moz-transform: translateX(-0.8vw);
  }

  #news .head h2 small {
    font-size: 4vw;
    letter-spacing: 0.15em;
  }

  #news .newsList {
    margin-bottom: 10.133vw;
  }

  #news .newsList dl > a {
    flex-direction: column;
    align-items: flex-start;
    padding: 5.067vw 1.6vw 5.067vw 2.4vw;
  }

  #news .newsList dl > a dt {
    display: flex;
    align-items: center;
    width: 100%;
  }

  #news .newsList dl > a dt .days {
    font-size: 4.267vw;
    margin-right: 3.333vw;
    padding: 1.067vw 3.333vw 1.067vw 0;
  }

  #news .newsList dl > a dt .cat {
    min-width: 20.133vw;
    width: auto;
    height: 5.8vw;
    transform: translateY(0.033vw);
    -webkit-transform: translateY(0.033vw);
    -moz-transform: translateY(0.033vw);
  }

  #news .newsList dl > a dt .cat object a {
    border-radius: 4vw;
    padding: 0 2.667vw;
  }

  #news .newsList dl > a dt .cat object a span {
    font-size: 3.2vw;
  }

  #news .newsList dl > a dd {
    width: 100%;
    padding: 2.4vw 0 0 0;
  }

  #news .newsList dl > a dd .newsTitle {
    font-size: 4.267vw;
    line-height: 1.9285714;
    letter-spacing: 0.06em;
    -webkit-line-clamp: 3;
  }

  #news .btArea {
    justify-content: center;
  }

  #news .btArea .button {
    width: 78.667vw;
    height: 12vw;
    margin: 0 auto 0;
  }

  #news .btArea .button a .tex {
    font-size: 3.733vw;
    letter-spacing: 0.06em;
  }

  #news .btArea .button a .arrow {
    right: 4vw;
    transform: translateY(-50%) scale(0.4);
    -webkit-transform: translateY(-50%) scale(0.4);
    -ms-transform: translateY(-50%) scale(0.4);
  }

  /*----------------------------------------------------
  #case
  ----------------------------------------------------*/

  #case {
    padding: 15.733vw 0 18.133vw 0;
  }

  #case:before {
    display: none;
  }

  #case .caseFlex {
    position: relative;
    flex-direction: column;
    margin-bottom: 11.2vw;
    padding: 0 0 17.6vw 0;
  }

  #case .caseFlex .conts {
    position: initial;
    width: 100%;
    padding: 0 0 0 0;
  }

  #case .caseFlex .conts:before {
    display: none;
  }

  #case .caseFlex .conts .head {
    margin-bottom: 1.333vw;
  }

  #case .caseFlex .conts .head h2 {
    display: flex;
    flex-direction: column;
    margin-bottom: 6.933vw;
  }

  #case .caseFlex .conts .head h2 b {
    font-size: 12.267vw;
    margin-bottom: 1.333vw;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
  }

  #case .caseFlex .conts .head h2 small {
    font-size: 4vw;
    letter-spacing: 0.2em;
  }

  #case .caseFlex .conts .head p {
    font-size: 4.8vw;
    line-height: 1.611111;
    letter-spacing: 0.06em;
  }

  #case .caseFlex .conts .arrow_box {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24vw;
    height: 9.333vw;
    border-radius: 4.667vw;
    padding: 0 0 0;
  }

  #case .caseFlex .conts .arrow_box .prevNav {
    padding: 0 0 0 9.067vw;
  }

  #case .caseFlex .conts .arrow_box .prevNav:after {
    content: '';
    width: 0.267vw;
    height: 60%;
    background: #fff;
    position: absolute;
    top: 20%;
    right: 0.133vw;
  }

  #case .caseFlex .conts .arrow_box .prevNav .dli-chevron-left {
    transform: translateX(-100%) translateY(-0.267vw) rotate(-135deg) scale(0.4);
    -webkit-transform: translateX(-100%) translateY(-0.267vw) rotate(-135deg) scale(0.4);
    -ms-transform: translateX(-100%) translateY(-0.267vw) rotate(-135deg) scale(0.4);
  }

  #case .caseFlex .conts .arrow_box .nextNav {
    padding: 0 5.333vw 0 0;
    transform: translateX(-0.8vw);
    -webkit-transform: translateX(-0.8vw);
    -moz-transform: translateX(-0.8vw);
  }

  #case .caseFlex .conts .arrow_box .nextNav .dli-chevron-right {
    color: #fff;
    transform: translateX(100%) translateY(-0.267vw) rotate(45deg) scale(0.4);
    -webkit-transform: translateX(100%) translateY(-0.267vw) rotate(45deg) scale(0.4);
    -ms-transform: translateX(100%) translateY(-0.267vw) rotate(45deg) scale(0.4);
    transition: all 0.3s ease 0s;
  }

  #case .caseFlex .caseSlide {
    width: 100%;
    padding: 5.333vw 0 0 0;
  }

  #case .caseFlex .caseSlide .box {
    width: 66.667vw;
    border-radius: 2.667vw;
    margin-right: 4.533vw;
    padding: 6.133vw 6.4vw 15.467vw 6.667vw;
    box-shadow: -0.667vw -0.667vw 0.667vw 0.4vw rgba(255, 255, 255, 0.8), 0.667vw 0.667vw 0.667vw 0.4vw rgba(201, 201, 201, 0.8);
  }

  #case .caseFlex .caseSlide .box .catList {
    margin-bottom: 2.133vw;
  }

  #case .caseFlex .caseSlide .box .catList .cat {
    width: 24vw;
    height: 5.067vw;
  }

  #case .caseFlex .caseSlide .box .catList .cat object a span {
    font-size: 2.667vw;
  }

  #case .caseFlex .caseSlide .box .imageBox {
    height: 24vw;
    border-radius: 2.667vw;
    margin-bottom: 2.933vw;
  }

  #case .caseFlex .caseSlide .box .imageBox .image {
    max-width: 37.333vw;
  }

  #case .caseFlex .caseSlide .box .serviceType {
    margin-bottom: 3.733vw;
  }

  #case .caseFlex .caseSlide .box .serviceType p {
    font-size: 2.667vw;
    padding: 0 3.2vw 0 0;
  }

  #case .caseFlex .caseSlide .box .logoType {
    padding: 1.333vw 0 1.333vw 3.2vw;
  }

  #case .caseFlex .caseSlide .box .logoType .logo {
    max-width: 13.867vw;
    line-height: 1;
    margin-right: 2.4vw;
  }

  #case .caseFlex .caseSlide .box .logoType .logo:last-child {
    margin-right: 0;
  }

  #case .caseFlex .caseSlide .box .boxConts h3 {
    font-size: 3.733vw;
    margin-bottom: 1.333vw;
  }

  #case .caseFlex .caseSlide .box .boxConts p {
    font-size: 3.733vw;
    line-height: 1.9285714;
    text-align: justify;
  }

  #case .logosLoop {
    margin-bottom: 10.4vw;
  }

  #case .logosLoop .loopTop {
    margin-bottom: 2.667vw;
  }

  #case .logosLoop .loopTop .logoImg.logo01 {
    width: 14.4vw;
  }

  #case .logosLoop .loopTop .logoImg.logo02 {
    width: 10.133vw;
  }

  #case .logosLoop .loopTop .logoImg.logo03 {
    width: 13.333vw;
  }

  #case .logosLoop .loopTop .logoImg.logo04 {
    width: 16vw;
  }

  #case .logosLoop .loopTop .logoImg.logo05 {
    width: 12.8vw;
  }

  #case .logosLoop .loopTop .logoImg.logo06 {
    width: 7.733vw;
  }

  #case .logosLoop .loopTop .logoImg.logo07 {
    width: 14vw;
  }

  #case .logosLoop .loopTop .logoImg.logo08 {
    width: 12.267vw;
  }

  #case .logosLoop .loopTop .logoImg.logo09 {
    width: 15.2vw;
  }

  #case .logosLoop .loopTop .logoImg.logo10 {
    width: 14vw;
  }

  #case .logosLoop .loopTop .logoImg.logo11 {
    width: 16.533vw;
  }

  #case .logosLoop .loopTop .logoImg.logo12 {
    width: 14vw;
  }

  #case .logosLoop .loopTop .logoImg.logo13 {
    width: 13.067vw;
  }

  #case .logosLoop .loopTop .logoImg {
    margin: 0 1.333vw;
  }

  #case .logosLoop .loopMiddle {
    margin-bottom: 2.667vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo01 {
    width: 19.333vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo02 {
    width: 14.267vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo03 {
    width: 18.133vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo04 {
    width: 15.867vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo05 {
    width: 16.267vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo06 {
    width: 16.267vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo07 {
    width: 5.2vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo08 {
    width: 9.067vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo09 {
    width: 16.933vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo10 {
    width: 17.333vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo11 {
    width: 16.933vw;
  }

  #case .logosLoop .loopMiddle .logoImg.logo12 {
    width: 8.533vw;
  }

  #case .logosLoop .loopMiddle .logoImg {
    margin: 0 1.333vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo01 {
    width: 20.533vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo02 {
    width: 13.333vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo03 {
    width: 11.867vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo04 {
    width: 10.8vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo05 {
    width: 15.733vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo06 {
    width: 12.8vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo07 {
    width: 15.6vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo08 {
    width: 22.533vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo09 {
    width: 15.6vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo10 {
    width: 18.133vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo11 {
    width: 14.267vw;
  }

  #case .logosLoop .loopBottom .logoImg.logo12 {
    width: 12.267vw;
  }

  #case .logosLoop .loopBottom .logoImg {
    margin: 0 1.333vw;
  }

  #case .btArea {
    display: flex;
    justify-content: center;
  }

  #case .btArea .button {
    width: 78.667vw;
    height: 12vw;
    margin: 0 auto 0;
  }

  #case .btArea .button a .tex {
    font-size: 3.733vw;
    letter-spacing: 0.06em;
  }

  #case .btArea .button a .arrow {
    right: 4vw;
    transform: translateY(-50%) scale(0.4);
    -webkit-transform: translateY(-50%) scale(0.4);
    -ms-transform: translateY(-50%) scale(0.4);
  }

  /*----------------------------------------------------
  #service
  ----------------------------------------------------*/

  #service {
    padding: 13.867vw 0 0 0;
  }

  #service .head {
    margin-bottom: 6.933vw;
  }

  #service .head h2 {
    margin-bottom: 7.467vw;
  }

  #service .head h2 b {
    font-size: 12.267vw;
    margin-bottom: 1.867vw;
    transform: translateX(-0.533vw);
    -webkit-transform: translateX(-0.533vw);
    -moz-transform: translateX(-0.533vw);
  }

  #service .head h2 small {
    font-size: 4vw;
    letter-spacing: 0.16em;
  }

  #service .head p {
    font-size: 4.533vw;
    line-height: 1.5294117;
    letter-spacing: 0.03em;
    text-align: left;
  }

  #service .serviceList {
    flex-direction: column;
    margin-bottom: 3.2vw;
  }

  #service .serviceList .box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7.467vw;
    border-radius: 2.667vw;
    box-shadow: rgba(0, 0, 0, 0.1) 0 0.533vw 1.6vw;
  }

  #service .serviceList .box .logoArea {
    border-radius: 0 0 2.667vw;
    width: 25.333vw;
    height: 11.467vw;
  }

  #service .serviceList .box01 .logoArea .typeLogo {
    max-width: 12.8vw;
    line-height: 1;
  }

  #service .serviceList .box02 .logoArea .typeLogo {
    max-width: 17.6vw;
    line-height: 1;
  }

  #service .serviceList .box03 .logoArea .typeLogo {
    max-width: 20.4vw;
    line-height: 1;
  }

  #service .serviceList .box .image {
    width: 100%;
    height: 50.667vw;
  }

  #service .serviceList .box .image:after {
    height: 10.4vw;
    bottom: -4.8vw;
  }

  #service .serviceList .box .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #service .serviceList .box .conts {
    padding: 6.4vw 0 11.733vw 0;
  }

  #service .serviceList .box .conts h3 {
    font-size: 6.4vw;
    margin-bottom: 0.533vw;
  }

  #service .serviceList .box .conts p {
    font-size: 4vw;
    line-height: 1.4;
    margin-bottom: 5.867vw;
  }

  #service .serviceList .box .conts .button {
    width: 50.133vw;
    height: 10.933vw;
  }

  #service .serviceList .box .conts .button .tex {
    font-size: 3.2vw;
    letter-spacing: 0.06em;
  }

  #service .serviceList .box .conts .button .arrow {
    right: 4.267vw;
    transform: translateY(-50%) scale(0.35);
    -webkit-transform: translateY(-50%) scale(0.35);
    -ms-transform: translateY(-50%) scale(0.35);
  }

  #service .serviceList .box .conts .button .arrow .dli-chevron-right {
    color: #fff;
  }

  #service .btArea {
    justify-content: center;
  }

  #service .btArea .button {
    width: 78.667vw;
    height: 12vw;
    margin: 0 auto 0;
  }

  #service .btArea .button a .tex {
    font-size: 3.733vw;
    letter-spacing: 0.06em;
  }

  #service .btArea .button a .arrow {
    right: 4vw;
    transform: translateY(-50%) scale(0.4);
    -webkit-transform: translateY(-50%) scale(0.4);
    -ms-transform: translateY(-50%) scale(0.4);
  }

}
