
/*-------------------------------------------------------------

service.css

-------------------------------------------------------------*/
.service_cont{
	position: relative;
	margin-bottom: 200px;
	padding-top: 100px;
	margin-top: -100px;
}
.service_cont:last-child{
	margin-bottom: 0;
}


.service_img{
	position:sticky;
	background-size:800px;
	z-index: 50;
	top:20px;
	height:500px;
	width:calc(50% - 100px);
}
.service_img_01{
	background: url(../image_gl/service_img_press.svg) right top no-repeat;
}
.service_img_02{
	background: url(../image_gl/service_img_signage.svg) right top no-repeat;
}
.service_img_03{
	background: url(../image_gl/service_img_cross_media.svg) right top no-repeat;
}
.service_img_04{
	background: url(../image_gl/service_img_web.svg) right top no-repeat;
}


.service_inner{
	display: flex;
	justify-content: flex-end;
	width:1240px;
	box-sizing: border-box;
	padding:0 20px;
	margin: 0 auto;
	margin-top: -400px;
}

.service_box{
	background-color: #fff;
	border-radius: 35px;
	box-sizing: border-box;
	padding:100px 100px 50px 100px;
	width:68%;
}



.service_box h2{
	font-size: 6.8rem;
	position: relative;
	margin-bottom: 1em;
}
.service_box h2 .num{
	display: block;
	position: absolute;
	font-family: "jost-m";
	font-weight: normal;
	font-size: 220%;
	color:#4391e5;
	top:-160px;
	left:-0.2em;
}
.service_box h2 .jap{
	display: block;
	padding-top: 0.2em;
	margin-bottom: 0.4em;
}
.service_box h2 .jap small{
	font-size: 75%;
}
.service_box h2 .eng{
	display: block;
	font-family: "jost-m";
	font-weight: normal;
	font-size: 26.5%;
	color:#4391e5;
	letter-spacing: 0.1em;
}

.service_com{
	margin-bottom: 50px;
}
.service_com h3{
	font-size: 3.8rem;
	margin-bottom: 0.7em;
	color:#4391e5;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.service_com p{
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	font-weight: bold;
	margin-bottom: 1.8em;
}
.service_com p .lsp_0{
	letter-spacing: 0;
}
.service_com p:last-of-type{
	margin-bottom: 0;
}

.service_image{
	border-bottom: solid 1px #4391e5;
	padding-bottom: 30px;
	margin-bottom: 50px;
}
.service_image figure{
	text-align: center;
}
.service_image figcaption{
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 1.5em;
}

.service_image .service_cross_media_sample{
	display: flex;
	justify-content: space-between;
}
.service_image .service_cross_media_sample a:nth-child(1){
	width:274px;
}
.service_image .service_cross_media_sample a:nth-child(2){
	width:330px;
}


.service_image .service_jirei{
	margin-top: 50px;
}
.service_image .service_jirei h4{
	font-size: 1.5rem;
	margin-bottom: 0.75em;
}
.service_image .service_jirei a{
	display: block;
}
.service_image .service_jirei figure figcaption{
	background-color: #0e2b79;
	color:#fff;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 0.75em 0;
	transition: 0.3s;
}
.service_image .service_jirei figure figcaption span{
	display: inline-block;
	position: relative;
}

.service_image .service_jirei a:hover figure figcaption{
	background-color:#4391e5
}
.service_image .service_jirei figure figcaption span::before{
	content: "";
	display: block;
	position: absolute;
	width:0.5em;
	height:0.5em;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	top:50%;
	margin-top: -0.35em;
	left:-1.5em;
	transition: 0.3s;
}
.service_image .service_jirei a:hover figure figcaption span::before{
	left:-1em;
}


.service_list{
	margin-bottom: 50px;
}
.service_list h3{
	display: inline-block;
	font-size: 2.0rem;
	margin-bottom: 0.7em;
	background-color:#4391e5;
	color:#fff;
	border-radius: 100px;
	letter-spacing: 0.2em;
	padding: 0.4em 2em 0.5em 2.2em;
	margin-bottom: 35px;
}
.service_list ul li{
	font-size: 1.7rem;
	margin-bottom: 1em;
	font-weight: bold;
}
.service_list ul li::before{
	content: "●";
	color:#4391e5;
}
.service_list_b ul{
	display: flex;
	flex-wrap: wrap;
}
.service_list_b ul li{
	width: 33%;
	position: relative;
}
.service_list_b ul li.service_list_100{
	width:100%;
	margin-bottom: 2.5em;
}

.service_list ul li ul{
	display: flex;
	flex-wrap: wrap;
	margin-top: 0.75em;
	margin-left: 1em;
}
.service_list ul li ul li{
	font-size: 1.6rem;
	margin-bottom: 0.5em;
	padding-right: 0.5em;
	box-sizing: border-box;
	font-weight: normal;
}

.service_list_b ul li ul{
	position: absolute;
	margin-top: 0;
	margin-left: 0;
	width:66%;
	left:33%;
	top:0;
}

.service_list ul li ul.row2 li{
	width: 50%;
}
.service_list ul li ul.row2_b li{
	width: 57%;
}
.service_list ul li ul.row2_b li:nth-child(even){
	width: 43%;
}
.service_list ul li ul.row3 li{
	width: 33%;
}
.service_list ul li ul.row4 li{
	width: 25%;
}
.service_list ul li ul.row5 li{
	width: 20%;
}
.service_list ul li ul li::before{
	content: "■";
	color:#4391e5;
	font-size: 75%;
	display: inline-block;
	transform: translate(0, -0.125em);
	margin-right: 0.25em;
}


.service_link{
	margin-bottom: 50px;
}
.service_link ul{
	display: flex;
	justify-content: space-between;
}
.service_link ul li{
	width:48%;
}
.service_link ul li a{
	display: block;
	font-size: 2.0rem;
	background-color:#0e2b79;
	color:#fff;
	border-radius: 100px;
	padding: 0.4em 0 0.5em 0;
	font-weight: bold;
	text-align: center;
	transition: 0.3s;
	position: relative;
}
.service_link ul li a:hover{
	background-color:#4391e5
}
.service_link ul li a::before{
	content: "";
	display: block;
	position: absolute;
	width:0.5em;
	height:0.5em;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	top:50%;
	margin-top: -0.35em;
	left:1em;
	transition: 0.3s;
}
.service_link ul li a:hover::before{
	left:1.5em;
}


.modal_com{
	max-height: 80vh;
	overflow-y: auto;
	padding: 0 40px;
	font-size: 1.5rem;
}
.video_container{
  width: 100%;
  aspect-ratio: 16 / 9;
	margin-bottom: 2em;
}
.video_container iframe {
  width: 100%;
  height: 100%;
}
.modal_com h5{
	font-size: 200%;
	line-height:1.4;
	color: #4391e5;
	margin-bottom: 1em;
}
.modal_com p{
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 2em;
}
.modal_com p:last-of-type{
	margin: 0;
}
.modal_com .image{
	margin-bottom: 2em;
}
.modal_com .address{
	font-size: 108%;
	line-height: 1.6;
	font-weight: bold;
	text-align: right;
	margin-bottom: 2em;
}
.modal_com .address:last-of-type{
	margin-bottom: 0;
}
.modal_com .address a{
	color: #4391e5;
}

/*-----1239以下-----*/
@media screen and (max-width: 1239px) {

	.service_img{
		position:sticky;
		background-size:150% auto!important;
		top:20px;
		height:0;
		padding-bottom: 40vw;
		width:40%;
	}


	.service_inner{
		display: flex;
		justify-content: flex-end;
		width:100%;
		margin-top: -30%;
	}

	.service_box{
		padding:5%;
		width:70%;
	}



	.service_box h2{
		font-size: 6vw;
	}
	.service_box h2 .num{
		font-size: 220%;
		top:-90%;
		left:-0.2em;
	}
	.service_box h2 .jap{
		padding-top: 0.5em;
		margin-bottom: 0.4em;
	}
	.service_box h2 .jap small{
		font-size: 70%;
	}
	.service_box h2 .eng{
		font-size: 40%;
	}

	.service_com{
		margin-bottom: 50px;
	}
	.service_com h3{
		font-size: 4.5vw;
		letter-spacing: 0;
	}
	.service_com p{
		font-size: 1.6rem;
	}

	.service_image{
		padding-bottom: 4vw;
		margin-bottom: 6vw;
	}
	.service_image figcaption{
		font-size: 1.6rem;
	}

	.service_image .service_cross_media_sample{
		gap:2%;
		justify-content: center;
	}


	.service_image .service_jirei{
		margin-top: 11%;
	}
	.service_image .service_jirei h4{
		font-size: 1.6rem;
	}
	.service_image .service_jirei figure figcaption{
		font-size: 1.6rem;
	}


	.service_list{
		margin-bottom: 10%;
	}
	.service_list ul li{
		font-size: 1.6rem;
	}

	.service_list ul li ul{
		margin-top: 0.75em;
		margin-left: 1em;
	}
	.service_list ul li ul li{
		padding:0 1.5em 0 0.5em;
		text-indent: -0.5em;
		line-height: 1.2;
	}

	.service_list_b > ul > li{
		box-sizing: border-box;
		padding-right: 0.5em;
	}
	.service_list_b ul li.service_list_100{
		margin-bottom: 0;
	}
	.service_list_b ul li ul{
		position: relative;
		margin: 1em 0;
		left:1em;
	}

	.service_link{
		margin-bottom: 10%;
	}

	.service_link ul li a{
		font-size: 2.0vw;
		padding: 1em 0;
	}

}

/*-----980以下-----*/
@media (max-width: 980px) {

	.service_box{
		border-radius: 5vw;
	}

}

/*-----980以下-----*/
@media screen and (max-width: 980px) {

	.service_cont{
		margin-bottom: 100px;
		padding-top: 0;
		margin-top: 0;
	}


	.service_img{
		position:relative;
		background-size:120% auto!important;
		background-position: center top 20%;
		top:0;
		left:0;
		height:0;
		padding-bottom: 70%;
		width:100%;
		margin: 0 auto;
	}
	.service_img_03{
		background-position: center top 0!important;
		padding-bottom: 80%;
	}


	.service_inner{
		width:100%;
		margin-top: 10%;
		padding:0 2%;
	}

	.service_box{
		padding:4%;
		width:100%;
	}


	.service_box h2{
		font-size: 9vw;
	}
	.service_box h2 .num{
		top:-75%;
		left:-0.1em;
	}

	.service_com h3{
		font-size: 5.5vw;
		letter-spacing: 0;
	}

	.service_list ul li{
		line-height: 1.2;
	}

	.service_list_b ul{
		display: flex;
		flex-wrap: wrap;
	}
	.service_list_b ul li{
		width: 50%;
	}
	.service_list ul li ul{
		width: 100%;
	}

	.service_list ul li ul.row2_b li{
		width: 100%;
	}
	.service_list ul li ul.row2_b li:nth-child(even){
		width: 100%;
	}
	.service_list ul li ul.row3 li{
		width: 50%;
	}

	.service_list ul li ul li::before{
		content: "■";
		color:#4391e5;
		font-size: 75%;
		display: inline-block;
		transform: translate(0, -0.125em);
		margin-right: 0.25em;
	}

	.service_link ul li a{
		font-size: 3.0vw;
		padding: 1em 0;
	}

	.modal_com{
		max-height: 68vh;
		overflow-y: auto;
		padding: 0 4%;
		font-size: 1.5rem;
	}
	.modal_com h5{
		font-size: 180%;
	}

}




.side_navi{
	position: fixed;
	left:0;
	top:50%;
  transform: translate(0, -50%);
	z-index:150;
}
.side_navi li{
	margin-bottom: 5px;
}
.side_navi li:last-child{
	margin-bottom: 0;
}
.side_navi a{
	display: block;
	writing-mode: vertical-rl;
	background-color: #4391e5;
	border-radius: 0 15px 15px 0;
	padding:30% 0;
	width:40px;
	transition: 0.3s;
	line-height: 40px;
	font-weight: bold;
	font-size:clamp(1.2rem, 0.96vw, 1.6rem);
	color:#4391e5;
	background-color:#fff;
}
.side_navi a:hover{
	padding:20% 0 40% 0;
	color:#fff;
	background-color:#4391e5;
}
.side_navi a.navi_current{
	color:#fff;
	background-color:#4391e5;
}

/*-----1239以下-----*/
@media screen and (max-width: 1239px) {

}

/*-----980以下-----*/
@media screen and (max-width: 980px) {
	.side_navi{display:none;}
}
























/**/
