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

.fadeInUp,
.fadeInLeft,
.fadeInRight{
    opacity: 0;
}

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
.fadeLeft{
animation-name: fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

.fadeRight{
animation-name: fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

.scroll_down {
  display: inline-block;
  position: absolute;
  left: 27px;
	bottom: -37px;
  z-index: 2;
  padding: 10px 10px 100px;
  overflow: hidden;
  color: #333333;
  font-size: 1.2rem;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
.scroll_down::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 90px;
  background: #333333;
}
.scroll_down::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media (max-width:991px) {
	.scroll_down {
		bottom:auto;
		top:100px;
	}
}

.btn-wrap {
	text-align:center;
	font-family: 'Montserrat', sans-serif;
	font-weight:600;
}
.btn-wrap a {
	width:306px;
	line-height:65px;
  position: relative;
  display: inline-block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  overflow: hidden;
  background: #b32619;
}
.btn-wrap a:hover {
  color: #fff;
}
.btn-wrap a span {
	z-index:1;
	position:relative;
	font-size:1.7rem;
}
.btn-wrap a::before {
  position: absolute;
  top: 0;
  left: 0;
	z-index:0;
  content: '';
  width: 120%;
  height: 100%;
  background: #333;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .3s;
}
.btn-wrap a:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}
/*メインビジュアル*/
#main_visual {
 position:relative;
 height:59.5vw;
 margin-top:110px;
 width:100%
}
#main_visual::before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	background:url(../img/mv_bg.png) no-repeat;
	background-size:contain;
	width:211px;
	height:708px;
}
#main_visual ul {
 position:absolute;
 right:0;
 top:0;
 width:74.5%;
 height:100%;
 margin:0;
}
#main_visual img {
  animation-duration: 15s;
  animation-iteration-count: infinite;
  animation-name: slideAnime;
  animation-timing-function: ease;
  display: block;
  object-fit: cover;
  opacity: 0;
  width: 100%;
}
#main_visual img.pc {
	display:block;
}
#main_visual img.sp {
	display:none;
}
#main_visual li:nth-of-type(1) img {
  animation-delay: 0s;
}
#main_visual li:nth-of-type(2) img {
  animation-delay: 5s;
}
#main_visual li:nth-of-type(3) img {
  animation-delay: 10s;
}

@keyframes slideAnime {
  0% {
    opacity: 0;
  }
  16% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  49% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

#mv-slider {
  height: 100%;
  overflow: hidden;
  position: relative;
	z-index: -1;
}
.swiper-wrapper {
  margin: 0 auto;
  width: 1100px;
}
#main_visual li {
  bottom: 0;
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
}


/*メインキャッチ*/
#catch-wrap .inner {
  position: absolute;
	top: 340px;
	left: 112px;
}
#catch-wrap .inner h2 {
 font-size:7rem;
 letter-spacing: 0.1em;
 line-height: 1.15;
}
#catch-wrap .inner h2 strong {
	font-size:9.5rem;
	display:block;
	margin-bottom:43px;
}
#catch-wrap .inner h2 span {
	font-size:1.6rem;
	color:#b32619;
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
	display:block;
	line-height: 2.185;
	letter-spacing: 0.15em;
}

@media (max-width:480px) {
#catch-wrap .inner h2 span .spnone {
	display:none;
}
}

/*INFORMATION*/
#index-info {
	margin-top: -45px;
	position: relative;
	z-index: 1;
}
#index-info .container {
	margin-right:0;
	max-width: 1160px;
	padding: 0 38px 0 0;
	background:#fff;
}
#index-info .container .info-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	position:relative;
}
#index-info .container .info-wrap .info-cat h3 {
	margin-bottom:0;
	font-size:2rem;
	position:relative;
	padding:28px 58px 28px 60px;
	margin-right:52px;
	font-weight:700;
	letter-spacing:0.05em;
	color:#fff;
	background:#b32619;
	font-family: 'Montserrat', sans-serif;
}
#index-info .container .info-wrap .info-body {
  width: calc(100% - 334px);
	position:relative;
	display: flex;
}
#index-info .container .info-wrap .info-date time {
 letter-spacing:.1rem;
 color:#a6a6a6;
 font-size:1.4rem;
}
#index-info .container .info-wrap .info-title {
 padding-left:40px;
 margin-right:20px;
 flex-grow:2;
 letter-spacing:0.05em;
}
#index-info .container .info-wrap .info-title a {
 display:block;
 color:#333333;
 font-size:1.6rem;
 font-weight:400;
 max-width:600px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#111;
}
#index-info .container .info-wrap .info-more {
	height:15px;
	width:18px;
	position:absolute;
	right: 0;
	top: 33px;
}
#index-info .container .info-wrap .info-more .btn {
  position: relative;
  display: block;
  padding: 0.2em 0 0.2em 1.4em;
	width: 100%;
	height: 100%;
}
#index-info .container .info-wrap .info-more .btn::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	background: #333;
	box-shadow: 0 10px 0 #333, 10px 0 0 #333, 10px 10px 0 #333;
	content: "";
}
#index-info .container .info-wrap .info-more .btn:hover::before {
	background: #b32619;
	box-shadow: 0 10px 0 #b32619, 10px 0 0 #b32619, 10px 10px 0 #b32619;
}

@media (max-width:1499px) {
 #main_visual ul {
  width:70%
 }
}
@media (max-width:1199px) {
 #main_visual ul {
  width:67%
 }
 #catch-wrap .inner {
  top:150px;
	left: 70px;
 }
 #catch-wrap .inner h2 {
	font-size:6rem;
 }
 #catch-wrap .inner h2 strong  {
	font-size:8rem;
	margin-bottom:35px;
 }
 #index-info .container .info-wrap .info-title a {
  max-width:420px
 }
}
@media (max-width:991px) {
	#main_visual {
		margin-top:130px;
		height: auto;
	}
	#main_visual #mv-slider {
		height:740px
	}
	#main_visual ul {
		width:93.5%
	}
	#main_visual img {
		height:100%;
		width:auto;
	}
	#catch-wrap .inner {
		top:-5.2rem;
		left: 0;
		background:#fff;
		position:relative;
		width: fit-content;
		padding: 2.6rem 5rem 0 5rem;
	}
	#catch-wrap .inner h2 {
		font-size:4.8rem;
		margin-bottom: 0;
	}
	#catch-wrap .inner h2 strong  {
		font-size:6.5rem;
		margin-bottom:2.6rem;
	}
	#catch-wrap .inner h2 span  {
		font-size: 1.2rem;
		line-height: 2;
	}
	#index-info {
		margin:0;
	}
	#index-info .container .info-wrap {
		align-items: center;
	}
	#index-info .container .info-wrap .info-body {
		width: calc(100% - 285px);
		padding-right: 40px;
	}
	#index-info .container .info-wrap .info-cat h3 {
		padding:26px 47px 27px 47px;
		margin-right:15px;
	}
	#index-info .container .info-wrap .info-body {
		flex-wrap: wrap;
	}
	#index-info .container .info-wrap .info-title {
		padding-left:10px;
		margin-right:10px
	}
	#index-info .container .info-wrap .info-title a {
		max-width:260px;
	}
	#index-info .container .info-wrap .info-more {
		top: 30px;
		right: 13px;
	}
}
@media (max-width:767px) {
 #main_visual::before {
	 width:20%;
	 height:100%;
 }
  #main_visual #mv-slider {
		height:600px
	}
 #main_visual img.pc {
	display:none;
	}
	#main_visual img.sp {
		display:block;
	}
 #index-info .container .info-wrap .info-catat h3 {
  padding:0
 }
 #index-info .container .info-wrap .info-date {
  flex:0 1 100%;
  padding:5px 0
 }
 #index-info .container .info-wrap .info-title {
  padding-left:0;
  margin-right:0;
 }
 #index-info .container .info-wrap .info-title a {
  max-width:100%;
  white-space:normal
 }
}
@media (max-width:640px) {
 #catch-wrap .inner {
	left: 5px;
 }
}
@media (max-width:575px) {
 #main_visual {
  margin-top:80px;
 }
 #catch-wrap .inner {
  height:160px
 }
 #catch-wrap .inner h2 {
  font-size:3rem
 }
 #catch-wrap .inner h2 strong  {
  font-size:5rem;
	margin-bottom:20px;
 }
 #index-info .container .info-wrap .info-body {
	flex: 0 1 100%;
	width: 100%;
	padding-left: 10px;
	padding-right: 0;
 }
}
@media (max-width:480px) {
 #main_visual {
  margin-top:80px;
  height:500px
 }
 #main_visual #mv-slider {
	 height:360px;
 }
 #catch-wrap .inner {
	 padding: 2.6rem 2rem 0 2rem;
 }
 #catch-wrap .inner h2 {
  padding:3px;
  margin-left:.2rem;
  font-size:2rem;
 }
 #catch-wrap .inner h2 strong  {
  font-size:4rem;
	margin-bottom:10px;
 }
}



/*BUILD&REFORM*/
#build_reform {
	position:relative;
	margin: calc(-45 / 1680 * 100vw) 0 calc(163 / 1680 * 100vw);
	padding: calc(205 / 1680 * 100vw) calc(90 / 1680 * 100vw) calc(90 / 1680 * 100vw) 0;
}
#build_reform::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 85.7%;
	height: 100%;
	background-color: #f4f4f4;
}
#build_reform h3 {
	position: absolute;
	color: #fff;
	bottom: calc(200 / 1680 * 100vw);
	left: calc(230 / 1680 * 100vw);
	font-size: 12rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	line-height: 0.91;
	letter-spacing: 0.1em;
	z-index: 1;
}

#build_reform .content {
	position:relative;
}

#build_reform .text {
	position:absolute;
	font-size:1.7rem;
	right: calc(40 / 1680 * 100vw);
	top: calc(60 / 1680 * 100vw);
	letter-spacing: 0.19em;
	line-height: 2.05;
}

#build_reform .text .catch {
	font-size:4.8rem;
	letter-spacing: 0.05em;
	margin-bottom: 4.2rem;
	line-height: 1.45;
	font-weight: 500;
}
#build_reform .l_img {
	width:52.8%;
	background:url(../img/build_reform_img01.png) no-repeat top left;
	background-size:contain;
	height:42vw;
}
#build_reform .r_img {
	width: 62%;
	background:url(../img/build_reform_img02.png) no-repeat top left;
	background-size:contain;
	margin: calc(-260 / 1680 * 100vw) 0 0 auto;
	height:41.8vw;
}
#build_reform img {
	width:100%;
}

@media (max-width:1499px) {
	#build_reform h3 {
		font-size:10rem;
	}
	#build_reform .text {
		font-size:1.4rem;
		top: calc(30 / 1680 * 100vw);
		right: 0;
		width:50%;
	}
	#build_reform .text .catch {
		font-size:4rem;
		margin-bottom: 2.5rem;
	}
	#build_reform .r_img {
		margin-top:0;
	}
}
@media (max-width:991px) {
	#build_reform h3 {
		font-size:8rem;
		left:0;
	}
	#build_reform .build_reform_top {
		position:relative;
		display: flex;
	}
	#build_reform .text {
		position:relative;
		font-size:1.6rem;
	}
	#build_reform .text .catch {
		font-size:2.5rem;
	}
	#build_reform .r_img {
		margin-top:1rem;
	}
}

@media (max-width:767px) {
	#build_reform .build_reform_top {
		position:relative;
		display: flex;
		flex-wrap:wrap;
	}
	#build_reform .l_img {
		width:90%;
		height: 64vw;
	}
	#build_reform .text {
		width: calc(100% - 40px);
		margin-left:20px;
	}
	#build_reform .r_img {
		width:90%;
		height: 64vw;
	}
	#build_reform h3 {
		font-size:6rem;
	}
}

/*BUSINESS*/
#index_business {
	position:relative;
	background:#f4f4f4;
	padding-bottom: 5.4rem;
}
#index_business .business_header {
	position:relative;
	background:url(../img/business_back.jpg) no-repeat center center;
	background-size:cover;
	text-align:center;
	padding: 7rem 0 6.7rem;
}
#index_business .business_header::before {
	content:"";
	width:2px;
	height:22px;
	background:#fff;
	display:block;
	position:absolute;
	bottom:0;
	left:calc(50% - 1px);
}
#index_business .business_header h3 {
	font-family: 'Montserrat', sans-serif;
	font-size:10rem;
	color:rgba(255,255,255,0.15);
	font-weight:600;
	letter-spacing: 0.04em;
	margin-bottom: 3rem;
}
#index_business .business_header h3 span {
 font-family: 'Noto Sans JP', sans-serif;
	font-size:1.8rem;
	color:#fff;
	font-weight:500;
	display: block;
	margin-top: -36px;
}
#index_business .business_header .catch {
	font-weight:500;
	font-size:1.8rem;
	color:#fff;
	letter-spacing: 0.2em;
}
#index_business .business_header .catch strong {
	font-size:4rem;
	letter-spacing:0.15em;
	display:block;
	margin-bottom: 1rem;
}
#index_business .container {
	position:relative;
	padding: 12rem 0 0;
}
#index_business .container::after {
	content:"";
	width:2px;
	height:28px;
	background:#959595;
	display:block;
	position:absolute;
	top:0;
	left:calc(50% - 1px);
}

#index_business .buisiness_body {
	display:flex;
}
#index_business .business_l {
	writing-mode: vertical-rl;
	font-size: 3.6rem;
	font-weight: 600;
	width: 50%;
	background: url(../img/business_img.png) no-repeat top 2rem right;
	background-size: contain;
	display: flex;
	padding: 1.5rem 0 12rem 10rem;
}
#index_business .business_l .catch {
	margin:0 auto 0 0;
	letter-spacing: 0.08em;
}
#index_business .business_r {
	width:50%;
	font-size:1.7rem;
	padding: 0 18rem 0 4rem;
	line-height:2.05;
	letter-spacing: 0.14em;
}
#index_business .business_r .title {
	font-size:2.4rem;
	font-weight:600;
	letter-spacing: 0.02em;
	padding-bottom: 1.6rem;
	line-height: 1.58;
}
#index_business .business_r .btn-wrap {
	margin-top:5rem;
	text-align:left;
}
@media (max-width:1499px) {
	#index_business .business_l {
		padding: 1.5rem 0 12rem 4rem;
	}
	#index_business .business_r {
		padding: 0 4rem 0 4rem;
	}
}

@media (max-width:991px) {
	#index_business .business_header h3 {
		font-size:6rem;
	}
	#index_business .business_l {
		padding: 1.5rem 0 4rem;
	}
	#index_business .business_r {
		padding: 0;
	}
}

@media (max-width:767px) {
	#index_business .buisiness_body {
		flex-wrap:wrap;
	}
	#index_business .business_header .catch {
		font-size: 1.5rem;
	}
	#index_business .business_l,
	#index_business .business_r {
		width:90%;
		margin:0 auto;
	}
	#index_business .business_r .title {
		font-size:2.3rem;
	}
	#index_business .business_r .btn-wrap {
		text-align:center;
	}
}
@media (max-width:640px) {
#index_business .business_l {
	font-size:3rem;
}
}

/*SERVICE*/
#index_service .service_wrapper {
	max-width:1200px;
	margin:0 auto;
	padding:13.9rem 0 18rem;
	text-align:center;
}
#index_service .service_wrapper h3 {
	font-family: 'Montserrat', sans-serif;
	font-size:6rem;
	font-weight:700;
	letter-spacing: 0.04em;
	margin-bottom: 5.5rem;
}
#index_service .service_wrapper h3::first-letter {
	color:#b32619;
}
#index_service .service_wrapper h3 span {
 font-family: 'Noto Sans JP', sans-serif;
	font-size:1.8rem;
	font-weight:500;
	display: block;
	margin-top: 0.5rem;
	letter-spacing: 0.23em;
}
#index_service .service_wrapper .catch {
	font-size:1.7rem;
	letter-spacing: 0.11em;
	line-height:2;
	margin-bottom: 6.2rem;
}
#index_service .service_wrapper .catch strong {
	font-weight:500;
	font-size:3.5rem;
	letter-spacing: 0.1em;
	display:block;
	line-height:1.42;
	margin-bottom: 2.5rem;
}
#index_service .service_wrapper ul {
	justify-content: space-between;
	margin-bottom: 6.8rem;
}
#index_service .service_wrapper ul li {
	border-top:solid 1px #000;
	border-left:solid 1px #000;
	flex: 0 0 23%;
	max-width: 23%;
	display: flex;
	align-content: center;
	justify-content: center;
	padding-bottom: 2rem;
}
#index_service .service_wrapper ul li .title {
	font-size:2.6rem;
	color:#fff;
	background:#000;
	font-weight:500;
	display: inline-block;
	padding: 0.5rem 3.5rem;
	margin-bottom: 4.4rem;
}
#index_service .service_wrapper ul li .image {
	height:77px;
	margin-bottom:0.9rem;
}
#index_service .service_wrapper ul li:nth-child(1) .image img {
	width:80px;
}
#index_service .service_wrapper ul li:nth-child(2) .image img {
	width:67px;
	margin-left: 15px;
}
#index_service .service_wrapper ul li:nth-child(3) .image img {
	width:74px;
	margin-right:5px;
}
#index_service .service_wrapper ul li:nth-child(4) .image img {
	width:68px;
}
#index_service .service_wrapper ul li .number {
	font-family: 'Montserrat', sans-serif;
	font-size:4rem;
	color:rgba(0,0,0,0.1);
	margin-bottom: 0.4rem;
}
#index_service .service_wrapper ul li .detail {
	font-size:2.2rem;
	font-weight:600;
	letter-spacing: 0.15em;
}
#index_service .service_wrapper ul li .detail span {
	font-family: 'Montserrat', sans-serif;
	font-size:1.4rem;
	color:#b32619;
	display:block;
	letter-spacing:0.05em;
	margin-top: 0.7rem;
}
	#index_service .sp {
		display:none;
	}

@media (max-width:767px) {
	#index_service .service_wrapper ul {
		padding:0 10px;
	}
	#index_service .service_wrapper ul li .title {
		font-size:2rem;
		padding: 0.5rem 1.5rem;	
	}
	#index_service .service_wrapper ul li {
		flex: 0 0 49%;
		max-width: 49%;
		margin-bottom: 1rem;
	}
	#index_service .service_wrapper ul li .detail {
		font-size:2rem;
	}
	#index_service .service_wrapper .catch {
		text-align:left;
	}
	#index_service .service_wrapper .catch strong {
		text-align:center;
	}
}
@media (max-width:640px) {
	#index_service .service_wrapper .catch strong .sp {
		display:block;
	}
	#index_service .service_wrapper h3 {
		font-size:3rem;
	}
	#index_service .service_wrapper .catch strong {
		font-size:2.5rem;
	}
}


/*Individuals&corporations*/
#individuals_corporations {
	position:relative;
	padding:13.7rem 0;
}
#individuals_corporations::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 85.7%;
  height: 100%;
  background-color: #f4f4f4;
}
#individuals_corporations .in_co_wrap {
 display:flex;
 justify-content: space-between;
 margin: 0 auto;
 padding:0;
 text-align:center;
}
#individuals_corporations .treat_red {
	position:relative;
	flex: 0 0 49.3%;
	max-width: 49.3%;
	padding: 0;
 display:flex;
 align-items:center;
}
#individuals_corporations .treat_red a {
	padding:0;
	height:100%;
	width: 100%;
}
#individuals_corporations .treat_red::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  z-index: 1;
  bottom: -1px;
  right: -1px;
	border-style: solid;
	border-width: 0 0 70px 70px;
	border-color: transparent transparent #b32619 transparent;
}
#individuals_corporations .bg {
	position:relative;
	overflow:hidden;
	padding: 11rem 0 7.8rem;
	height: 100%;
}
#individuals_corporations .bg::before {
 content:"";
 position:absolute;
 width:100%;
 height:100%;
 background-size:cover;
 background-repeat:no-repeat;
 background-position:center center;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 z-index:1;
 left:0;
 top:0
}
#individuals_corporations .bg01::before {
	background:url(../img/individual_img.jpg) no-repeat;
}
#individuals_corporations .bg02::before {
	background:url(../img/corporation_img.jpg) no-repeat;
}
#individuals_corporations a:hover {
 text-decoration:none
}
#individuals_corporations a:hover .bg:before {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#individuals_corporations h3 {
 display:inline-block;
 position:relative;
 z-index:2;
 font-size:2.8rem;
 font-weight:600;
 letter-spacing:0.1em;
 color:#fff;
 border:solid 1px #fff;
 padding:0.5rem 4rem 1rem;
 margin-bottom: 2rem;
}
#individuals_corporations p {
 display:block;
 position:relative;
 z-index:2;
 font-size:1.7rem;
 color:#fff;
 line-height: 1.8;
 letter-spacing: 0.1em;
}

@media (max-width:767px) {
#individuals_corporations .in_co_wrap {
	flex-wrap:wrap;
}
#individuals_corporations .treat_red {
 flex:0 0 100%;
 max-width:100%
}
#individuals_corporations h3 {
	font-size:2.5rem;
}
#individuals_corporations p {
	font-size:1.5rem;
}
}


/*WORK*/
#index_work {
	position:relative;
	padding:19.5rem 0 16.3rem;
	overflow: hidden;
}
#index_work .work_wrap {
	position:relative;
	padding-left: 24rem;
}
#index_work .work_wrap .container {
	padding:0;
	position:relative;
}
#index_work h3 {
	font-size:1.8rem;
	font-weight:500;
	display: block;
	position:absolute;
}
#index_work h3 span {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
	display:block;
  font-size: 6rem;
	margin-top: 1.5rem;
}
#index_work h3 span::first-letter {
	color:#b32619;
}
#index_work .catch {
	font-size:1.7rem;
	width: fit-content;
	margin: 0 auto 0 31.5rem;
	line-height:2;
}
#index_work .catch strong {
	font-weight:500;
	font-size:3rem;
	letter-spacing: 0.1em;
	display: block;
	margin: -0.2rem 0 1.2rem;
	line-height: 1.5;
}
#index_work .slide-items {
  width: 100vw;
  margin:7rem 0 6rem;
}
#index_work .slick-initialized .slick-slide {
	padding: 0 20px 0 0;
}
#index_work .slick-initialized .slick-slide .works-details h4 {
	margin-top: 2.4rem;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
}
#index_work .slide-items img {
  width: 100%;
  object-fit: cover;
}
#index_work .work_wrap .btn-wrap {
	text-align: right;
	margin-right: 9rem;
}
#index_work .pager_arrow {
 position:absolute;
 left:0;
 bottom: 1.5rem;
 text-align:center;
 zoom:1;
}
#index_work .pager_arrow:after {
 content:'';
 display:block;
 clear:both;
 height:0;
}
#index_work .pager_arrow .slick-prev,
#index_work .pager_arrow .slick-next {
 display:block;
 height:5rem;
 width:5rem;
 background:#b32619;
 cursor:pointer;
 float:left;
 position:relative;
 margin-right:1px;
 color:#fff;
}
#index_work .pager_arrow .slick-prev:hover,#index_work .pager_arrow .slick-next:hover {
	background:#000;
}

#index_work .pager_arrow .slick-prev i,
#index_work .pager_arrow .slick-next i {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-size: 1.4rem;
}
@media (max-width:991px) {
	#index_work .work_wrap {
		padding:0 10px;
	}
}
@media (max-width:767px) {
	#index_work h3 {
		position:relative;
	}
	#index_work .catch {
		width:100%;
		margin: 0;
	}
}
@media (max-width:640px) {
	#index_work h3 span {
		font-size:3rem;
	}
	#index_work .catch strong {
		font-size:2.5rem;
	}
}
@media (max-width:575px) {
	#index_work {
		padding: 10rem 0 16.3rem;
	}
	#index_work .pager_arrow {
		bottom:30rem;
		width:100%
	}
	#index_work .pager_arrow .slick-prev, #index_work .pager_arrow .slick-next {
		position: absolute;
		height: 3.6rem;
		width: 3.6rem;
		float: none;
		margin-right: 0;
	}
	#index_work .pager_arrow .slick-prev {
		left: 0;
	}
	#index_work .pager_arrow .slick-next {
		right: 0;
	}
	#index_work .pager_arrow.slick-prev::before, #index_work .pager_arrow .slick-next::before {
		font-size: 1.2rem;
	}
	#index_work .work_wrap .btn-wrap {
		margin:0 auto;
		text-align:center;
	}
}


/*bnr*/
#index_bnr .row {
	margin:0;
}
#index_bnr .col-md-4 {
	padding:0;
}
#index_bnr .bnr {
 padding:9.9rem 10.7rem;
 display:block;
 color:#fff;
 position:relative;
 overflow:hidden
}
#index_bnr .bnr:before {
 content:"";
 position:absolute;
 width:100%;
 height:100%;
 background-size:cover;
 background-repeat:no-repeat;
 background-position:center center;
 transition:all .4s cubic-bezier(.165,.84,.44,1);
 transition-timing-function:cubic-bezier(.165,.84,.44,1);
 z-index:1;
 left:0;
 top:0
}
#index_bnr .bnr p {
 display:block;
 position:relative;
 z-index:2;
 padding-top: 1rem;
 padding-left: 3rem;
}
#index_bnr .bnr p:before {
	position: absolute;
	top: 0.4rem;
	height: 7rem;
	content: '';
	border-right: solid 4px;
	left: 0;
	transform: rotate(20deg);
	color:#b32619;
}
#index_bnr .bnr span {
	display:block;
}
#index_bnr .bnr span.ja_title {
 font-size:2.4rem;
 letter-spacing:.15rem;
 font-weight:600;
}
#index_bnr .bnr span.en_title {
 font-size:1.4rem;
 position:relative;
 letter-spacing: 0.1em;
}

#index_bnr .bnr:hover {
 text-decoration:none
}
#index_bnr .bnr:hover:before {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#index_bnr .bnr.bnr01:before {
 background-image:url(../img/bnr01.jpg);
}
#index_bnr .bnr.bnr02:before {
 background-image:url(../img/bnr02.jpg);
}
#index_bnr .bnr.bnr03:before {
 background-image:url(../img/bnr03.jpg);
}
#index_bnr .bnr.bnr04:before {
 background-image:url(../img/bnr04.jpg);
}

@media (max-width:991px) {
 #index_bnr .bnr {
  padding:60px 40px
 }
}
@media (max-width:767px) {
 #index_bnr .bnr {
  padding:50px 40px
 }
}
@media (max-width:575px) {
 #index_bnr .bnr {
  padding:40px 30px
 }
}