@charset "utf-8";
/* CSS Document */
#works.detail_content{
	overflow: hidden;
}

#works .layout_03 .txt_box{
	text-align:left;
	padding: 0 15px
}

#works .layout_03 .txt_box .txt{
	font-size: 0.8em;
}

#works.detail_content .layout_03 .right_img{
	padding: 0 15px;
}

#works .app_intro .detail{
	max-width: 780px;
	margin: 0 auto;
	color: #fff;
}

#works section.inner_over.app_intro {
	position: relative;
	margin-top: 150px;
}

#works .app_intro_wrap section.app_intro:first-child{
	margin-top: 100px;
}

#works .app_intro_wrap section.app_intro:nth-child(3) .txt_box{
	color: #000;
}


#works .app_intro_wrap section.app_intro:nth-child(odd):before {
    content: '';
    position: absolute;
    top: 6%;
    left: -15%;
    width: 130%;
    height: 110%;
    /*-webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;*/
    -webkit-transform: rotate(8deg);
    -ms-transform: rotate(8deg);
    transform: rotate(8deg);
}

#works .app_intro_wrap section.app_intro:nth-child(even):before {
    content: '';
    position: absolute;
    top: -3%;
    left: -15%;
    width: 130%;
    height: 110%;
    /*-webkit-transform-origin: right center;
    -ms-transform-origin: right center;
    transform-origin: right center;*/
    -webkit-transform: rotate(-8deg);
    -ms-transform: rotate(-8deg);
    transform: rotate(-8deg);
}

#works .app_intro_wrap section#sej:before {
	background: #0c9541;
	background: -moz-linear-gradient(82deg, #0c9541 0%, #6aec8f 100%);
	background: -webkit-linear-gradient(82deg, #0c9541 0%,#6aec8f 100%);
	background: linear-gradient(172deg, #0c9541 0%,#6aec8f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c9541', endColorstr='#6aec8f',GradientType=1 );
	z-index: -8;
}
#works .app_intro_wrap section#omni:before {
	background: #0c9541;
	background: -moz-linear-gradient(-82deg, #181818 0%, #6a6867 100%);
	background: -webkit-linear-gradient(-82deg, #181818 0%,#6a6867 100%);
	background: linear-gradient(-172deg, #181818 0%,#6a6867 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#272727', endColorstr='#6a6867',GradientType=1 );
	z-index: -6;
}
#works .app_intro_wrap section#ah:before {
	background: #0c9541;
	background: -moz-linear-gradient(82deg, #e80c1d 0%, #fb6874 100%);
	background: -webkit-linear-gradient(82deg, #e80c1d 0%,#fb6874 100%);
	background: linear-gradient(172deg, #e80c1d 0%,#fb6874 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e80c1d', endColorstr='#fb6874',GradientType=1 );
	z-index: -5;
}
#works .app_intro_wrap section#loft:before {
	background: #0c9541;
	background: -moz-linear-gradient(-82deg, #fed00f 0%, #ffe67c 100%);
	background: -webkit-linear-gradient(-82deg, #fed00f 0%,#ffe67c 100%);
	background: linear-gradient(-172deg, #fed00f 0%,#ffe67c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fed00f', endColorstr='#ffe67c',GradientType=1 );
	z-index: -4;
}
#works .app_intro_wrap section#ymt:before {
	background: #0c9541;
	background: -moz-linear-gradient(82deg, #0c9541 0%, #6aec8f 100%);
	background: -webkit-linear-gradient(82deg, #0c9541 0%,#6aec8f 100%);
	background: linear-gradient(172deg, #0c9541 0%,#6aec8f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c9541', endColorstr='#6aec8f',GradientType=1 );
	z-index: -3;
}

#works .app_intro_wrap section#ario:before {
	background: #0c9541;
	background: -moz-linear-gradient(-82deg, #144191 0%, #4d89f4 100%);
	background: -webkit-linear-gradient(-82deg, #144191 0%,#4d89f4 100%);
	background: linear-gradient(-172deg, #144191 0%,#4d89f4 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#144191', endColorstr='#4d89f4',GradientType=1 );
	z-index: -2;
}

#works .layout_03 .txt_box .app_icon {
	position: relative;
	width: 76px;
}

#works .layout_03 .txt_box .app_icon:before {
	position: absolute;
	content: "";
    width: 76px;
    height: 76px;
    border-radius: 16px;
    background: #000;
    z-index: -1;
    box-shadow: 0px 0px 30px 0px #000000;
    opacity: 0.35;
}

#works .layout_03 .txt_box .store {
	display: flex;
	justify-content: flex-start;
	margin-top: 20px;
}

#works .layout_03 .txt_box .store .android {
	margin-left: 15px;
}
#works .store a:hover {
	opacity: 0.75;
}
#works .layout_03 .txt_box .store a:hover {
	opacity: 0.75;
}

#works.detail_content .layout_03 p.img{
	text-align: center;
}

#works.detail_content .layout_03 p.img img{
	width: 340px;
}

#works .btn_radius a{
	color: #fff;
	border-color: #fff;
}

#works .btn_radius_02{
	text-align: center;
}

#works .btn_radius_02 a{
    display: inline-block;
    text-align: center;
    padding: 6px 0px;
    border-radius: 19px;
    color: #fff;
	background-color: #000;
	border: 2px solid #000;
    position: relative;
    font-size: 14px;
    font-weight: bold;
	text-decoration: none;
	cursor: pointer;
	margin: 0 10px;
	width: 10em;
}

#works .btn_radius_02 a.off{
    color: #c9c9c9;
	background-color: #fff;
	border: 2px solid #C9C9C9;
}
#works .btn_radius_02 a.off:hover {
    color: #fff;
    border: 2px solid #000;
    background: #000;
    transition: all .3s;
}

#works .detail_img .detail_txt.bottom{
	width: 100%;
	top: 65px;
	left: 0;
	transform: none;
}

#works .detail_img .detail_txt .txt{
	margin-bottom: 20px;
}

#works .carousel{
	width:50%;
	max-width: 680px;
	margin: 0 auto;
}

#works .carousel div.capture img{
	margin: 0 auto;
	width: 80%;
}

#works .carousel .box .caption{
	display:table;
	margin: 0 auto;
}

#works .carousel .box .caption p{
	display:table-cell;
}

#works .carousel .box .caption p:nth-of-type(2){
	height: 33px;
	vertical-align: middle;
	padding-left: 2em;
}

#works .carousel ul.cat_icon{
	display: flex;
    justify-content: center;
}

#works .carousel ul.cat_icon li{
    font-size: 0.8em;
    padding: 0.2em 0;
    width: 6em;
    background: #000;
    color: #fff;
    border-radius: 0.5em;
    text-align: center;
    margin: 0 0.5em;
}

#works .carousel ul.cat_icon li.company{
    background: #ff0000;
}

#works .carousel ul.cat_icon li.design{
    background: #ff6600;
}

#works .carousel ul.cat_icon li.develpoment{
    background: #008837;
}

#works .carousel ul.cat_icon li.operation{
    background: #333333;
}

#works .slick-prev,
#works .slick-next{
	width: 31px;
	height: 60px;
}

	
#works .slick-prev{
	left: -30px;
}
#works .slick-prev:before{
	content: url(../../images/slick_prev.png);
}

#works .slick-next{
	right: -30px;
}
#works .slick-next:before{
	content: url(../../images/slick_next.png);
}

/* 研究開発
==================================*/

#works.rd .head .leed{
	font-size: 22px;
	font-weight: normal;
}

#works.rd .row p.img{
	margin-bottom: 10px;
}
#works.rd .row p.img img{
	width: 100%;
	border-radius: 10px;
}

#works.rd .row p.img img.border{
	box-sizing: border-box;
	border:1px solid #CDCDCD;
}

#works.rd .txt_wrap .title,
#works.rd .layout_03 .head .title{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 1em;
}

#works.rd .txt_wrap .txt,
#works.rd .layout_03 .head .txt{
	font-size: 14px;
	font-weight: normal;
}

#works.rd .layout_03 .head{
	position: absolute;
	top: 50%;
	transform: translateY(-50%)
}

/* ec
---------------*/
#works #ec .ec_wrap {
    width: 750px;
    margin: 0 auto;
}

#works #ec .ec_wrap > div {
    text-align: center;
}

#works #ec .ec_wrap > div img {
    width: 100%;
}

#works #ec .ec_wrap .ec_cat {
    display: flex;
    justify-content: space-between;
}

#works #ec .ec_wrap .ec_cat p {
    padding: 15px;
    font-weight: 500;
    background: #f2f2f2;
    width: 31%;
    text-align: center;
}

#works #ec .store{
    display: flex;
    justify-content: flex-start;
    margin-top: 20px;
    padding-left: 5px;
}
#works #ec .store .android{
    margin-left: 15px;
}


@media screen and (max-width:767px){
#works.detail_content{
	margin-bottom: 0;
}
#works .detail_img:last-child{
	margin-bottom: 0;
}
#works .layout_03 .txt_box .app_icon {
    width: 11vw;
	height: 11vw;
    float: left;
}

#works .layout_03 .txt_box .app_icon:before {
    width: 11vw;
	height: 11vw;
    float: left;
}

#works .layout_03 .txt_box .app_icon img {
    width: 100%;
}

#works .head .ttl_02{
	padding-top: 1vw;
	margin-left: 15vw;
}

#works .head .leed{
	margin-top: 5.2vw;
	font-size: 4.5vw;
	font-weight: normal;
}

#works.detail_content .layout_03 p.img img{
	width: 78%;
}

#works .carousel ul.cat_icon li{
    font-size: 3vw;
    width: 5em;
    margin: 0 0.3em;
}

#works .layout_03 .txt_box .txt{
	font-size:  3.2vw;
}
	
#works section.inner_over.app_intro{
	margin-top: 30%;
}

#works section.inner_over.app_intro:first-child{
	margin-top: 10%;
}

#works section.inner_over.app_intro:last-child{
	margin-bottom: 30%;
}

#works .app_intro_wrap section.app_intro:nth-child(odd):before {
    top: 42%;
    height: 68%;
    -webkit-transform: rotate(12deg);
    -ms-transform: rotate(12deg);
    transform: rotate(12deg);
}

#works .app_intro_wrap section.app_intro:nth-child(even):before {
    top: 42%;
    height: 68%;
    -webkit-transform: rotate(-12deg);
    -ms-transform: rotate(-12deg);
    transform: rotate(-12deg);
}

#works .layout_03 .txt_box .store {
    justify-content: center;
}

#works .carousel{
	min-width: 80%;
}

#works .slick-prev{
	left: -40px;
}
#works .slick-prev:before{
	content: url(../../images/slick_prev_sp.png);
}
	
#works .slick-next{
	right: -40px;
}
#works .slick-next:before{
	content: url(../../images/slick_next_sp.png);
}

#works .carousel div.capture img{
	width: 90%;
}

#works .carousel .box .caption{
	display:block;
}

#works .carousel .box .caption p{
	display:block;
}

#works .carousel .box .caption p:nth-of-type(1) img{
	width: 50%;
	margin: 0 auto;
}

#works .carousel .box .caption p:nth-of-type(2){
	height: auto;
	padding-left: 0;
	font-size: 3.5vw;
	text-align: center;
}

#works .detail_img .detail_txt.bottom{
	width: 100%;
}
#works .detail_img .detail_txt.bottom .ttl{
	font-size: 8vw;
}
/* 研究開発
==================================*/
#works.rd .detail_img{
	margin-bottom: 20px;
}
#works.rd .head .leed{
	font-size: 4vw;
}
#works.rd .layout_02{
	padding: 0;
}
#works.rd .layout_02 .row,
#works.rd .layout_03 .row{
	margin: 0;
}
#works.rd .layout_02 .col-xs-6,
#works.rd .layout_03 .col-xs-4,
#works.rd .layout_03 .col-xs-8{
	width: 100%;
	margin-bottom: 30px;
	padding: 0;
}
#works.rd .layout_03 .col-xs-8{
	margin-bottom: 0;
}
#works.detail_content .layout_03 p.img img{
	width: 100%;
}
#works.rd .layout_03 .head{
	position: relative;
	top:0;
	transform: none;
}
#works.rd .row p.img img{
	border-radius: 0;
}
#works .btn_radius_02 a{
	width: 7.5em;
	margin: 8px 5px;
}

#works #ec .ec_wrap .ec_cat p span{
	display: block;
}
#works #ec .ec_wrap .ec_cat p:nth-child(1) span,
#works #ec .ec_wrap .ec_cat p:nth-child(2) span {
    padding-top: 10px;
}

/* ec
---------------*/
#works #ec .ec_wrap {
    width: 100%;
    margin: 0 auto;
}
#works #ec .ec_wrap > div img {
    width: 95%;
}
#works #ec .ec_wrap .ec_cat p {
	font-size: 14px;
	padding: 8px;
}
#works #ec .store{
    justify-content: center;
}

}

/* 20200310追記 */

#works #ec .ec_wrap .ec_cat p {
    padding: 15px;
    font-weight: 500;
    background: #f2f2f2;
    width: 23%;
	 text-align: center;
	}

@media screen and (max-width: 767px){

#works #ec .ec_wrap .ec_cat {
    display: block;
}


#works #ec .ec_wrap .ec_cat p {
    width: 49%;
}

#works #ec .ec_wrap .ec_cat p:nth-child(1) span, #works #ec .ec_wrap .ec_cat p:nth-child(2) span {
    padding-top: 0px;
}


#works #ec .ec_wrap .ec_cat p {
    font-size: 14px;
    padding: 8px;
    margin: 0 auto;
    margin-bottom: 10px;
}
}

/* 20230911追記 */

#works #aws .aws_wrap {
  width: 500px;
  margin: 0 auto;
}

#works #aws .aws_wrap > div {
  text-align: center;
}

#works #aws .aws_wrap .aws_cat {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#works #aws .aws_wrap .aws_cat a {
	margin: 8px 12px;
  	padding: 15px;
	width: 164px;
	height: 76px;
	display: flex;
	justify-content: center;
	align-items: center;
  font-weight: 500;
  background: #f2f2f2;
	text-decoration: none;
	transition: all .3s;
}

#works #aws .aws_wrap .aws_cat a:hover {
	opacity: 0.7;
}

#works #aws .aws_img {
  margin: 96px auto;
  width: 240px;
}

#works #aws .aws_img img {
  width: 100%; 
}

@media screen and (max-width: 767px){

#works #aws .aws_wrap .aws_cat {
  flex-direction: column;
	align-items: center;
}

#works #aws .aws_wrap .aws_cat p:nth-child(1) span, #works #aws .aws_wrap .aws_cat p:nth-child(2) span {
  padding-top: 0px;
}

#works #aws .aws_wrap {
  width: 100%;
}

#works #aws .aws_wrap .aws_cat a {
	margin: 2.1vw auto;
  padding: 2.1vw;
	width: 50%;
	height: 16vw;
	font-size: 3.7vw;
}

#works #aws .aws_img {
	margin: 21vw auto;
  width: 50%;
}
}