@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 .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.jpeg"); }


.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: 100;
	}

.services dl.web-promotion:before { content: 'WEB事業'; }
.services dl.new-graduates: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;
    }


/* =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; }
	}

@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 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 ( -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
-------------------------------------------------------------------------*/
