@charset "utf-8";
.content_head_copy{
	display: block;
    margin:25px auto 0px;
	padding: 0 20px;
}
.ad_slide{opacity:0;}
.ad_slide.slick-initialized{opacity:1;}
.ad_slide.slick-slider{
	width:var(--vw-100);
	margin:65px 0;
}
.ad_slide .slick-slide{
	margin:0 15px;
	max-width:305px !important;
	max-height:200px !important;
}

/* common */
.works_parent .content_in{padding:0 20px;}
.works_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-gap:30px;
	padding:0;
	margin:0;
}
.works_item{
	margin:0;
	list-style:none;
}
.works_link[target="_blank"]{
	display:block;
	height:100%;
	color:#333 !important;
	text-decoration:none;
	padding-left: 0;
	background: none;
}
.works_thumb{
	position:relative;
	aspect-ratio:143/87;
	overflow:hidden;
	border:1px solid #ccc;
}
.works_thumb img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:var(--transition-img);
}
a:hover .works_thumb img{transform:scale(1.05);}
.works_site{
	position:absolute;
	display:block;
	width:32px;
	height:32px;
	font-size:0;
	text-decoration:none;
	background:var(--color-blue) url(/img/common/popup_white.svg) no-repeat center !important;
	border-radius:50%;
	bottom:15px;
	right:15px;
	opacity:0;
	z-index:1;
	transition:background-color 0.3s,opacity 0.3s;
}
a:hover .works_site{opacity:1;}
.works_site:hover{background-color:#00A9FF !important;}
.works_title{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.7rem;
	font-weight:500;
	padding-left:20px;
	margin:15px 0 5px;
	background:url(/img/common/arrow_r_blue.svg) no-repeat left top 9px;
	transition:color 0.3s;
}
a:hover .works_title{color:var(--color-blue);}
.works_link{
	text-decoration: none;
}
.works_info p{
	display:inline;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.5rem;
	margin:0;
}
.works_type{
	position:relative;
	padding-right:4px;
	margin-right:10px !important;
	background:linear-gradient(#ccc,#ccc) no-repeat right top 5px/1px calc(100% - 6px);
}
/* C1 */
.works_search{
	padding:25px 30px;
	margin:0 0 60px;
	background:rgba(247, 247, 247, 0.8);
}
.cat_area{
	display:flex;
	align-items:center;
	justify-content:center;
}
.works_parent .select_btn{
	position:relative;
	margin-right:30px;
	background:#fff;
}
.works_parent .select_btn::after{
	position:absolute;
	content:'';
	width:8px;
	height:8px;
	border-right:1px solid #707070;
	border-bottom:1px solid #707070;
	transform:rotate(45deg);
	top:0;
	bottom:0;
	right:23px;
	margin:auto;
}
.works_parent .select_btn select{
	width:300px;
	color:#333 !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:3.2rem;
	padding:6px 40px 6px 20px;
	background:transparent;
	border:1px solid #ccc;
	appearance:none;
	cursor:pointer;
}
.works_parent .submit_btn{
	width:106px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:3.2rem;
	color:var(--color-blue);
	text-align:center;
	padding:3px 0;
	border:1px solid var(--color-blue);
	border-radius:20px;
	background:#fff;
	appearance:none;
	cursor:pointer;
	transition:color 0.3s,background-color 0.3s;
}
.works_parent .submit_btn:hover{
	color:#fff;
	background-color:var(--color-blue);
}
.works_parent .works_list{grid-gap:60px 30px;}
/* C2 */
.works_child .h1_wrap{
	max-width:1000px;
	margin:80px auto 45px;
	padding-top:65px;
	padding-left:0;
}
.works_child .page_title{
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.5rem;
	font-weight:500;
	animation:none;
	text-align:left;
}
.works_copy{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.2rem;
	font-weight:500;
	margin:20px 0 12px;
}
.content_in.works{max-width:1000px;}
.works_outline{
	margin-top:30px;
	margin-bottom: 100px;
	word-break: break-all;
}
.works_box h2{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:6.5rem;
	font-weight:500;
	padding:0 0 4px 35px;
	margin:65px 0 24px;
	background:url(/img/common/icon_solution.svg) no-repeat center left;
	border-bottom:1px solid #ccc;
}
.works_box h3{
	font-size:2rem;
	letter-spacing:2px;
	line-height:3.2rem;
	font-weight:500;
	padding:0;
	margin:70px 0 18px;
	background:none;
}
.works_box h2 + h3{margin-top:0;}
.works_box h3::before{
	display:block;
	content:attr(data-en);
	font-family:var(--font-Roboto-Condensed);
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:3.4rem;
}
.works_box img{
	border:1px solid #ccc;
}
/* .works_imglist{
	margin:100px 0 0;
} */
.works_pc{
	padding:0;
	margin:0;
}
.works_pc li{
	margin-bottom:80px;
	list-style:none;
}
.works_pc img{
	border:1px solid #ccc;
	width: 100%;
}
.works_img_comment{
	font-size: 1.2rem;
	line-height: 2rem;
	margin-top: 10px;
	text-align: center;
}
.works_sp{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin:80px 0 0;
}
.works_sp li{
	width:31.76%;
	margin-right:2.36%;
	list-style:none;
}
.works_sp li:nth-child(3n){margin-right:0;}
.works_sp img{
	border:1px solid #ccc;
}
.project_member{
	display:grid;
	grid-template-columns:1fr 1fr 1fr 1fr;
	grid-gap:21px 20px;
	padding:0;
	margin:0;
}
.project_member li{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.7rem;
	list-style:none;
	margin:0;
}
.project_member span{
	display:block;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:2.7rem;
	margin-bottom:1px;
}


.ad_point_list{
	display:flex;
	padding:0;
	margin:105px auto 120px;
}
.ad_point_item{
	position:relative;
	width:calc(100%/3);
	text-align:center;
	list-style:none;
	margin:0;
}
.ad_point_item:not(:last-child)::after{
	position:absolute;
	content:'';
	width:1px;
	height:150px;
	background:#ccc;
	top:0px;
	right:0;
	bottom:0;
	margin:auto;
}
.ad_point_head{
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:5.4rem;
	font-weight:500;
	margin:0 0 40px;
}
.ad_point_num{
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.2rem;
	color:var(--color-blue);
	margin:0;
}
.ad_point_num span{
	position:relative;
	font-family:'Roboto', sans-serif;
	font-size:9rem;
	letter-spacing:0;
	line-height:6rem;
	font-weight:500;
	top:3px;
}
.ad_point_note{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:4.2rem;
	margin:5px 0 0;
}
.related_fields{
	padding:58px 0 80px;
	margin:60px 0 0;
	position:relative;
}
.related_fields::before{
	content:'';
	display:block;
	width:100vw;
	height:100%;
	background:#F5F5F5;
	position:absolute;
	left:0;
	top:0;
	margin:0 calc(50% - 50vw);
}
.related_fields_h3{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.96rem;
	font-weight:500;
	text-align:center;
	padding:0;
	margin:0 0 22px;
	background:none;
}
.related_fields_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr 1fr;
	grid-gap:20px;
	padding:0;
	margin:0;
}
.related_fields_item{
	margin:0;
	list-style:none;
}
.related_fields_link{
	position:relative;
	display:block;
	width:100%;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
	font-weight:500;
	color:#333 !important;
	text-decoration:none;
	text-align:left;
	padding:13px 20px 14px;
	margin:0;
	background:#fff;
	border:1px solid #ccc;
	border-radius:24px;
	transition:color 0.3s,background-color 0.3s,border-color 0.3s;
}
.related_fields_link.center{
	margin-right:auto;
	margin-left:auto;
}
.related_fields_link:hover{
	color:#fff !important;
	background-color:var(--color-blue);
	border-color:var(--color-blue);
}
.related_fields_link::before,
.related_fields_link::after{
	position:absolute;
	display:flex;
	align-items:center;
	content:url(/img/common/arrow_r_blue.svg);
	margin:auto;
	top:0;
	bottom:0;
	right:20px;
	transition:opacity .3s;
}
.related_fields_link::after{opacity:0;content:url(/img/common/arrow_r_white.svg);}
.related_fields_link:hover::before{opacity:0;}
.related_fields_link:hover::after{opacity:1;}

/* 20240828 地域別ページ「成果を生み出すWebサイト制作」追加 */
.works_parent .solution_web{margin-bottom:120px;}
.works_parent .solution_web_box{
	display:flex;
	justify-content:space-between;
	margin-bottom:60px;
}
.works_parent .solution_web_img,.works_parent .solution_web_txt{width:48%;}
.works_parent .solution_web_img img{border:1px solid #CCCCCC;}
.works_parent .solution_web_txt h3{
	background:none;
	padding:0;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.7rem;
	margin:0 0 10px;
}
.works_parent .solution_web_txt p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	margin-bottom:0;
}
.works_parent .solution_web_txt a{
	margin-top:20px;
}
.area_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-gap:40px 30px;
	padding:0;
	margin:35px auto 0;
	position:relative;
}
.area_list_box{border:1px solid #008BD2;}
.area_list_box p{
	background:#008BD2;
	color:#fff;
	font-size:2rem;
	font-weight:500;
	text-align:center;
	padding:8px 10px;
	margin:0 !important;
}
.area_list_box ul{
	padding:25px 20px 2px 40px;
}
.area_list_box ul li{
	list-style:disc;
	font-size:1.6rem;
	letter-spacing: 0.64px;
    line-height: 2.4rem;
	margin-bottom:10px;
}
.solution_bg_list{
	margin:20px auto 77px;
	border-radius: 10px;
	padding:25px 36px 20px;
	background:#F5F5F5;
}
.solution_bg_list ul{
	max-width:820px;
	margin:auto;
}
.solution_bg_list li{
    background: url(/img/lp/lp-hp/icon_checkmark.svg) 0 27px no-repeat;
    background-size: 39px;
    padding: 28px 0 25px 58px;
    border-bottom: 2px solid #ddd;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    line-height: 3.2rem;
    list-style: none;
	margin: 0;
}
.solution_bg_list li strong{
	display:block;
	font-weight:500;
	font-size:2.5rem;
	letter-spacing:1.25px;
	margin-bottom:10px;
}
.solution_bg_list li:last-child{border-bottom:none;}


/* 20240307 c2 */
#works_h2{
	position:relative;
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:4.6rem;
	margin:74px 0 21px;
	background:none;
	padding: 0;
	border:none;
}
.befor_area{
	display:grid;
	gap: 0 60px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
}
.befor_area h3{margin-bottom:16px;}
.befor_area h3:last-child{
	grid-column-start: 2;
    grid-row-start: 1;
}
.befor_list_l{
	position:relative;
	grid-column-start: 1;
    grid-row-start: 2;
}
.befor_list_l::after{
	position:absolute;
	content:'';
	display:inline-block;
	width:20px;
	height:40px;
	background:#008BD2;
	clip-path:polygon(0 0, 0 100%, 100% 50%);
	top:0;
	bottom:0;
	right:-40px;
	margin:auto;
}
.befor_list_l,.befor_list_r{padding:30px 40px;}
.befor_list_l{background-color:#F5F5F5;}
.befor_list_r{
	border:2px solid #008BD2;
	grid-row-start: 2;
}
.befor_area dt{
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.9rem;
	font-weight:bold;
}
.befor_list_l dt{margin-bottom:6px;}
.befor_list_r dt{color:#008BD2;margin-bottom:17px;}
.befor_list_l dd{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.55rem;
	margin-bottom:17px;
}
.befor_area dl dd:last-child{margin-bottom: 0;}
.befor_list_r dd{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.1rem;
	margin-bottom:25px;
}


@media screen and (max-width:1024px){

.works_list{
	grid-template-columns:1fr 1fr;
	grid-gap:25px;
}
.works_title{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.5rem;
}
.works_info p{
	font-size:1.1rem;
	letter-spacing:1.1px;
}
.works_type{background-position:top 4px right;}
.works_search{padding:25px;}
.works_parent .select_btn{margin-right:20px;}
.works_parent .select_btn select{width:240px;}
.works_parent .works_list{grid-gap:50px 25px;}

/* 20240522追記 */
.works_child .h1_wrap{
	padding-left:30px;
	margin-top:63px;
}

/* 20240307 c2 */
.befor_list_l, .befor_list_r{padding:30px;}
.befor_area dt{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.3rem;
}
.befor_area dd{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.25rem;
}
}

/* 20240828 地域別ページ「成果を生み出すWebサイト制作」追加 */
@media screen and (max-width:850px){
	.solution_web{margin-bottom:72px;}
	.solution_web_box{margin-bottom:50px;}
}

@media screen and (max-width:767px){
.ad_slide{display:none !important;}
.works_list{
	grid-template-columns:1fr 1fr;
	grid-gap:20px;
}
.works_title{
	padding-left:25px;
	background-position:top 8px left 5px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.works_info p{
	font-size:1rem;
	letter-spacing:1px;
}
.works_type{
	padding-right:6px;
	margin-right:9px !important;
	background-position:top 3px right;
	background-size:1px calc(100% - 5px);
}
.works_search{
	padding:30px 18px;
	margin-bottom:50px;
}
.cat_area{display:block;}
.works_parent .select_btn{margin:0 0 15px;}
.works_parent .select_btn select{width:100%;}
.submit_btn{
	display:block;
	margin:20px auto 0;
}
.works_parent .works_list{grid-gap:40px 20px;}
.works_outline th{width:30%;}
.works_box h2{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.74rem;
	padding:0 0 4px 35px;
	margin:40px 0 24px;
}
.works_box h3{
	font-size:1.6rem;
	letter-spacing:1.6px;
	margin:40px 0 18px;
	line-height:2rem;
}
.works_box h3::before{
	font-size:0.9rem;
	letter-spacing:0.9px;
}
.project_member{grid-template-columns:1fr 1fr;}
.ad_point_list{
	display:block;
	margin:55px auto 72px;
	border-top:1px solid #ccc;
}
.ad_point_item{
	width:100%;
	text-align:left;
	padding:24px 200px 24px 10px;
	border-bottom:1px solid #ccc;
}
.ad_point_item:not(:last-child)::after{display:none;}
.ad_point_head{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.6rem;
	margin:0 0 9px;
}
.ad_point_num{
	position:absolute;
	font-size:2rem;
	letter-spacing:2px;
	right:10px;
	top:13px;
	bottom:0;
	margin:auto;
}
.ad_point_num span{font-size:5.5rem;}
.ad_point_note{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.92rem;
}
.related_fields{
	padding:58px 20px 60px;
	margin:60px -20px 0;
}
.related_fields_h3{
	font-size:2rem;
	letter-spacing:2px;
	line-height:3.6rem;
	margin:0 0 22px;
}
.related_fields_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:15px;
}
.related_fields_link{
	padding:13px 28px 14px;
	border-radius:50px;
}

/* 20240621 */
.works_child .h1_wrap{padding-left:20px;}

/* 20240828 地域別ページ「成果を生み出すWebサイト制作」追加 */
.works_parent .solution_web_box{display:block;}
.works_parent .solution_web_img, .works_parent .solution_web_txt{width:100%;}
.solution_web_txt h3{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.solution_web_txt p{
	line-height:2.4rem;
	font-size:1.4rem;
}
.solution_web_txt{padding:10px 30px 20px;}
.solution_web_txt a{margin-left:auto;margin-right:auto;}

/* 20240307 c2 */
.works_outline {margin-bottom: 60px;}
.befor_area{grid-gap: 40px;display: block;}
.befor_list_l{margin-bottom: 70px;}
.befor_list_l::after{
    position: absolute;
    content: '';
    display: inline-block;
    width: 40px;
    height: 20px;
    background: #008BD2;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    right: 0;
    left: 0;
	top: auto;
	bottom: -45px;
    margin: auto;
}

}

@media screen and (max-width:599px){
.works_list{display:block;}
.works_item{margin-bottom:36px;}
.works_item:last-child{margin-bottom:0;}
.works_sp{display:block;}
.works_sp li{
	width:auto;
	margin:10px 0 0;
}
.related_fields_list{display:block;}
.related_fields_item{
	margin:15px 0 0;
	list-style:none;
}

.area_list{display: block;}
.area_list_box{margin-bottom: 30px;}
.solution_bg_list {
	margin: 29px auto 40px;
	padding: 12px 20px;
}
.solution_bg_list li {
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	line-height: 2rem;
	background-position: 0 19px;
	padding: 22px 0 18px 43px;
	background-size: 30px;
}
.solution_bg_list li strong {
	font-size: 1.7rem;
	letter-spacing: 0;
}
}