@charset "utf-8";
/*------------------------------------------------------------
	work
------------------------------------------------------------*/

#works .h2Ttl {
	margin: 0 auto 131px;
	width: 262px;
	text-align: center;
}
#works #main{
	padding-top: 80px;
}
#works .comBgBox{
}
#works .comBgBox .bgWhite {
	max-width: 1866px;
	padding: 148px 60px 124px;
}
#works .comBgBox {
	padding-bottom: 129px;
}
#works .btn {
	position: relative;
	z-index: 1;
	text-align: center;
}
#works .btn a {
	padding: 40px 15px;
	width: 564px;
	display: inline-block;
	font-size: 3.1rem;
	font-weight: bold;
	color: #C30000;
	border: 2px solid #C30000;
	border-radius: 3px;
}
#works .btn a:hover {
	opacity: 0.7;
}
.works__items{
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	width: 100%;
	margin: auto;
}
.works__item{
	width: 30%;
	margin-right: 5%;    
}
.works__item:nth-of-type(3n){
	margin-right: 0%;    
}
.works__item:nth-of-type(n + 4){
	margin-top:80px;    
}
.works__other{
	margin-top: 129px;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	#works .h2Ttl {
		margin-bottom: 50px;
		width: 200px;
	}
	#works .btn a {
		padding: 30px 15px;
		width: 450px;
		font-size: 2.8rem;
	}
	.works__other{
		margin-top: 100px;
	}
	#works .comBgBox .bgWhite {
		padding: 120px 40px 120px;
	}
	.works__item{
		width: calc((100% - (3% * 2)) / 3);
		margin-right: 3%;    
	}
	.works__item:nth-of-type(n + 4){
		margin-top:56px;    
	}
}
@media all and (max-width: 767px) {
	#works #main {
		padding-top: 18px;
	}
	#works .h2Ttl {
		margin: 0 auto 74px;
		width: 116px;
	}
	#works .comBgBox{
		padding-bottom: 0;
	}
	#works .comBgBox .bgWhite {
		padding: 60px 20px;
		margin: 0;
	}
	.work__item:nth-of-type(n + 2){
		margin-top:38px;    
	}
	.work__item:nth-of-type(n + 4){
		margin-top:38px;    
	}
	#works .btn {
		padding: 64px 30px 71px;
		background: url("img/works/bg01.jpg") no-repeat center center;
		background-size: cover;
	}
	#works .btn a {
		padding: 20px 10px;
		width: 100%;
		max-width: 280px;
		font-size: 1.55rem;
		border: 1px solid #C30000;
	}
	.works__items{
		display: block;
		max-width: 500px;
		width: 100%;
		margin: auto;
	}
	.works__item{
		width: 100%;
		margin-right:0%;    
	}
	.works__item:nth-of-type(n + 4){
		margin-top:38px;    
	}
	.works__item:nth-of-type(n + 2){
		margin-top:38px;    
	}
	.works__other{
		margin-top: 0px;
	}
}
/*------------------------------------------------------------
	single-works
------------------------------------------------------------*/
#single-works .h2Ttl {
	margin: 0 auto 196px;
	width: 262px;
	text-align: center;
}
#single-works #main{
	padding-top: 180px;
}
#single-works .comBgBox .bgWhite {
	padding: 148px 0px 124px;
	max-width: 1866px;
}
#single-works .comBgBox {
	padding-bottom: 129px;
}
#single-works .btn {
	position: relative;
	z-index: 1;
	text-align: center;
}
#single-works .btn a {
	padding: 40px 15px;
	width: 564px;
	display: inline-block;
	font-size: 3.1rem;
	font-weight: bold;
	color: #C30000;
	border: 2px solid #C30000;
	border-radius: 3px;
}
#single-works .btn a:hover {
	opacity: 0.7;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	#single-works .h2Ttl {
		margin-bottom: 50px;
	}
	#single-works .btn a {
		padding: 30px 15px;
		width: 450px;
		font-size: 2.8rem;
	}
}
@media all and (max-width: 767px) {
	#single-works #main {
		padding-top: 52px;
	}
	#single-works .h2Ttl {
		margin: 0 auto 66px;
		width: 116px;
	}
	#single-works .comBgBox{
		padding: 0;
	}
	#single-works .comBgBox .bgWhite {
		padding: 60px 0px;
		margin: 0;
	}
	#single-works .btn {
		padding: 64px 30px 71px;
		background: url("img/works/bg01.jpg") no-repeat center center;
		background-size: cover;
	}
	#single-works .btn a {
		padding: 20px 10px;
		width: 100%;
		max-width: 280px;
		font-size: 1.55rem;
		border: 1px solid #C30000;
	}
	.single-works__btns{
		padding: 0 20px;
	}
}
.single-works__title{
	font-size: 46px;
	font-weight: 700;
	text-align: center;
}
.single-works__head{
	max-width: 1250px;
	width: 100%;
	padding: 0 25px;
	margin: auto;
}
.single-works__content{
	width: 100%;
	max-width: 1250px;
	padding: 0 25px;
	margin: 121px auto 0;
}
.single-works__content p{
	font-size: 18px;
	line-height: 2;
}
.single-works__items{
	margin-top: 112px;
}
.single-works__text{
	font-size: 24px;
	font-weight: 700;
	margin-top: 12px;
	text-align: center;
}
.single-works__categories{
	margin-top: 55px;
}
.single-works__category{
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	color: #C30001;
}
.single-works__category + .single-works__category{
	margin-top: 8px;
}
.single-works__img{
	margin: 97px auto 0;
}
.single-works__img--sp{
	display: none;
}
.single-works__img img{
	width: 100%;
}
.single-works__block{
	margin-top: 140px;
}
.single-works__other + .single-works__other{
	 margin-top: 90px;
}
.single-works__other{
	text-align: center;
}
.single-works__link{
	margin-top: 143px;
	text-align: center;
}
.single-works__link a{
	font-size: 24px;
	font-weight: 700;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-works__link a::before {
	content: "";
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	border-left: 4px solid #000;
	border-bottom: 4px solid #000;
	display: inline-block;
	transform:rotate(45deg);
	z-index: 10;
	margin-right: 27px;
}
.single-work__item + .single-work__item{
		margin-top: 135px;
	}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.single-works__link{
		margin-top: 55px;
	}
	.single-works__title{
		font-size: 32px;
	}
	.single-works__text{
		font-size: 20px;
	}
	.single-works__categories{
		margin-top: 42px;
	}
	.single-works__link{
		font-size: 18px;
	}
	.single-works__img{
		margin-top: 60px;
	}
}
@media all and (max-width: 767px) {
	.single-works__img--pc{
		display: none;
	}
	.single-works__img--sp{
		display: block;
	}
	.single-works__head{
		max-width: 540px;
		padding: 0px 20px;
	}
	.single-works__content{
		max-width: 540px;
		padding:0 20px;
		margin: 86px auto 0;
	}
	.single-works__content p{
		font-size: 16px;
	}
	.single-works__title{
		font-size: 20px;
	}
	.single-works__text{
		font-size: 16px;
	}
	.single-works__block {
		margin-top: 69px;
  }
	.single-works__categories{
		margin-top: 34px;
	}
	.single-works__link{
		font-size: 16px;
	}
	.single-works__img{
		margin-top: 34px;
		padding:0;
		max-width: 500px;
	}
	.single-works__category{
		font-size: 10px;
	}
	.single-works__other + .single-works__other{
		margin-top: 32px;
  }
  .single-works__link{
	margin-top: 55px;
  }
  .single-works__link a{
	font-size: 16px;
  }
  .single-works__link a::before {
		content: "";
		width: 8px;
		height: 8px;
		margin-right: 14px;
		transform: rotate(45deg);
		border-left: 2px solid #000;
		border-bottom: 2px solid #000;
	}
	.single-works__items{
		margin-top: 96px;
	}
	.single-work__item + .single-work__item{
		margin-top: 52px;
	}
}
/*------------------------------------------------------------
	popup
------------------------------------------------------------*/
.popup__img{
	margin-top: 22px;
}
.popup__text{
	font-size: 18px;
}
.popup__close {
	    display: block;
    position: absolute;
    top: 27px;
    right: 50px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 1000;
}
.popup__close::before,
.popup__close::after {
    content: "";
    background-color: #707070;
    position: absolute;
    top: 0%;
    left:  47%;
    width: 3px;
    height: 59px;
}
.popup__close::before {
    transform: rotate(45deg);
}
.popup__close::after {
    transform: rotate(-45deg);
}
body.noscroll{
	overflow: hidden;
}
.popup__popUp {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100vh;
	opacity: 0;
	z-index: 10000;
	display: none;
}
.popup__popUp.active {
	z-index: 10;
	display: block;
	animation: modalOpen 0.3s ease forwards;
}
.popup__popUp.active2 {
	animation: modalClose 0.3s ease forwards;
}
.popup__modalbg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	z-index: -10;
 }
 .popup__content{
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 1250px;
	width: 100%;
	padding:0 25px;
 }
@keyframes modalOpen {
	0% {
		 opacity: 0;
	}
	100% {
		 opacity: 1;
	}
}
@keyframes modalClose {
	0% {
		 opacity: 1;
	}
	100% {
		 opacity: 0;
	}
}
#gHeader.active{
	z-index: 5;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	.popup__close {
    top: 15px;
    right: 40px;
    width: 40px;
    height: 40px;
}
.popup__close::before,
.popup__close::after {
    content: "";
    background-color: #707070;
    position: absolute;
    top: 0%;
    left:  47%;
    width: 2px;
    height: 40px;
}

}
@media all and (max-width: 767px) {
	.popup__content{
		max-width: 540px;
		padding: 0 20px;
	 }
	.popup__img{
		margin-top: 11px;
	}
	.popup__text{
		font-size: 16px;
	}
	.popup__close {
		top: 10px;
		right: 30px;
		width: 25px;
		height: 25px;
	}
	.popup__close::before,
	.popup__close::after {
		content: "";
		background-color: #707070;
		position: absolute;
		top: 0%;
		left:  47%;
		width: 2px;
		height: 25px;
	}
}
@media all and (max-width: 540px) {
	.popup__close {
		top: calc(10 / 540 * 100vw);
		right: 30px;
		width: calc(25 / 540 * 100vw);
		height: calc(25 / 540 * 100vw);
	}
		.popup__close::before,
	.popup__close::after {
		content: "";
		background-color: #707070;
		position: absolute;
		top: 0%;
		left:  47%;
		width: 2px;
		height: calc(25 / 540 * 100vw);
	}
}

/*------------------------------------------------------------
	tag
------------------------------------------------------------*/
.tag--layer{
	margin-bottom: 125px;
	margin-left: auto;
	margin-right: auto;
}
.tag{
	padding:0px 20px;
}
.tag__items{
	display: flex;
	justify-content: center;
}
.tag__item{
	padding:22px 0px;
	background-color: #fff;
	width: calc(100% / 4);
	max-width: 290px;
	width: 100%;
	display: inline-block;
}
.tag__link{
	background-color: #fff;
	min-height: 58px;
	font-weight: 700;
	border-right: 1px solid #000;
	font-size: 22px;
	padding: 12px 15px;
	color: #000;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tag__link.is-active{
	color:#C30001;
	pointer-events: none;
}
.tag__link:hover{
	color:#C30001;
}
.tag__item:last-of-type .tag__link{
	border-right: none;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.tag__link{
		font-size: 16px;
	}
}
@media all and (max-width: 767px) {
	.tag__items{
		flex-wrap: wrap;

		justify-content: center;
	}
	.tag__item{
		width: calc(100% / 2);
		padding: 15px 0;
	}
	.tag__item:last-of-type .tag__link{
		border-right: 1px solid #000;
	}
	.tag__item:nth-of-type(2n) .tag__link{
		border-right: none;
	}
}
@media all and (max-width: 375px) {
	.tag__link{
		font-size: 14px;
	}
	.tag__item{
		padding: 10px 0;
	}
	.tag__link{
		padding: 8px 8px;
		min-height: auto;
	}
}
/*------------------------------------------------------------
card01
------------------------------------------------------------*/
.card01{
	box-shadow: 5px 5px 10px #00000029;
	display: flex;
	flex-direction: column;
	height: auto;
}
.card01 a{
	display: block;
}
.card01__img{
	overflow: hidden;
	position: relative;
	padding-top:  67.96%;
}
.card01:hover .card01__img img{
	transform: scale(1.1) translate(-45%, -45%);
}
.card01__title{
	font-size: 16px;
	line-height: 1.5;
	flex-grow: 1;
}
.card01__company{
	font-size: 16px;
	line-height: 1.5;
	margin-top: 12px;
	font-weight: 700;
	margin-bottom: auto;
}
.card01__body{
	display: flex;
	flex-direction: column;
	/* height: 100%; */
	padding: 24px 29px;
}
.card01__img img{
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .5s;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	.card01__title{
		font-size: 16px;
		min-height: 54px;
	}
	.card01__company{
		font-size: 14px;
	}
	.card01__body {
		padding: 12px 15px;
  }
}
@media all and (max-width: 767px) {
	.card01__title{
		font-size: 17px;
		flex-grow: 0;
		min-height: auto;
	}
	.card01__company{
		font-size: 14px;
	}
}
/*------------------------------------------------------------
	blog
------------------------------------------------------------*/

#blog .h2Ttl {
	margin: 0 auto 196px;
	width: 220px;
	text-align: center;
}
#blog #main{
	padding-top: 180px;
}
#blog .comBgBox .bgWhite {
	padding: 148px 60px 124px;
	max-width: 1866px;
}
#blog .comBgBox {
	padding-bottom: 129px;
}
#blog .btn {
	position: relative;
	z-index: 1;
	text-align: center;
}
#blog .btn a {
	padding: 40px 15px;
	width: 564px;
	display: inline-block;
	font-size: 3.1rem;
	font-weight: bold;
	color: #C30000;
	border: 2px solid #C30000;
	border-radius: 3px;
}
#blog .btn a:hover {
	opacity: 0.7;
}
#blog .linkList {
	position: relative;
	z-index: 10;
	margin-bottom: 110px;
	padding: 0px 0px 0px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	/* -webkit-flex-wrap: wrap;
	flex-wrap: wrap; */
}
#blog .linkList li{
	background-color: #F5F5F5;
}
#blog .linkList li a {
	margin: 0 0px;
	display: block;
	font-size: 1.3rem;
	font-weight: bold;
}
#blog .linkList li a span{
	display: block;
	border-right:  1px solid #000;
}
#blog .linkList li a{
	padding: 23px 0 24px;
}
#blog .linkList li:last-child a span{
	border-right:  none;
}
#blog .linkList li {
}
#blog .linkList .linkList__other {
	margin: 0 0px;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
	position: relative;
	padding: 23px 0 24px;
	cursor: pointer;
}
#blog .linkList .linkList__other::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 14px;
	height: 9px;
	transform: translateY(-50%);
   background-image: url(../ants-design/img/blog/other-arrow.svg);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
}
#blog .blog__other {
	margin: 0 0px;
	display: none;
	font-size: 1.3rem;
	font-weight: bold;
	position: relative;
	padding: 23px 0 24px;
	cursor: pointer;
}
#blog .blog__other::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 30px;
	right: 16px;
	width: 14px;
	height: 9px;
   background-image: url(../ants-design/img/blog/other-arrow.svg);
   background-position: center;
   background-size: cover;
   background-repeat: no-repeat;
}
#blog .linkList li a:hover {
	opacity: 0.7;
}
#blog .linkList .is-active{
	color: #C30000;
}
.blog__wrapper{
	max-width: 1060px;
	width: 100%;
	margin: auto;
}
.blog__items{
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	width: 100%;
	margin: auto;
}
.blog__item{
	width: 30%;
	margin-right: 5%;    
}
.blog__item:nth-of-type(3n){
	margin-right: 0%;    
}
.blog__item:nth-of-type(n + 4){
	margin-top:80px;    
}
.blog__other{
	display: none;
}
#blog .linkList li{
	position: relative;
	max-width: 209px;
	width: 100%;
	text-align: center;
	font-size: 18px;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	#blog .h2Ttl {
		margin-bottom: 50px;
	}
	#blog .comBgBox .bgWhite {
		padding: 120px 40px 120px;
  }
	#blog .btn a {
		padding: 30px 15px;
		width: 450px;
		font-size: 2.8rem;
	}
	#blog .linkList{
		margin-bottom: 60px;
	}
	#blog .linkList .linkList__other{
		max-width: 180px;
	}
	.blog__wrapper{
		max-width: 660px;
	}
	#blog .linkList .linkList__other::before {
		width: 11px;
		height: 6px;
		right: 7px;
	}
}
@media all and (max-width: 767px) {
	#blog #main {
		padding-top: 50px;
	}
	#blog .h2Ttl {
		margin: 0 auto 70px;
		width: 102px;
	}
	#blog .comBgBox{
		padding-bottom: 0;
	}
	#blog .comBgBox .bgWhite {
		padding: 60px 20px;
		margin: 0;
	}
	.blog__items{
		display: block;
		max-width: 500px;
		width: 100%;;
	}
	.blog__block{
		padding-top: 170px;
	}
	.blog__item{
		width: 100%;
	}
	.blog__item:nth-of-type(n + 2){
		margin-top:38px;    
	}
	.blog__item:nth-of-type(n + 4){
		margin-top:38px;    
	}
	#blog .btn {
		padding: 64px 30px 71px;
		background: url("img/works/bg01.jpg") no-repeat center center;
		background-size: cover;
	}
	#blog .btn a {
		padding: 20px 10px;
		width: 100%;
		max-width: 280px;
		font-size: 1.55rem;
		border: 1px solid #C30000;
	}
	#blog .linkList {
		margin-bottom: 10px;
		padding: 5px 10px 15px;
	}
	#blog .linkList li a {
		margin:0px 0px 0;
	}
	#blog .blog__other{
		display: block;
		margin: auto;
	}
	#blog .linkList .linkList__other{
		display: none;
	}
	#blog .blog__other{
		display: block;
	}
	#blog .linkList li:nth-last-child(2) a span{
		border-right:  none;
	}
	#blog .linkList li a{
		padding: 20px 0 20px;
	}
	#blog .blog__other{
		padding: 20px 0 20px;
	}
	#blog .blog__other::before {
		top: 26px;
	}
}
@media all and (max-width: 420px) {
	#blog .linkList{
		flex-wrap: wrap;
	}
	#blog .linkList li{
		max-width: calc(100% / 2);
	}
	#blog .linkList li:nth-child(2n) a span{
		border-right: none;
	}
	#blog .linkList{
		padding: 0;
	}
}
/*------------------------------------------------------------
	single-blog
------------------------------------------------------------*/

#single-blog .h2Ttl {
	margin: 0 auto 196px;
	width: 220px;
	text-align: center;
}
#single-blog #main{
	padding-top: 180px;
}
#single-blog .comBgBox .bgWhite {
	padding: 148px 60px 124px;
	max-width: none;
}
#single-blog .comBgBox {
	padding-bottom: 129px;
}
.single-blog__head{
	max-width: 1386px;
	width: 100%;
	margin: auto;
}
.single-blog__inner{
	max-width: 1200px;
	width: 100%;
	margin: auto;
}
.single-blog__content{
	max-width: 1120px;
	width: 100%;
	margin: auto;
	margin-top: 64px;
}
.single-blog__title{
	font-size: 46px;
	font-weight: 700;
	line-height: 1.3;
}
.single-blog__block{
	margin-top: 37px;
	display: flex;
}
.single-blog__time{
	font-size: 24px;
	font-weight: 700;
	margin-right: 37px;
}
.single-blog__img{
	margin-top: 86px;
}
.single-blog__img img{
	width: 100%;
}
.single-blog__categories{
	margin: -8px 0 0  -34px;
	display: flex;
	flex-wrap: wrap;
}
.single-blog__category{
	margin:  12px 0 0 34px;
	font-size: 20px;
	line-height: 1.2;
	color: #C30001;
	font-weight: 700;
}
.single-blog__content h2{
	font-size: 35px;
	font-weight: 700;
	position: relative;
	line-height: 1.3;
	padding: 14px 0 16px 36px;
}
.single-blog__content h2::before{
	content: "";
	width:  7px;
	height: 100%;
	display: inline-block;
	position: absolute;
	background-color: #C30001;
	top: 0%;
	left: 5px;
}
.single-blog__bottom{
	margin: 114px auto 0;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
	#single-blog .h2Ttl {
		margin-bottom: 50px;
	}
	#single-blog .comBgBox .bgWhite {
		padding: 120px 40px 120px;
  }
  .single-blog__content{
	margin-top: 48px;
	}
	.single-blog__title{
		font-size: 40px;
	}
	.single-blog__block{
		margin-top: 32px;
	}
	.single-blog__time{
		font-size: 20px;
		margin-right: 28px;
	}
	.single-blog__categories{
		margin: -4px 0 0  -12px;
	}
	.single-blog__category{
		margin:  8px 0 0 12px;
		font-size: 18px;
	}
	.single-blog__img{
		margin-top: 56px;
	}
	.single-blog__content h2{
		font-size: 36px;
		padding: 12px 0 14px 28px;
	}
	.single-blog__bottom{
		margin-top: 80px;
		max-width: 500px;
		width: 100%;
	}
}
@media all and (max-width: 767px) {
	#single-blog #main {
		padding-top: 50px;
	}
	#single-blog .h2Ttl {
		margin: 0 auto 70px;
		width: 102px;
	}
	#single-blog .comBgBox{
		padding-bottom: 0;
	}
	#single-blog .comBgBox .bgWhite {
		padding: 60px 20px;
		margin: 0;
	}
	.single-blog__content{
		max-width: 500px;
		margin-top: 28px;
	}
	.single-blog__title{
		font-size: 25px;
	}
	.single-blog__head{
		max-width: 500px;
	}
	.single-blog__block{
		margin-top: 22px;
	}
	.single-blog__time{
		font-size: 16px;
		margin-right: 15px;
	}
	.single-blog__categories{
		margin: -3px 0 0  -12px;
	}
	.single-blog__category{
		margin:  8px 0 0 12px;
		font-size: 10px;
	}
	.single-blog__img{
		margin-top: 51px;
	}
	.single-blog__content h2{
		font-size: 25px;
		padding: 10px 0 8px 18px;
	}
	.single-blog__bottom{
		margin-top: 54px;
	}
}


/*------------------------------------------------------------
	card02
------------------------------------------------------------*/
.card02{
	box-shadow: 5px 5px 10px #00000029;
}
.card02 a{
	display: block;
}
.card02__img{
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 1;
	padding-top:  67.96%;
	cursor: pointer;
}
.card02__img img{
	transition: transform .5s;
}
.card02:hover .card02__img img{
	transform: scale(1.1) translate(-45%, -45%);
}
.card02__link{
	display: flex;
	flex-direction: column;
	height: 100%;

}
.card02__link:hover .card02__img img{
	transform: scale(1.1) translate(-45%, -45%);
}
.card02__title{
	font-size: 16px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
overflow: hidden;
	/* min-height: 72px; */
}
.card02__time{
	font-size: 14px;
	line-height: 1.5;
	font-weight: 700;
	margin-right: 16px;
	margin-top: 1px;
}
.card02__body{
	/* display: flex;
	flex-direction: column;
	height: 100%; */
	padding: 24px 29px;
}
.card02__block{
	display: flex;
	margin-top: 16px;
}
.card02__img img{
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .5s;
}
.card02__text{
	color: #585858;
	font-size: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 24px;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.card02__title{
		font-size: 16px;
	}
	.card02__time{
		font-size: 14px;
		margin-right: 14px;
	}
	.card02__body {
		padding: 12px 15px;
  }
  .card02__block{
	  margin-top: 16px;
	  flex-wrap: wrap;
	}
	.card02__text{
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
		margin-top: 16px;
	}
}
@media all and (max-width: 767px) {
	.card02__title{
		font-size: 17px;
		min-height: auto;
	}
	.card02__company{
		font-size: 14px;
	}
	.card02__block{
		margin-top: 24px;
	}
	.card02__time{
		font-size: 11px;
	}
	.card02__text{
		margin-top: 20px;
		min-height: 18px;
      font-size: 12px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
	}
	.card02__body {
		padding: 14px 19px 21px;
	}
}


/*------------------------------------------------------------
	categories
------------------------------------------------------------*/
.categories{
	margin: 0 0 0  -12px;
	display: flex;
	flex-wrap: wrap;
}
.categories__item{
	margin:  12px 0 0 12px;
}
.categories__item{
	font-size: 14px;
	line-height: 1.2;
	padding: 2px 8px 0;
	color: #C30001;
	border:1px solid#C30001;
	font-weight: 700;
	display: inline-block;
}
.categories__item::before {
   content: "";
   display: inline-block;
   height: 21px;
   vertical-align: middle;
}

/*------------------------------------------------------------
	normal-categories
------------------------------------------------------------*/
.normal-categories{
	margin: -9px 0 0  -19px;
	display: flex;
	flex-wrap: wrap;
}
.normal-categories__item{
	margin:  12px 0 0 19px;
}
.normal-categories__item{
	font-size: 14px;
	line-height: 1.2;
	color: #C30001;
	font-weight: 700;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.normal-categories{
		margin: -6px 0 0  -12px;
	}
	.normal-categories__item{
		margin:  8px 0 0 12px;
		font-size: 14px;
	}
}
@media all and (max-width: 767px) {
	.normal-categories{
		margin: -8px 0 0  -12px;
	}
	.normal-categories__item{
		margin:  8px 0 0 12px;
		font-size: 11px;
	}
	.normal-categories__item{
	}
}
/*------------------------------------------------------------
	single-btn
------------------------------------------------------------*/
.single-btn{
	max-width: 461px;
	width: 100%;
	position: relative;
	font-size: 24px;
	font-weight: 700;
	background-color: #C30001;
	color: #fff !important;
	display: inline-block;
	z-index: 1;
}
.single-btn::before {
	content: "";
   display: inline-block;
   height: 95px;
   vertical-align: middle;
}
.single-btn::after {
	content: "";
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	display: inline-block;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	z-index: 10;
}
.single-btn:hover span{
	opacity: .7;
}
.single-btn:hover::after{
	opacity: .7;
}
.single-btn__uDesktop{
	display: none;
}
@media all and (max-width: 767px) {
	.single-btn{
		font-size: 16px;
		text-align: left;
		padding: 8px 0;
	}
	.single-btn span{
		display: block;
		max-width: 145px;
		width: 100%;
		margin: 0 auto;
	}
	.single-btn__uDesktop{
		display: block;
	}
	.single-btn::before{
		display: none;
	}
}
@media all and (max-width: 429px) {
	.single-btn::after {
		width: 8px;
		height: 8px;
		right: 14px;
	}
}

/*------------------------------------------------------------
	single-2colbtn
------------------------------------------------------------*/
.single-2colbtn{
	display: inline-block;
	max-width: 461px;
	width: 100%;
	position: relative;
	color: #fff !important;
	padding: 30px 0;
	background-color: #C30001;
	z-index: 1;
}
.single-2colbtn::after {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    position: absolute;
    right: 24px;
    top: 50%;
	 transform: translateY(-50%);
    z-index: 10;
	 background-image: url(img/works/single-2colbtn-icon.svg);
	 background-position: center;
	 background-size: cover;
	 background-repeat: no-repeat;
}
.single-2colbtn__top{
	display: block;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 700;
}
.single-2colbtn__bottom{
	display: block;
	font-size: 18px;
	font-weight: 400;
	margin-top: 8px;
}
.single-2colbtn:hover span{
	opacity: .7;
}
.single-2colbtn:hover::after{
	opacity: .7;
}
@media all and (max-width: 767px) {
	.single-2colbtn{
		padding: 16px 0;
	}
	.single-2colbtn__top{
		font-size: 16px;
	}
	.single-2colbtn__bottom{
		font-size: 14px;
	}
}
@media all and (max-width: 429px) {
	.single-2colbtn__top{
		font-size: 14px;
	}
	.single-2colbtn__bottom{
		font-size: 12px;
	}
	.single-2colbtn::after{
		width: 16px;
		height: 16px;
		right: 10px;
	}
}
/*------------------------------------------------------------
	relation
------------------------------------------------------------*/
.relation__inner{
	max-width: 1386px;
	width: 100%;
	margin:auto;
	padding: 0 25px;
}
.relation__items{
	display: flex;
	margin-top: 60px;
}
.relation__item{
	width: calc((100% - (2.7% * 2)) / 3);
	margin-right: 5%;    
}
.relation__item:nth-of-type(3n){
	margin-right: 0%;    
}
.relation__item:nth-of-type(n + 4){
	margin-top:80px;    
}
.relation__other{
	margin-top: 129px;
}
.relation--layer{
	margin-top: 176px;
}
.relation__name{
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}
@media all and (min-width: 768px) and (max-width: 1024px) {

}
@media all and (max-width: 767px) {
	.relation--layer{
		margin-top: 118px;
	}
	.relation__inner{
		max-width: 500px;
		padding: 0;
	}
	.relation__items{
		margin-top: 56px;
		display: block;
	}
	.relation__item{
		width: 100%;
	}
	.relation__item:nth-of-type(n + 2){
		margin-top:53px;    
	}
	.relation__item:nth-of-type(n + 4){
		margin-top:53px;    
	}
	.relation__name{
	font-size: 16px;
	}
	.relation__inner{
		max-width: 540px;
		padding: 0 20px;
	}
}
/*------------------------------------------------------------
	single-1col
------------------------------------------------------------*/
.single-1col{
	margin-top: 130px;
}
.single-1col__img{
	margin-top: 40px;
}
.single-1col__caption{
	font-size: 12px;
	font-weight: 700;
	margin-top: 8px;
}
.single-1col__text{
	margin-top: 21px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.9;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.single-1col__img{
		margin-top: 36px;
	}
	.single-1col__text{
		margin-top: 16px;
		font-size: 16px;
	}
}
@media all and (max-width: 767px) {
	.single-1col__img{
		margin-top: 32px;
	}
	.single-1col__caption{
		font-size: 10px;
		margin-top: 6px;
	}
	.single-1col__text{
		margin-top: 29px;
		font-size: 14px;
	}
	.single-1col{
		margin-top: 87px;
	}
}
/*------------------------------------------------------------
	single-2col
------------------------------------------------------------*/
.single-2col{
	margin-top: 110px;
}
.single-2col__inner{
	display: flex;
	margin-top: 40px;
}
.single-2col__img{
	max-width: 560px;
	width: 100%;
	margin-right: 30px;
}
.single-2col--reverse .single-2col__img{
	margin-right: 0px;
}
.single-2col__caption{
	font-size: 12px;
	font-weight: 700;
	margin-top: 8px;
}
.single-2col__body{
	max-width: 529px;
	width: 100%;
}
.single-2col--reverse .single-2col__body{
	margin-right: 30px;
}
.single-2col__text{
	font-size: 18px;
	line-height: 1.9;
	font-weight: 500;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	.single-2col__inner{
		margin-top: 32px;
	}
	.single-2col__text{
		font-size: 16px;
	}
	.single-2col__img{
		margin-right: 20px;
	}
	.single-2col--reverse .single-2col__body{
		margin-right: 20px;
	}
}
@media all and (max-width: 767px) {
	.single-2col__inner{
		display: block;
	}
	.single-2col__img{
		margin-top: 0px;
	}
	.single-2col--reverse .single-2col__img{
		margin-top: 34px;
	}
	.single-2col__caption{
		font-size: 10px;
		margin-top: 6px;
	}
	.single-2col__body{
		margin-top: 30px;
	}
	.single-2col--reverse .single-2col__body{
		margin-top: 0px;
	}
	.single-2col__text{
		font-size: 14px;
	}
	.single-2col{
		margin-top: 87px;
	}
}
/*------------------------------------------------------------
	single-caption
------------------------------------------------------------*/
.single-caption{
	margin-top: 110px;
}
.single-caption__caption{
	font-size: 12px;
	font-weight: 700;
	margin-top: 8px;
}
@media all and (max-width: 767px) {
	.single-caption__caption{
		font-size: 10px;
		margin-top: 6px;
	}
}
/*------------------------------------------------------------
	single-bottom
------------------------------------------------------------*/
.single-bottom__btns{
	display: flex;
	justify-content: space-between;
}
.single-bottom__btn{
	font-size: 18px;
	font-weight: 700;
	position: relative;
}
.single-bottom__btn::before{
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	transform:translateY(-50%) rotate(45deg);
	top: 50%;
	position: absolute;
}
.single-bottom__btn--left +.single-bottom__btn--right{
	margin-left: 0;
}
.single-bottom__btn--right{
	margin-left: auto;
}
.single-bottom__btn--left{
	padding-left: 25px;
}
.single-bottom__btn--left::before{
	border-bottom: 2px solid #000;
	border-left: 2px solid #000;
	left: 0;
}
.single-bottom__btn--right{
	padding-right: 25px;
}
.single-bottom__btn--right::before{
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	right: 0;
}
.single-bottom__other{
	text-align: center;
	margin-top: 100px;
}
.single-bottom__other a{
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-bottom__other a::before{
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	transform:rotate(45deg);
	margin-right: 27px;
	border-bottom: 2px solid #000;
	border-left: 2px solid #000;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	single-bottom__other{
		margin-top: 80px;
	}
}
@media all and (max-width: 767px) {
	.single-bottom__btns{
		max-width: 500px;
		width: 100%;
		margin: auto;
	}
	.single-bottom__other{
		margin-top: 54px;
	}
	.single-bottom__btn{
		font-size: 16px;
	}
	.single-bottom__other a{
		font-size: 16px;
	}
}
/*------------------------------------------------------------
	linkblock
------------------------------------------------------------*/
/* #blog .linkList .linkList__block{
	position: absolute;
	top:66px;
	left: 0;
	right:0;
	z-index: 100;
} */
/*------------------------------------------------------------
	other
------------------------------------------------------------*/
#blog .other{
	width: 100%;
}
.other__item .is-active{
	color: #fff !important;
	background-color: #1E90FF;
}
#blog .other__items{
	position: absolute;
	top:24px;
	left: 0;
	right:0;
	z-index: 100;
}
#blog .other__items li a{
	border-right: none;
}
.other__items{
	background-color: #F5F5F5;
	display: none;
}
.other{
	position: absolute;
}
#blog .other__items .other__item a{
	font-weight: 400;
	padding: 19px 0 15px 30px;
	text-align: left;
	padding-left: 30px;
}
#blog .other__items .other__item a:hover{
	color: #fff;
	background-color: #1E90FF;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
	#blog .linkList li{
		max-width: 100%;
	}
	#blog .other__items .other__item a{
		padding-left: 10px;
	}
}
@media all and (max-width: 767px) {
	#blog .other{
		position: relative;
		z-index: 100;
	}
	.other{
		background-color: #F5F5F5;
		max-width:260px;
		width: 100%;
	}
	#blog .other__items .other__item a{
		display: block;
	}
	#blog .other__items{
		position: absolute;
		top:59px;
		left: 0;
		right:0;
		z-index: 100;
	}
	#blog .other__parent{
		padding-left: 37px;
	}
	#blog .other__items .other__item a{
		padding-left: 37px;
	}
}