@charset "UTF-8";


/***************************************************

	business

***************************************************/


#page_head::before{
	background-image: url('../images/service/page_header_bg.webp');
}

#service_head{
    width: 100%;
    height: 1050px;
    background: rgba(0, 0, 0, 0.7);
    position: relative;
}

#service_head::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
    background-image: url('../images/service/block01_bg.webp');
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#service_head .image_block{
	width: 960px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.service_cont{
	padding: 160px 0;
}

.service_cont .service_cont_wrapp{
	margin-bottom: 140px;
}

.service_cont .service_cont_wrapp:last-of-type{
	margin-bottom: 0;
}


.service_cont .service_cont_wrapp .cont_head{
	width: 960px;
	margin: 0 auto 45px;
	line-height: 1;
	position: relative;
    z-index: 2;
}

.service_cont .service_cont_wrapp .cont_head .service_num{
	display: flex;
	flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
	margin-bottom: 75px;
	position: relative;
}

.service_cont .service_cont_wrapp .cont_head .service_num::after{
	content: '';
	display: inline-block;
	width: 24px;
	height: 2px;
	background: var(--color1);
	position: absolute;
    bottom: -36px;
    left: 0;
}

.service_cont .service_cont_wrapp .cont_head .service_num .text{
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.service_cont .service_cont_wrapp .cont_head .service_num .num{
	font-size: 26px;
	font-weight: 700;
	color: #29b8e3;
	margin-left: 12px;
}

.service_cont .service_cont_wrapp h2{
	font-size: 64px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}

.service_cont .service_cont_wrapp .caption{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.service_cont .service_cont_wrapp .cont_body{
	padding: 80px 0 530px;
	background: #f2f2f2;
	position: relative;
}

.service_cont .service_cont_wrapp .cont_body::before{
	content: '';
	display: block;
	width: 1440px;
	height: 390px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	background-image: url('../images/service/block02_top_bg.png');
    position: absolute;
    top: -390px;
    right: 0;
    z-index: -1;
}

.wbp .service_cont .service_cont_wrapp .cont_body::before{
	background-image: url('../images/service/block02_top_bg.webp');
}

.service_cont .service_cont_wrapp .cont_body::after{
	content: '';
	display: block;
	width: 1440px;
	height: 480px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	background-image: url('../images/service/block02_bottom_bg.png');
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.service_cont .service_cont_wrapp .cont_body ul{
	width: 960px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.service_cont .service_cont_wrapp .cont_body ul li{
	width: 312px;
	border-top: 1px solid var(--color1);
	border-bottom: 1px solid var(--color1);
	background: #fff;
	line-height: 1;
	padding-bottom: 35px;
}

.service_cont .service_cont_wrapp .cont_body ul li .head{
	display: flex;
	margin-bottom: 26px;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .item{
	width: 49px;
	height: 32px;
	line-height: 32px;
	background: var(--color1);
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
	text-align: center;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .num{
	width: 32px;
	height: 32px;
	line-height: 32px;
	background: #29b8e3;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_text_wrapp{
	padding: 0 24px;
}

.service_cont .service_cont_wrapp .cont_body ul li .title{
	line-height: 2.5;
	margin-bottom: 20px;
}

.service_cont .service_cont_wrapp .cont_body ul li .title span{
	display: inline-block;
	height: 36px;
	line-height: 36px;
	background: var(--color1);
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
	padding: 0 16px;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_caption{

}

.service_cont .service_cont_wrapp .cont_body ul li .li_caption p{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.04em;
	margin-bottom: 1em;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_caption p:last-of-type{
	margin-bottom: 0;
}

.service_cont .service_cont_wrapp .image_block{
	margin-top: -450px;
	position: relative;
	z-index: 10;
}

.service_cont .service_cont_wrapp .image_block .catch{
	line-height: 1;
	text-align: center;
	margin-bottom: 40px;
}

.service_cont .service_cont_wrapp .image_block .catch strong{
	display: inline-block;
	height: 56px;
	line-height: 56px;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
	background: var(--color1);
	padding: 0 25px;
}

.service_cont .service_cont_wrapp .image_block .iamge_wrapp{
	width: 960px;
	margin: 0 auto;
}

.service_cont .service_cont_wrapp.development .cont_head .service_num .num {
    color: #6d7deb;
}

.service_cont .service_cont_wrapp.development .cont_body ul li .head .num {
    background: #6d7deb;
}

.service_cont .service_cont_wrapp.consulting .cont_head .service_num .num {
    color: #cc29f9;
}

.service_cont .service_cont_wrapp.consulting .cont_body ul li .head .num {
    background: #cc29f9;
}

.service_cont .service_cont_wrapp.consulting .cont_body ,
.service_cont .service_cont_wrapp.development .cont_body {
    padding-bottom: 660px;
}

.service_cont .service_cont_wrapp.consulting .image_block,
.service_cont .service_cont_wrapp.development .image_block {
    margin-top: -580px;
}


#practice{
	padding: 160px 0 140px;
	background: var(--color1);
	color: #fff;
}

#practice .practice_cont{
	width: 960px;
	margin: 0 auto;
}

#practice .practice_cont h2{
	line-height: 1;
	margin-bottom: 90px;
}

#practice .practice_cont h2 strong{
	display: block;
	font-size: 120px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

#practice .practice_cont h2 small{
	display: block;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

#practice .practice_cont .practice_ul{

}

#practice .practice_cont .practice_ul > li{
	width: 100%;
	display: flex;
	flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    padding: 65px 0;
    border-bottom: 1px solid rgba(255,255,255,0.4);
}

#practice .practice_cont .practice_ul > li:first-child{
    padding-top: 0;
}

#practice .practice_cont .practice_ul > li:last-child{
    padding-bottom: 0;
    border-bottom: none;
}

#practice .practice_cont .practice_ul > li .image_box{
	width: 400px;
}

#practice .practice_cont .practice_ul > li .text_box{
	width: 520px;
}

#practice .practice_cont .practice_ul > li .text_box .title{
	display: inline-block;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: #fff;
	background: #5161cf;
	padding: 0 16px;
	margin-bottom: 25px;
}

#practice .practice_cont .practice_ul > li .text_box .contents{
	font-size: 22px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
}

#practice .practice_cont .practice_ul > li .text_box .tag{
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 15px;
}

#practice .practice_cont .practice_ul > li .text_box .tag li{
	display: inline-block;
	height: 23px;
	line-height: 23px;
	background: #fff;
	font-size: 12px;
	font-weight: 700;
	color: var(--text);
	letter-spacing: 0.04em;
	padding: 0 5px;
	margin: 0 5px 5px 0;
}

#practice .practice_cont .practice_ul > li .text_box .caption{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.04em;
}


#expert{
	padding-top: 160px;
}

#expert .expert_cont{
	width: 960px;
	margin: 0 auto;
}

#expert .expert_cont h2{
	line-height: 1;
	margin-bottom: 90px;
}

#expert .expert_cont h2 strong{
	display: block;
	font-size: 120px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

#expert .expert_cont h2 small{
	display: block;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

#expert .expert_cont .expert_ul{
	counter-reset: num01 0;
	transition-delay: 0.3s;
}

#expert .expert_cont .expert_ul > li{
	height: 400px;
	margin-bottom: 40px;
	position: relative;
	overflow: hidden;
}

#expert .expert_cont .expert_ul > li::before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	position: relative;
	transition: all 0.2s linear;
	position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.0);
}

#expert .expert_cont .expert_ul > li:hover::before{
	transform: scale(1.1);
}

#expert .expert_cont .expert_ul > li:last-child{
	margin-bottom: 0;
}

#expert .expert_cont .expert_ul > li:hover{

}

#expert .expert_cont .expert_ul > li .filter{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.3);
}

#expert .expert_cont .expert_ul > li a{
	display: block;
	height: 100%;
	position: relative;
	z-index: 2;
	color: #fff;
}

#expert .expert_cont .expert_ul > li a::after{
	content: '';
	display: block;
	width: 64px;
	height: 64px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	background-image: url('../images/common/icon_link.png');
	position: absolute;
	bottom: 0;
	right: 0;
}

#expert .expert_cont .expert_ul > li a .num_block{
	position: absolute;
	top: 33px;
	left: 40px;
	line-height: 1;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

#expert .expert_cont .expert_ul > li a .num_block::after{
	counter-increment: num01 1;
	content: counter(num01, decimal-leading-zero) '';
	font-family: "Barlow", sans-serif;
	font-size: 80px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	top: 18px;
	left: -5px;
	white-space: nowrap;
}



#expert .expert_cont .expert_ul > li a .text_wrapp{
	position: absolute;
	top: 155px;
	left: 40px;
    white-space: nowrap;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message{
	margin-bottom: 20px;
	line-height: 1;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message span{
	display: inline-block;
	background: #000;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	padding: 0 16px;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .post{
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .name{
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag{
	margin-top: 18px;
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag li{
	display: inline-block;
	height: 30px;
	line-height: 30px;
	background: #fff;
	font-size: 16px;
	font-weight: 700;
	color: var(--text);
	letter-spacing: 0.04em;
	padding: 0 6px;
	margin: 0 6px 6px 0;
}

#expert .expert_cont .link{
	line-height: 1;
	text-align: center;
	margin-top: 78px;
}

#expert .expert_cont .link a{
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	color: var(--text);
	line-height: 1.8;
	border-bottom: 1px solid var(--text);
	padding: 0 35px 8px 0;
	position: relative;
}

#expert .expert_cont .link a::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    background-image: url(../images/common/icon_link_arrow.png);
    position: absolute;
    top: 3px;
    right: 0;
    margin: auto;
}




/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1440px){


#service_head{
    height: 72.916667vw;
}

#service_head .image_block{
	width: 66.666667vw;
}


.service_cont{
	padding: 11.111111vw 0;
}

.service_cont .service_cont_wrapp{
	margin-bottom: 9.722222vw;
}

.service_cont .service_cont_wrapp .cont_head{
	width: 66.666667vw;
	margin: 0 auto 3.125vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num{
	margin-bottom: 5.208333vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num::after{
	width: 1.666667vw;
    bottom: -2.5vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num .text{
	font-size: 1.666667vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num .num{
	font-size: 1.805556vw;
	margin-left: 0.833333vw;
}

.service_cont .service_cont_wrapp h2{
	font-size: 4.444444vw;
	margin-bottom: 2.083333vw;
}

.service_cont .service_cont_wrapp .caption{
	font-size: 1.111111vw;
}

.service_cont .service_cont_wrapp .cont_body{
	padding: 5.555556vw 0 36.805556vw;
}

.service_cont .service_cont_wrapp .cont_body::before{
	width: 100%;
	height: 27.083333vw;
    top: -26.597222vw;
}

.service_cont .service_cont_wrapp .cont_body::after{
	width: 100%;
	height: 32.638889vw;
}

.service_cont .service_cont_wrapp .cont_body ul{
	width: 66.666667vw;
}

.service_cont .service_cont_wrapp .cont_body ul li{
	width: 21.666667vw;
	padding-bottom: 2.430556vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .head{
	margin-bottom: 1.805556vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .item{
	width: 3.402778vw;
	height: 2.222222vw;
	line-height: 2.222222vw;
	font-size: 0.972222vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .num{
	width: 2.222222vw;
	height: 2.222222vw;
	line-height: 2.222222vw;
	font-size: 1.111111vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_text_wrapp{
	padding: 0 1.666667vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .title{
	margin-bottom: 1.388889vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .title span{
	height: 2.5vw;
	line-height: 2.5vw;
	font-size: 1.388889vw;
	padding: 0 1.111111vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_caption p{
	font-size: 1.111111vw;
}

.service_cont .service_cont_wrapp .image_block{
	margin-top: -31.25vw;
}

.service_cont .service_cont_wrapp .image_block .catch{
	margin-bottom: 2.777778vw;
}

.service_cont .service_cont_wrapp .image_block .catch strong{
	height: 3.888889vw;
	line-height: 3.888889vw;
	font-size: 1.527778vw;
	padding: 0 1.736111vw;
}

.service_cont .service_cont_wrapp .image_block .iamge_wrapp{
	width: 66.666667vw;
}

.service_cont .service_cont_wrapp.consulting .cont_body ,
.service_cont .service_cont_wrapp.development .cont_body {
    padding-bottom: 45.833333vw;
}

.service_cont .service_cont_wrapp.consulting .image_block,
.service_cont .service_cont_wrapp.development .image_block {
    margin-top: -40.277778vw;
}


#practice{
	padding: 11.111111vw 0 9.722222vw;
}

#practice .practice_cont{
	width: 66.666667vw;
}

#practice .practice_cont h2{
	margin-bottom: 6.25vw;
}

#practice .practice_cont h2 strong{
	font-size: 8.333333vw;
	margin-bottom: 20px;
}

#practice .practice_cont h2 small{
	font-size: 1.388889vw;
}

#practice .practice_cont .practice_ul > li{
    padding: 4.513889vw 0;
}

#practice .practice_cont .practice_ul > li .image_box{
	width: 27.777778vw;
}

#practice .practice_cont .practice_ul > li .text_box{
	width: 36.111111vw;
}

#practice .practice_cont .practice_ul > li .text_box .title{
	font-size: 2.361111vw;
	padding: 0 1.111111vw;
	margin-bottom: 1.736111vw;
}

#practice .practice_cont .practice_ul > li .text_box .contents{
	font-size: 1.527778vw;
	margin-bottom: 0.972222vw;
}

#practice .practice_cont .practice_ul > li .text_box .tag{
    margin-bottom: 1.041667vw;
}

#practice .practice_cont .practice_ul > li .text_box .tag li{
	height: 1.597222vw;
	line-height: 1.597222vw;
	font-size: 0.833333vw;
	padding: 0 0.347222vw;
	margin: 0 0.347222vw 0.347222vw 0;
}

#practice .practice_cont .practice_ul > li .text_box .caption{
	font-size: 1.111111vw;
}


#expert{
	padding-top: 11.111111vw;
}

#expert .expert_cont{
	width: 66.666667vw;
}

#expert .expert_cont h2{
	margin-bottom: 6.25vw;
}

#expert .expert_cont h2 strong{
	font-size: 8.333333vw;
	margin-bottom: 1.388889vw;
}

#expert .expert_cont h2 small{
	font-size: 1.944444vw;
}

#expert .expert_cont .expert_ul > li{
	height: 27.777778vw;
	margin-bottom: 2.777778vw;
}

#expert .expert_cont .expert_ul > li a::after{
	width: 4.444444vw;
	height: 4.444444vw;
}

#expert .expert_cont .expert_ul > li a .num_block{
	top: 2.291667vw;
	left: 2.777778vw;
	font-size: 1.111111vw;
}

#expert .expert_cont .expert_ul > li a .num_block::after{
	font-size: 5.555556vw;
	top: 1.25vw;
	left: -0.347222vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp{
	top: 10.763889vw;
	left: 2.777778vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message{
	margin-bottom: 1.388889vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message span{
	font-size: 2.361111vw;
	padding: 0 1.111111vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .post{
	font-size: 0.972222vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .name{
	font-size: 1.111111vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag{
	margin-top: 1.25vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag li{
	height: 2.083333vw;
	line-height: 2.083333vw;
	font-size: 1.111111vw;
	padding: 0 0.416667vw;
	margin: 0 0.416667vw 0.416667vw 0;
}

#expert .expert_cont .link{
	margin-top: 5.416667vw;
}

#expert .expert_cont .link a{
	font-size: 1.111111vw;
	padding: 0 2.430556vw 0.555556vw 0;
}

#expert .expert_cont .link a::after {
    width: 1.666667vw;
    height: 1.666667vw;
    top: 0.208333vw;
}



}


/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:750px){

#page_head::before{
	background-image: url('../images/service/page_header_bg_sp.webp');
}

#service_head{
    height: 194.13333vw;
}

#service_head::before {
    background-image: url('../images/service/block01_bg_sp.webp');
}

#service_head .image_block{
	width: 89.333333vw;
}


.service_cont{
	padding: 22.4vw 0 21.333333vw;
}

.service_cont .service_cont_wrapp{
	margin-bottom: 22.666667vw;
}

.service_cont .service_cont_wrapp .cont_head{
	width: auto;
	margin: 0 5.333333vw -23.2vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num{
	margin-bottom: 14.666667vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num::after{
	width: 6.4vw;
    bottom: -8vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num .text{
	font-size: 6.4vw;
}

.service_cont .service_cont_wrapp .cont_head .service_num .num{
	font-size: 6.933333vw;
	font-weight: 700;
	margin-left: 3.2vw;
}

.service_cont .service_cont_wrapp h2{
	font-size: 9.066667vw;
	margin-bottom: 5.333333vw;
}

.service_cont .service_cont_wrapp .caption{
	font-size: 3.733333vw;
}

.service_cont .service_cont_wrapp .cont_body{
	padding: 33.866667vw 0 252vw;
}

.service_cont .service_cont_wrapp .cont_body::before{
	height: 42.933333vw;
	background-image: url('../images/service/block02_top_bg_sp.png');
    top: -42.666667vw;
}

.wbp .service_cont .service_cont_wrapp .cont_body::before{
	background-image: url('../images/service/block02_top_bg_sp.webp');
}

.service_cont .service_cont_wrapp .cont_body::after{
	height: 43.733333vw;
	bottom: -1px;
	background-image: url(../images/service/block02_bottom_bg_sp.png);
}

.webp .service_cont .service_cont_wrapp .cont_body::after{
	background-image: url(../images/service/block02_bottom_bg_sp.webp);
}

.service_cont .service_cont_wrapp .cont_body ul{
	width:auto;
	margin: 0 5.333333vw;
	display: block;
}

.service_cont .service_cont_wrapp .cont_body ul li{
	width: auto;
	border-top: 1px solid var(--color1);
	border-bottom: none;
	padding-bottom: 6.666667vw;
}

.service_cont .service_cont_wrapp .cont_body ul li:last-child{
	border-bottom: 1px solid var(--color1);
}

.service_cont .service_cont_wrapp .cont_body ul li .head{
	margin-bottom: 5.333333vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .item{
	width: 12vw;
	height: 8vw;
	line-height: 8vw;
	font-size: 3.2vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .head .num{
	width: 8.8vw;
	height: 8vw;
	line-height: 8vw;
	font-size: 3.733333vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_text_wrapp{
	padding: 0 6.4vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .title{
	line-height: 2.5;
	margin-bottom: 6.4vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .title span{
	height: 9.6vw;
	line-height: 9.6vw;
	font-size: 5.333333vw;
	padding: 0 4vw;
}

.service_cont .service_cont_wrapp .cont_body ul li .li_caption p{
	font-size: 3.733333vw;
}


.service_cont .service_cont_wrapp .image_block{
	margin-top: -241.333333vw;
}

.service_cont .service_cont_wrapp .image_block .catch{
	margin: 0 5.333333vw 3.2vw;
}

.service_cont .service_cont_wrapp .image_block .catch strong{
	display: block;
	height: 12.8vw;
	line-height: 12.8vw;
	font-size: 4.8vw;
	padding: 0;
}

.service_cont .service_cont_wrapp .image_block .iamge_wrapp{
	width: auto;
}

.service_cont .service_cont_wrapp.rd .image_block .iamge_wrapp{
	margin: 0 5.333333vw;
}

.service_cont .service_cont_wrapp.development .cont_body {
    padding-bottom: 211.2vw;
}

.service_cont .service_cont_wrapp.consulting .cont_body{
    padding-bottom: 172.266667vw;
}


.service_cont .service_cont_wrapp.development .image_block {
    margin-top: -200.533333vw;
}

.service_cont .service_cont_wrapp.consulting .image_block{
    margin-top: -161.6vw;
}


#practice{
	padding: 21.333333vw 0;
}

#practice .practice_cont{
	width: auto;
	margin: 0 5.333333vw;
}

#practice .practice_cont h2{
	margin-bottom: 12.8vw;
}

#practice .practice_cont h2 strong{
	font-size: 16vw;
	margin-bottom: 4.266667vw;
}

#practice .practice_cont h2 small{
	font-size: 5.866667vw;
}

#practice .practice_cont .practice_ul > li{
	width: 100%;
	display: block;
    padding: 6.666667vw 0;
}

#practice .practice_cont .practice_ul > li .image_box{
	width: auto;
	margin-bottom: 10.666667vw;
}

#practice .practice_cont .practice_ul > li .text_box{
	width: auto;
}

#practice .practice_cont .practice_ul > li .text_box .title{
	font-size: 5.866667vw;
	padding: 0 2.666667vw;
	margin-bottom: 5.333333vw;
}

#practice .practice_cont .practice_ul > li .text_box .contents{
	font-size: 4.8vw;
	margin-bottom: 4.8vw;
}

#practice .practice_cont .practice_ul > li .text_box .tag{
    margin-bottom: 4.266667vw;
}

#practice .practice_cont .practice_ul > li .text_box .tag li{
	height: 5.066667vw;
	line-height: 5.066667vw;
	font-size: 2.666667vw;
	padding: 0 1.066667vw;
	margin: 0 1.066667vw 1.066667vw 0;
}

#practice .practice_cont .practice_ul > li .text_box .caption{
	font-size: 3.733333vw;
}


#expert{
	padding-top: 21.333333vw;
}

#expert .expert_cont{
	width: auto;
	margin: 0 5.333333vw;
}

#expert .expert_cont h2{
	margin-bottom: 12.8vw;
}

#expert .expert_cont h2 strong{
	font-size: 16vw;
	margin-bottom: 4.266667vw;
}

#expert .expert_cont h2 small{
	font-size: 5.866667vw;
}

#expert .expert_cont .expert_ul > li{
	height: 106.666667vw;
	margin-bottom: 4.266667vw;
}

#expert .expert_cont .expert_ul > li:hover::before{
	transform: scale(1.0);
}

#expert .expert_cont .expert_ul > li a::after{
	width: 10.666667vw;
	height: 10.666667vw;
}

#expert .expert_cont .expert_ul > li a .num_block{
	top: 5.333333vw;
	left: 5.333333vw;
	font-size: 3.733333vw;
}

#expert .expert_cont .expert_ul > li a .num_block::after{
	font-size: 17.066667vw;
	top: 3.733333vw;
	left: -5px;
}

#expert .expert_cont .expert_ul > li a .text_wrapp{
	top: 57.333333vw;
	left: 5.333333vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message{
	margin-bottom: 2.133333vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .message span{
	font-size: 5.866667vw;
	padding: 0 3.733333vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .post{
	font-size: 3.2vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .name{
	font-size: 3.733333vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag{
	margin-top: 3.2vw;
}

#expert .expert_cont .expert_ul > li a .text_wrapp .tag li{
	height: 5.066667vw;
	line-height: 5.066667vw;
	font-size: 2.666667vw;
	padding: 0 1.333333vw;
	margin: 0 1.066667vw 1.066667vw 0;
}

#expert .expert_cont .link{
	margin-top: 11.466667vw;
}

#expert .expert_cont .link a{
	font-size: 3.733333vw;
	padding: 0 9.066667vw 2.133333vw 0;
}

#expert .expert_cont .link a::after {
    width: 4.266667vw;
    height: 4.266667vw;
    top: 1.333333vw;
}




}

