@charset "UTF-8";

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, address, em, img, strong, center, dl, dt, dd, ol, ul, li, label, table, caption, tbody, thead, tr, th, td, article, aside, figure, figcaption, footer, header, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-weight: normal;
}
.main-header{
	display:none;
}

body{
	font-family: 'Noto Sans JP', sans-serif !important;
	color: #333;
	margin:0;
}
img{
	transition-property: opacity;
  transition-duration: 0.5s;
  width: 100%;
}
a {
}
a:hover {
}

h1{
	font-size:30px!important;
	margin:0!important;
}
h2{
	font-size:24px!important;
	margin:0!important;
}
h3{
	font-size:20px!important;
	margin:0!important;
}
h4{
	font-size:16px!important;
	margin:0!important;
}
ul, ol {
	margin: 0 0 1.8em 1.5em;
	padding: 0;
}
p{
	margin:0 0 1.5em;
}
p:last-child{
	margin:0!important;
}
br.pc_br{
	display:none;
}


table {
	margin: 0!important;
}

.site-logo{
	width:200px;
}

#content {
	padding-top: 100px!important;
}

#secondary,.veu_socialSet,.veu_relatedPosts,#page_top{
	display:none;
}

.full_bg{
	margin-left: calc(50% - 50vw + var(--sgb-scroll-bar-width, 0px)/2) !important;
	max-width: calc(100vw - var(--sgb-scroll-bar-width, 0px)) !important;
	width: calc(100vw - var(--sgb-scroll-bar-width, 0px)) !important;
}

.top-bar-content,.main-header-content,.featured-entry-content,.home-header-content,.jumbotron-content,.site-content,.container-content,.footer-widget-content,.site-bottom-content {
	max-width: 100%!important;
	padding-left: 30px!important;
    padding-right: 30px!important;
}
.site-content{
	padding-left: 30px!important;
    padding-right: 30px!important;
}

.full_bg{
	margin-left: calc(50% - 50vw + var(--sgb-scroll-bar-width, 0px)/2) !important;
	max-width: calc(100vw - var(--sgb-scroll-bar-width, 0px)) !important;
	width: calc(100vw - var(--sgb-scroll-bar-width, 0px)) !important;
}

.full_bg__content {
	max-width: 1024px!important;
	margin:auto;
}

.bg_gray{
	background-color:#F5F5F7!important;
}
.bg_black {
  background-color: #333 !important;
}
.section_container{
	padding: 0 0 50px;
}

.top_contents{
	padding-bottom:50px;
}

.page_heading{
	margin-bottom:20px;
}


.page_ttl{
	border-bottom:1px solid;
	border-image: linear-gradient(to right, #2D41B2, #F07B7B) 1;
	font-weight:400;
	margin:0;
	padding:0 5px 10px;
}



.page_ttl h1{
	font-size:36px;
	font-weight:400;
}
.page_ttl p{
	display:inline;
	margin-bottom:10px;
	font-size:20px;
	color:#2D41B2;
	background: linear-gradient(90deg, #2D41B2 0%, #8E6392 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.lead_text{
	padding:10px 5px 0;
}



.breadcrumb{
	padding:10px 5px 0;
}
.breadcrumb a{
	text-decoration: none;
	color:#2D41B2;
}
.breadcrumb span{
	position: relative;
	padding: 0 15px 0 10px;
}
.breadcrumb span:before{
	content: '';
	width: 4px;
	height: 4px;
	border: 0;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 8px;
	bottom: 0;
	margin: auto;
}


.introduction h2{
	font-weight:400;
	color:#2D41B2;
}



#top_case__listing .catpost-cards--pickup{
	margin-bottom:50px;
}
.top_case__title{
	margin-bottom:30px;
}

/*導入事例一覧*/
.c_linkto_wrap{
	position:relative;
	background-color:#fff!important;
	box-shadow: 0 3px 3px -2px rgba(30,30,30,0.18);
	border:1px solid #F5F5F7;
	margin-bottom:30px;
}

.linkto_label{
	position:absolute;
	top:0;
	left:0;
	z-index: 1;
	color:#fff;
	font-weight:600;
	font-size:11px;
	padding:4px 18px;
}
.linkto_label.new{
	background-color:#f00;
}
.linkto_label.pickup{
	background: linear-gradient(135deg, #2D41B2, #229FC4);
}

.c_linkto_img_wrap{
	display: block;
	height: 0;
	margin: 0;
	overflow: hidden;
	padding-bottom: 75%;
	position: relative;
	background:#d7d7d7;
}
.c_linkto_img_wrap img{
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}
.c_linkto_img_wrap img:hover {
	opacity: 0.7; 
}


.c_linkto{
	display:block;
	text-decoration:none;
}
.c_linkto_text{
	padding:15px 15px 25px;
}
.c_linkto_text a{
	text-decoration: none;
	color:#333;
}

.c_linkto_cate{
	line-height:1;
	margin:0 0 10px!important;
}
.c_linkto_cate span{
	font-size:12px;
}
.c_linkto_cate span:after{
	content:"/";
	margin:0 5px;
}
.c_linkto_cate span:last-child:after{
	display:none;
}







.c_linkto_text .ttl{
	line-height:1.6;
	font-size:16px;
	font-weight:bold;
}




/*食堂*/
#announce .text__area{
	text-align:left;
}
#announce .c_button{
	font-weight: bold;	
	max-width: 480px;
	height: 80px;
	line-height: 80px;
	margin:auto;
	text-align: center;
}





/*ページャー*/
.pagination{
	text-align: center;
	margin: 30px 0 0;
}
.pagination a{
	text-decoration:none;
}
.pagination .page-numbers{
	background-color:#fff;
	border:1px solid #E6E6E6;
	font-weight: bold;
}
.pagination .page-numbers:hover{
	border-color: #ccc;
}
.pagination .page-numbers.current{
	background-color:#fff;
	border-color: #ccc;
	color:#2D41B2;
}
.pagination .page-numbers {
  padding: 8px 18px;
  margin-right: 6px;
}




#top_case__listing,
.catpost-cards__cards_wrap,
.gallery__wrap,
.category__wrap{
	padding:50px 0;
}

.category_disc{
	margin-top:20px;
}


.entry-cate{
	margin-bottom:10px;
}
.entry-cate a{
	font-size:17px;
}
h2.entry-title{
	font-size:32px;
	font-weight:400;
	padding-left:5px;
	padding-top:20px;
}
.entry-meta{
	margin-top:20px;
}

.entry-tag a{
	margin-right:10px;
}

.entry-tag a:last-child{
	margin-right:0;
}

.entry-content table{
	border-color:#E2E2E2;
	border: 1px solid #E2E2E2;
}
.entry-content table th,.entry-content table td{
    display: block;
	padding:15px 30px;
	vertical-align: middle;
}
.entry-content table th{
	background-color:#F5F5F7;
	border-right: none;
	font-weight:bold;
}
.entry-content table td{
	border-left: none;
}
.solution{
	margin-top: 10px
}
a.linkto_solution{
	display:block;
	position:relative;
	padding-left: 20px;
	line-height: 1.8;
}
a.linkto_solution::before{
	content:"";
	position:absolute;
	top:0.45em;
	left:0;
	width:16px;
	height:16px;
	background-image:url("../img/icon_amepocke.svg");
	background-size:contain;
	background-repeat:no-repeat;
}


a.linkto_solution::after{
}
a.linkto_solution:hover::before{
	background-image:url("../img/icon_amepocke_on.svg") no-repeat center / contain;
}

.keyword__linkto {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #848484;
	border-radius: 5px;
	text-decoration: none;
	color: #333;
	font-size:12px;
	padding:5px 8px;
	margin-right:8px;
}
.keyword__linkto:hover {
	border-color:#2C40B1;
	color:#2C40B1;
}
.keyword .keyword__linkto:last-child {
	margin-right:0;
}


.linkto_client{
	position: relative;
	padding-left: 21px;
	line-height:2.5;
}

.external {
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 10px;
  height: 10px;
  box-shadow:
    -1.6px 1.6px 0 0,
    -3.2px -3.2px 0 -1.6px,
    3.2px 3.2px 0 -1.6px;
  margin-left: -1px;
  margin-top: 1px;
	position:absolute;
	left: 3px;
	top:8px;
}

.external::after,
.external::before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  right: -3px;
}

.external::before {
  background: currentColor;
  transform: rotate(-45deg);
  width: 10px;
  height: 1.6px;
  top: 0.8px;
}

.external::after {
  width: 6.5px;
  height: 6.5px;
  border-right: 1.6px solid;
  border-top: 1.6px solid;
  top: -3px;
}


.movie{
	max-width:700px;
	margin: 60px auto 0;
}


.case-block {
	margin-top:50px;
}
.case-block h3{
	font-size:24px;
	font-weight:600;
	border-bottom: 1px dotted #aaa;
	padding-bottom: 10px;
	padding-left:5px;
}

.case-block div.case-text{
	margin-top:20px;
	padding-left:5px;
}
.case-block ul,
.case-block ol{
	padding-left:25px;
	margin:20px 0;
}
.case-block ul li,.case-block ol li{
	margin-bottom:10px;
}
.case-block ul li{
	list-style: disc;
}
.case-block ul li:last-child,.case-block ol li:last-child{
	margin-bottom:0;
}
.case-block strong{
	font-weight:bold;
}
.case-block p{
	margin-bottom:10px;
}


.related-posts{
	padding-top:50px;
	padding-bottom:50px;
}



/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  background-color: #fff;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
  height: 50px;
	border-top: 1px solid #626262;
  border-bottom: 1px solid #626262;
  background-color: #fff;
  line-height: 50px;
  font-size: 12px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
	cursor:pointer;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 15px 15px;
  clear: both;
  overflow: hidden;
	background-color:#F4F2F2;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #626262;
  color: #fff;
}

.cate_group{
	overflow:hidden;
}
.cate_icon{
	float:left;
	display:block;
	margin:5px;
}


/*カテゴリー名*/
a.cate__linkto{
	display:inline-block;
	background-color:#fff;
	border:1px solid #848484;
	border-radius:8px;
	text-decoration:none;
	color:#333;
	padding:6px 20px;
	font-size:13px;
}

a.cate__linkto:hover{
	border-color: #2D41B2;
	color:#2D41B2!important;
}
a.cate__linkto.current{
	background-color:#2D41B2;
	border-color: #2D41B2;
	color:#fff!important;
}




.search__form{
	overflow:hidden;
}

.search__form form{
	margin:0 auto 30px;
}

.search_icon {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(1.5);
    width: 10px;
    height: 10px;
    border: 1.5px solid #ccc;
    border-radius: 100%;
    margin-left: -3px;
    margin-top: -3px;
}

.search_icon::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border-radius: 2px;
    width: 1.5px;
    height: 6px;
    background: #ccc;
    transform: rotate(-45deg);
    top: 6px;
    left: 7px;
}


.text_center{
	text-align:center;
}



/* お問い合わせボタン */
.l_cases_contact__area{
	margin-top: 100px;
}

.l_cases_contact__area h3{
	font-weight: 600;
}	
.l_contact__box{
	background-color: #F5F5F7 !important;
	padding: 15px 20px;
	margin-top: 20px;
}
	
	


/* margin・padding */
.pt10 {
    padding-top: 10px!important
}
.pt15 {
    padding-top: 15px!important
}
.pt20 {
    padding-top: 20px!important
}
.pt25 {
    padding-top: 25px!important
}
.pt30 {
    padding-top: 30px!important
}
.pt35 {
    padding-top: 35px!important
}
.pt40 {
    padding-top: 40px!important
}
.pt45 {
    padding-top: 45px!important
}
.pt50 {
    padding-top: 50px!important
}
.pb10 {
    padding-bottom: 10px!important
}
.pb15 {
    padding-bottom: 15px!important
}
.pb20 {
    padding-bottom: 20px!important
}
.pb25 {
    padding-bottom: 25px!important
}
.pb30 {
    padding-bottom: 30px!important
}
.pb35 {
    padding-bottom: 35px!important
}
.pb40 {
    padding-bottom: 40px!important
}
.pb45 {
    padding-bottom: 45px!important
}
.pb50 {
    padding-bottom: 50px!important
}
.mt10 {
    margin-top: 10px!important
}
.mt15 {
    margin-top: 15px!important
}
.mt20 {
    margin-top: 20px!important
}
.mt25 {
    margin-top: 25px!important
}
.mt30 {
    margin-top: 30px!important
}
.mt35 {
    margin-top: 35px!important
}
.mt40 {
    margin-top: 40px!important
}
.mt45 {
    margin-top: 45px!important
}
.mt50 {
    margin-top: 50px!important
}
.mb10 {
    margin-bottom: 10px!important
}
.mb15 {
    margin-bottom: 15px!important
}
.mb20 {
    margin-bottom: 20px!important
}
.mb25 {
    margin-bottom: 25px!important
}
.mb30 {
    margin-bottom: 30px!important
}
.mb35 {
    margin-bottom: 35px!important
}
.mb40 {
    margin-bottom: 40px!important
}
.mb45 {
    margin-bottom: 45px!important
}
.mb50 {
    margin-bottom: 50px!important
}


.btn__red{
	display: block;
	text-decoration: none;
	background: #cd2f31 !important;
	color: #ffffff !important;
	font-weight: bold;
	border: 1px solid #cd2f31 !important;
}
	
.btn__white{
	display: block;
	text-decoration: none;
	background: #fff !important;
	border: 1px solid #cd2f31 !important;
	color: #222 !important;	
	
}



.content-area {
	margin-bottom: 0!important;
}

/* 管理バー表示時だけ */
body.admin-bar #header {
	top: 32px; /* 管理バー分 */
}
/*body.admin-bar #content {
	padding-top: calc(70px + 32px);
}*/
@media (max-width: 782px) {
	#wpadminbar {
		display: none !important;}
	html {
		margin-top: 0 !important;}
	body.admin-bar #header {
		top: 0;}
	/*body.admin-bar #content {
		margin-top: 70px;}*/
}

@media screen and (min-width:481px) {
	.catpost-cards {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.c_linkto_wrap{
		margin-bottom:0;
	}
	.tab_item {
		font-size: 16px;
	}
	.entry-content table th,.entry-content table td{
		display: table-cell;
	}
	.entry-content table th {
		width: 30%;
	}
}
@media screen and (min-width:768px) {
	br.pc_br{
		display:block;}
	#announce .text__area{
		text-align:center;
	}
}

@media screen and (min-width:1024px) {
	.has-sidebar .content-area {
		width:100%!important;
	}
	
	
	h2.entry-title{
		font-size:32px!important;
	}
	.top-bar-content,.main-header-content,.featured-entry-content,.home-header-content,.jumbotron-content,.site-content,.container-content,.footer-widget-content,.site-bottom-content {
		max-width: 100%!important;
		padding-left: 40px!important;
		padding-right: 40px!important;
	}
	
	.site-content{
		padding-left: 40px!important;
		padding-right: 40px!important;
	}
	.full_bg__content {
		padding-left: 40px!important;
		padding-right: 40px!important;
	}
	
	.section_container{
		padding: 0 0 100px;
	}
	.entry__content{
		padding-top:50px;
		padding-bottom:100px;
	}
	
	.catpost-cards {
		grid-template-columns: repeat(4, 1fr);
		gap: 25px;
	}
	.search__form form{
		float:right;
		max-width:400px;
	}
	.tab_content {
		padding: 25px;
	}
	.linkto_label{
		font-size:11px;
	}
	/*カテゴリー名*/
	a.cate__linkto{
		padding:6px 25px;
		font-size:14px;
	}
	
	
	
	/*お問い合わせボタン*/
	.l_contact__box {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		padding: 30px 50px;
	}

}

@media screen and (min-width: 1240px) {
	 #content {
		 padding-top: 150px!important;
	}
	.top-bar-content,.main-header-content,.featured-entry-content,.home-header-content,.jumbotron-content,.site-content,.container-content,.footer-widget-content,.site-bottom-content,.main-header-content {
		max-width: 1180px!important;
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.site-content{
		max-width: 1180px!important;
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.full_bg__content {
		max-width: 1180px !important;
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.catpost-cards {
		gap: 30px;
	}
	.tab_content {
		padding: 30px;
	}
}