@charset "utf-8";

/* h2_midasi */
.h2_midasi{
	margin: 0 0 30px;
}
.h2_midasi span{
	color: #0f5da5;
	font-size: 23px;
	margin: 0 0 20px;
	display: inline-block;
}
.h2_midasi h2{
	border: 0;
	padding: 0;
	margin: 0;
	font-size: 30px;
	background-color: transparent;
}

/* h3_midasi */
.h3_midasi{
	margin: 0 0 30px;
}
.h3_midasi span{
	color: #0f5da5;
	font-size: 23px;
	margin: 0 0 20px;
	display: inline-block;
}
.h3_midasi h3{
	margin: 0;
	line-height: 2;
}
.h3_midasi h3::before{
	display: none;
}

/* h3-simple */
.p-page h3.h3-simple{
	margin: 0 0 30px;
	line-height: 2;
}
.p-page h3.h3-simple::before{
	display: none;
}

/* 通常ul、li */
li{
	line-height: 2;
}

/* ul_01 */
.ul_01{
	margin: 0;
	padding: 0 0 0 27px;
}
.ul_01 li{
	position: relative;
	list-style: none;
}
.ul_01 li:after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: -25px;
	width: 14px;
	height: 8px;
	border-left: 3px solid #0f5da5;
	border-bottom: 3px solid #0f5da5;
	transform: rotate(-45deg);
}

/* p spanなど */
p.center{
	text-align: center;
}
span.bold{
	font-weight: 800;
}
span.small{
	font-size: 13px;
}
span.color_blue{
	color: #0f5da5;
}

/* わたしたちについて ページ */
.about_intro{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.about_intro .text{
	width: 570px;
}
.about_intro .img{
	width: 540px;
}
.about_reason{
	margin: 100px 0 0;
}
.about_feature{
	margin: 100px 0 0;
}
.about_feature ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	margin: 0;
	gap: 20px 0;
}
.about_feature ul li{
	width: 31%;
	list-style:none;
}
.about_feature ul li a{
	box-sizing: border-box;
	border: 3px solid #dbdbdb;
	margin-bottom: 2rem;
	display: block;
	transition: 0.4s background;
	padding: 40px;
	text-decoration: none;
	color: #000;
	min-height: 400px;
}
.about_feature ul li:nth-child(4) a,
.about_feature ul li:nth-child(5) a,
.about_feature ul li:nth-child(6) a{
	min-height: 433px;
}
.about_feature ul li a h3{
	display: flex;
/*	justify-content: center;*/
	font-size: 20px;
	margin: 0 0 0.5rem 0;
}
.about_feature ul li a h3::before{
	display: none;
}
.about_feature ul li a h3 span{
	padding-right: 7px;
	font-size: 20px;
	letter-spacing: 3px;
	color: #0f5da5;
	width: fit-content;
}
.about_feature ul li a .icon{
	display: flex;
	justify-content: center;
	margin: 40px 0;
}
.about_feature ul li a p{
	margin: 0;
}
.about_strategy{
	margin: 100px 0 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.about_strategy .text{
	width: 570px;
}
.about_strategy .img{
	width: 540px;
}

/* SEO対策 ページ */
.seo_point{
	margin: 100px 0 0;
}
.seo_point dl{
	display: flex;
	padding: 30px 0;
	border-top: solid 2px #dbdbdb;
}
.seo_point dl:last-child{
	border-bottom: solid 2px #dbdbdb;
}
.seo_point dl dt{
	display: flex;
	align-items: center;
}
.seo_point dl dt .icon{
	margin-right: 20px;
}
.seo_point dl dt p span{
	color: #0f5da5;
}
.seo_point dl dt,
.seo_point dl dd{
	width: 50%;
	margin: 0;
}
.seo_point dl p{
	margin: 0;
	font-size: 17px;
}
.seo_tool{
	margin: 100px 0 0;
}
.seo_tool h2{
	text-align: center;
}
.seo_tool p{
	text-align: center;
}

/* ホームページ制作 ページ */
.homepage_feature{
	margin: 100px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 70px 0;
}
.homepage_feature .layout_01,
.homepage_feature .layout_02{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.homepage_feature .layout_01_last,
.homepage_feature .layout_02_last{
	margin: 0;
}
.homepage_feature .layout_01 .txt_box,
.homepage_feature .layout_02 .txt_box{
	width: 50%;
}
.homepage_feature .layout_01 .img_box,
.homepage_feature .layout_02 .img_box{
	width: 47%;
}
.homepage_feature .layout_01 .img_box p,
.homepage_feature .layout_02 .img_box p{
	margin: 0;
}
.homepage_feature .layout_02{
	flex-direction: row-reverse;
}

/* MEO対策 ページ */
.meo_intro{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.meo_intro .left{
	width: 47%;
}
.meo_intro .right{
	width: 47%;
}
.meo_solution{
	margin: 70px 0 0;
}
.meo_solution ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.meo_solution li{
	list-style: none;
	border: 3px solid #dbdbdb;
	padding: 30px;
	width: 31%;
}
.meo_solution li .icon{
	margin: 0 0 20px;
}
.meo_solution li p{
	margin: 0;
}
.meo_important{
	margin: 100px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 70px 0;
}
.meo_important .toukei{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 40px 0 0;
}
.meo_important .toukei div{
	width: 31%;
}
.meo_important .toukei div h3{
	font-size: 17px;
	font-weight: 500;
	margin: 0;
}
.meo_important .toukei div h3::before{
	display: none;
}
.meo_important ul.toukei_list{
	line-height: 2;
}
.meo_important .toukei div.syukei{
	width: 100%;
	margin: 30px 0 0;
}
.meo_important .toukei div.syukei p{
	margin: 0;
	font-size: 13px;
}
.meo_google{
	margin: 100px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 70px 0;
}
.meo_google_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 40px;
}
.meo_google_list .meo_google_list_child{
	width: 23%;
}
.meo_google_list .meo_google_list_child .icon p{
	text-align: center;
}
.meo_google_list .meo_google_list_child p{
	margin: 0;
}
.meo_google_list .meo_google_list_child p.p01{
	text-align: center;
	padding: 7px;
	margin-top: 20px;
	margin-bottom: 20px;
	border-radius: 60px;
	box-sizing: border-box;
	border: 1px solid #dbdbdb;
}
.meo_keiro{
	margin: 70px 0 0;
}
.meo_keiro .layout_01,
.meo_keiro .layout_02{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.meo_keiro .layout_01_last,
.meo_keiro .layout_02_last{
	margin: 0;
}
.meo_keiro .layout_01 .txt_box,
.meo_keiro .layout_02 .txt_box{
	width: 50%;
}
.meo_keiro .layout_01 .img_box,
.meo_keiro .layout_02 .img_box{
	width: 47%;
}
.meo_keiro .layout_01 .img_box p,
.meo_keiro .layout_02 .img_box p{
	margin: 0;
}
.meo_keiro .layout_02{
	flex-direction: row-reverse;
}
.meo_value{
	margin: 100px 0 0;
}
.meo_value ul.meo_value_list{
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0px 70px;
}
.meo_value ul.meo_value_list li{
	list-style: none;
}
.meo_graph{
	margin: 100px 0 0;
}
.meo_voice{
	margin: 100px 0 60px;
}
.meo_voice_list{
	display: flex;
	flex-wrap: wrap;
	gap: 60px 0;
}
.meo_voice_list_child{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.meo_voice_list .img_box{
	width: 43%;
}
.meo_voice_list .img_box p{
	margin: 0;
}
.meo_voice_list .txt_box{
	width: 50%;
}

/* SNS運用　ページ */
.sns_intro h2{
	text-align: center;
}
.sns_intro p{
	text-align: center;
}
.sns_point{
	margin: 100px 0 0;
}
.sns_point_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.sns_point_in .child{
	list-style: none;
	border: 3px solid #dbdbdb;
	padding: 30px;
	width: 31%;
}
.sns_point_in .child p{
	margin: 0 0 20px;
}
.sns_point_in .child p.number{
	color: #0f5da5;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
}
.p-page .sns_point_in .child h3.h3-simple{
	display: flex;
	justify-content: center;
}
.sns_point_in .child p.icon{
	text-align: center;
}
.sns_point_in .child p.txt{
	margin: 0;
}
.sns_point_in .overview {
	position: relative;
	margin-top: 40px;
}
.sns_point_in .overview:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 25px solid transparent;
	border-left: 25px solid transparent;
	border-top: 16px solid #0f5da5;
	border-bottom: 0;
	top: -2.5rem;
	left: 50%;
	transform: translateX(-50%);
}
.sns_flow{
	margin: 100px 0 70px;
}
.sns_flow dl {
	display: flex;
	align-items: center;
	padding: 30px 0;
	border-top: solid 2px #dbdbdb;
}
.sns_flow dl:last-child {
	border-bottom: solid 2px #dbdbdb;
}
.sns_flow dl p{
	margin: 0;
}
.sns_flow dt{
	width: 200px;
}
.sns_flow dt p.number{
	color: #0f5da5;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
	margin: 0 0 30px;
}
.sns_flow dt p.icon{
	text-align: center;
}

/* 広告運用　ページ */
.ad_nayami {
	margin: 100px 0 0;
}
.ad_nayami_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 60px 0 0;
}
.ad_nayami_in .child{
	position: relative;
	width: 31%;
	position: relative;
}

.ad_nayami_in p{
	margin: 0;
}
.ad_nayami_in .label {
	font-weight: 500;
	font-size: 17px;
	position: absolute;
	min-width: 80px;
	text-align: center;
	padding: 5px 31px;
	background: #fff;
	border: 2px solid #dbdbdb;
	letter-spacing: .03em;
	border-radius: 2rem;
	top: -1.8rem;
	left: 50%;
	transform: translateX(-50%);
}
.ad_nayami_in .ttl {
	margin-top: 0;
	margin-bottom: 20px;
	font-weight: 600;
	text-align: center;
	color: #393939;
}
.ad_nayami_q{
	min-height: 300px;
}
.ad_nayami_q,
.ad_nayami_a{
	position: relative;
	border-radius: 20px;
	margin-bottom: 0;
	border: 2px solid #dbdbdb;
	padding: 40px 30px 30px;
}
.ad_nayami_a{
	margin: 100px 0 0;
	min-height: 410px;
}
.ad_nayami_a{
	border: 2px solid #209cff;
	position: relative;
}
.ad_nayami_a:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	position: absolute;
	width: 3px;
	height: 25px;
	background: #dbdbdb;
	top: -7rem;
	left: 50%;
	transform: translateX(-50%);
}
.ad_nayami_a:after {
	content: '';
	width: 15px;
	height: 15px;
	border-left: 3px solid #dbdbdb;
	border-bottom: 3px solid #dbdbdb;
	border-top: 0;
	border-right: 0;
	transform-origin: bottom left;
	position: absolute;
	top: -6rem;
	left: calc(50% + 7px);
	transform: translateX(-50%) rotate(-45deg);
	bottom: -.05em;
	box-sizing: border-box;
}
.ad_nayami_a p{
	color: #0f5da5;
}
.ad_nayami_a .label{
	color: #0f5da5;
}
.ad_nayami_a .ttl{
	color: #0f5da5;
}
.ad_reason{
	margin: 100px 0 0;
}
.ad_reason h2{
	text-align: center;
}
.ad_reason p{
	text-align: center;
}
.ad_reason h2 span{
	font-size: 30px;
}
.ad_point{
	margin: 100px 0 0;
}
.ad_point_in{
	display: flex;
	flex-wrap: wrap;
	gap: 60px 0;
	margin: 70px 0 0;
}
.ad_point_in p{
	margin: 0;
}
.ad_point_in p.number {
	color: #0f5da5;
	font-weight: 600;
	font-size: 21px;
	margin: 0;
}
.ad_point_in .child01,
.ad_point_in .child02{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.ad_point_in .child01 .img_box,
.ad_point_in .child02 .img_box{
	width: 48%;
}
.ad_point_in .child01 .text_box,
.ad_point_in .child02 .text_box{
	width: 48%;
}
.ad_point_in .child02{
	flex-direction: row-reverse;
}
.ad_support{
	margin: 100px 0 60px;
}
.ad_support_in{
	display: flex;
	gap: 60px 0;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.ad_support_in .child{
	width: 48%;
}
.ad_support_in p{
	margin: 0;
}
.ad_support_in p.img{
	margin: 0 0 20px;
}

/* 求人対策　ページ */
.job-measures_service{
	margin: 100px 0 0;
}
.job-measures_service_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	gap: 40px 0;
}
.job-measures_service_in .child{
	list-style: none;
	border: 3px solid #dbdbdb;
	padding: 30px;
	width: 48%;
}
.job-measures_service_in .child p{
	margin: 0 0 20px;
}
.job-measures_service_in .child p.number{
	color: #0f5da5;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
}
.p-page .job-measures_service_in .child h3.h3-simple{
	display: flex;
	justify-content: center;
}
.job-measures_service_in .child p.icon{
	text-align: center;
}
.job-measures_service_in .child p.txt{
	margin: 0;
}
.job-measures_strengths{
	margin: 100px 0 70px;
}
.job-measures_strengths_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 40px;
}
.job-measures_strengths_in .child{
	width: 23%;
}
.job-measures_strengths_in p{
	margin: 0;
}
.job-measures_strengths_in p.img{
	text-align: center;
	margin: 0 auto 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 170px;
	height: 170px;
	border: 2px solid #dbdbdb;
	border-radius: 100px;
}

/* 会社概要　ページ */
.company_intro p.txt_ceo{
	text-align: right;
	font-size: 19px;
}
.company_intro p.txt_ceo span {
	font-family: 'HGGyoshotai';
	font-size: 33px;
	margin-left: 17px;
}
.company_mission-vision-values{
	margin: 100px 0 0;
}
.company_mission-vision-values_in{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.company_mission-vision-values_in .child{
	border-top: 1px solid #ececec;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.company_mission-vision-values_in .child:last-child{
	border-bottom: 1px solid #ececec;
}
.company_mission-vision-values_in .left{
	width: 25%;
	padding: 40px;
}
.company_mission-vision-values_in .left .h2_midasi{
	margin: 0;
}
.company_mission-vision-values_in .right{
    width: 70%;
    padding: 40px;
}
.company_mission-vision-values_in p:last-child{
	margin: 0;
}
.company_mission-vision-values_in p.ttl{
    font-size: 20px;
    font-weight: 600;
    color: #252525;
}
.company_member{
	margin: 100px 0 70px;
}
.company_member_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 60px 0;
}
.company_member_in .child{
	width: 47%;
}
.company_member_in .child p:last-child{
	margin-bottom: 0;
}

/* footer */
.l-footer-container {
    align-items: center !important;
}
.l-footer--left {
    flex-basis: 35%;
}
.l-footer--left--info--item strong {
	margin: 15px 0 0 0 !important
}
.l-footer--left--telnum {
	border-top: 1px solid #dedede;
	padding: 10px 0 0 0;
}
.l-footer--left--telnum a {
	font-size: 22px;
}
.l-footer--list {
	max-height: none !important;
}
.l-footer--right {
	display: flex;
    gap: 0 20%;
    flex-basis: 50%;
}
