@charset "UTF-8";

/*
Theme Name: Nutmeg index
Description: Nutmeg index
Version: 2024.03
Author: YH
*/

#index {
	background: #020d2c;
}
#index footer>.inner {
  width: 50%;
}

#index .visual {
	
}

#index .visual>.inner {
  height: 100%;
}
#index.pc_view .visual>.inner {
	padding-top: 0 !important;
}

#index .visual .bg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  background: url(./images/bg_visual.jpg?v=1) no-repeat left top / cover;
  position: fixed;
  left: 0;
  top: 0;
  width: calc(100% - 120px);
  opacity: 0;
  transition: opacity 2s ease, transform 2s ease;
  transform: scale(1.05);
}
#index .visual.show .bg {
	opacity: 1;
	transform: scale(1);
}
#index.pc_view .visual .bg {height: 100% !important;}
#index .visual .bg .titlebox {
  width: 50%;
  box-sizing: border-box;
  padding: 0 0% 6% 5%;
  opacity: 0;
	transition: all 1s +0.7s ease;
	position: relative;
	left: -20px;
}
#index .visual.show .bg .titlebox {
	opacity: 1;
	left: 0px;
}
#index .visual.show .bg .titlebox.hide {
	display: none;
}

#index .visual .bg .titlebox .copy {
  font-size: 2.5vw;
  color: #fff;
  font-weight: bold;
  line-height: 1.7em;
  letter-spacing: 0.2em;
}

#index .visual .bg .titlebox .fbox {
  display: flex;
  align-items: center;
  margin-top: 6%;
}

#index .visual .bg .titlebox .fbox h1 {
  width: 38%;
}

#index .visual .bg .titlebox .fbox p {
  color: #fff;
  font-size: 0.9vw;
  margin: 1% 0 0 5%;
  letter-spacing: 0.2em;
}

#index .visual .message {
  position: fixed;
  top: 0;
  right: 120px;
  width: calc(50% - 60px);
  background: linear-gradient(to right, rgba(3, 16, 47, 0) 0%, rgba(3, 16, 47, 0.7) 100%);
  display: flex;
  align-items: center;
  padding: 0 0 0 5%;
  box-sizing: border-box;
  height: 100%;
  opacity: 0;
	transition: all 1s +1.4s ease;
	filter: blur(30px);
}
#index .visual.show .message {
	opacity: 1;
	filter: blur(0px);
}

#index .visual .message p {
  color: #fff;
  font-size: 0.9vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 2.3em;
}

#index .content {
  background: url(./common/images/bg_gray1.png) no-repeat center 16% / 100% auto, url(./common/images/bg_gray2.png) no-repeat center 60% / 100% auto;
  background-color: #fff;
  position: relative;
  z-index: 100;
  width: 50%;
  border-radius: 0 100px 0 0;
  box-sizing: border-box;
  padding: 150px 5% 2% 5%;
  overflow: hidden;
}

#index .content .sec {
  position: relative;
	opacity: 0;
	transition: all 1s ease;
}
#index .content .sec.active {
	opacity: 1;
}

#index .content .sec::before, #index .content .sec::after {
  content: "";
  position: absolute;
  display: block;
  width: 65px;
  height: 45px;
  background: url(./images/img_parts1_1.png) no-repeat center center / contain;
  top: -90px;
  left: 6%;
}

#index .content .sec::after {
  width: 239px;
  height: 206px;
  background-image: url(./images/img_parts2_1.png);
  top: -151px;
  left: auto;
  right: 6%;
	transition: all ease 1s;
}
#index .content .sec.active::after {
	transform: translate(0, 0) !important;
}

#index .content .sec .label {
  font-size: 40px;
  line-height: 1em;
  letter-spacing: 0.03em;
}

#index .content .sec .label span {
  color: #3ABDF3;
}

#index .content .sec h2 {
  font-size: 16px;
  font-weight: bold;
  margin: 7px 0 22px 0;
}

#index .content .sec a {
  display: block;
  position: relative;
}

#index .content .sec a p.text {
  font-size: 14px;
  margin-top: 22px;
}

#index .content .sec.corporate::after {
	transform: translate(0, -10px);
}
#index .content .sec.service {
  margin-top: 171px;
}

#index .content .sec.service::before {
  width: 86px;
  height: 73px;
  background-image: url(./images/img_parts1_2.png);
  left: 6%;
  top: -123px;
}

#index .content .sec.service::after {
  width: 255px;
  height: 225px;
  background-image: url(./images/img_parts2_2.png);
  top: -231px;
  left: auto;
  right: -12.5%;
	transform: translate(10px, 0);
}

#index .content .sec.team {
  margin-top: 220px;
}

#index .content .sec.team::before {
  width: 167px;
  height: 127px;
  background-image: url(./images/img_parts1_3.png);
  left: auto;
  right: 7%;
  top: -199px;
}

#index .content .sec.team::after {
  width: 334px;
  height: 264px;
  background-image: url(./images/img_parts2_3.png);
  top: -256px;
  left: -27.5%;
	transform: translate(-10px, 0);
}

#index .content .sec.team .more {
  float: right;
  margin-top: 40px;
}

#index .content .sec.team .label {
  margin-top: 24px;
}

#index .content .sec.vision {
  margin-top: 216px;
  width: 115%;
  position: relative;
  left: -7.5%;
}

#index .content .sec.vision::before {
  width: 119px;
  height: 97px;
  background-image: url(./images/img_parts1_4.png);
  left: 6.5%;
  top: -150px;
}

#index .content .sec.vision::after {
  width: 323px;
  height: 198px;
  background-image: url(./images/img_parts2_4.png);
  top: -215px;
  left: auto;
  right: -5.2%;
	transform: translate(10px, 0);
}

#index .content .sec.vision .info {
  position: absolute;
  left: 8%;
  top: 20%;
  z-index: 200;
  color: #fff
}

#index .content .sec.vision .info .label span {
  color: #fff;
}

#index .content .sec.vision .info .more {
  margin-top: 40px;
}

#index .content .sec.vision .img img {
  border-radius: 10px;
}

@media screen and (max-width: 1200px) {
	#index .content .sec .label {
		font-size: 32px;
	}
	#index .content .sec::after {
	  width: 169px;
	  height: 146px;
	  left: auto;
	  right: 0;
	}
	#index .content .sec.service::after {
	  width: 205px;
	  height: 225px;
	  left: auto;
	  right: -12.5%;
	  top: -211px;
	}
	#index .content .sec.team::after {
		width: 284px;
		height: 264px;
		top: -256px;
		left: -32.5%;
	}
	#index .content .sec.vision::after {
		width: 263px;
		height: 198px;
		top: -206px;
		right: -15.2%;
	}
}
@media screen and (max-width: 960px) {	
	#index footer>.inner {
	  width: auto;
	}
	
	#index .visual {
	}
	
	#index .visual>.inner {
	  height: auto;
	  display: block;
	  background: #050c2a;
	  padding-top: 160vw;
	}
	#index .visual .bg {
	  background: url(./images/bg_visual.jpg) no-repeat left top / 140% auto;
	  position: fixed;
	  left: 0;
	  top: 65px;
	  width: 100%;
	  height: 160vw;
	}
	
	#index .visual .bg .titlebox {
	  width: auto;
	  max-width: 600px;
	  box-sizing: border-box;
	  padding: 0 0% 15% 7%;
	}
	
	#index .visual .bg .titlebox .copy {
	  font-size: 35px;
	  color: #fff;
	  font-weight: bold;
	  line-height: 1.7em;
	  letter-spacing: 0.2em;
	}
	
	#index .visual .bg .titlebox .fbox {
	  display: flex;
	  align-items: center;
	  margin-top: 10%;
	}
	
	#index .visual .bg .titlebox .fbox h1 {
	  width: 42%;
	}
	
	#index .visual .bg .titlebox .fbox p {
	  color: #fff;
	  font-size: 14px;
	  margin: 1% 0 0 5%;
	  letter-spacing: 0.2em;
	}
	
	#index .visual .message {
	  width: auto;
	  background: linear-gradient(to bottom,  rgba(3,16,47,0) 0%,rgba(3,16,47,1) 36%,rgba(3,16,47,1) 100%);
	  display: flex;
	  align-items: center;
	  padding: 40% 0 40% 8%;
	  box-sizing: border-box;
	  height: auto;
	  position: relative;
	  right: auto;
	  left: auto;
	}
	
	#index .visual .message p {
	  color: #fff;
	  font-size: 16px;
	  font-weight: bold;
	  letter-spacing: 0.2em;
	  line-height: 2.3em;
	}
	
	#index .content {
	  background: url(./common/images/bg_gray1.png) no-repeat center 11% / 100% auto, url(./common/images/bg_gray2.png) no-repeat center 61% / 100% auto;
	  background-color: #fff;
	  position: relative;
	  z-index: 100;
	  width: auto;
	  border-radius: 0 70px 0 0;
	  box-sizing: border-box;
	  padding: 150px 5% 12% 5%;
	  overflow: hidden;
	  margin-top: -70px;
	}
	
	#index .content .sec {
	  position: relative;
	}
	
	#index .content .sec::before, #index .content .sec::after {
	  content: "";
	  position: absolute;
	  display: block;
	  width: 65px;
	  height: 45px;
	  background: url(./images/img_parts1_1.png) no-repeat center center / contain;
	  top: -90px;
	  left: 6%;
	}
	
	#index .content .sec::after {
	  width: 189px;
	  height: 163px;
	  background-image: url(./images/img_parts2_1.png);
	  top: -151px;
	  left: auto;
	  right: 3%;
	}
	
	#index .content .sec .label {
	  font-size: 40px;
	  line-height: 1em;
	  letter-spacing: 0.03em;
	}
	
	#index .content .sec .label span {
	  color: #3ABDF3;
	}
	
	#index .content .sec h2 {
	  font-size: 16px;
	  font-weight: bold;
	  margin: 7px 0 22px 0;
	}
	
	#index .content .sec a {
	  display: block;
	  position: relative;
	}
	
	#index .content .sec a p.text {
	  font-size: 14px;
	  margin-top: 22px;
	}
	
	#index .content .sec.service {
	  margin-top: 171px;
	}
	
	#index .content .sec.service::before {
	  width: 86px;
	  height: 73px;
	  background-image: url(./images/img_parts1_2.png);
	  left: 6%;
	  top: -123px;
	}
	
	#index .content .sec.service::after {
	  width: 237px;
	  height: 211px;
	  background-image: url(./images/img_parts2_2.png);
	  top: -219px;
	  left: auto;
	  right: -12.5%;
	}
	
	#index .content .sec.team {
	  margin-top: 220px;
	}
	
	#index .content .sec.team::before {
	  width: 147px;
	  height: 127px;
	  background-image: url(./images/img_parts1_3.png);
	  left: auto;
	  right: 1%;
	  top: -197px;
	}
	
	#index .content .sec.team::after {
	  width: 314px;
	  height: 249px;
	  background-image: url(./images/img_parts2_3.png);
	  top: -244px;
	  left: -27.5%;
	}
	
	#index .content .sec.team .more {
	  float: right;
	  margin-top: 40px;
	}
	
	#index .content .sec.team .label {
	  margin-top: 24px;
	}
	
	#index .content .sec.vision {
	  margin-top: 216px;
	  width: 106%;
	  position: relative;
	  left: -3%;
	}
	
	#index .content .sec.vision::before {
	  width: 110px;
	  height: 93px;
	  background-image: url(./images/img_parts1_4.png);
	  left: 4.5%;
	  top: -140px;
	}
	
	#index .content .sec.vision::after {
	  width: 307px;
	  height: 188px;
	  background-image: url(./images/img_parts2_4.png);
	  top: -205px;
	  left: auto;
	  right: -15.2%;
	}
	
	#index .content .sec.vision .info {
	  position: absolute;
	  left: 10%;
	  top: 14%;
	  z-index: 200;
	  color: #fff
	}
	
	#index .content .sec.vision .info .label span {
	  color: #fff;
	}
	
	#index .content .sec.vision .info .more {
	  margin-top: 40px;
	}
	
	#index .content .sec.vision .img .img_wrap {
		overflow: hidden;
	  border-radius: 10px;
	}
	#index .content .sec.vision .img .img_wrap img {
	  border-radius: 10px;
	  max-width: none;
	  width: 134%;
	  position: relative;
	  left: -17%;
	}
	
}
@media screen and (max-width: 767px) {	
	#index .visual .bg {
	  background: url(./images/bg_visual_sp.jpg) no-repeat center top / 100% auto;
	}
	#index .visual .bg .titlebox {
	  width: auto;
	  max-width: none;
	}
	#index .visual .bg .titlebox .copy {
	  font-size: 5.6vw;
	}
	#index .visual .bg .titlebox .fbox p {
	  font-size: 2.7vw;
	}
	#index .visual .message p {
	  font-size: 3.1vw;
	}
}
