@charset "utf-8";

/* layout

====================================*/

section .wrapper {
	width: 970px;
	margin: 0 auto;
	padding: 70px 0 80px;
	text-align: center;
}
section .wrapper.wide{
	width: auto;
	padding: 70px 80px 80px 80px;
	min-width: 840px;
}

/* mainVisual

====================================*/

#mainVisual {
	height: 760px;
	position: relative;
}
#mainVisual #mainVisualImg {
	background-position: center 0;
	background-repeat: no-repeat;
	height: 760px;
}
#mainVisual #mainVisualImg.bg1 { background-image: url(../../img/index_main01.jpg); }
#mainVisual #mainVisualImg.bg2 { background-image: url(../../img/index_main02.jpg); }
#mainVisual #mainVisualImg.bg3 { background-image: url(../../img/index_main03.jpg); }
#mainVisual #mainVisualImg.bg4 { background-image: url(../../img/index_main04.jpg); } 
#mainVisual #mainVisualImg.bg5 { background-image: url(../../img/index_main05.jpg); }

#mainVisual #mainVisualImg .wrapper {
	margin: 0 auto;
	padding-top: 55px;
	width: 970px;
}
#mainVisual #mainVisualImg.bg2 .wrapper {	padding-top: 450px;	text-align: right; }
/* #mainVisual #mainVisualImg.bg4 .wrapper {	text-align: right; } */
#mainVisual #mainVisualImg.bg5 .wrapper { padding-top: 470px; text-align: right; }

#mainVisual #mainVisualImg .textBox {
	position: relative;
	display: inline-block;
}
#mainVisual #mainVisualImg.bg5 .textBox {
	margin-right: 120px;
}
#mainVisual #mainVisualImg .textBox p {
	position: relative;
	color: #000000;
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	text-align: left;
	padding: 20px 50px;
	z-index: 2;
}
#mainVisual #mainVisualImg .textBox .bg5Txt {
	padding: 0;
}
#mainVisual #mainVisualImg .textBox .bg5Txt .iconLink {
	display: inline-block;
	background: url(../../img/index_ic07.png) 25px center no-repeat;
	padding: 20px 50px 20px 63px;
	color: #333333;
	text-decoration: none;
}
#mainVisual #mainVisualImg .textBox .bg {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.9);
	-ms-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-webkit-transform: skew(-20deg);
	transform: skew(-20deg);
	height: 118px;
	width: 100%;
	z-index: 1;
}
#mainVisual #mainVisualImg.bg5 .bg {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255,255,255,0.9);
	-ms-transform: skew(-20deg);
	-o-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	-webkit-transform: skew(-20deg);
	transform: skew(-20deg);
	height: 77px;
	width: 100%;
	z-index: 1;
	border: solid 1px #ed5145;
}

#mainVisual .btn {
	width: 970px;
	margin: 0 auto;
	position: relative;
}
#mainVisual .btn a {
	position: absolute;
	top: -100px;
	left: 0;
	display: block;
	width:100%;
	height: 100px;
	overflow: hidden;
	text-indent: 100%;
  white-space: nowrap;
}
#mainVisual .btn a p span {
	position: absolute;
	bottom: 45px;
	left: 50%;
	width: 30px;
	height: 30px;
	margin-left: -12px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	box-sizing: border-box;
}

@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
	}
	20% {
		-webkit-transform: rotate(-45deg) translate(-10px, 10px);
	}
	40% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
	}
}
@keyframes sdb {
	0% {
		transform: rotate(-45deg) translate(0, 0);
	}
	20% {
		transform: rotate(-45deg) translate(-10px, 10px);
	}
	40% {
		transform: rotate(-45deg) translate(0, 0);
	}
}


/* contents parts

====================================*/
.headline01 {
	font-size: 36px;
	font-size: 3.6rem;
	position: relative;
	display: inline-block;
	margin-bottom: 40px;
}
.headline02 {
	background: url(../../img/index_ex01.gif) center bottom no-repeat;
	font-size: 36px;
	font-size: 3.6rem;
	position: relative;
	display: inline-block;
	margin-bottom: 40px;
}
.textNormal01 {
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
}
.btnType01 {
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	/*margin-top: 20px;*/
	margin-top: 4%;
}
.btnType01 a {
	display: block;
	background: url(../../img/index_ic02.png) 99% 95.5% no-repeat #ffffff;
	padding: 7px 10px;
	width: 190px;
	text-align: center;
	text-decoration: none;
	color: #333333;
	border: solid 1px #dddddd;
	box-sizing: border-box;
	transition: .3s;
}
.btnType01 a:hover {
	background: url(../../img/index_ic02.png) 99% 95.5% no-repeat #dddddd;
}

/* column */

.column.col3 {
	margin-top: 40px;
	/*height: 300px;*/
}
#section01 .column.col3 {
	/*height: 300px;*/
/*	height: 640px;  */
}
.column.col3 ul {
	letter-spacing: -.40em; /* space eraser */
}
.column.col3 ul li {
	/*display: inline-block;*/
	float: left;
	list-style: none;
	letter-spacing: normal; /* space eraser */
	width: 33.3%;
}
.column.col3 ul li .imgBox{
	/*padding: 0 2%;*/
	padding: 3px;
	border: solid 1px #dfe2e6;
	padding-bottom: 20px;
	margin-right: -1px;
	margin-bottom: -1px;
	height: 325px;
}
.column.col3 ul li .imgBox h3{
	font-size: 16px;
	line-height: 1.33;
	margin: 10px;
	text-align: left;
	color: #595758;
}
.column.col3 ul li .imgBox p.desc{
	color: #595758;
	font-size: 14px;
	text-align: left;
	margin: 10px;
}
.column.col3 ul li:nth-of-type(3n),
.column.col3 ul li.mr0 {
	margin-right: 0;
}
.column.col3 ul li .imgBox a {
	display: block;
	text-align: left;
	padding: 0 10px;
}
.column.col3 ul li .imgBox a:hover p {
	text-decoration: underline;
}
.column.col3 ul li .imgBox img {
	width: 100%;
	/*height: 208px;*/
	backface-visibility: hidden;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	display: inline-block;
	transform: translateZ(0px);
	transition-duration: 0.3s;
	transition-property: box-shadow;
	vertical-align: middle;
}
.column.col3 ul li .imgBox a:hover img,
.column.col3 ul li .imgBox a:focus img,
.column.col3 ul li .imgBox a:active img {
	box-shadow: 0 0 11px rgba(0, 0, 0, 0.3);
}
.column.col3 ul li .iconLink {
	display: inline-block;
	background: url(../../img/index_ic01.png) 0 center no-repeat;
	margin: 10px 0;
	padding-left: 13px;
	color: #595758;
}
.wrapper.wide .column.col3 ul li{
	/*width: 470px;
	margin-left: 15px;
	margin-right: 15px;*/
}

#section02 {
	background: url(../../img/index_bg01.png) 0 0 repeat;
}
#section04 {
	height: 405px;
	background: url(../img/1974530030.jpg) center center repeat;
	background-color: transparent;
	background-size: cover;
	color: #ffffff;
}
#section04 .iconLink {
	color: #ffffff;
}
.sectionLayoutBox {
	background: url(../../img/index_bg03.png) center 0 repeat-y;
	height: 770px;
}
.sectionLayoutBox .sectionWrapper {
	width: 970px;
	margin: 0 auto;
}
#section05, #section06 {
	float: left;
	height: 770px;
}
#section05 {
	background: #dddddd;
}
#section06 {
	background: #f0f0f0;
}
#section05 .wrapper,
#section06 .wrapper {
	width: 485px;
	box-sizing: border-box;
}
#section05 .wrapper {
	padding-right: 40px;
}
#section06 .wrapper {
	padding-left: 40px;
}
#section05 .textNormal01,
#section06 .textNormal01 {
	margin-bottom: 40px;
	height: 127px;
}
#section06 .textNormal01 {
	margin-bottom: 33px;
}



/* ======== section02 ======== */

.projectsSlider {
	width: 635px;
	margin: 40px auto 0;
}
.projectsSlider .slick-slider .slick-track,
.projectsSlider .slick-slider .slick-list {
	display: none;
}
.projectsSlider .slideBox {
	width: 634px;
	margin: 0 auto;
	overflow: hidden;
}
.projectsSlider .slideBox .imgBox a {
	text-decoration: none;
	margin: 0 auto;
	width: 634px;
	height: 384px;
	overflow: hidden;
}
.projectsSlider .slideBox .imgBox a img {
	backface-visibility: hidden;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	display: inline-block;
	transform: translateZ(0px);
	transition-duration: 0.3s;
	transition-property: box-shadow;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	margin: 7px 7px;
	max-width: 620px;
	height: 370px;
}
.projectsSlider .slideBox .imgBox a:hover img,
.projectsSlider .slideBox .imgBox a:focus img,
.projectsSlider .slideBox .imgBox a:active img {
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.projectsSlider .slideBox .imgBox a .textBox {
	color: #000000;
	line-height: 1.2;
	padding: 0 10px 10px 10px;
}
.projectsSlider .slideBox .imgBox a:hover .textBox {
	text-decoration: underline;
}
.projectsSlider .slick-arrow {
	overflow: hidden;
	text-indent: 150%;
	white-space: nowrap;
	border: none;
	padding: 0;
	width: 28px;
	height: 40px;
	top: 50%;
	cursor: pointer;
}
.projectsSlider .slick-arrow.slick-prev {
	background: url(../../img/com_ic03.png) 0 center no-repeat;
	position: absolute;
	left: -35px;
}
.projectsSlider .slick-arrow.slick-next {
	background: url(../../img/com_ic04.png) 0 center no-repeat;
	position: absolute;
	right: -35px;
}
.projectsSlider .slick-dots {
	bottom: -45px;
}
.projectsSlider .slick-dots li button:before {
	background: url(../img/com_ic36.png) 0 0 no-repeat;
	content: "";
}
.projectsSlider .slick-dots li.slick-active button:before,
.projectsSlider .slick-dots li.slick-active button:before {
	background: url(../img/com_ic37.png) 0 0 no-repeat;
}

/* ======== section05 ======== */

.youtubeBox {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.youtubeBox iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ======== section06 ======== */

.mediaNewsList{
	width: 390px;
	margin: 0 auto;
}
.mediaNewsList .slick-track:before,
.mediaNewsList .slick-track:after {
	display: none;
}
.mediaNewsList .box {
	width: 180px;
	height: 278px;
}
.mediaNewsList .box > a {
	backface-visibility: hidden;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	display: inline-block;
	transform: translateZ(0px);
	transition-duration: 0.3s;
	transition-property: box-shadow;
	text-decoration: none;
	text-align: left;
	vertical-align: middle;
	margin: 7px 0;
}
.mediaNewsList .box > a:hover,
.mediaNewsList .box > a:focus,
.mediaNewsList .box > a:active {
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
	text-decoration: underline;
	color: #000000;
}
.mediaNewsList .box .imgBox {
	letter-spacing: -.40em;
	height: 132px;
	width: 180px;
}
.mediaNewsList .box .imgBox > img {
	letter-spacing: normal;
	width: 100%;
	height: 100%;
}
.mediaNewsList .box .date {
	background: #ffffff;
	color: #666666;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2;
	padding: 13px 10px 0 10px;
	height: 22px;
	width: 160px;
}
.mediaNewsList .box > a:hover {
	color: #666666;
}
.mediaNewsList .box .text {
	background: #ffffff;
	color: #000000;
	line-height: 1.2;
	height: 85px;
	width: 160px;
	padding: 0 10px 10px 10px;
}
.mediaNewsList .slick-arrow {
	overflow: hidden;
	text-indent: 150%;
	white-space: nowrap;
	border: none;
	padding: 0;
	width: 28px;
	height: 40px;
	top: 50%;
	cursor: pointer;
}
.mediaNewsList .slick-arrow.slick-prev {
	background: url(../../img/com_ic03.png) 0 center no-repeat;
	position: absolute;
	left: -36px;
}
.mediaNewsList .slick-arrow.slick-next {
	background: url(../../img/com_ic04.png) 0 center no-repeat;
	position: absolute;
	right: -36px;
}


@media only screen and (max-device-width : 768px) {
	
/* ====================================

	SP LAYOUT

==================================== */

html{
	width: 100%;
}

/* layout

====================================*/

#section01 .column.col3 {
	height: auto;
}

section .wrapper {
	width: auto;
	padding: 25px 0;
}


/* mainVisual

====================================*/

#mainVisual {
	height: auto;
	width: 100%;
}
#mainVisual #mainVisualImg {
	background-size: 100% auto;
	width: auto;
	height: 0;
	padding-bottom: 71.875%;
}
#mainVisual #mainVisualImg.bg1 { background-image: url(../../img/sp_index_main01.jpg); }
#mainVisual #mainVisualImg.bg2 { background-image: url(../../img/sp_index_main02.jpg); }
#mainVisual #mainVisualImg.bg3 { background-image: url(../../img/sp_index_main03.jpg); }
/* #mainVisual #mainVisualImg.bg4 { background-image: url(../../img/sp_index_main04.jpg); } */
#mainVisual #mainVisualImg.bg5 { background-image: url(../../img/sp_index_main05.jpg); }

#mainVisual #mainVisualImg .wrapper {
	width: auto;
	padding-top: 20px;
}
#mainVisual #mainVisualImg.bg2 .wrapper {	padding-top: 20px;	text-align: left; }
/* #mainVisual #mainVisualImg.bg4 .wrapper {	text-align: right; } */
#mainVisual #mainVisualImg.bg5 .wrapper { padding-top: 230px; text-align: center; }

#mainVisual #mainVisualImg .textBox {
	width: 90.625%;
}
/* #mainVisual #mainVisualImg.bg4 .textBox { width: auto; } */
#mainVisual #mainVisualImg.bg5 .textBox { margin-right: 0; width: auto; }

#mainVisual #mainVisualImg .textBox p {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 8px 13px;
}
/* #mainVisual #mainVisualImg.bg4 .textBox p { padding: 8px 13px 8px 8px; } */
#mainVisual #mainVisualImg.bg5 .textBox .bg5Txt a {
	background: url(../../img/index_ic07.png) 10px center no-repeat;
	background-size: 8px auto;
	padding: 8px 13px 8px 30px;
}	
#mainVisual #mainVisualImg .textBox .bg {
	height: 60px;
	-o-transform: none;
	-moz-transform: none;
	-webkit-transform: none;
	transform: none;
	left: -10px;
}
/* #mainVisual #mainVisualImg.bg4 .textBox .bg { left: 0; } */
#mainVisual #mainVisualImg.bg5 .textBox .bg {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
  border: 1px solid #ed5145;
  height: 37px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
/* #mainVisual #mainVisualImg.bg4 .textBox .bg:before {
	position: absolute;
	top: 0;
	left: -27px;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-top: 60px solid rgba(255, 255, 255, 0.9);
	border-left: 27px solid transparent;
} */
#mainVisual #mainVisualImg.bg5 .textBox .bg:before {
}
#mainVisual #mainVisualImg .textBox .bg:after {
	position: absolute;
	top: 0;
	right: -27px;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-top: 60px solid rgba(255, 255, 255, 0.9);
	border-right: 27px solid transparent;
}
/* #mainVisual #mainVisualImg.bg4 .textBox .bg:after { display: none; } */
#mainVisual #mainVisualImg.bg5 .textBox .bg:after { display: none; }
inVisual .btn {
	width: auto;
	height: 50px;
	margin: -50px auto 0;
	position: relative;
}
#mainVisual #mainVisualImg.bg5 + .btn {
	display: none;
}
#mainVisual .btn {
	width: auto;
}
#mainVisual .btn a {
	background: none;
	position: absolute;
	top: -50px;
	left: 0;
	display: block;
	width:100%;
	height: 50px;
	overflow: inherit;
	text-indent: inherit;
  white-space: inherit;
}
#mainVisual .btn a p span {
	display: none;
	position: inherit;
	bottom:  inherit;
	left: inherit;
	width: inherit;
	height: inherit;
	margin-left: 0;
	border-left: none;
	border-bottom: none;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	-webkit-animation: none;
	animation: none;
	box-sizing: border-box;
}

/* contents parts

====================================*/

.headline02 {
	font-size: 20px;
	font-size: 2.0rem;
	margin-bottom: 15px;
}
.textNormal01 {
	width: auto;
	font-size: 13px;
	font-size: 1.3rem;
	margin: 10px 5%;
}
.btnType01 {
	font-size: 15px;
	font-size: 1.5rem;
}

/* column */

.column.col3 {
	height: auto;
	margin: 30px 5% 0;
}
.column.col3 ul li {
	width: auto;
	margin-right: 0;
}
.sectionLayoutBox {
	background: none;
	height: auto;
	width: auto;
}
.sectionLayoutBox .sectionWrapper {
	width: auto;
}
#section05, #section06 {
	height: auto;
	float: none;
}
#section06 {
	width:100%;
}
#section05 .wrapper,
#section06 .wrapper {
	width: auto;
	margin: 0 4.6875%;
	padding: 30px 0;
}
#section05 .textNormal01,
#section06 .textNormal01 {
	height: auto;
	margin-bottom: 17px;
}

/* ======== section02 ======== */

.projectsSlider {
	width: auto;
	margin: 30px 5% 0;
}
.projectsSlider .slick-track {
	margin: 30px 6% 30px;
}
.projectsSlider .slideBox {
	width: auto;
}
.projectsSlider .slideBox .imgBox a {
	height: 314px;
}
.projectsSlider .slideBox .imgBox a img {
	margin: 7px 0;
	max-height: 300px;
}
.projectsSlider .slick-arrow {
	top: 50%;
}
.projectsSlider .slick-arrow.slick-prev {
	left: -4%;
}
.projectsSlider .slick-arrow.slick-next {
	right: -4%;
}

/* ======== section06 ======== */

.mediaNewsList{
	width: auto;
}
.mediaNewsList .box {
	background: url(../../img/com_ic05.png) 96% center no-repeat #ffffff;
	background-size: 8px 14px;
	width: auto;
	height: auto;
	border-bottom: solid 1px #c7c7c7;
}
.mediaNewsList .box {
	display: none;
}
.mediaNewsList .box:nth-of-type(1),
.mediaNewsList .box:nth-of-type(2),
.mediaNewsList .box:nth-of-type(3),
.mediaNewsList .box:nth-of-type(4) {
	display: block;
}
.mediaNewsList .box > a {
	display: block;
	position: relative;
	margin: 0;
	padding: 15px 30px 15px 15px;
	transform: none;
	box-shadow: none;
	min-height: 64px;
}
.mediaNewsList .box > a:hover,
.mediaNewsList .box > a:focus,
.mediaNewsList .box > a:active {
	box-shadow: none;
}
.mediaNewsList .box .imgBox {
	display: block;
	position: absolute;
	top: 15px;;
	left: 15px;
	height:66px;
	width: 90px;
}
.mediaNewsList .box .imgBox > img {
	display: inline-block;
	max-height: 66px;
}
.mediaNewsList .box .date {
	font-size: 11px;
	font-size: 1.1rem;

	height: auto;
	width: auto;
	padding: 0 0 0 110px;
}
.mediaNewsList .box .text {
	height: auto;
	width: auto;
	padding: 0 0 0 110px;
}


}

/* OtherSetting

====================================*/

/* ----- clearFix ----- */
.sectionLayoutBox .sectionWrapper:after {
	content: "";
	clear: both;
	display: block;
}