@charset "UTF-8";
/* CSS Document */




/* **************************************************************** */
/*             MAIN-IMAGE  LAYOUT
/* **************************************************************** */

/* video */
.video{
  width: 100%;
  height: 90vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

.video::after{
  content: '';
  width: 100%;
  height: 90vh;
  background-color: #10394b;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .3;
}

.video video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}





.main {
	width: 100%;
	height: 90vh;
	margin: 0;
	padding: 0;
	float: left;
}

.main .copy {
	width: 60%;
	margin: 0 30% 0 0;
	padding: 30px 5%;
	float: left;
	font-size: 2vw;
	letter-spacing: 0.1em;
	line-height: 3vw;
	color: #FFF;
	text-shadow: 3px 3px 3px #000;
	background-color: rgba(237,108,0,0.70);
	top:60vh;
	left: 0;
	position: absolute;
	display: block;
	animation:grow 1.5s ease-in-out 1;
}

.main .copy br.mb { display: none; }

.main .copy .copy_sub {
	font-size: 1.5vw;
	font-weight: 400;
	line-height: 1.8vw;
	margin-top: 10px;
}

@keyframes grow { 0% , 40% , 60% , 100%
  	{
      transform:scale(0.0);
    }
    100%{
       transform:scale(1);
    }
  }
  
.main h1.copy { animation-delay:0s; }


/* **************************************************************** */
/*             CONTENTS  LAYOUT
/* **************************************************************** */

.contents.frontpage {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 50px 0;
	z-index: 99;
}


.contents.frontpage .block {
	width: 92%;
	margin: 50px 2%;
	padding: 20px 2%;
	float: left;
	background-color: #FFF;
	border-radius: 30px;
}

.contents.frontpage .block .box,
.contents.frontpage .block .photo {
	width: 50%;
	margin: 0;
	padding: 0;
}

.contents.frontpage .block .photo img {
	border-radius: 20px;
}

.contents.frontpage .block .box p {
	width: 80%;
	float: left;
}

.contents.frontpage .block .box p.right {
	margin: 0 5% 0 10%;
}

.contents.frontpage .block .box p.left {
	margin: 0 10%;
}

/* **************************************************************** */
/*             COMPANY  LAYOUT
/* **************************************************************** */

.contents.frontpage .company {
	width: 100%;
	height: 800px;
	margin: 0;
	padding: 0;
	float: left;
	background-image: url("../image/top/company_bg.webp");
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: cover;
	z-index: 0;
}

.contents.frontpage .company .filter {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	float: left;
	background-color: rgba(0,0,0,0.50);
}

.contents.frontpage .company h2 {
	width: 100%;
	margin: 100px 0;
	text-align: center;
	color: #FFF;
	font-weight: 400;
	font-size: 46px;
}

.contents.frontpage .company h2 span {
	font-size: 20px;
}

.contents.frontpage .company .box {
	width: 90%;
	margin: 0 5% 50px;
	padding: 0;
	float: left;
	display: flex;
}

.contents.frontpage .company .box p {
	color: #FFF;
	margin: auto;
}

.contents.frontpage .company .readmore {
	margin: 50px 0 0;
}

.contents.frontpage .company .readmore a {
	margin: 0 auto;
	float: none;
}

/* **************************************************************** */
/*             CASESTUDY  LAYOUT
/* **************************************************************** */

.contents.frontpage .case_study {
	width: 100%;
	margin: 50px 0;
	padding: 0;
	float: left;
}

.contents.frontpage .case_study h2.title {
	width: 380px;
	margin-top: 30px;
	background-color: #ED6C00;
	border-left: #ED6C00 30px solid;
	box-sizing: border-box;
}

.contents.frontpage .case_study .title dl {
	width: 350px;
	margin: 0;
	min-width: auto;
	background-color: initial;
	float: right;
}

.case_study .case_list {
	width: 96%;
	margin: 50px 2%;
	float: left;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.case_study .case_list a {
	padding: 20px;
	color: #4C4948;
	background-color: #F2F2F2;
	transition: ease 0.5s all;
}

.case_study .case_list a:hover {
	box-shadow: 0 0 2px 3px #999;
}

.case_study .case_list table {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.case_study .case_list table td:nth-of-type(1) {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	vertical-align: middle;
	float: left;
}

.case_study .case_list table td:nth-of-type(1) img {
	max-width: 180px;
	max-height: 180px;
	margin: auto;
}

.case_study .case_list table td:nth-of-type(2) {
	width: 100%;
	padding: 20px 0;
	float: left;
}

.case_study .case_list a table h2 {
	font-size: 18px;
	margin: 0;
	padding: 0;
	line-height: 25px;
}

.case_study .case_list table .cat {
	width: 100%;
	margin: 10px 0;
	float: left;
}

.case_study .case_list table .cat ul {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.case_study .case_list table .cat ul li {
	width: auto;
	margin: 0 10px 0 0;
	padding: 3px 5px;
	text-align: center;
	font-size: 95%;
	float: left;
	background-color: #ED6C00;
	color: #FFF;
}

.case_study .case_list table .cat ul li a {
	display: block;
	float: none;
	background-color: #ED6C00;
	color: #FFF;
	padding: 3px 10px;
}

.case_study .case_list table p {
	letter-spacing: 0;
	line-height: 25px;
}

.case_study .case_list a table .readmore {
	width: 200px;
	line-height: 40px;
	margin: 1em 20px 0;
	padding: 0;
	float: right;
	text-align: center;
	background-color: #FFF;
	border-radius: 20px;
	background-image: url("../image/common/arr_round_org.png");
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: center right 20px;
	transition: ease 0.5s all;
}

.case_study .case_list a:hover table .readmore {
	background-color: #ED6C00;
	color: #FFF;
	background-image: url("../image/common/arr_round_wh.png");
}

/* **************************************************************** */
/*             TOPICS  LAYOUT
/* **************************************************************** */

.contents.frontpage .topics {
	width: 100%;
	margin: -300px 0 0;
	float: left;
	display: flex;
}

.contents.frontpage .topics .block .box {
	width: 88%;
	margin: 0;
	padding: 0 6% 30px;
	float: left;
}

.contents.frontpage .topics .block .title dl {
	float: left;
	width: 100%;
}

.contents.frontpage .topics .block .box a {
	width: 100%;
	display:block;
	color: #4C4948;
	border-bottom: #FFF 1px solid;
	transition: ease 0.5s all;
	box-sizing: border-box;
}

.contents.frontpage .topics .block .box a:hover {
	border-bottom: #ED6C00 1px solid;
}

.contents.frontpage .topics .block table {
	width: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}

.contents.frontpage .topics .block table td:nth-of-type(1) {
	width: 150px;
	margin: 0;
	padding: 5px 0;
	vertical-align: top;
}

.contents.frontpage .topics .block table td:nth-of-type(1) p {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	float: left;
	border: #ED6C00 1px solid;
	box-sizing: border-box;
	border-radius: 0.7em;
	color: #ED6C00;
}

.contents.frontpage .topics .block table td:nth-of-type(2) {
	padding: 5px 30px 5px 10px;
	background-image: url("../image/common/arr_topi_org.png");
	background-repeat: no-repeat;
	background-position: center right 10px;
}

.contents.frontpage .topics .block {
	max-width: 960px;
	width: 90%;
	margin: 50px auto;
	float: none;
}

.contents.frontpage .topics ul {
	width: 90%;
	margin: 0 5%;
	padding: 0;
	float: left;
}

.contents.frontpage .topics ul li {
	width: 98%;
	margin: 0 0 2%;
	padding: 0;
	float: left;
}

.contents.frontpage .topics ul li a {
	width: 96%;
	margin: 0;
	padding: 10px 4% 10px 2%;
	float: left;
	display: block;
	background-color: #F2F2F2;
	color: #4C4948;
	border-radius: 10px;
	background-image: url("../image/common/arr_topi_org.png");
	background-repeat: no-repeat;
	background-position: center right 2%;
	transition: ease 0.5s all;
}

.contents.frontpage .topics ul li a.no_link {
	background-image:initial;
	transition: ease 0.5s all;
}

.contents.frontpage .topics ul li a:hover {
	background-color: #4C4948;
	color: #FFF;
	background-image: url("../image/common/arr_topi_wh.png");
}

.contents.frontpage .topics ul li a.no_link:hover {
	background-image:initial;
	background-color: #F2F2F2;
	color: #4C4948;
	cursor: default;
}

.contents.frontpage .topics ul li a .topics_day {
	width: 15%;
	margin: 0;
	padding: 0;
	float: left;
	text-align: center;
}

.contents.frontpage .topics ul li a .cat {
	width: 15%;
	margin: 0;
	padding: 0;
	float: left;
	text-align: center;
	border: #4C4948 1px solid;
	box-sizing: border-box;
	border-radius: 5px;
	font-size: 12px;
	letter-spacing: 0;
}

.contents.frontpage .topics ul li a .topics_title {
	width: 70%;
	margin: 0;
	padding: 0;
	float: left;
}

.contents.frontpage .topics .readmore {
	margin: 50px 0;
}

.contents.frontpage .topics .readmore a {
	margin: 0 auto;
	float: none;
}


/* **************************************************************** */
/*             REASON  LAYOUT
/* **************************************************************** */

.contents.frontpage .reason .photo {
	width: 50%;
	height: 450px;
	margin: 0;
	padding: 0;
	float: left;
	background-image: url("../images/top/img-01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.contents.frontpage .reason .title {
	width: 100%;
	height: 120px;
	margin: 20px 0 0;
	background-image: url("../images/top/title_bg_wh.png");
	background-position: center left 25px;
	background-repeat: no-repeat;
}

.contents.frontpage .reason h2 {
	width: 300px;
	margin: 30px 0 0 20px;
	color: #FFF;
	text-align: center;
	float: left;

}

.contents.frontpage .reason .box {
	width: 50%;
	margin: 0;
	padding: 50px 0;
	float: left;
}

.contents.frontpage .reason .box p {
	width: 70%;
	margin: 0 15% 50px;
	padding: 0;
	float: left;
	color: #3466A8;
	line-height: 2em;
}


/* **************************************************************** */
/*             SOLUTION  LAYOUT
/* **************************************************************** */


.contents.frontpage .solution h2.title {
	width: 100%;
	margin-top: 30px;
	background-color: initial;
}

.contents.frontpage .solution .title .orange {
	width: 30px;
	height: 100px;
	background-color: #ED6C00;
	display: block;
	float: left;
}

.contents.frontpage .solution .title dl {
	width: 80%;
	margin: 0;
	min-width: auto;
	background-color: initial;
	float: left;
}

.solution .service_list {
	width: 96%;
	margin: 50px 2%;
	float: left;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.solution .service_list a {
	color: #4C4948;
	box-shadow: 0 0 3px 3px #C6C6C6;
	transition: ease 0.5s all;
	background-color: #FFF;
}

.solution .service_list a:hover {
	box-shadow: 0 0 3px 3px #333;
}

.solution .service_list dl dt,
.solution .service_list dl dd {
	width: 46%;
	margin: 0;
	padding: 0 2%;
	float: left;
}

.solution .service_list a dl dd h2 {
	color: #ED6C00;
	font-size: 20px;
	margin: 0;
	padding: 0 0 0 30px;
	background-image: url("../image/common/arr_round_org.png");
	background-repeat: no-repeat;
	background-position: center left;
	background-size: 25px;
	line-height: 25px;
}

.solution .service_list dl dd p {
	letter-spacing: 0;
	line-height: 25px;
}


/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:1400px          */
/* *********************************************************************** */

@media screen and (max-width:1400px) {



}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:1100px          */
/* *********************************************************************** */

@media screen and (max-width:1100px) {

.contents.frontpage .block .box,
.contents.frontpage .block .photo {	width: 100%; }
.contents.frontpage .block .photo {	margin-top: 50px; }
.contents.frontpage .block .photo img {	width: 60%;margin: 0 20%; }

.contents.frontpage .title dl dt {
	width: 90%;
	padding: 0 5%;
	line-height: 60px;
	font-size: 30px;
}

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:980px          */
/* *********************************************************************** */

@media screen and (max-width:980px) {

.main .copy {
	width: 90%;
	margin: 0;
	padding: 1em 5%;
	font-size: 3.3vw;
	line-height: 4vw;
}

.main .copy .copy_sub {
	font-size: 2.1vw;
	line-height: 2.5vw;
}

.contents.frontpage .solution .box .button {
	width: 70%;
	height: 90px;
	margin: 20px 15% 0;
}

.case_study .case_list {
	grid-template-columns: 1fr 1fr;
}

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:880px          */
/* *********************************************************************** */

@media screen and (max-width:880px) {

.contents.frontpage .company h2 {
	margin: 50px 0;
}

.contents.frontpage .block.solution {
	height: auto;
}

.solution .service_list {
	grid-template-columns: 1fr 1fr;
}

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:780px          */
/* *********************************************************************** */

@media screen and (max-width:780px) {

.video{ height: 60vh; }
.video::after{ height: 60vh; }
.main { height: 60vh;margin-bottom: -100px; }
.main .copy { top:40vh; }

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:680px          */
/* *********************************************************************** */

@media screen and (max-width:680px) {

.case_study .case_list {
	grid-template-columns: 1fr;
}

.contents.frontpage .topics .block .box { width: 90%;padding: 20px 5% 30px; }
.contents.frontpage .topics .block table td:nth-of-type(1) { width: 100%;float: left; }
.contents.frontpage .topics .block table td:nth-of-type(1) p { width: 150px; }
.contents.frontpage .topics .block table td:nth-of-type(2) { float: left; }

.contents.frontpage .topics ul li a .cat {
	width: auto;
	padding: 0 1em;
}

.contents.frontpage .topics ul li a .topics_day {
	width: 50%;
	text-align: right;
	float: right;
}

.contents.frontpage .topics ul li a .topics_title {
	width: 100%;
}

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:580px          */
/* *********************************************************************** */

@media screen and (max-width:580px) {

.main .copy {
	font-size: 5vw;
	line-height: 6vw;
	text-align: center;
	top:35vh;
}

.main .copy .copy_sub {
	font-size: 3.5vw;
	line-height: 4.3vw;
}

.main .copy .copy_sub .mb {
	display: block;
}

.case_study .case_list table td:nth-of-type(1),
.case_study .case_list table td:nth-of-type(2) {
	width: 100%;
	float: left;
}

.contents.frontpage h2.title { width: 90%;margin: 20px 5% 3vw; }
.contents.frontpage .title dl { margin: 0;min-width: 90%; }
.contents.frontpage .title dl dt { font-size: 5.3vw; }
.contents.frontpage .title dl dd { font-size: 16px; }

.contents.frontpage .block .photo img {	width: 90%;margin: 0 5%; }

.solution .service_list {
	grid-template-columns: 1fr;
}

.contents.frontpage .solution .box .button {
	width: 100%;
	height: 90px;
	margin: 20px 0 0;
}

}

/* *********************************************************************** */
/*        RESPONSIVE  LAYOUT WIDTH:480px          */
/* *********************************************************************** */

@media screen and (max-width:480px) {

.main .copy { font-size: 4vw; }
.main .copy br.mb { display: block; }




.contents.frontpage .solution .readmore { margin-top:50px; }

.contents.frontpage .case_study h2.title {
	margin-top: 0;
	margin-bottom: 0;
	border-left: #ED6C00 10px solid;
}

.contents.frontpage .recruit h2.title {
	margin-bottom: 50px;
}

.contents.frontpage .recruit .readmore { margin-top:50px; }

.case_study .case_list a {
	width: 90%;
	margin: 0;
	padding: 20px 5%;
	float: left;
}

.case_study .case_list a table td:nth-of-type(1),
.case_study .case_list a table td:nth-of-type(2) {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.case_study .case_list a table .readmore {
	width: 80%;
	margin: 1em 10% 0;
	float: right;
}


}



