@charset "UTF-8";
html {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ, Meiryo", sans-serif;
}
body,
body *{
	margin:0;
	padding:0;
}
body{
	color:#fff;
	background:#000;
	font-feature-settings: "palt";
	letter-spacing: 0.19em;
}
li{
	list-style:none;
}
em{
	font-style:normal;
}
a {
	text-decoration:none;
	transition: opacity 0.2s;
}
a:hover {
	opacity:.7;
}
img{
	height:auto;
	vertical-align: bottom;
}
section{
	position: relative;
}
section .ctsInner {
  max-width: 860px;
  width: 82%;
  margin: 0 auto;
  position: relative;
}
section p.bgText {
  color: #191919;
  position: absolute;
  letter-spacing: 0.04em;
  font-weight: 500;
  font-size: 7.4em;
  right: -0.01em;
  transform: rotate(270deg);
  transform-origin: 100% 100%;
  line-height: 0.75;
  font-family: "Outfit", sans-serif;
  bottom: 5.76em;
  font-weight: 600;
}
.anm{
	opacity:0;
}
.mask{
  -webkit-mask-image: linear-gradient(-75deg, transparent 50%, black 60%);
  mask-image: linear-gradient(-75deg, transparent 50%, black 60%);
  -webkit-mask-position-x: 100%;
  -webkit-mask-size: 270%;
  transition-delay: 0.1s;
}
.mask.end{
  -webkit-mask-position-x: 0%;
  transition: -webkit-mask-position-x 1.4s cubic-bezier(0.31, 0.24, 0.21, 0.95);
}
.mask.green{
  mask-image: linear-gradient(-90deg, transparent 55%, black 55%);
  -webkit-mask-position-x: 100%;
  -webkit-mask-size: 270%;
  transition-delay: 0.1s;
}
.mask.end{
  -webkit-mask-position-x: 0%;
  transition: -webkit-mask-position-x 0.9s cubic-bezier(0.56, 0.1, 0.21, 0.95);
}
.mask.mask_v{
  -webkit-mask-image: linear-gradient(-10.3deg, transparent 58%, black 60%);
  mask-image: linear-gradient(-10.3deg, transparent 55%, black 60%);
  -webkit-mask-size: 100% 300%;
  -webkit-mask-position-y: 90%;
  transition-delay: 0.1s;
}
.mask.mask_v:after{}
.mask.mask_v.end{
  -webkit-mask-position-y: 1%;
  transition: -webkit-mask-position-y 1.5s cubic-bezier(0.18, 0.34, 0.4, 0.87)
}
.mask.mask_d{
  -webkit-mask-image: linear-gradient(-11.2deg, transparent 50%, black 60%);
  mask-image: linear-gradient(-11.2deg, transparent 50%, black 50%);
  -webkit-mask-size: 100% 270%;
  -webkit-mask-position-y: 90%;
}
.mask.green{
	position:relative;
}
.mask.green:after{
	content:"";
	position:absolute;
	background: #40eb18;
	width:100%;
	height: 100%;
	left: 0;
	top: 0%;
	transform-origin: 100% 0%;
}
.mask.green.end{transition: -webkit-mask-position-x 1s cubic-bezier(0.56, 0.1, 0.04, 0.98);}
.mask.green.end:after{
	left: 100%;
	width: 0%;
	transition: 0.6s cubic-bezier(0.68, 0.09, 0.21, 1.01);
	transition-delay: 0.38s;
	opacity: 0.9;
}
.anm.mask.mask_v.green.end:after{
	left:0;
	width:100%;
	height: 0%;
	top: 100%;
}
.anm.mask.mask_d.end{
  -webkit-mask-position-y: 0%;
  transition: -webkit-mask-position-y 1.5s cubic-bezier(0.18, 0.34, 0.4, 0.87);
	transition-delay: 0.3s;
}

/*============================
#ctsHeader
============================*/
#ctsHeader {
  position: fixed;
  width: 100%;
  height: 3em;
  z-index: 100;
}
#ctsHeader h1.logo {
  position: absolute;
  width: 8.35em;
  margin: 0.13em 0 0 1.25em;
}
.single #ctsHeader h1.logo{
	filter: drop-shadow(0 0 10px #000) drop-shadow(0 0 10px black);
}
#ctsHeader h1.logo a img {
  width: 100%;
}
#ctsHeader nav.gNav {
  font-family: "Outfit", sans-serif;
}
#ctsHeader nav.gNav ul {
  justify-content: end;
  display: flex;
  margin-right: 1.8em;
  margin-top: 1.6em;
}
#ctsHeader nav.gNav li {
  margin-left: 2.6em;
  min-width: 4.2em;
  vertical-align: bottom;
  height: 0.95em;
  opacity: 0;
}
#ctsHeader nav.gNav li a {
  letter-spacing: 0.04em;
  color: #40eb18;
  background: rgb(0 0 0 / 70%);
  font-weight: 600;
  font-size: max(17px, 1.2em);
  line-height: 0.7;
  padding-bottom: 0.04em;
  overflow: hidden;
  display: inline-block;
}

/*============================
#top
============================*/
main#top {
  overflow: hidden;
  display: block;
}

/*============================
#ctsHero
============================*/
#ctsHero {
  position: relative;
  max-height: calc(100vh - 3em);
  overflow: hidden;
}
#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide {
  width: 100%;
}
#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide picture {
  width: 100%;
}
#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide picture div{
  width: 100%;
position:relative;
	height:100%;
	transition: 4s cubic-bezier(0.09, 0.25, 0.01, 1.02)
}
#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide picture img {
  width: 102%;
  margin-left: -2%;
  object-fit: cover;
}

#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide img{

	transition-delay:1s;
}
#ctsHero .pressArea {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: rgb(64 235 24 / 70%);
  z-index: 2;
  padding: 0 0.4em 0;
	transition:background .2s;
}
#ctsHero .pressArea:hover{
	background: rgb(31 126 10 / 80%);
}
#ctsHero .pressArea a{display:inline-block;padding: 0.18em 0.2em 0.3em;color:#000;transition:color .3s;}
#ctsHero .pressArea a + a{
	margin-left:1em;
}
#ctsHero .pressArea a:hover{
  color:#ffffff;
}
#ctsHero .pressArea .pressLead {
  color: #000;
  font-size: 0.9em;
  letter-spacing: 0.06em;
  font-weight: 500;
  white-space: nowrap;
}
#ctsHero .pressArea .pressLead span {
  letter-spacing: 0.06em;
  display: inline-block;
}
#ctsHero .pressArea .pressLead a:after {
  content: "";
  position: relative;
  width: 2em;
  margin-left: 0.54em;
  height: 0.53em;
  display: inline-block;
  background: url(../img/arrow_release.svg) no-repeat;
}
section h2.subTitle {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1306px;
  width: 91vw;
  font-size: 2.73em;
  letter-spacing: 0.07em;
  font-weight: 600;
  color: #40eb18;
  font-family: "Outfit", sans-serif;
}
section  h2.subTitle span{
    line-height: 0.8em;
    display: inline-block;
}
section h2.subTitle span.anchor{
	position:absolute;
	margin-top:-3.5em;
}
#ctsHero .pattern,
#ctsHero .cover{
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/pattern_kv1.png);
  left: 0;
  top: 0;
  z-index: 1;
  pointer-events: none;
}
#ctsHero .cover{
	background:#000;
}
#ctsHero .logoMask {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  mask-image: url("../img/mask_kv.svg"); /*マスク用画像*/
  mask-repeat: no-repeat;
  mask-position: 3% 0;
  mask-size: auto 100%;
  -webkit-mask-image: url("../img/mask_kv.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 21%;
  -webkit-mask-size: auto 97.7%;
  opacity: 0;
}
#ctsHero .logoMask .figure,
#ctsHero .logoMask span{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#ctsHero .logoMask img{
  width: 102%;
  margin-left: -2%;
}
#ctsHero .figure {
  width: 100%;
}
#ctsHero .logoMask .pattern {
  background: url(../img/pattern_kv2.png);
}
/*============================
#ctsAbout
============================*/
#ctsAbout .ctsInner {
  padding: 3.7em 0 8em;
}
#ctsAbout .aboutBody .logo {
  width: 31.6em;
  margin: 1.6em 0 4.2em -0.25em;
}
#ctsAbout .aboutBody .logo img {
  width: 100%;
}
#ctsAbout .aboutBody .aboutCatch {
  font-size: 2.1em;
  color: #40eb18;
  line-height: 1.65;
  margin-bottom: 1.14em;
}
#ctsAbout .aboutBody .aboutCatch em {
  font-size: 1.2em;
  letter-spacing: 0.09em;
  display: inline-block;
}
#ctsAbout .aboutBody .aboutCatch span {display: inline-block;}
#ctsAbout .aboutBody p {
  margin-bottom: 1.4em;
  line-height: 2.3;
  font-size: 1.125em;
  letter-spacing: 0.1em;
}

/*============================
#ctsTeam
============================*/
#ctsTeam {
}
#ctsTeam .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #191919;
  transform: skewY(-11.2deg);
}
#ctsTeam p.bgText {
  color: #000;
  bottom: 7.64em;
}
#ctsTeam p.bgText.v2 {
  transform: rotate(90deg);
  transform-origin: 0% 100%;
  right: auto;
  left: 0;
  bottom: auto;
  top: 3.85em;
}
#ctsTeam .ctsInner {
  padding: 0em 0 4em;
}
#ctsTeam h2.subTitle {
  text-align: right;
  max-width: 1086px;
  margin-bottom: 1.83em;
}
#ctsTeam ul.teamList {
}
#ctsTeam ul.teamList li.member {
  display: flex;
  justify-content: space-between;
  margin-bottom: 7.3em;
}
#ctsTeam ul.teamList li.member:nth-child(2n) {
  flex-direction: row-reverse;
  margin-bottom: 6.6em;
}
#ctsTeam ul.teamList li.member figure.memberThumb {
  margin-left: -0.05em;
}
#ctsTeam ul.teamList li.member:nth-child(2n) figure.memberThumb {
  margin: -0.6em 0.7em 0 0;
}
#ctsTeam ul.teamList li.member figure.memberThumb .memberBg {
  position: absolute;
  margin: 1.25em 0 0 0.6em;
  width: 18em;
}
#ctsTeam ul.teamList li.member figure.memberThumb .memberBg.end {
  transition: -webkit-mask-position-y 0.8s cubic-bezier(0.43, 0.08, 0.09, 0.88);
}
#ctsTeam ul.teamList li.member figure.memberThumb span {
	display:block;
	/* width: 18em; */
	position: relative;
}
#ctsTeam ul.teamList li.member figure.memberThumb span.green:after{
	transform: skewY(-11.3deg);
	height: 86.8%;
}
#ctsTeam ul.teamList li.member figure.memberThumb span.green.end:after{height: 0%;top: 0;top: 86.8%;transition: 0.7s 
cubic-bezier(0.68, 0.09, 0.21, 1.01);transition-delay: 0.4s;}
#ctsTeam ul.teamList li.member figure.memberThumb span.end {
		transition: -webkit-mask-position-y 0.9s cubic-bezier(0.33, 0.12, 0, 0.96);
		transition-delay: 0.2s;
}
#ctsTeam ul.teamList li.member figure.memberThumb img {
  position: relative;
  width: 18em;
}
#ctsTeam ul.teamList li.member .memberBody {
  width: 56.4%;
}
#ctsTeam ul.teamList li.member .memberBody p.memberRole {
  font-family: "Outfit", sans-serif;
  margin: 0.7em 0 1.1em;
  font-size: 1.35em;
  font-weight: 200;
}
#ctsTeam ul.teamList li.member .memberBody p.memberRole.pos1{
  margin-top:.3em;
  padding-top: 1.7em;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName {
  margin-bottom: 1.7em;
  display: inline-block;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName.end {
  transition-delay: 0.1s;
}
#ctsTeam ul.teamList li.member .memberBody h4{
	font-weight: 400;
	margin: -1.5em 0 1.9em;
	display: inline-block;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName.end:after{
	transition: 0.6s 
cubic-bezier(0.68, 0.09, 0.21, 1.01);
	transition-delay: 0.48s;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName span {
  color: #000;
  line-height: 0.9;
  font-size: 1.6em;
  padding-bottom: 0.04em;
  display: inline-block;
  position: relative;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName span:before{
	content:"";
	background: #40eb18;
	position: absolute;
	left: .05em;
	top: 0;
	width: calc(100% - .15em);
	height: 100%;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName span b{
	position:relative;
	font-weight: 700;
}
#ctsTeam ul.teamList li.member .memberBody h3.memberName small {
  color: #40eb18;
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 0.88em;
  letter-spacing: 0.04em;
  margin-left: 0.74em;
  margin-bottom: -0.1em;
  display: inline-block;
  vertical-align: bottom;
}
#ctsTeam ul.teamList li.member .memberBody p.memberBio {
  margin-bottom: 1.4em;
  word-break: break-all;
  line-height: 1.71;
  font-size: 0.95em;
  text-align: justify;
  letter-spacing: 0.08em;
  font-weight: 300;
}
#ctsTeam ul.teamList li.member .memberBody p.memberBio.end{
	transition-delay:.4s;
}

/*============================
#ctsService
============================*/
#ctsService p.bgText {
  top: 7.2em;
  bottom: auto;
}
#ctsService p.bgText.v2 {
  transform: rotate(90deg);
  transform-origin: 0% 100%;
  right: auto;
  left: 0;
  bottom: 7.85em;
  top: auto;
}
#ctsService .ctsInner {
  padding: 12.5em 0 0.6em;
}
#ctsService h2.subTitle {
  max-width: 1286px;
}
#ctsService .serviceItem {
  position: relative;
  padding: 2.6em 0 7.2em;
}
#ctsService .serviceItem:nth-of-type(2n) {
  padding-bottom: 7.4em;
}
#ctsService .serviceItem header.serviceHead span.serviceNum {
  position: absolute;
  right: -0.106em;
  font-family: "Gotham", "Outfit", sans-serif;
  font-weight: 600;
  font-size: 19.2em;
  top: -0.1em;
  line-height: 1;
  color: #191919;
  display: inline-block;
}
#ctsService .serviceItem header.serviceHead h3.serviceTitle {
  font-size: 1.73em;
  color: #40eb18;
  line-height: 1.52;
  letter-spacing: 0.12em;
  margin-bottom: 0.5em;
}
#ctsService .serviceItem .serviceBody p {
  margin-bottom: 3.65em;
  line-height: 2;
  font-size: 1em;
  letter-spacing: 0.1em;
  color: #;
}
#ctsService .serviceItem .serviceBody img{
	width:100%;
}
#ctsService .serviceItem:nth-of-type(2n) {
  width: 118%;
  left: 50%;
  transform: translateX(-50%);
  max-width: 82vw;
}
#ctsService .serviceItem:nth-of-type(2n) header.serviceHead span.serviceNum {
  left: 0.1em;
  top: 0em;
  width: 0.6em;
}
#ctsService .serviceItem:nth-of-type(2n) header.serviceHead h3.serviceTitle {
  text-align: right;
  margin-right: 0.3em;
  position: relative;
}
#ctsService .serviceItem:nth-of-type(2n) .serviceBody p {
  text-align: right;
  margin-right: 0.4em;
  position: relative;
}
#ctsService .serviceItem .serviceBody figure.serviceShots div{
	width: 52.228%;
	display: inline-block;
	margin: -0.65em 0 0 48%;
}
#ctsService .serviceItem .serviceBody figure.serviceShots div.end{
	    transition: -webkit-mask-position-y 1.2s cubic-bezier(0.67, 0.23, 0.13, 0.96);
}
#ctsService .serviceItem .serviceBody figure.serviceShots div img{
	width:100%;
	margin: 0;
	z-index: 0;
}
#ctsService .serviceItem .serviceBody figure.serviceShots img {
  position: relative;
}
#ctsService .serviceItem .serviceBody figure.serviceShots .img1{
	z-index:2;
	position: relative;
}
#ctsService .serviceItem .serviceBody figure.serviceShots .img2 {
  margin: -13.98em 0 0 5%;
  z-index: 1;
}
#ctsService .serviceItem .serviceBody figure.serviceShots .img3 {
  margin: -2.75em 0 0 36.1%;
  width: 50.75%;
}
#ctsService #service03.serviceItem header.serviceHead span.serviceNum {
  top: 0.02em;
  right: -0.28em;
}
#ctsService #service03.serviceItem .serviceBody figure.serviceShots img {
  width: 77.443%;
  margin: -0.65em 0 0 -0.6em;
}
#ctsService #service03.serviceItem .serviceBody figure.serviceShots img.end {
	    transition: -webkit-mask-position-y 1.2s cubic-bezier(0.67, 0.23, 0.13, 0.96);
}
#ctsService #service03.serviceItem .serviceBody ul {
  display: flex;
  margin: -5.7em 0 0 21.1%;
  z-index: 2;
  position: relative;
  justify-content: space-between;
  width: 84%;
}
#ctsService #service03.serviceItem .serviceBody li {
  text-align: center;
  width: 21.125em;
  z-index: 1;
}
#ctsService #service03.serviceItem .serviceBody li:after {
  content: "";
  position: absolute;
  width: 4em;
  height: 5em;
  margin: 4.6em 0 0 -1.85em;
  background: url(../img/connect_service03.svg) no-repeat;
  left: 50%;
  top: 0;
  background-size: contain;
}
#ctsService #service03.serviceItem .serviceBody li img {
  width: 100%;
}
#ctsService #service03.serviceItem .serviceBody li p {
  display: block;
  letter-spacing: 0.08em;
  color: #40eb18;
  background: rgb(0 0 0 / 70%);
  font-weight: 500;
  font-size: 1.2em;
  line-height: 1.1;
  letter-spacing: 0.05em;
  margin: 0.5em 0 0;
  padding-bottom: 0.04em;
  overflow: hidden;
  font-family: "Outfit", sans-serif;
}

/*============================
#ctsNetwork
============================*/
#ctsNetwork {
  padding: 1.2em 0 0;
}
#ctsNetwork:after {
  content: "";
  width: 100%;
  position: absolute;
  background: #191919;
  height: 33em;
  bottom: 0;
}
#ctsNetwork .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #191919;
  transform: skewY(-11.2deg);
}
#ctsNetwork p.bgText {
  bottom: auto;
  top: -1.15em;
  color: #000;
  letter-spacing: 0.05em;
  z-index: 1;
}
#ctsNetwork .ctsInner {
  padding: 1.35em 0 7.5em;
  text-align: center;
  z-index: 1;
}
#ctsNetwork h2.subTitle {
  text-align: right;
  max-width: 1080px;
  line-height: 1.17;
}
#ctsNetwork figure.worldMap {
  width: 103.955%;
  margin: 4.35em 0 0 -1.8em;
}
#ctsNetwork figure.worldMap img {
  width: 100%;
}
#ctsNetwork p.networkNote {
  display: inline-block;
  text-align: left;
  font-size: 1.05em;
  line-height: 2.2;
  margin: 2.9em 0px 2em 0.9em;
}

/*============================
#ctsContact
============================*/
#ctsContact {
  /* margin-top: -30em; */
  background: #000;
  padding: 0.4em 0 2.6em;
}
#ctsContact h2.subTitle {
  text-align: center;
  margin: 0.7em 0;
}
#ctsContact p.contactEmail {
  text-align: center;
}
#ctsContact p.contactEmail a {
  color: #fff;
  font-size: 1.45em;
  font-weight: 300;
  text-decoration: underline;
  font-family: "Outfit", sans-serif;
}

/*============================
#ctsFooter
============================*/
#ctsFooter {
  background: #000;
  text-align: center;
  padding: 1.8em 0; /* margin-top: 0; */
  z-index: 1;
  position: relative;
}
#ctsFooter .ctsInner {
  font-size: 0.73em;
  font-weight: 300;
  letter-spacing: 0.1em;
}



.news-popup {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}
.news-popup.is-active {
  display: block;
}
.news-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}
.news-popup__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  width: 100%;
  max-height: 100%;
  transform: translate(-50%, -50%);
  background: #000;
  overflow: auto;
  padding: 20px 0 100px;
}
.news-popup__close {
  position: absolute;
  top: 19px;
  right: 39px;
  width: 130px;
  height: 60px;
  background: #000 url(/assets/img/close_popup.png) no-repeat center;
  font-size: 0;
  opacity: .8;
}
.news-popup__close:hover{
	background: #000 url(/assets/img/close_popup.png) no-repeat;
	opacity:1;
}
body.is-news-popup-open {
  overflow: hidden;
}


@media screen and (min-width: 769px) {
	.forsp{
		display: none !important;
	}
}
@media screen and (max-width: 1080px) {
	body{
		font-size:1.482vw;
	}
}
@media screen and (max-width: 768px) {
	body{
		font-size: 3.32vw;
	}
	.forpc{
		display: none !important;
	}
	section .ctsInner {
	  max-width: 100%;
	  width: 84%;
	}
	section p.bgText {
	  letter-spacing: 0.02em;
	  font-size: 5.5em;
	  right: -0.11em;
	  bottom: 6.36em;
	}
	
	/*============================
	#ctsHeader
	============================*/
	#ctsHeader {
	  height: 3em;
	}
	#ctsHeader h1.logo {
	  width: 5.43em;
	  margin: 0.33em 0 0 0.61em;
	}
	#ctsHeader .menuBtn {
		position: absolute;
		right: 0;
		top: 0;
		width: 5.4em;
		height: 5em;
		z-index: 2;
	}
	#ctsHeader .menuBtn span{
		position: absolute;
		background: #2dff00;
		height: 2px;
		width: 64%;
		top: 50%;
		margin-top: -1px;
		margin-left: 15%;
		transform: translateY(-0.35em);
		transition: transform 0.3s cubic-bezier(0.46, 0.19, 0.25, 1);
	}
	#ctsHeader .menuBtn span:last-child{
		transform: translateY(0.35em);
	}
	#ctsHeader.open .menuBtn span{
		background:#fff;
		transform: translateY(0em)  rotate(-201deg) scaleX(-1);
		height: 1px;
	}
	#ctsHeader.open .menuBtn span:last-child{
		transform: translateY(0.35em);
		transform: translateY(0em)  rotate(201deg) scaleX(-1);
	}
	#ctsHeader nav.gNav{
		position:absolute;
		height: 0vh;
		overflow: hidden;
		background: rgb(0 0 0 / 85%);
		transition: height 0.2s cubic-bezier(0.29, 0.11, 0.06, 1);
		z-index: 1;
	}
	#ctsHeader.open nav.gNav{
		height: 100dvh;
		transition: height 0.4s 
		cubic-bezier(0.29, 0.11, 0.06, 1);
	}
	#ctsHeader nav.gNav ul {
	  margin: 0 0em;
	  display: flex;
	  flex-wrap: wrap;
	  height: 100%;
	  align-items: center;
	  padding: calc(50dvh - 12.5em) 0;
	  box-sizing: border-box;
	  transform: translateY(-2em);
	  transition: transform 0.8s 
  cubic-bezier(0.29, 0.11, 0.06, 1);
	}
	#ctsHeader.open nav.gNav ul {
		transform: translateY(0);
	}
	#ctsHeader nav.gNav li {
	  margin-left: 0;
	  min-width: 4.2em;
	  width: 100%;
	  opacity: 1;
	  height: auto;
	}
	#ctsHeader nav.gNav li a {
	  letter-spacing: 0.04em;
	  padding: 0.8em 1.5em;
	  font-size: 2.2em;
	  background: none;
	  line-height: 0.7;
	  display: block;
	}

	#ctsHero .pattern{
	  background: url(../img/pattern_kv1.png);
	  background-size:2px 2px;
	}
	#ctsHero .logoMask .pattern {
	  background: url(../img/pattern_kv2.png);
	  background-size:5px 5px;
	}
	
	/*============================
	#ctsHero
	============================*/
	#ctsHero .pressArea {
	  padding: 0.01em 0.4em 0.13em;
	  line-height: 1.4;
	}
	#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide{
		height: 22.12em;
	}
	#ctsHero .swiper.kvSwiper .swiper-wrapper .swiper-slide picture img{
		height: 100%;
	}
	#ctsHero .pressArea .pressLead {
	  font-size: 0.96em;
	  letter-spacing: 0.06em;
	  overflow: hidden;
	}
	#ctsHero .pressArea .pressLead span {
	  letter-spacing: 0.06em;
	}
	#ctsHero .pressArea a{
		padding: 0.28em 0.2em 0.2em;
	}
	#ctsHero .pressArea .pressLead a:after {
	  width: 3.5em;
	  margin-left: 0.44em;
	  background-size: contain;
	  height: 0.53em;
	}
	section h2.subTitle {
	  max-width: 1306px;
	  width: 90vw;
	  font-size: 1.73em;
	  letter-spacing: 0.07em;
	}
	#ctsHero .logoMask {
	  mask-position: 3% 0;
	  mask-size: auto 100%;
	  -webkit-mask-position: 0 51%;
	  -webkit-mask-size: auto 74.8%;
	}
	#ctsHero .logoMask img {
	height: 100%;
	object-fit: cover;
	}
	/*============================
	#ctsAbout
	============================*/
	#ctsAbout .ctsInner {
	  padding: 1.6em 0 5em;
	}
	#ctsAbout .aboutBody .logo {
	  width: 16.6em;
	  margin: 1.9em 0 1.7em 0.1em;
	}
	#ctsAbout .aboutBody .aboutCatch {
	  font-size: 1.3em;
	  line-height: 1.55;
	  margin-bottom: 0.84em;
	  margin-left: 0.2em;
	}
	#ctsAbout .aboutBody .aboutCatch em {
	  font-size: 1.24em;
	  letter-spacing: 0.09em;
	  margin-bottom: 0.2em;
	  display: inline-block;
	}
	#ctsAbout .aboutBody .aboutCatch em:first-of-type{
		margin-bottom: -0.1em;
	}
	#ctsAbout .aboutBody p {
	  margin-bottom: 1em;
	  line-height: 1.65;
	  font-size: 1.125em;
	  letter-spacing: 0.1em;
	  left: 0.2em;
	  position: relative;
	}
	
	/*============================
	#ctsTeam
	============================*/
	#ctsTeam {
	}
	#ctsTeam p.bgText {
	  bottom: 11.24em;
	}
	#ctsTeam p.bgText.v2 {
	  bottom: auto;
	  top: 10.95em;
	  left: -0.1em;
	}
	#ctsTeam .ctsInner {
	  padding: 1.7em 0 0.6em;
	}
	#ctsTeam h2.subTitle {
	  max-width: 85vw;
	  margin-bottom: 0.95em;
	}
	#ctsTeam ul.teamList {
	}
	#ctsTeam ul.teamList li.member {
	  margin-bottom: 5.1em;
	  display: block;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) {
	  margin-bottom: 5.6em;
	}
	#ctsTeam ul.teamList li.member figure.memberThumb {
	  margin-left: -0.45em;
	  position: absolute;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) figure.memberThumb {
	  margin: -0.6em 0.7em 0 0;
	  right: -0.6em;
	  left: auto;
	}
	#ctsTeam ul.teamList li.member figure.memberThumb img{
		width: 11.58em;
	}
	#ctsTeam ul.teamList li.member figure.memberThumb .memberBg {
	  margin: 0.8em 0 0 0.4em;
	  width: 11.58em;
	}
	#ctsTeam ul.teamList li.member .memberBody {
	  width: 100%;
	}
	#ctsTeam ul.teamList li.member .memberBody p.memberRole {
	  margin: 0 0 0.9em 53.1%;
	  font-size: 1.05em;
	  padding-top: 4.3em;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) .memberBody p.memberRole.pos2{
		padding-top: 3.3em;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) .memberBody p.memberRole{
		margin-left: 0;
		text-align: right;
		width: 47.1%;
		padding-top: 5.6em;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName {
	  margin-bottom: 0;
	  margin-left: 53.3%;
	  min-height: 10.9em;
	}
	#ctsTeam ul.teamList li.member .memberBody h4 {
	  margin-bottom: 6.4em;
	  margin-left: 53.3%;
	  min-height: 0;
	  margin-top: -0.9em;
	  font-size: 0.8em;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName.splimit{
	  min-height: 5.9em;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) .memberBody h3.memberName {
		margin-left: 0;
		text-align: right;
		width: 46.1%;
		min-height: 9.1em;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) .memberBody h3.memberName.splimit{
		min-height: 3.6em;
	}
	#ctsTeam ul.teamList li.member:nth-child(2n) .memberBody h4 {
		margin-left: 0;
		text-align: right;
		min-height: 0;
		min-width: 14.7em;
		padding-right: 0em;
		margin-top: 0.3em;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName span {
	  line-height: 0.8;
	  font-size: 1.7em;
	  padding-bottom: 0.13em;
	  margin-bottom: 0.26em;
	  display: inline-block;
	  white-space: nowrap;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName span + br + span{
		margin-top: -0.2em;
		top: -0.14em;
		margin-bottom: 0.05em;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName small {
	  font-size: 0.92em;
	  letter-spacing: 0.04em;
	  margin-left: 0;
	  display: block;
	  margin-bottom: -0.1em;
	}
	#ctsTeam ul.teamList li.member .memberBody p.memberBio {
	  margin-bottom: 1.4em;
	  line-height: 1.77;
	  font-size: 0.95em;
	  letter-spacing: 0.08em;
	}
	#ctsTeam ul.teamList li.member .memberBody h3.memberName.end:after{
		max-height: 3em;
	}
	
	/*============================
	#ctsService
	============================*/
	#ctsService p.bgText {
	  top: 7.2em;
	  opacity: 0;
	}
	#ctsService p.bgText.v2 {
	  bottom: 13.75em;
	  top: auto;
	  left: -0.2em;
	  opacity: 1;
	}
	#ctsService .ctsInner {
	  padding: 5.1em 0 2em;
	}
	#ctsService h2.subTitle {
	  max-width: 1286px;
	}
	#ctsService .serviceItem {
	  padding: 2.6em 0 2.7em 0.2em;
	}
	#ctsService .serviceItem .serviceBody img{
		width: 101.115%;
	}
	#ctsService .serviceItem:nth-of-type(2n) {
	  padding-bottom: 2.7em;
	}
	#ctsService .serviceItem header.serviceHead span.serviceNum {
	  right: -0.025em;
	  font-size: 12.4em;
	  top: -0.33em;
	  line-height: 1;
	}
	#ctsService .serviceItem header.serviceHead h3.serviceTitle {
	  font-size: 1.26em;
	  line-height: 1.52;
	  letter-spacing: 0.12em;
	  margin-bottom: 0.8em;
	  position: relative;
	}
	#ctsService .serviceItem .serviceBody p {
	  margin-bottom: 2.15em;
	  line-height: 1.6;
	  font-size: 1em;
	  letter-spacing: 0.16em;
	}
	#ctsService .serviceItem:nth-of-type(2n) {
	  width: 100%;
	  margin-left: 0.7em;
	}
	#ctsService .serviceItem:nth-of-type(2n) header.serviceHead span.serviceNum {
	  left: -0.21em;
	  top: -0.1em;
	}
	#ctsService .serviceItem:nth-of-type(2n) header.serviceHead h3.serviceTitle {
	  margin-right: 0.3em;
	}
	#ctsService .serviceItem:nth-of-type(2n) .serviceBody p {
	  margin-right: 0.4em;
	}
	#ctsService .serviceItem .serviceBody figure.serviceShots div {
	  width: 73.928%;
	  margin: -1.25em 0 0 25.8%;
	}
	#ctsService .serviceItem .serviceBody figure.serviceShots .img2 {
	  margin: -0.98em 0 0 -7%;
	  width: 75.028%;
	}
	#ctsService .serviceItem .serviceBody figure.serviceShots .img3 {
	  margin: -1.65em 0 0 16.7%;
	  width: 72.25%;
	  z-index: 0;
	}
	#ctsService #service03.serviceItem header.serviceHead span.serviceNum {
	  top: -0.13em;
	  right: -0.12em;
	}
	#ctsService #service03.serviceItem .serviceBody figure.serviceShots img {
	  width: 99.643%;
	  margin: -0.65em 0 0 -0.3em;
	}
	#ctsService #service03.serviceItem .serviceBody ul {
	  margin: -2.5em 0 0 6.1%;
	  width: 84%;
	}
	#ctsService #service03.serviceItem .serviceBody li {
	  width: 9.925em;
	}
	#ctsService #service03.serviceItem .serviceBody li:after {
	  width: 1.7em;
	  height: 2.1em;
	  margin: 2.3em 0 0 -0.75em;
	}
	#ctsService #service03.serviceItem .serviceBody li p {
	  letter-spacing: 0.08em;
	  font-size: 0.8em;
	  line-height: 1.5;
	  margin: 0.4em 0 0;
	  padding-bottom: 0.04em;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  min-height: 2.2em;
	}
	
	/*============================
	#ctsNetwork
	============================*/
	#ctsNetwork {
	  padding: 1.2em 0 0;
	}
	#ctsNetwork:after {
	  height: 5em;
	}
	#ctsNetwork .bg {
	  transform: skewY(-11.2deg);
	}
	#ctsNetwork p.bgText {
	  top: -1.15em;
	  letter-spacing: 0.05em;
	  opacity: 0;
	}
	#ctsNetwork .ctsInner {
	  padding: 1.35em 0 3.7em;
	}
	#ctsNetwork h2.subTitle {
	  max-width: 84vw;
	  line-height: 1.17;
	}
	#ctsNetwork figure.worldMap {
	  width: 96.255%;
	  margin: 2.45em 0 0 0.5em;
	}
	#ctsNetwork p.networkNote {
	  font-size: 1em;
	  line-height: 1.6;
	  margin: 1.9em 0px 0em 0.4em;
	}
	
	/*============================
	#ctsContact
	============================*/
	#ctsContact {
	  padding: 0.4em 0 1.1em;
	}
	#ctsContact h2.subTitle {
	  margin: 1.1em 0 0.5em;
	}
	#ctsContact p.contactEmail {
	font-size: 0.9em;
	letter-spacing: 0.1em;
	}
	#ctsContact p.contactEmail a {
	  font-size: 1.45em;
	}
	
	/*============================
	#ctsFooter
	============================*/
	#ctsFooter {
	  padding: 1.8em 0;
	}
	#ctsFooter .ctsInner {
	  font-size: 0.73em;
	  letter-spacing: 0.13em;
	}
	.news-popup__close{
		right: 0;
		top: 3vw;
		width: 28vw;
		background-size: contain;
		height: 13vw;
	}
}
