@charset "utf-8";

/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual{
	background-image: url(../images/works/bg_keyvisual.jpg);
    background-image: image-set(url(../images/works/bg_keyvisual.jpg) 1x, url(../images/works/bg_keyvisual@2x.jpg) 2x);
}
.Keyvisual-message{
	margin-top: -40vh;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Keyvisual__title{
		margin-bottom: 0rem;
	}

}



/*-------------------------------
	事例紹介
-------------------------------*/

.Case{
	padding-bottom: 0;
}
.Case-block-wrap{
	width: 100%;
	gap: 7.8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
.Case-block{
	width: calc((100% - 7.8rem) / 2);
}
.Case-block__image{
	width: 100%;
	margin-bottom: 2rem;
	border-radius: .5rem;
}
.Case-block__image img{
	width: 100%;
}
.Case-block__title{
	font-family: var(--jp2);
	border-bottom: 1px dotted var(--maincolor);
	font-size: 2.5rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	line-height: calc(4.4 / 2.5);
	font-weight: 600;
}
.Case-block__text{
	font-size: 2.2rem;
	line-height: calc(3.8 / 2.2);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Case-block-wrap{
		column-gap: 3rem;
	}
	.Case-block{
		width: calc((100% - 3rem) / 2);
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Case{
		padding-bottom: 2.5rem;
	}
	.Case-block-wrap{
		gap: 5.5rem 3rem;
	}
	.Case-block{
		width: calc((100% - 3rem) / 2);
	}
	.Case-block__image{
		margin-bottom: 2.5rem;
	}
	.Case-block__title{
		width: 100%;
		font-size: 3.2rem;
		padding-bottom: 2.5rem;
		margin-bottom: 3.5rem;
		line-height: 1.5;
		height: calc(2em * 1.5 + 2.5rem);
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.Case-block__text{
		line-height: var(--line-height);
		font-size: 2.8rem;
	}

}



/*-------------------------------
	企業の声
-------------------------------*/

.Voice{
	background: linear-gradient(0deg, rgba(235, 240, 243, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
.Voice__text{
	font-size: 2.5rem;
	margin-bottom: 4.8rem;
	line-height: calc(4.4 / 2.5);
	text-align: center;
}
.Voice-block-wrap{
	width: 100%;
	column-gap: 3rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Voice-block{
	width: calc((100% - (3rem * 2)) / 3);
	padding: 4rem 3rem 3.5rem;
	box-shadow: .4rem 1rem .5rem rgba(0,0,0,.1);
	border-radius: .5rem;
	background: #fff;
}
.Voice-block::before{
	content: "";
	display: block;
	width: 7.2rem;
	height: 6.9rem;
	margin-bottom: 3.6rem;
	margin-left: auto;
	margin-right: auto;
	background-image: url(../images/works/icon_voice.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.Voice-block__text{
	font-size: 2rem;
	line-height: calc(3.5 / 2);
	margin-bottom: 3rem;
}
.Voice-block__name{
	width: 100%;
	font-size: 2rem;
	line-height: calc(3.5 / 2);
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.Voice-block__name::before{
	background: var(--blackcolor);
	content: "";
	display: block;
	width: 6rem;
	height: 1px;
	margin-right: 1rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Voice__text{
		font-size: 2.8rem;
		margin-bottom: 7.5rem;
		line-height: var(--line-height);
	}
	.Voice-block-wrap{
		width: 100%;
		row-gap: 5rem;
		flex-direction: column;
	}
	.Voice-block{
		width: calc(100% - (var(--padding-leftright) * 2));
		padding: 5rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Voice-block::before{
		width: 7rem;
		height: 7rem;
		margin-bottom: 3.5rem;
	}
	.Voice-block__text{
		font-size: 2.8rem;
		line-height: var(--line-height);
		margin-bottom: 3rem;
	}
	.Voice-block__name{
		font-size: 2.8rem;
		line-height: var(--line-height);
	}
	.Voice-block__name::before{
		margin-right: 2.5rem;
	}

}



/*-------------------------------
	実績紹介
-------------------------------*/

.Achievements-list{
	width: 100%;
	margin-bottom: 7rem;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.Achievements-list__item:not(:last-child){
	margin-right: 3.2rem;
}
.Achievements-list__item a{
	font-size: 2.1rem;
	line-height: 1;
	padding-left: .6rem;
	padding-right: .6rem;
	padding-bottom: .6rem;
	position: relative;
	display: block;
}
.Achievements-list__item.-current a::after{
	background: var(--subcolor);
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
}

.Achievements-block-wrap{
	width: 100%;
	display: flex;
	gap: 8rem 7.2rem;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Achievements-block{
	width: calc((100% - (7.2rem * 2)) / 3);
}
.Achievements-block__image{
	width: 100%;
	border-radius: .5rem;
}
.Achievements-block__image a{
	opacity: 1 !important;
	width: 100%;
	display: block;
}
.Achievements-block__image img{
	transition: var(--transition);
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.Achievements-block__body{
	padding-top: 1.4rem;
}
.Achievements-block__title{
	font-size: 1.6rem;
	border-radius: .2rem;
	margin-bottom: .8rem;
	padding: .8rem;
	line-height: 1;
	border: 1px solid;
	display: inline-block;
}
.Achievements-block__data{
	width: 100%;
	margin-bottom: .8rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Achievements-block__data-text{
	padding-right: .6rem;
	line-height: 1;
	position: relative;
}
.Achievements-block__data-text::after{
	background: var(--blackcolor);
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}
.Achievements-block__data-pref{
	padding-left: .6rem;
	line-height: 1;
}
.Achievements-block__sub{
	line-height: 1;
}
.Achievements-block__category{
	margin-top: 1rem;
	width: 100%;
	display: flex;
	gap: .6rem;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Achievements-block__category-item{
	display: inline-block;
}
.Achievements-block__category-item span{
	border: 1px solid var(--blackcolor);
	font-size: 1rem;
	border-radius: 10rem;
	padding: .2rem .6rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Achievements-block__category-item span::before{
	color: var(--subcolor);
	content: "#";
	line-height: 1;
	display: block;
}

.Achievements-block__image a:hover img{
	transform: scale(1.1);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Achievements-block-wrap{
		column-gap: 3rem;
	}
	.Achievements-block{
		width: calc((100% - (3rem * 2)) / 3);
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Achievements-list{
		margin-bottom: 7rem;
	}
	.Achievements-list__item:not(:last-child){
		margin-right: 3.2rem;
	}
	.Achievements-list__item a{
		font-size: 2.1rem;
		padding-left: .6rem;
		padding-right: .6rem;
		padding-bottom: .6rem;
	}

	.Achievements-block-wrap{
		gap: 7.5rem 3rem;
	}
	.Achievements-block{
		width: calc((100% - (3rem * 1)) / 2);
	}
	.Achievements-block__body{
		padding-top: 2.5rem;
		line-height: 1;
	}
	.Achievements-block__title{
		font-size: 2.4rem;
		margin-bottom: 2.5rem;
		padding: 1.5rem;
	}
	.Achievements-block__data{
		margin-bottom: 2.5rem;
		flex-direction: column;
		align-items: flex-start;
	}
	.Achievements-block__data-text{
		padding-right: 0;
		margin-bottom: 2.5rem;
	}
	.Achievements-block__data-text::after{
		display: none;
	}
	.Achievements-block__data-pref{
		padding-left: 0;
		line-height: 1;
	}
	.Achievements-block__sub{
		margin-bottom: 2.5rem;
		text-align: left;
	}
	.Achievements-block__category{
		margin-top: 0;
		gap: 1.5rem;
	}
	.Achievements-block__category-item{
		width: calc((100% - 2.5rem) / 2);
		display: inline-block;
	}
	.Achievements-block__category-item span{
		font-size: 2rem;
		border-radius: 10rem;
		padding: .5rem 1.5rem;
		word-break: break-all;
	}

}



/*-------------------------------
	詳細
-------------------------------*/

.Breadclumb{
	padding-top: 20rem;
}

.Single{
	padding-top: 5rem;
}
.Single-mainvisual{
	width: 100%;
	margin-bottom: 4.5rem;
}
.Single-mainvisual img{
	width: 100%;
	aspect-ratio: 1 / 0.36;
	object-fit: cover;
}
.Single-header{
	border-bottom: 1px solid #ccc;
	padding-bottom: 1.8rem;
	margin-bottom: 6.8rem;
}
.Single-header__title{
	font-family: var(--jp2);
	font-size: 6rem;
	margin-bottom: 3rem;
	font-weight: 600;
	line-height: 1.35;
}
.Single-header-data{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Single-header-data__left{
	width: 50%;
}
.Single-header-data__category{
	font-family: var(--en);
	font-size: 3.1rem;
}
.Single-header-data__tag-wrap{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Single-header-data__tag{
	font-family: var(--jp2);
	font-weight: 600;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Single-header-data__tag:not(:last-child){
	margin-right: 3.4rem;
}
.Single-header-data__tag::before{
	color: var(--subcolor);
	font-family: var(--jp2);
	content: "#";
	display: block;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
}
.Single-header-data__right{
	width: 50%;
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.Single-header-data__date{
	font-family: var(--en);
	margin-bottom: .2rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Single-header-data__date::before{
	content: attr(data-tag);
	width: 5rem;
	line-height: 1;
	padding-right: 1rem;
	text-align: right;
}
.Single-header-data__client{
	font-family: var(--en);
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Single-header-data__client::before{
	content: attr(data-tag);
	width: 5rem;
	line-height: 1;
	padding-right: 1rem;
	text-align: right;
}
.Single-header-data__client-text{
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
	padding-right: .6rem;
	position: relative;
}
.Single-header-data__client-text::after{
	background: var(--blackcolor);
	content: "";
	display: block;
	width: 1px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
}
.Single-header-data__client-pref{
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
	padding-left: .6rem;
}

.Single-editor__text{
	text-align: center;
}

.Single-editor + .Single-block-wrap{
	margin-top: 10rem;
}
.Single-block{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.Single-block:not(:last-child){
	margin-bottom: 7.5rem;
}
.Single-block:nth-of-type(2n){
	flex-direction: row-reverse;
}
.Single-block__title{
	font-family: var(--jp2);
	margin-bottom: 1.5rem;
	font-size: 3.9rem;
	line-height: 1.35;
	font-weight: 600;
}
.Single-block__image{
	width: 40rem;
}
.Single-block__image img{
	width: 100%;
}
.Single-block__body{
	width: calc(100% - calc(40rem + 5rem));
}

.Single__button{
	margin-top: 14rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){
		
	.Single-block__image{
		width: 40%;
	}
	.Single-block__body{
		width: calc(60% - 5rem);
	}
}
@media screen and (max-width:768px){

	.Breadclumb{
		padding-top: 12rem;
	}
	.Single{
		padding-top: 5rem;
	}
	.Single-mainvisual{
		margin-bottom: 5rem;
	}
	.Single-header{
		padding-bottom: 2.5rem;
		margin-bottom: 7.5rem;
	}
	.Single-header__title{
		font-size: 4rem;
		margin-bottom: 2.5rem;
	}
	.Single-header-data{
		flex-direction: column;
	}
	.Single-header-data__left{
		width: 100%;
	}
	.Single-header-data__category{
		font-size: 2.4rem;
		margin-bottom: 1.5rem;
	}
	.Single-header-data__tag-wrap{
		flex-wrap: wrap;
	}
	.Single-header-data__tag{
		font-size: 2.4rem;
	}
	.Single-header-data__tag:not(:last-child){
		margin-right: 3.5rem;
	}
	.Single-header-data__tag::before{
		font-size: 1.5rem;
	}
	.Single-header-data__right{
		width: 100%;
		padding-top: 2.5rem;
	}
	.Single-header-data__right-inner{
		width: 100%;
	}
	.Single-header-data__date{
		width: 100%;
		margin-bottom: 1.5rem;
	}
	.Single-header-data__date::before{
		width: auto;
		padding-right: 2.5rem;
	}
	.Single-header-data__client{
		width: 100%;
	}
	.Single-header-data__client::before{
		width: auto;
		padding-right: 2.5rem;
	}
	.Single-header-data__client-text{
		font-size: 2.4rem;
		padding-right: 2.5rem;
	}
	.Single-header-data__client-pref{
		font-size: 2.4rem;
		padding-left: 2.5rem;
	}

	.Single-editor__text{
		text-align: left;
	}

	.Single-editor + .Single-block-wrap{
		margin-top: 7.5rem;
	}
	.Single-block{
		flex-direction: column;
	}
	.Single-block:not(:last-child){
		margin-bottom: 7.5rem;
	}
	.Single-block:nth-of-type(2n){
		flex-direction: column;
	}
	.Single-block__title{
		margin-bottom: 2.5rem;
		font-size: 4rem;
	}
	.Single-block__image{
		width: 100%;
		margin-bottom: 3.5rem;
	}
	.Single-block__body{
		width: 100%;
	}
	.Single__button{
		margin-top: 10rem;
	}


}