@charset "utf-8";
/* -----------------------------
	共通レイアウト
-------------------------------- */

.logo-block {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 10px;
}

.logo-block .logo {
	max-width: 400px;
}

@media screen and (max-width: 768px){
	
	.logo-block .logo {
		max-width: 240px;
	}

}

/* -----------------------------
	intro-area
-------------------------------- */
.intro-area {
	padding: 60px 0 80px;
	background: url("../img/dot.png");
}

.intro-area .catch-block {
	position: relative;
	padding: 40px 0 0;
	width: 100%;
}

.intro-area .catch {
	font-size: 5rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 20px;
}

.intro-area .txt-wrap {
	width: 650px;
}
/*
.intro-area .bg-wrap {
	position: absolute;
	top: 50px;
	right: 0;
}
.intro-area .bg-wrap img {
	width: 550px;
}
*/
.intro-area .bg-wrap {
	position: absolute;
	top: -50px;
	right: 0;
}
.intro-area dotlottie-player {
	width: 500px;
	height: auto;
}


@media screen and (max-width: 768px){
	.intro-area {
		padding: 40px 20px 20px;
	}
	
	.intro-area .catch-block {
		padding: 10px 0 0;
	}

	.intro-area .txt-wrap {
		width: 100%;
	}
	
	.intro-area .catch {
		font-size: 2.6rem;
		line-height: 1.6;
		margin: 0 0 10px;
	}
	/*
	.intro-area .bg-wrap {
		position: static;
		top: auto;
		right: auto;
		width: 100%;
		padding: 0 0 20px;
	}
	.intro-area .bg-wrap img {
		width: 100%;
		height: 200px;
	}
	*/
	.intro-area .bg-wrap {
		position: static;
		top: auto;
		right: auto;
		width: 100%;
		padding: 0;
		text-align: center;
	}
	.intro-area dotlottie-player {
		width: 250px;
		height: auto;
		margin: 0 auto 10px;
	}
	
	
	.cmn-index-block.index-wrap {
		padding: 0 20px 0 0;
	}
	
}


/* -----------------------------
	message-area
-------------------------------- */
.message-area {
	max-width: 1400px;
	margin: 0 auto;
	background: #ECF1F9;
}

.message-area .inner {
	/*
	display: flex;
	justify-content: space-between;
	*/
	position: relative;
	padding: 80px 0 60px;
}

.message-area .txt-wrap {
	width: 800px;
}
.message-area .catch {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.6;
	color: var(--navy);
	margin: 0 0 30px;
}
.message-area .basic-txt + .basic-txt {
	margin: 20px 0 0;
}

.message-area .img {
	position: absolute;
	width: 340px;
	right: 0;
	top: 90px;
}
.message-area .next-link {
	margin: 10px 0 0;
}

/*
.cmn-index-block.index-wrap {
	position: absolute;
	bottom: -20px;
}
*/


@media screen and (max-width: 768px){
	
	.message-area {
	}

	.message-area .inner {
		padding: 40px 20px;
	}

	.message-area .txt-wrap {
		width: 100%;
	}
	.message-area .catch {
		font-size: 2.2rem;
		margin: 0 0 20px;
	}
	.message-area .basic-txt + .basic-txt {
		margin: 15px 0 0;
	}

	.message-area .img {
		width: 140px;
		right: 0;
		top: -90px;
	}
	
	.message-area .next-link {
		margin: 20px 0 0;
		text-align: left;
	}
	/*
	.cmn-index-block.index-wrap {
		position: static;
		bottom: auto;
		padding: 0 20px 0 0;
	}
	*/
	
	
}


/* -----------------------------
	feature
-------------------------------- */
.ud-feature-area .feature-block {
	display: block;
	
	width: 1200px;
	margin: 60px auto 0;
	
	position: relative;
}
.ud-feature-area .feature-block + .feature-block {
	margin: 80px auto 0;
}

.ud-feature-area .feature-block .txt-wrap {
	width: calc(100% - 550px);
	padding: 0;
}
.ud-feature-area .feature-txt + .feature-txt {
	margin: 20px 0 0;
}
.ud-feature-area .feature-txt.wide {
	width: 1200px;
}

.feature-block .img {
	position: absolute;
	width: 480px;
	right: 0;
	top: 0;
}
.feature-block .img.team {
	width: 550px;
	right: -50px;
}
.feature-block .img img {
	width: 100%;
}

/*偶数番目のレイアウトを反転*/
.ud-feature-area .feature-block:nth-child(even) .txt-wrap {
	padding: 0;
}


/*チーム*/
.team-list {
	position: relative;
	width: 1200px;
	margin: 50px auto 0;
}
.team-list li {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 70px;
	position: relative;
	z-index: 0;
	color: #fff;
}

.team-list .num {
	color: #fff;
	font-size: 12.0rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	bottom: -15px;
	right: 30px;
	z-index: -1;
	opacity: .1;
}
.team-list .img-wrap {
	position: absolute;
	right: 50px;
	top: 80px;
	width: 370px;
}
.team-list .img-wrap dotlottie-player {
	width: 100%;
	height: auto;
}

.team-list .txt-wrap {
	width: 680px;
}
.team-list .list-name {
	line-height: 1;
}
.team-list .list-name span {
	font-size: 1.8rem;
	display: inline-block;
	background: #fff;
	padding: 5px;
	font-weight: bold;
	line-height: 1;
}

.team-list .list-ttl {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 10px 0 20px;
}
.team-list .list-txt {
	line-height: 2.0;
}
.team-list .list-txt + .list-txt {
	margin: 20px 0 0;
}

.team-list .list-txt span.under-line {
	background-image: linear-gradient(to right, #FFDF60 0%, #FFDF60 50%, transparent 50%);
	background-size: 200% 2px;
	font-weight: 500;
	padding: 0 0 2px 2px;
}
.team-list .list-txt span.under-line.is-animation{
	background-position: 0% 110%;
}


/*各指定*/
.team-list li.design {
	background: var(--blue);
}
.team-list li.design .list-name {
	color: var(--blue);
}
.team-list li.design .img-wrap {
	width: 400px;
	right: 30px;
}

.team-list li.system {
	background: #845FB2;
}
.team-list li.system .list-name {
	color: #845FB2;
}
.team-list li.system .img-wrap {
}


.team-list li.marketing {
	background: #15B190;
}
.team-list li.marketing .list-name {
	color: #15B190;
}
.team-list li.marketing .img-wrap {
	width: 440px;
	right: 10px;
	top: 50px;
}

.team-list li.writing {
	background: #9D9277;
}
.team-list li.writing .list-name {
	color: #9D9277;
}
.team-list li.writing .img-wrap {
}

.team-list li.support {
	background: #F68437;
}
.team-list li.support .list-name {
	color: #F68437;
}
.team-list li.support .img-wrap {
	width: 420px;
	top: 0;
	right: 30px;
}


@media screen and (max-width: 768px){
	
	.ud-feature-area {
		padding: 40px 0 0;
	}
	
	.ud-feature-area .feature-block {
		width: 100%;
		padding: 0 20px;
		margin: 40px auto 0;
	}
	
	.ud-feature-area .feature-block {
		width: 100%;
	}
	.ud-feature-area .feature-block + .feature-block {
		margin: 40px auto 0;
	}

	.ud-feature-area .feature-block .txt-wrap {
		width: 100%;
	}
	.ud-feature-area .feature-txt + .feature-txt {
		margin: 15px 0 0;
	}
	.ud-feature-area .feature-txt.wide {
		width: 100%;
	}

	.feature-block .img,
	.feature-block .img.team{
		position: static;
		width: 100%;
		right: auto;
		top: auto;
		padding: 0 0 20px;
	}
	.feature-block .img img {
		width: 100%;
	}

	/*偶数番目のレイアウトを反転*/
	.ud-feature-area .feature-block:nth-child(even) {
	}
	.ud-feature-area .feature-block:nth-child(even) .txt-wrap {
	}

	
	/*チーム*/
	.team-list {
		width: 100%;
		margin: 40px 0 0;
	}
	
	.team-list li {
		width: 100%;
		padding: 40px 20px;
		justify-content: center;
		margin: 0;
	}
	
	/*
	.team-list .img-wrap {
		width: 40%;
		max-width: 200px;
	}
	*/
	
	.team-list .img-wrap {
		position: static;
		right: auto!important;
		top: auto!important;
		width: 100%!important;
		max-width: 200px;
	}
	.team-list li.support .img-wrap dotlottie-player {
		margin: 0 auto -30px;
	}

	.team-list .txt-wrap {
		width: 100%;
		padding-left: 0;
	}

	.team-list .list-name {
		display: flex;
		justify-content: center;
		margin: 10px 0 0;
	}
	.team-list .list-name span {
		font-size: 1.7rem;
	}
	
	.team-list .list-ttl {
		font-size: 2.1rem;
		margin: 10px 0 20px;
		text-align: center;
		line-height: 1.5;
	}
	
	.team-list .num {
		font-size: 5rem;
		bottom: initial;
		right: initial;
		left: 50%;
		transform: translateX(-50%);
		top: 30px;
		text-align: center;
		width: 100%;
		opacity: .2;
	}
	
	.team-list .cmn-more-btn {
		margin: 0;
		width: 100%;
	}
	
	.team-list .list-txt span.under-line {
		background-size: 200% 2px;
	}
	
	.team-list .cmn-more-btn{
		border-color: #fff;
	}
	.team-list .cmn-more-btn::before,
	.team-list .cmn-more-btn::after {
		background: #fff;
	}
	
}

	
/* -----------------------------
	slide-area
-------------------------------- */
.slide-area {
    position: relative;
    overflow: hidden;
	height: 500px;
}

.slide-area .slider {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slide-area .slider::before {
    content: "";
    background: url("../img/works-slider.png") center/cover;
    width: 440%;
    height: initial;
    aspect-ratio: 8920 / 2680;
    position: absolute;
    top: -200%;
    left: -300%;
    animation: works-slider 60s linear infinite;
    transform: rotate(10deg) translateX(0%);
}

.slide-area .slider::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #122C5A;
    opacity: .1;
}

@keyframes works-slider {
  0% {
    -webkit-transform: rotate(15deg) translateX(0%);
    transform: rotate(15deg) translateX(0%);
  }
  100% {
    -webkit-transform: rotate(15deg) translateX(50%);
    transform: rotate(15deg) translateX(50%);
  }
}

@media screen and (max-width: 768px){
	.slide-area {
		height: 250px;
		margin: 0;
	}
	
	.slide-area .slider::before {
		width: 500%;
		top: -60%;
		right: -200%;
		animation: works-slider 30s linear infinite;
		transform: rotate(10deg) translateX(0%);
	}
	
}



/* -----------------------------
	onlyone-area
-------------------------------- */
.onlyone-area {
	padding: 60px 0 80px;
	background: url("../img/dot.png");
}

.onlyone-area .catch-block {
	position: relative;
	padding: 40px 0 0;
	width: 100%;
}

.onlyone-area .catch {
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 20px;
}

.onlyone-area .txt-wrap {
}
.onlyone-area .basic-txt {
	width: 780px;
}

/*
.onlyone-area .bg-wrap {
	position: absolute;
	top: 50px;
	right: 0;
}
.onlyone-area .bg-wrap img {
	width: 550px;
}
*/

.onlyone-area .bg-wrap {
	display: inline-block;
	position: absolute;
	top: 0;
	right: -4%;
}
.onlyone-area dotlottie-player {
	width: 450px;
	height: auto;
}

@media screen and (max-width: 768px){
	.onlyone-area {
		padding: 40px 20px 50px;
	}
	
	.onlyone-area .catch-block {
		padding: 10px 0 0;
	}

	.onlyone-area .txt-wrap {
		width: 100%;
	}
	.onlyone-area .basic-txt {
		width: 100%;
		margin: -60px 0 0;
	}
	
	.onlyone-area .catch {
		font-size: 2.6rem;
		line-height: 1.6;
		margin: 0 0 15px;
	}
	
	.onlyone-area .bg-wrap {
		position: static;
		top: auto;
		right: auto;
		width: 100%;
		padding: 0;
		text-align: center;
	}
	/*
	.onlyone-area .bg-wrap img {
		width: 100%;
		height: 200px;
	}
	*/
	
	.onlyone-area dotlottie-player {
		width: 320px;
		height: auto;
		margin: -60px auto 0;
	}
	
	.onlyone-area .office-area .office-btn {
		margin: 30px 0 0;
	}
	
}


/* -----------------------------
	user-flow-area
-------------------------------- */
.user-flow-area {
	margin: 0 auto 0;
}

@media screen and (max-width: 768px){
	
	.user-flow-area {
		margin: 40px auto 0;
	}
	
}



