@charset "utf-8";

/*-------------------------------------------------------------------------
	株式会社DYM
	Style Sheet for Common Setting (#root)
	Date: 2015-01
	All content (c) RYNAPSE
-------------------------------------------------------------------------*/

/* =page structure
-------------------------------------------------------------------------*/
body {
	background: #F6F6F6;
}

section header {
	margin: 0 0 30px;
}

section header h1 {
	position: relative;
	font-weight: normal;
	font-size: 4rem;
	font-family: Didot, 'theanodidot', serif;
	text-align: center;
	text-transform: uppercase;
}

section header h1:after {
	content: '';
	position: absolute;
	left: 50%;
	display: block;
	width: 20px;
	height: 1px;
	margin: .2em 0 0 -10px;
	background: #1E2A5D;
}

section header h1 span {
	display: block;
	font-weight: bold;
	font-size: .6em;
	line-height: 1.6;
	text-transform: none;
}

section header p {
	font-weight: 600;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Roboto, 'Droid Sans', 'Yu Gothic', Meiryo, 'Meiryo UI', sans-serif;
	font-size: 1.4rem;
	text-align: center;
	margin: 1.5em 0 0;
}


/* =#intro
-------------------------------------------------------------------------*/
#intro {
	position: relative;
	color: #FFF;
	background: #131B3F;
	overflow: hidden;
}

.cb-slideshow,
.cb-slideshow:after {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
}

.cb-slideshow:after {
	content: '';
	background: transparent url("/images/temp/pattern.png") repeat 0 0;
}

.cb-slideshow li span {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	color: transparent;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	opacity: 0;
	z-index: 0;
	animation: imageAnimation 32s linear 0s;
	-webkit-animation: imageAnimation 32s linear 0s;
	-moz-animation: imageAnimation 32s linear 0s;
}

.cb-slideshow li:nth-child(1) span {
	background-image: url("/images/temp/worldmap.gif")
}

.cb-slideshow li:nth-child(2) span {
	background-image: url("/images/temp/intro/image02p.jpg");
	animation-delay: 6s;
	-webkit-animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) span {
	background-image: url("/images/temp/intro/image03p.jpg");
	animation-delay: 12s;
	-webkit-animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) span {
	background-image: url("/images/temp/intro/image04p.jpg");
	animation-delay: 18s;
	-webkit-animation-delay: 18s;
}

.cb-slideshow li:nth-child(5) span {
	background-image: url("/images/temp/intro/image05p.jpg");
	animation-delay: 24s;
	-webkit-animation-delay: 24s;
}

@keyframes imageAnimation {
	0% {
		opacity: 0;
		animation-timing-function: ease-in;
	}

	8% {
		opacity: 1;
		transform: scale(1.05);
		animation-timing-function: ease-out;
	}

	17% {
		opacity: 1;
		transform: scale(1.1);
	}

	25% {
		opacity: 0;
		transform: scale(1.1);
	}

	100% {
		opacity: 0
	}
}

@-webkit-keyframes imageAnimation {
	0% {
		opacity: 0;
		-webkit-animation-timing-function: ease-in;
	}

	8% {
		opacity: 1;
		-webkit-transform: scale(1.05);
		-webkit-animation-timing-function: ease-out;
	}

	17% {
		opacity: 1;
		-webkit-transform: scale(1.1);
	}

	25% {
		opacity: 0;
		-webkit-transform: scale(1.1);
	}

	100% {
		opacity: 0
	}
}

.cb-slideshow li div {
	z-index: 1000;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	opacity: 0;
	animation: titleAnimation 32s linear 0s;
	-webkit-animation: titleAnimation 32s linear 0s;
}

.cb-slideshow li:nth-child(2) div {
	animation-delay: 6s;
	-webkit-animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) div {
	animation-delay: 12s;
	-webkit-animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) div {
	animation-delay: 18s;
	-webkit-animation-delay: 18s;
}

@keyframes titleAnimation {
	0% {
		opacity: 0;
		transform: translateY(100px);
	}

	8% {
		opacity: 1;
		transform: translateY(-50%);
	}

	22% {
		opacity: 1;
	}

	23% {
		opacity: 0
	}

	100% {
		opacity: 0
	}
}

@-webkit-keyframes titleAnimation {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100px);
	}

	8% {
		opacity: 1;
		-webkit-transform: translateY(-50%);
	}

	22% {
		opacity: 1;
		-webkit-transform: translateY(-50%);
	}

	23% {
		opacity: 0;
		-webkit-transform: translateY(-50%);
	}

	100% {
		opacity: 0;
		-webkit-transform: translateY(-50%);
	}
}

.cb-slideshow li:nth-child(5) div {
	animation: titleAnimation2 32s linear 24s forwards;
	-webkit-animation: titleAnimation2 32s linear 24s forwards;
}

@keyframes titleAnimation2 {
	0% {
		opacity: 0;
		transform: translateY(100px);
	}

	8% {
		opacity: 1;
		transform: translateY(-50%);
	}

	38% {
		opacity: 1;
		transform: translateY(-50%);
	}

	100% {
		opacity: 1;
		transform: translateY(-50%);
	}
}

@-webkit-keyframes titleAnimation2 {
	0% {
		opacity: 0;
		-webkit-transform: translateY(100px);
	}

	8% {
		opacity: 1;
		-webkit-transform: translateY(-50%);
	}

	38% {
		opacity: 1;
		-webkit-transform: translateY(-50%);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(-50%);
	}
}

.cb-slideshow li div img {
	width: 180px;
}

.cb-slideshow li:nth-child(5) div img {
	width: 70%;
}


/* =#intro+section
-------------------------------------------------------------------------*/
#intro+section {
	position: relative;
	width: 92%;
	margin: 20px auto 30px;
	padding: 40px 30px 1px;
	background: #FFF;
	z-index: 10;
}

#intro+section>div {
	position: relative;
	width: 240px;
	height: 240px;
	margin: 0 auto 60px;
}

#intro+section>div a {
	display: block;
	width: 240px;
	height: 240px;
	text-align: center;
	background: #FFF url("/images/temp/keycopy-vision-w.svg") no-repeat 50% 18px;
	background-size: 180px auto;
	border: 1px solid #1E2A5D;
	transition: all .3s;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-ms-transition: all .3s;
}

#intro+section>div a h2 {
	width: 180px;
	margin: 30px auto;
}

#intro+section>div a p {
	display: inline-block;
	height: 4em;
	line-height: 4em;
	font-weight: 600;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Roboto, 'Droid Sans', 'YuGothic', Meiryo, 'Meiryo UI', sans-serif;
	letter-spacing: .1em;
	margin: 0 auto;
	padding: 0 35px 0 40px;
	background: #E6ECF3;
	border-radius: 3px;
}

#intro+section>div a:hover {
	background-color: #1E2A5D;
}

#intro+section>div a:hover h2 {
	opacity: 0;
}

#intro+section>div a:hover p {
	color: #FFF;
	background: #303A69;
}

#intro+section>div+p {
	position: relative;
	font-style: italic;
	font-family: 'Time New Roman', 'Droid Serif', serif;
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: left;
}

#intro+section>div+p:before {
	content: '\00201C';
	position: absolute;
	top: -.6em;
	left: -20px;
	font-family: 'Time New Roman', 'Droid Serif', serif;
	font-size: 6rem;
}


/* =.services
-------------------------------------------------------------------------*/
.services {
	margin: 0 0 30px;
	padding: 0 4%;
	overflow: hidden;
}

.services dl {
	position: relative;
	margin: 0 0 1px;
	background: #000;
}

.services dt {
	width: 100%;
	height: 180px;
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: cover;
	opacity: .7;
}

.services .web-promotion dt {
	background-image: url("/images/temp/services/lbl-web-promotion.jpg");
}

.services .new-graduates dt {
	background-image: url("/images/temp/services/lbl-new-graduates.jpg");
}

.services .hr-tech dt {
	background-image: url("/images/temp/services/hrtech01.jpg");
}

.services .m-and-a dt {
	background-image: url("/images/temp/services/m&a.investmenttraning.jpg");
}

.services .sports dt {
	background-image: url("/images/temp/services/sports_aboutimage.png");
}

.services .training dt {
	background-image: url("/images/temp/services/lbl-training.jpg");
}

.services .exe-part dt {
	background-image: url("/images/temp/services/lbl-exe-part.jpg");
}

.services .medicine dt {
	background-image: url("/images/temp/services/lbl-medicine.jpg");
}

.services .new-business dt {
	background-image: url("/images/temp/services/lbl-new-business-promotion.jpg");
}


.services dl:before {
	position: absolute;
	top: 20px;
	left: 20px;
	font-weight: 600;
	font-family: "游明朝", "YuMincho", HiraMinProN-W6, "Hiragino Mincho ProN", Meiryo, serif;
	font-size: 1.8rem;
	color: #FFF;
	z-index: 1000;
}

.services dl.web-promotion:before {
	content: 'WEB事業';
}

.services dl.new-graduates:before {
	content: '人材事業';
}

.services dl.hr-tech:before {
	content: 'HR Tech事業';
}

.services dl.m-and-a:before {
	content: 'M&A・教育育成事業';
}

.services dl.sports:before {
	content: 'スポーツ事業';
}

.services dl.training:before {
	content: '研修事業';
}

.services dl.exe-part:before {
	content: 'エグゼパート事業';
}

.services dl.medicine:before {
	content: '医療事業';
}

.services dl.new-business:before {
	content: '不動産事業';
}

.services dd {
	display: none;
	padding: 10px;
	background: #FFF;
}

.services ul {
	position: relative;
}

.services li {
	position: relative;
	float: left;
	overflow: hidden;
	width: 25%;
	height: 160px;
	background: #000;
	text-align: center;
	cursor: pointer;
}

.services li:nth-child(1),
.services li:nth-child(2) {
	width: 50%;
	/* height: 230px; */
}

//.services li:nth-child(4) { width: 34%; }

.services li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: .8;
	transition: opacity .35s;
	-webkit-transition: opacity .35s;
	-moz-transition: opacity .35s;
	-ms-transition: opacity .35s;
}

.services li.adjust img {
	top: -10%;
}

.services li>div {
	text-align: left;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.services li>div::before,
.services li>div::after {
	pointer-events: none;
}

.services li>div,
.services li>div>a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.services li>div>div {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
}

.services li:nth-child(1)>div>div,
.services li:nth-child(2)>div>div {
	height: 35%;
}

.services li>div>a {
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
	z-index: 1000;
}

.services li h2 {
	font-size: 2rem;
	font-weight: 600;
	font-family: "游明朝", "YuMincho", HiraMinProN-W6, "Hiragino Mincho ProN", Meiryo, serif;
	margin: 0 0 .5em 20px;
	transition: transform .35s;
	-webkit-transition: -webkit-transform .35s;
	-moz-transition: -moz-transform .35s;
	-ms-transition: -ms-transform .35s;
}

.services li h2,
.services li p {
	color: #FFF;
	transform: translate3d(0, 40px, 0);
	-webkit-transform: translate3d(0, 40px, 0);
	-moz-transform: translate3d(0, 40px, 0);
	-ms-transform: translate3d(0, 40px, 0);
}

.services li p {
	height: 200px;
	margin: 0;
	padding: 20px;
	font-size: 1.4rem;
	color: #000;
	background: #FFF;
	opacity: 0;
	transition: opacity .2s, transform .35s;
	-webkit-transition: opacity .2s, -webkit-transform .35s;
	-moz-transition: opacity .2s, -moz-transform .35s;
	-ms-transition: opacity .2s, -ms-transform .35s;
}

.services li:hover img,
.services li:hover p {
	opacity: 1;
}

.services li:hover h2,
.services li:hover p {
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
}

.services li:hover p {
	transition-delay: .05s;
	-webkit-transition-delay: .05s;
	-moz-transition-delay: .05s;
	-ms-transition-delay: .05s;
	transition-duration: .35s;
	-webkit-transition-duration: .35s;
	-moz-transition-duration: .35s;
	-ms-transition-duration: .35s;
}


/* =.news
-------------------------------------------------------------------------*/
.news {
	margin: 0;
	padding: 60px 20px 1px;
	background: #FFF;
}

.news .switcher {
	margin-bottom: .5rem;
	text-align: center;
}

.news .switcher button {
	color: #131b3f;
	background: #fff;
	border: 1px solid #131B3F;
	border-radius: 3px;
	font-size: 1.4rem;
	font-weight: 700;
	height: 30px;
	padding: 0 10px;
	margin: 0 .25rem;
}

.news .switcher button.active {
	background: #131B3F;
	color: #CCC;
}

.news .pkg {
	margin: 0 0 20px;
	border-top: 3px double #CCC;
	border-bottom: 3px double #CCC;
}

.news dl {
	padding: 5px 0;
	border-top: 1px solid #EEE;
}

.news dl:first-of-type {
	border-top-width: 0;
}

.news dt {
	color: #666;
}

.news dt+dd {
	display: block;
	font-weight: 600;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Roboto, 'Droid Sans', 'Yu Gothic', Meiryo, 'Meiryo UI', sans-serif;
	color: #000;
	margin: 0 0 1em;
}


.news dd a {
	display: block;
	font-weight: 600;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Roboto, 'Droid Sans', 'Yu Gothic', Meiryo, 'Meiryo UI', sans-serif;
	color: #333;
}

.news dd a:hover {
	color: #131B3F;
}

.news dd a>span {
	margin-top: 1em;
}

.news dd a>span span {
	width: 32px;
	height: 32px;
	margin-left: 5px;
	margin-right: 5px;
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	vertical-align: middle;
	background-color: #722222;
	background-size: cover;
	padding: 1px 5px;
	color: white;
}

#root .services li p {
	display: none;
}

#root .services li.row02 {
	width: 50%;
}

#root .services li.row03 {
	width: 33.33%;
}

/* =Media Query
-------------------------------------------------------------------------*/
@media only screen and (orientation: landscape) {
	.cb-slideshow li:nth-child(2) span {
		background-image: url("/images/temp/intro/image02.jpg");
	}

	.cb-slideshow li:nth-child(3) span {
		background-image: url("/images/temp/intro/image03.jpg");
	}

	.cb-slideshow li:nth-child(4) span {
		background-image: url("/images/temp/intro/image04.jpg");
	}

	.cb-slideshow li:nth-child(5) span {
		background-image: url("/images/temp/intro/image05.jpg");
	}
}

@media only screen and (min-device-width: 321px) {
	.services dt {
		height: 220px;
	}
}

@media only screen and (min-device-width: 376px) {
	.services dt {
		height: 240px;
	}
}

@media only screen and (max-device-width: 720px) and (orientation: landscape) {
	.services dl.adjust dt {
		background-position: 50% 60%;
	}
}

@media only screen and (orientation: landscape),
only screen and (min-width: 721px) {
	.news {
		position: relative;
		padding: 60px 0 30px;
		overflow: hidden;
	}

	.news header {
		width: 25%;
		float: left;
	}

	.news .pkg {
		width: 44%;
		float: left;
	}

	.news p.next {
		position: absolute;
		top: 220px;
		left: 12.5%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
}

@media only screen and (min-width: 721px) {
	#intro header {
		width: 600px;
	}

	.cb-slideshow li div img {
		width: 240px;
	}

	#intro+section {
		margin: -40px auto 6em;
		padding: 60px 50px 1px;
	}

	#intro+section>div,
	#intro+section>div a {
		width: 400px;
		height: 400px;
		background-position: 50% 60px;
		background-size: 300px auto;
	}

	#intro+section>div a h2 {
		width: 300px;
		margin: 60px auto;
	}

	#intro+section>div+p {
		font-size: 3rem;
		text-align: center;
		margin: 0 auto 2em;
	}

	.services {
		margin: 0;
		padding: 0;
	}

	.news {
		padding: 10em 0 6em;
	}

	.news p.next {
		top: 300px;
	}
}

@media only screen and (min-width: 901px) {
	#intro+section>div+p {
		width: 600px;
	}

	.services li {
		height: 200px;
	}

	/* .services li:nth-child(1),.services li:nth-child(2) { height: 260px; } */
	.services li {
		height: 260px;
	}
}

@media only screen and (min-width: 1025px) {
	.cb-slideshow li:nth-child(5) div img {
		width: 60%;
	}

	section header h1 {
		font-size: 6rem;
	}

	.services li {
		height: 280px;
	}

	/* .services li:nth-child(1),.services li:nth-child(2) { height: 400px; } */
	.services li {
		height: 400px;
	}

	.services li.row03 {
		height: 280px;
	}

	.services li h2 {
		font-size: 2.4rem;
		margin-left: 30px;
	}

	.services li p {
		padding: 20px 30px;
	}

	.news .pkg {
		width: 23%;
		margin: 0 5px;
	}

	.news p.next {
		top: 350px;
		font-size: 1.5rem;
	}
}

@media only screen and (min-width: 1025px) and (min-height: 801px) {
	.services li>div>a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: 200%;
		white-space: nowrap;
		font-size: 0;
		opacity: 0;
		z-index: 1000;
	}
}

@media only screen and (min-width: 1441px) {
	.services li.d-league img {
		margin-top: -24px !important;
	}
}

@media only screen and (min-width: 1600px) {
	.services li.d-league img {
		margin-top: -60px !important;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio:2),
only screen and (min--moz-device-pixel-ratio:2),
only screen and (min-device-pixel-ratio:2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx) {
	.cb-slideshow:after {
		background-image: url("/images/temp/pattern_@2X.png");
		background-size: 2px 2px;
	}
}


/* EOF
-------------------------------------------------------------------------*/