@charset "UTF-8";


.mainvisual-area {
	position: relative;
	width: 100%;
	height: 580px;
	overflow: hidden;
}

.mainvisual-sp-area {
	display: none;
}


.mainvisual-area .sequence1 {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 7776;
}

.mainvisual-area .sequence1 .sequence1-1,
.mainvisual-area .sequence1 .sequence1-2,
.mainvisual-area .sequence1 .sequence1-3 {
	width: calc(100%/3);
	float: left;
}

*::-ms-backdrop, .mainvisual-area .sequence1 .sequence1-1 {
	width: 33.33%; /* IE11 */
}

*::-ms-backdrop, .mainvisual-area .sequence1 .sequence1-2 {
	width: 33.33%; /* IE11 */
}

*::-ms-backdrop, .mainvisual-area .sequence1 .sequence1-3 {
	width: 33.33%; /* IE11 */
}

.mainvisual-area .sequence1 .sequence1-1 img,
.mainvisual-area .sequence1 .sequence1-2 img,
.mainvisual-area .sequence1 .sequence1-3 img {
	display: none;
}

.mainvisual-area .sequence1 .sequence1-1 {
	height: 100%;
	background: url(../img/mainvisual1.jpg) left 0 no-repeat;
	background-size: cover;
}

.mainvisual-area .sequence1 .sequence1-2 {
	height: 100%;
	background: url(../img/mainvisual2.jpg) center 0 no-repeat;
	background-size: cover;
}

.mainvisual-area .sequence1 .sequence1-3 {
	height: 100%;
	background: url(../img/mainvisual3.jpg) right 0 no-repeat;
	background-size: cover;
}


.mainvisual-area .sequence1-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 580px;
	z-index: 8888;
}

.mainvisual-area .sequence1-cover .sequence1-cover-1,
.mainvisual-area .sequence1-cover .sequence1-cover-2,
.mainvisual-area .sequence1-cover .sequence1-cover-3 {
	position: relative;
	top: 0;
	left: 0;
	width: calc(100%/3);
	height: 580px;
	background: #fff;
	float: left;
}

*::-ms-backdrop, .mainvisual-area .sequence1-cover .sequence1-cover-1 {
	width: 33.33%; /* IE11 */
}

*::-ms-backdrop, .mainvisual-area .sequence1-cover .sequence1-cover-2 {
	width: 33.33%; /* IE11 */
}

*::-ms-backdrop, .mainvisual-area .sequence1-cover .sequence1-cover-3 {
	width: 33.33%; /* IE11 */
}

.mainvisual-area .slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 580px;
	z-index: 7777;
}

.mainvisual-area .mainvisual-title {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto auto;
	width: 580px;
	height: 172px;
	z-index: 9996;
}

.mainvisual-area .mainvisual-title img {
	display: block;
	width: 100%;
	height: auto;
}

.introcopy {
	padding: 100px 0;
	font-size: 24px;
	letter-spacing: 0.1em;
	text-align: center;
}





.contents-area1 {
	margin: 0 0 1px 0;
	padding: 0;
}

.contents-area1 .contents {
	position: relative;
}

.contents-area1 .contents a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.contents-area1 .contents a .title-en {
	position: absolute;
	top: 30px;
	left: 30px;
	display: block;
	width: 258px;
	height: auto;
	margin: 0;
	padding: 0;
}

.contents-area1 .contents a .title-en img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-area1 .contents a .title {
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 330px;
	height: 60px;
	margin: 0;
	padding: 0 20px;
	font-size: 18px;
	line-height: 60px;
	color: #fff;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	box-sizing: border-box;
/*	background: #008cff;
	background: -moz-linear-gradient(left, #008cff 0%, #2acc6b 100%);
	background: -webkit-linear-gradient(left, #008cff 0%,#2acc6b 100%);
	background: linear-gradient(to right, #008cff 0%,#2acc6b 100%);*/
}

.contents-area1 .contents a .title .arw {
	position: absolute;
	top: 26px;
	right: 20px;
	display: block;
	width: 28px;
	height: auto;
	margin: 0;
	padding: 0;
}


.contents-area1 .contents a:hover .title .arw {
	background:url(../img/idx_arw_o.png) no-repeat left top;
	background-size:28px;
}



.contents-area1 .contents a .title .arw img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-area1 .contents a:hover .title .arw img {
	opacity:0;
}

.contents-area1 .message,
.contents-area1 .keyword,
.contents-area1 .business,
.contents-area1 .group {
	width: 50%;
	height: 320px;
	float: left;
}

.contents-area1 .message {
	background: url(../img/idx_message.jpg) top center no-repeat;
	background-size: cover;
}

.contents-area1 .message a .title-en {
	width: 138px;
	height: auto;
}

.contents-area1 .keyword {
	background: url(../img/idx_keyword.jpg) top center no-repeat;
	background-size: cover;
	border-left: 1px solid #fff;
	box-sizing: border-box;
}

.contents-area1 .keyword a .title-en {
	width: 142px;
	height: auto;
}

.contents-area1 .business {
	background: url(../img/idx_business.jpg) top center no-repeat;
	background-size: cover;
}

.contents-area1 .business a .title-en {
	width: 257px;
	height: auto;
}

.contents-area1 .group {
	background: url(../img/idx_group.jpg) top center no-repeat;
	background-size: cover;
	border-left: 1px solid #fff;
	box-sizing: border-box;
}

.contents-area1 .group a .title-en {
	width: 256px;
	height: auto;
}








.contents-area2 {
	margin: 0;
	padding: 60px 0;
}

.contents-area2 ul {
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
}

.contents-area2 ul li {
	width: calc(100%/2 - 40px);
	height: 240px;
	margin: 0 40px 0 0;
	float: left;
}

.contents-area2 ul li:last-child {
	margin-right: 0;
	float:right;
}

.contents-area2 ul li a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.contents-area2 ul li a .title-en {
	position: absolute;
	top: 20px;
	left: 20px;
	display: block;
	width: 258px;
	height: auto;
	margin: 0;
	padding: 0;
}

.contents-area2 ul li a .title-en img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-area2 ul li a .title {
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 330px;
	height: 60px;
	margin: 0;
	padding: 0 20px;
	font-size: 18px;
	line-height: 60px;
	color: #fff;
	border: 1px solid #fff;
	border-bottom: none;
	box-sizing: border-box;
	background: #008cff;
	background: -moz-linear-gradient(left, #008cff 0%, #2acc6b 100%);
	background: -webkit-linear-gradient(left, #008cff 0%,#2acc6b 100%);
	background: linear-gradient(to right, #008cff 0%,#2acc6b 100%);
}

.contents-area2 ul li a .title .arw {
	position: absolute;
	top: 26px;
	right: 20px;
	display: block;
	width: 28px;
	height: auto;
	margin: 0;
	padding: 0;
}

.contents-area2 ul li a .title .arw img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-area2 ul li a:hover .title .arw  {
	background:url(../img/idx_arw_o.png) no-repeat left top;
	background-size:28px;
}

.contents-area2 ul li a:hover .title .arw  img {
	opacity:0;
}


.contents-area2 .talk {
	background: url(../img/idx_talk.jpg) top center no-repeat;
	background-size: cover;
}

.contents-area2 .talk a .title-en {
	width: 172px;
	height: auto;
}

.contents-area2 .style {
	background: url(../img/idx_style.jpg) top center no-repeat;
	background-size: cover;
}

.contents-area2 .style a .title-en {
	width: 187px;
	height: auto;
}





#footer {
	border-top: none;
}




.br-sp-main,
.br-sp{
	display:none;
}


.scrollIcon{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 48px;
	height: 50px;
	z-index: 9996;
	display:none;
}

.scrollIcon_item {
	display: table;
	margin: auto;
	height: 50px;
	position: relative;
	font-size: 14px;
	letter-spacing: 0.5px;
	color: #FFF;
}

.scrollIcon_item:after {
	content: "";
	position: absolute;
	display: block;
	width: 25px;
	height: 25px;
	border-right: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	bottom: 0px;
	right: 17px;
	transform: rotate(45deg);
}



/* ================================================== */
@media screen and (max-width: 1280px) {


.about-area .about-area-inner {
	width: auto;
	margin: 0 40px;
}

}
/* ================================================== */
@media screen and (max-width: 1200px) {
.contents-staff ul.staff-list{
	padding-left:0;
	padding-right:0;
	box-sizing:border-box;
	width:-webkit-calc((100% - 0)/1);
	width:-moz-calc((100% - 0)/1);
	width:calc((100% - 0px)/1);
}

.contents-area2 ul li {
	width: calc(100%/2 - 20px);
}


}
/* ================================================== */
@media screen and (max-width: 1180px) {

.contents-area {
	position: relative;
	margin: -120px 40px 0;
}

}

/* ================================================== */
@media screen and (max-width: 1120px) {

.contents-area .contents {
	width: calc( 50% - 20px );
}

.contents-area .contents .wn {
	min-height: 260px;
	margin: 40px 0 0 0;
	font-size: 14px;
}

.contents-area .contents .internship-banner {
	height: 140px;
}

.contents-area .contents .internship-banner .internship-title {
	padding: 16px 20px 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.contents-area .contents .internship-banner .internship-notice {
	position: absolute;
	bottom: 18px;
	left: 20px;
	font-size: 12px;
	color: #666;
	line-height: 1.5;
}

.contents-area .contents .internship-banner .internship-notice br {
	display: block;
}


.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: calc( 100% - 20px );
	height: 80px;
	margin: auto auto;
	text-align: left;
	border: 4px solid #fff;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-en {
	margin: 8px 0 0 12px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-cs {
	margin: -12px 10px 0 12px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	text-align: right;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .arw {
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 63px;
	height: 16px;
}


}



/* ================================================== */
@media screen and (max-width: 960px) {

.contents-area .contents .internship-banner a .arw {
	display: block;
	position: absolute;
	bottom: 22px;
	right: 10px;
	width: 43px;
	height: 11px;
}

.contents-area .contents .site-banner a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: #111133;
	color: #fff;
	font-size: 18px;
	line-height: 58px;
	letter-spacing: 0.05em;
	text-align: center;
	border: 2px solid #111133;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.contents-area .contents .site-banner a .arw {
	display: block;
	position: absolute;
	bottom: 18px;
	right: 10px;
	width: 43px;
	height: 11px;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-cs {
	margin: 3px 10px 0 12px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	text-align: right;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: calc( 100% - 20px );
	height: 80px;
	margin: auto auto;
	text-align: left;
	border: 2px solid #fff;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .arw {
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 43px;
	height: 11px;
}




.introcopy{
	padding-left:20px;
	padding-right:20px;
	box-sizing:border-box;
}

.contents-area2 ul li a .title-en,
.contents-area1 .contents a .title-en {
	top: 20px;
	left: 20px;
}


.contents-area2 ul li a .title-en img,
.contents-area1 .contents a .title-en img{
	width: auto;
	height:24px;
}

.br-sp{
	display:block;
}

}




/* ================================================== */
@media screen and (max-width: 767px) {

.mainvisual-area {
	height: 100%;

}

.mainvisual-area .sequence1-cover {
	height: 100%;
}

.mainvisual-area .sequence1-cover .sequence1-cover-1,
.mainvisual-area .sequence1-cover .sequence1-cover-2,
.mainvisual-area .sequence1-cover .sequence1-cover-3 {
	height: 100%;

}

.mainvisual-area .slide {
	height: 100%;
}

.mainvisual-area {
	position: relative;
	width: 100%;
	height: 60vw;
	background: #f1f1f1;
	overflow: hidden;
}

.mainvisual-area .mainvisual-title {
	position: absolute;
	/*top: 20vw;*/
	top:-80px;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 67.4%;
	height: auto;
	text-align: center;
}



.mainvisual-area .mainvisual-title span {
	display: block;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #fff;
}


/*.mainvisual-area {
	display: none;
}

.mainvisual-sp-area {
	display: block;
	max-width: 400px;
	margin: 100px auto 140px;
	padding: 0 20px
}*/

.mainvisual-sp-area .mainvisual-title-sp {
	line-height: 1.5;
}

.mainvisual-sp-area .mainvisual-title-sp span {
	display: block;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-align: center;
}

.scrollIcon {
	display:block;
}

.contents-area {
	position: relative;
	margin: 0;
}

.contents-area .contents {
	width: 100%;
	float: none;
}

.contents-area .contents-mate {
	margin: 1px 0 0 0;
	float: none;
}

.contents-area .contents .site-category, 
.contents-area .contents .wn, 
.contents-area .contents .internship-banner {
	display: none;
}

.contents-area .contents .site-banner {
	position: relative;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 70px;
}

.contents-area .contents .site-banner a {
	padding-top: 10px;
	font-size: 18px;
	line-height: 1.5;
}

.contents-area .contents .site-banner a span {
	display: block;
	font-size: 12px;
}

.contents-area .contents .site-banner a .arw {
	display: block;
	position: absolute;
	bottom: 14px;
	right: 10px;
	width: 43px;
	height: 11px;
}

.about-area {
	width: 100%;
	margin: 1px 0 0 0;
	padding: 40px 0 60px;
	background: #f4f0df;
}

.about-area .about-area-inner {
	width: auto;
	margin: 0 20px;
}

.about-area .about-area-inner .about-title {
	width: 240px;
	margin: 0 auto;
}

.about-area .about-area-inner .about-list {
	width: 100%;
	margin: 40px 0 0 0;
}

.about-area .about-area-inner .about-list .contents-card {
	width: 100%;
	margin: 0;
	float: none;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo img {
	display: block;
	width: 42%;
	height: auto;
	-webkit-transition: all .75s;
	transition: all .75s;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 10px;
	left: auto;
	width: calc(100% - 25%);
	height: 64px;
	margin: 0;
	text-align: left;
	background: #fff;
	border: 2px solid #111133;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.about-area .about-area-inner .about-list .contents-card .cs .contents-card-photo .catecogy {
	border: 2px solid #999;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-jp {
	margin: 13px 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #111133;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-en {
	margin: 8px 0 0 12px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	color: #111133;
}

.about-area .about-area-inner .about-list .contents-card .cs .contents-card-photo .catecogy .catecogy-title-jp,
.about-area .about-area-inner .about-list .contents-card .cs .contents-card-photo .catecogy .catecogy-title-en {
	color: #999;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .catecogy-title-cs {
	margin: -10px 10px 0 12px;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	color: #999;
	text-align: right;
}

.about-area .about-area-inner .about-list .contents-card a:hover .contents-card-photo img {
	transform: none;
}

.about-area .about-area-inner .about-list .contents-card a:hover .contents-card-photo img:not(.arw) {
	transform: none;
}

.about-area .about-area-inner .about-list .contents-card a:hover .contents-card-photo .catecogy {
	background: #111133;
	border: 2px solid #111133;
	box-sizing: border-box;
}

.about-area .about-area-inner .about-list .contents-card a:hover .contents-card-photo .catecogy .catecogy-title-jp {
	color: #fff;
}

.about-area .about-area-inner .about-list .contents-card a:hover .contents-card-photo .catecogy .catecogy-title-en {
	color: #fff;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .arw {
	display: none;
}

.about-area .about-area-inner .about-list .contents-card .contents-card-photo .catecogy .arw-sp {
	display: block;
	position: absolute;
	bottom: 14px;
	right: 10px;
	width: 43px;
	height: 11px;
}




}

/* ================================================== */
@media screen and (max-width: 700px) {

.introcopy {
	padding: 50px 20px;
	font-size: 20px;
}

.contents-area1 .message,
.contents-area1 .keyword,
.contents-area1 .business,
.contents-area1 .group {
	width: 100vw;
	height: 35vh;
	float: none;
}

.contents-area2 ul li a .title,
.contents-area1 .contents a .title{
	width:-webkit-calc((100% - 20px)/1);
	width:-moz-calc((100% - 20px)/1);
	width:calc((100% - 20px)/1);
}




.contents-area2 ul li:last-child,
.contents-area2 ul li{
	width:100%;
	float:none;
	margin: 0;
}


}


/* ================================================== */
@media screen and (max-width: 480px) {
.br-sp{
	display:none;
}

.introcopy{
	text-align:left;
}

.br-sp-main{
	display:block;
}

}


/* ================================================== */
@media screen and (max-width: 392px) {
.br-sp{
	display:block;
}
}


/* ================================================== */
@media screen and (max-width: 340px) {

.introcopy{
	letter-spacing: 0;
}


}



.loader,
.loader:after {
	border-radius: 50%;
	width: 4em;
	height: 4em;
	z-index: 9999;
}
.loader {
	margin: 60px auto;
	font-size: 10px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto auto;
	text-indent: -9999em;
	border-top: 0.5em solid rgba(0, 140, 255, 0.2);
	border-right: 0.5em solid rgba(0, 140, 255, 0.2);
	border-bottom: 0.5em solid rgba(0, 140, 255, 0.2);
	border-left: 0.5em solid rgba(0, 140, 255, 1);
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
