@charset "UTF-8";
/* ----------------------------------------------------------------
    Carousel
----------------------------------------------------------------- */
.carousel, .carousel-inner, .carousel-item, .carousel-control button, .carousel-control .prev button, .carousel-control .next button, .carousel-control .pause button, .carousel-nav li {
	position: relative;
}
.carousel-control .prev button:before, .carousel-control .next button:before, .carousel-control .pause button:before, .carousel-nav li:before {
	content: '';
	display: block;
}
.carousel, .home .carousel[data-carousel-layout="case"], .carousel-item, [data-carousel-layout="case"] .carousel-item .lyt-media, .carousel-control, .carousel-nav {
	margin: 0;
}
.carousel-control button {
	border: 0;
	background: transparent;
	padding: 0;
}
.carousel-control .prev button:before, .carousel-control .next button:before, .carousel-control .pause button:before {
	background-image: url(../images/sprite.png);
}
/* .carousel
----------------------------------------------- */
.carousel {
	z-index: 1;
}
.carousel[data-carousel-layout="mainvisual"] {
	background: #fff;
	opacity: 0;
}
.carousel[data-carousel-layout="case"] {
	border-top: 1px solid #d5d6d9;
	border-bottom: 1px solid #d5d6d9;
	background: #c93535;
	margin: 0 0 30px;
}
.carousel.is-active {
	-webkit-transition: all 5s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 5s cubic-bezier(0.23, 1, 0.32, 1);
}
/* .carousel-inner
----------------------------------------------- */
.carousel-inner {
	width: 1200px;
	margin: 0 auto;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	position: relative;
	overflow: hidden;
	-webkit-transform: translateZ(0);
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;
}
/* .carousel-item
----------------------------------------------- */
.carousel-item {
	margin: 0 auto;
	overflow: hidden;
}
.carousel-item li {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	z-index: 0;
	transform: translate3d(1200px, 0, 0);
}
.carousel-item li.is-current {
	z-index: 1;
}
.carousel.is-active .carousel-item li {
	-webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
}
[data-carousel-layout="mainvisual"] .carousel-item {
	width: 1200px;
	min-height: 485px;
}
[data-carousel-layout="mainvisual"] .carousel-item li > a {
	display: block;
}
[data-carousel-layout="case"] .carousel-item {
	width: 1000px;
	min-height: 300px;
}

[data-carousel-layout="case"] .carousel-item li {
	background: #c93535;
	text-align: left;
	padding: 0 12px;
	top: auto;
	bottom: 0;
}
[data-carousel-layout="case"] .carousel-item .lyt-media .item {
	margin: 0 30px 0 0;
}
[data-carousel-layout="case"] .carousel-item .lyt-media .col {
	color: #fff;
	padding-top: 20px;
}
[data-carousel-layout="case"] .carousel-item .company {
	font-size: 2.8rem;
	line-height: 1.2;
	margin: 0 0 5px;
}
[data-carousel-layout="case"] .carousel-item .sector {
	font-size: 1.6rem;
	line-height: 1.2;
	margin: 0 0 10px;
}
[data-carousel-layout="case"] .carousel-item .catch {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.57;
	margin: 0 0 5px;
}
[data-carousel-layout="case"] .carousel-item .text {
	color: #f1bebe;
	font-size: 1.8rem;
	line-height: 1.57;
	margin: 0 0 5px;
}
[data-carousel-layout="case"] .carousel-item a {
	color: #fff;
}
[data-carousel-layout="case"] .carousel-item .link-01 a {
	font-size: 1.6rem;
}
[data-carousel-layout="case"] .carousel-item .link-01 a:before {
	width: 6px;
	height: 11px;
	background-position: -80px -143px;
	top: .25em;
}
[data-carousel-layout="case"] .carousel-item .link-01 span {
	font-size: 1.3rem;
}
[data-carousel-layout="case"] .carousel-item .link-01 span:before {
	width: 6px;
	height: 11px;
	background-position: -80px -143px;
	top: .25em;
}
/* #case_cstm
----------------------------------------------- */

#case_cstm .carousel.js-carousel-02 .col .text {
	font-size: 1.5rem;
}
#case_cstm .carousel.js-carousel-02 .carousel-item li a {
	text-decoration: none;
}	
#case_cstm .carousel.js-carousel-02 .carousel-item li a:hover .col, #case_cstm .carousel.js-carousel-02 .carousel-item li a:active .col, #case_cstm .carousel.js-carousel-02 .carousel-item li a:focus .col {
	opacity: .7;
}
/* .carousel-control
----------------------------------------------- */
.carousel-control button {
	font-size: 1.2rem;
	z-index: 100;
}
.carousel-control .prev, .carousel-control .next, .carousel-control .pause {
	position: absolute;
	top: 50%;
}
.carousel-control .prev button, .carousel-control .next button, .carousel-control .pause button {
	opacity: .9;
	-webkit-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}
.carousel-control .prev button:before, .carousel-control .next button:before, .carousel-control .pause button:before {
	position: absolute;
	top: 50%;
}
.carousel-control .prev button:hover, .carousel-control .prev button:active, .carousel-control .prev button:focus, .carousel-control .next button:hover, .carousel-control .next button:active, .carousel-control .next button:focus, .carousel-control .pause button:hover, .carousel-control .pause button:active, .carousel-control .pause button:focus {
	opacity: 1;
}
.carousel-control .prev {
	left: 46px;
}
.carousel-control .next {
	right: 46px;
}
.carousel-control .pause {
	top: auto;
	right: 0;
	bottom: 0;
}
.carousel-control .pause button {
	width: 34px;
	height: 34px;
}
.carousel-control .pause button:before {
	width: 34px;
	height: 34px;
	background-position: 0px -121px;
	margin-top: -17px;
}
.carousel-control .pause button.is-pause {
	width: 34px;
	height: 34px;
}
.carousel-control .pause button.is-pause:before {
	width: 34px;
	height: 34px;
	background-position: -36px -121px;
	margin-top: -17px;
}
[data-carousel-layout="mainvisual"] .carousel-control .prev, [data-carousel-layout="mainvisual"] .carousel-control .next {
	margin-top: 17px;
}
[data-carousel-layout="mainvisual"] .carousel-control .prev button, [data-carousel-layout="mainvisual"] .carousel-control .next button {
	width: 53px;
	height: 53px;
}
[data-carousel-layout="mainvisual"] .carousel-control .prev button:before, [data-carousel-layout="mainvisual"] .carousel-control .next button:before {
	margin-top: -26.5px;
}
[data-carousel-layout="mainvisual"] .carousel-control .prev button:before {
	width: 53px;
	height: 53px;
	background-position: -66px 0px;
}
[data-carousel-layout="mainvisual"] .carousel-control .next button:before {
	width: 53px;
	height: 53px;
	background-position: 0px -66px;
}
[data-carousel-layout="case"] .carousel-control .prev, [data-carousel-layout="case"] .carousel-control .next {
	margin-top: -26.5px;
}
[data-carousel-layout="case"] .carousel-control .prev button, [data-carousel-layout="case"] .carousel-control .next button {
	width: 53px;
	height: 53px;
}
[data-carousel-layout="case"] .carousel-control .prev button:before, [data-carousel-layout="case"] .carousel-control .next button:before {
	border-radius: 26.5px;
	margin-top: -26.5px;
}
[data-carousel-layout="case"] .carousel-control .prev button:before {
	width: 53px;
	height: 53px;
	background-position: -121px 0px;
}
[data-carousel-layout="case"] .carousel-control .next button:before {
	width: 53px;
	height: 53px;
	background-position: -55px -66px;
}
[data-carousel-layout="case"] .carousel-control .pause {
	right: 46px;
}
/* .carousel-nav
----------------------------------------------- */
.carousel-nav {
	width: 100%;
	font-size: 0;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 21px;
}
.carousel-nav li {
	width: 13px;
	height: 13px;
	font-size: 1rem;
	margin-right: 11px;
	display: inline-block;
	z-index: 100;
}
.carousel-nav li:before {
	width: 100%;
	height: 100%;
	border-radius: 6.5px;
	background: #eeeff1;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: background 0.2s ease-out;
	transition: background 0.2s ease-out;
}
.carousel-nav li:last-child {
	margin-right: 0;
}
.carousel-nav li.is-current:before {
	background: #c93535;
}
/* .js-carousel
----------------------------------------------- */
.js-unavailable .carousel[data-carousel-layout="mainvisual"] {
	opacity: 1;
}
.js-unavailable .carousel-item li {
	position: static;
	transform: translate3d(0, 0, 0);
}
/* etc
----------------------------------------------- */
.carousel-sp  {
	display: none;
}

/* @media(max-width:767px) 
----------------------------------------------- */	
@media(max-width:767px) {

/* @media(max-width:767px) */
/* ----------------------------------------------------------------
    Carousel
----------------------------------------------------------------- */
/* .carousel
----------------------------------------------- */
.carousel[data-carousel-layout="mainvisual"] {
	display: none;
}
/* .carousel-inner
----------------------------------------------- */
.carousel-inner {
	width: 100%;
}
/* .carousel-item
----------------------------------------------- */
.carousel-item li {
	width: 100%;
	position: static;
	/*top: 0;
	left: 0;*/
	display: block;
	/*z-index: 0;*/
	transform: translate3d(1200px, 0, 0);
}

[data-carousel-layout="mainvisual"] .carousel-item {
	width: 100%;
}
[data-carousel-layout="case"] .carousel-item {
	width: 100%;
}

[data-carousel-layout="case"] .carousel-item li {
	background-color: transparent;
}
[data-carousel-layout="case"] .carousel-item .lyt-media .item {
	margin: 5px 0;
	text-align: center;
	display: block;
	float:none;
	background: #c93535;
}
[data-carousel-layout="case"] .carousel-item .lyt-media .col {
	padding: 0 0 15px;
}
[data-carousel-layout="case"] .carousel-item .company {
	font-size: 1.8rem;
}
[data-carousel-layout="case"] .carousel-item .sector {
	font-size: 1.2rem;
	margin: 0 0 5px;
}
[data-carousel-layout="case"] .carousel-item p {
	margin:0 0 3px;
	}
[data-carousel-layout="case"] .carousel-item .catch {
	font-size: 1.5rem;
}
[data-carousel-layout="case"] .carousel-item .text {
	font-size: 1.3rem !important;
}
/* #case_cstm
----------------------------------------------- */
#case_cstm {
	display: none;
}
/* .carousel-sp
----------------------------------------------- */
.carousel-sp {
	border-top: 1px solid #d5d6d9;
	border-bottom: 1px solid #d5d6d9;
	background: #c93535;
	margin: 0;
	padding: 20px 20px 0;
	display:inline-block;
	width: 100%
}
.carousel-sp p {
	text-align: left;
}
}

