@charset "utf-8";

html, body, h1, h2, h3, h4, ul, li, p{
	padding: 0px;
	margin: 0px;
	list-style: none;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



/**fout********
html{
	opacity:0;
	transition: opacity 0.1s;
}

html.wf-active {
  opacity:1;
}*********/
/**blog記事はヒラギノ表示*******/
/*
#detail h1, #detail h2, #detail h3, #detail h4, #detail ul, #detail li, #detail p, #detail ol{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
*/
/**flex関連********************************/
.flex{
	display: flex;
}

.flex_wrap{
  display: flex;
	flex-wrap:wrap;
}


.flex_center{
	display: flex;
	justify-content:center;
	align-items: center;	
}  

.column{
	flex-direction:column;
}

.row{
	flex-direction:row;
}


.col_2{
	width: 48%;
	box-sizing: border-box;
	justify-content: space-between;
	margin:0px auto 20px auto;
}

.col_3{
	width: 31%;
	box-sizing: border-box;
	margin:0px 1% 20px 1%;
}

.col_4{
	width: 23%;
	box-sizing: border-box;
	margin:0px 1% 20px 1%;
}


/**marginなし***************/
.col_50{
	width: 50%;
}

.col_25{
	width: 25%;
}


@media screen and (max-width: 640px) {
.when_sp_100 div, .when_sp_100 .col_4, .when_sp_100 .col_3, .when_sp_100 .col_2, .when_sp_100 .col_50{
	width: 100%;
	display: block;
	box-sizing: border-box;
}
.col_3, .col_4{
	margin:0px auto 20px auto;
}

.col_25{
	width: 50%;
}
}

/**inline********************************/
.inline_block{
	display: inline-block !important;
	width: auto !important;
}

/**width,height********************************/
.w100{
  width: 100%
}

.max960{
	max-width: 1020px; /*960px+30px*/
	margin: auto;
	padding: 30px;
	box-sizing: border-box; 
}

.max840{
	max-width: 870px; /*840px+30px*/
	margin: auto;
	padding: 30px;
	box-sizing: border-box; 
}

.max640{
	max-width: 670px; /*640px+30px*/
	margin: 1em;
	padding: 30px;
}

.h_full{
  height:100vh;
}
/**image_width,height********************************/
.img_responsive{
	width: 100%;
}

.img-fluid{
	max-width:100%;
	height:auto;
}

.invert{
	filter: brightness(0) invert(1);
}


/**事例スライドobject fit***********/ 
.slider_multi img{
width: 100%;
height: 180px;
object-fit: cover;
margin: auto;
font-family: 'object-fit: cover;'
}
 @media screen and (max-width: 768px) {
  .slider_multi img{
  object-fit:none;
  height: 280px;
  }
} 

/**font,size********************************/
.en{
	font-size:14px;
	font-family: "din-2014",sans-serif;
}

.middle{
	font-family: a-otf-gothic-bbb-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.bold{
	font-weight: bold;
}

.font_7{
	font-size: 7px;
}


.font_10{
	font-size: 10px;
}

.font_11{
	font-size: 11px;
}

.font_12{
	font-size: 12px;
}

.font_13{
	font-size: 13px;
}

.font_14{
	font-size: 14px;
}

.font_15{
	font-size: 15px;
}

.font_18{
	font-size: 18px;
}

.font_20{
	font-size: 20px;
}

.font_24{
	font-size: 24px;
}

.font_26{
	font-size: 26px;
}

.font_30{
	font-size: 30px;
}

.service_message{
  font-size:26px;
	line-height:190%;
}
/**padding,margin********************************/
.p_1{
	padding: 1em;
}
.p_2{
	padding: 2em;
}
.pb_1{
	padding-bottom: 1em;
}
.pb_2{
	padding-bottom: 2em;
}

.p_3{
	padding: 3em;
}

.px_08{
	padding: 0px 0.8em;
}

.pt_30{
	padding-top: 30px;
}

.m_auto{
	margin: auto !important;
}

.mr_auto{
	margin-right: auto;
}

.mt_20{
	margin-top: 20px;
}

.mt_30{
	margin-top: 30px;
}

.mt_40{
	margin-top: 40px;
}



.mt_1{
	margin-top: 1em;
}

.mx_1{
	margin: 0 1%;
}

.my_20{
	margin: 20px 0px;
}

.m_1{
	margin: 1em !important;
}

.mb_05{
	margin-bottom: 0.5em;
}

.mb_1{
	margin-bottom: 1em !important;
}

.mb_2{
	margin-bottom: 2em;
}

.mb_3{
	margin-bottom: 3em;
}


.slider_multi_margin{
	margin: 12px;
}

/**text_align********************************/
.text_center{
	text-align: center;
}

.text_left{
	text-align: left;
}

.text_right{
	text-align: right;
}

.right{
	float: right;
}

/**position********************************/
.position_fixed{
	position: fixed;
}

.position_relative{
	position: relative;
}

.position_absolute{
	position: absolute;
}

/**color, link_color, hover********************************/
.text_blue{
	color:#38AED7;
}

.text_red{
	color:#FF5752;
}

.text_white{
	color: #fff;
}

.bg_red{
	background-color: #FF5752;
}

.bg_blue{
	background-color: #38AED7;
}


/**btn, hover********************************/
a{
	text-decoration: none;
	color: inherit;
	transition: all .2s ease;
}

a:hover{
	opacity: .8;
}

#info a:hover{
	color: #38AED7;
}
#info_detail a:hover{
	color:#38AED7;
}

#detail a{
	color:#38AED7;
}

.btn{
  display: inline-block;
  position: relative;
  background: none;
  border: none;  
  font-size: 16px;
  cursor: pointer;
}
.btn span{
  display: block;
}
.btn::before, .btn::after{
  content:"";
  width: 0;
  height: 2px;
  position: absolute;
  transition: all 0.2s linear;
  background: rgba(255,255,255,.7);
}

.btn span::before, .btn span::after{
  content:"";
  width:2px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: rgba(255,255,255,.7);
}
.btn:hover::before, .btn:hover::after{
  width: 100%;
}
.btn:hover span::before, .btn:hover span::after{
  height: 100%;
}

/****/
.btn_w{
  display: inline-block;
  position: relative;
  background: none;
  border: none;  
  font-size: 16px;
  cursor: pointer;
}
.btn_w span{
  display: block;
}
.btn_w::before, .btn_w::after{
  content:"";
  width: 0;
  height: 2px;
  position: absolute;
  transition: all 0.2s linear;
  background: rgba(0,0,0,.2);
}

.btn_w span::before, .btn_w span::after{
  content:"";
  width:2px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: rgba(0,0,0,.2);
}
.btn_w:hover::before, .btn_w:hover::after{
  width: 100%;
}
.btn_w:hover span::before, .btn_w:hover span::after{
  height: 100%;
}

/*----- エフェクト -----*/
.btn-1::before, .btn-1::after{
  transition-delay: 0.2s;
}
.btn-1 span::before, .btn-1 span::after{
  transition-delay: 0s;
}
.btn-1::before{
  right: 0;
  top: 0;
}
.btn-1::after{
  left: 0;
  bottom: 0;
}
.btn-1 span::before{
  left: 0;
  top: 0;
}
.btn-1 span::after{
  right: 0;
  bottom: 0;
}
.btn-1:hover::before, .btn-1:hover::after{
  transition-delay: 0s;
}
.btn-1:hover span::before, .btn-1:hover span::after{
  transition-delay: 0.2s;
}

/**ボタン色***********/
.line_white {
  padding: 10px 50px;
  border: 1px solid #fff;
  color: #fff;
  font-size:18px;
  letter-spacing: 1px;
  background-color: rgba(0,0,0,0.3);
}

.line_red{
  border: 1px #FF5752 solid;
  color: #FF5752;
  padding: 10px 50px;
}
.line_red:hover{
  border: 1px #FF5752 solid;
  color: #fff;
  padding: 10px 50px;
  background-color: rgba(255,87,82,1);
}

.line_red_bottom{
  border-bottom: 1px #FF5752 solid;
}

.line_red_bottom_inline{
  border-bottom: 1px #FF5752 solid;
  display: inline;
}

.line_blue_bottom{
  border-bottom: 1px #38AED7 solid;
}

.btn_blue{
  background-color: rgba(56, 174, 215,1);
  padding: 8px 50px;
  color: #fff;
}

.btn_blue:hover{
  background-color: rgba(56, 174, 215,0.5);
  padding: 8px 50px;
  color: #fff;
}

.btn_blue_blog{
  background-color: #38AED7;
  padding: 0px;
  color: #fff;
  text-align: center;
  width:100px;
}

.btn_red{
  padding: 8px 50px;
  background-color: rgba(255,87,82,1);
  color: rgba(255,255,255,1);
  transition: all  0.3s ease;
}

.btn_red:hover{
  padding: 8px 50px;
  background-color: rgba(255,87,82,0.5);
  color: rgba(255,255,255,1);
}

.btn_red_blog{
  padding: 0px;
  background-color: #FF5752;
  color: #fff;
  text-align: center;
  width:100px;
}

.btn_black{
	padding: 8px 50px;
	background-color: rgba(0,0,0,1);
	color: #fff;
}

.btn_black:hover{
	padding: 8px 50px;
	background-color: rgba(0,0,0,0.5);
	color: #fff;
}

.btn_white{
	padding: 8px 50px;
	background-color: #fff;
	color: #38AED7;
}

.btn_white_b{
	padding: 8px 20px;
	width:150px;
	background-color: #fff;
	color:#000;
}



/*ライン*/
.border_blue{
	border:1px #38AED7 solid;
	background-color: #fff;
}

.border_red_bottom{
	border-bottom:1px #FF5752 solid;
	background-color: #fff;
}

.border_blue_bottom{
	border-bottom:1px #38AED7 solid;
	background-color: #fff;
}

.border_b{
	border-bottom: 1px #000 solid;
}

.border_gray{
	border-bottom:1px #C5C3C5 solid;
	padding-bottom: 4px;
}

.border_w{
	border: 1px #fff solid;
}


/**TOP visual*********************************/
.logo{
	max-width: 200px;
}
.bg_video{
 position: fixed;
 left:0px;
 top:0px;
 min-height: 100%;
min-width: 100%;
 width: auto;
 height: auto;
 z-index: 0;
 /* background: url('https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/main_top.jpg') no-repeat; */
 background-size: cover;
 background-position: center center;
}

.gradient{
  mix-blend-mode: hard-light;
	background: -moz-linear-gradient(top left, #38AED7, #FF5752); 
  background: -webkit-linear-gradient(top left, #38AED7, #FF5752); 
  background: linear-gradient(to bottom right, #38AED7, #FF5752);
  width: 100%;
  height: 100vh;
  opacity: 0.6;
  /*position: absolute;*/
  position: relative;
  z-index: 1;
}



.main_theme{
	font-size:30px;
	letter-spacing: 5px;
	margin-bottom: 32px;
	
}

.scroll{
	bottom:60px;
	right:0px;
	left: 0px;
}

.arrow{
position: relative;
display: inline-block;
padding: 0 0 0 30px;
color: #fff;
vertical-align: middle;
text-decoration: none;
font-size: 30px;
margin-top: 24px;
}
.arrow::before,
.arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

.scroll-down::before{
box-sizing: border-box;
width: 30px;
height: 30px;
border: 1px solid #fff;
-webkit-border-radius: 50%;
border-radius: 50%;
}
.scroll-down::after{
left: 9px;
bottom: 5px;
width: 11px;
height: 11px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

/**トップ下会社概要******************/
.bg-company{
	/* background-image: url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/bg-company.jpg); */
	background-repeat: no-repeat;
	background-size: cover;
	height: 300px;
	
}


/**コンテンツ**************************/
.layer{
	position: relative;
	/*background-image: url(../images/bg.png);
	background-repeat: repeat-y;*/
	background-color: #fff;
	background-image: url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/bg_left_min.png), url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/bg_right_min.png);
        background-position: left top, right 35%;
        background-repeat: no-repeat, no-repeat;
        background-size: 100%, 100%;
        z-index: 4;
	
}

.layer .layer2{
	z-index: 5;	
}

/*一覧で上が空きすぎているのを修正*/
.list_layer .layer2{
	padding-bottom: 0px;
}

.list_layer .title{
	margin:40px auto;
}

.layer2{
	padding-bottom: 80px;
}

/**各項目タイトル**************************/
.title{
	margin:60px auto;
}

.title .en{
	padding-top: 4px;
	letter-spacing: 2px;
}

h2{
	margin: auto;
	padding-bottom: 2px;
	font-size:26px;
	letter-spacing: 2px;
	border-bottom:2px #38AED7 solid;
	display: inline-block;
}

/**帯************/
.band{
	background-color: #F9F8F2;
	padding: 20px;
	line-height: 24px;
	font-size:24px;
}

.band span{
	vertical-align:  middle;
}

.logo_connect{
	max-width: 200px;
	vertical-align:middle;
	margin: 0 30px;
}

/**重なりbox***********/
.parent_overlap, .parent_overlap_2{
	margin: 40px auto 0 auto;
	display:flex;
	flex-direction: row;	
	justify-content: space-between;
	flex-wrap: nowrap;
	max-width: 1020px;
}
.box_explain{
	max-width: 480px;
	width: 100%;	
	background-color: #fff;
	padding: 45px 45px 30px 45px;
	margin-top: 30px;
	margin-bottom: 90px;
	top:40px;
	}
 .parent_overlap_2 .box_explain{
	top:20px;
	}

.box_shadow{
	box-shadow: 0 0 24px rgba(0,0,0,0.08);
	background-color: #fff;
	word-break: break-all;
}
	
.box_higher{
  position: relative;
	z-index: 2;
}

.box_right30{
	right: -30px;
}

.box_left30{
	left: -30px;
}

.box_number{
  position: absolute;
  top:0px;
  left: 0px;
  width: 45px;
  height: 45px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box_slide{	
	max-width: 560px;
	width: 100%;
	top:50px;
}

.box_slide img{
	object-fit:cover;
	height: 350px;
	font-family: 'object-fit: cover;'
}

 .parent_overlap_2 .box_slide{
 top:30px;
}

/**スライド矢印*******/
.slick-prev, .slick-next {
    width:88px !important; /* 画像幅 */
    height:88px !important; /* 画像高さ */
}
.slick-prev:before, .slick-next:before {
    content:"";
}
.slick-prev, .slick-next {
    z-index:2;
}
.slick-prev{left:4px; top:60%}
.slick-next{right:4px; top:60%}



#arrows_service .slick-prev, #arrows_service .slick-next {
    width:88px; /* 画像幅 */
    height:88px /* 画像高さ */
}
#arrows_service .slick-prev:before, #arrows_service .slick-next:before {
    content:"";
}
#arrows_service .slick-prev, #arrows_service .slick-next {
    z-index:2;
}
#arrows_service .slick-prev{left:4px; top:50%}
#arrows_service .slick-next{right:4px; top:50%}
#arrows_service .slick-dots{bottom:0px; z-index: 10;}



#arrows_news .slick-prev{left:4px; top:72%}
#arrows_news .slick-next{right:4px; top:72%}
#arrows_news .slick-dots{bottom:0px; z-index: 10;}


.slick-arrow{z-index:10;}
.slick-dots{bottom:60px; z-index: 10;}



/**single詳細ページ(news,recruit,事例,blog)************************************************************/
#detail{
	font-size:14px;
	line-height: 160%;
}

#detail h1{
	font-size:22px;
	line-height: 160%;
}

#detail h2{
  margin: 36px 0 16px 0;
  font-size:24px;
  border-bottom: 0px;
  border-left:4px #FF5752 solid;
  padding-left: 8px;
}

#detail h3{
  margin: 32px 0 16px 0;
  font-size:20px;
  border-left:4px #38AED7 solid;
  padding-left: 8px;
}

#detail h4{
  margin: 20px 0 8px 0;
  font-size:16px;
  border-left:4px #777 solid;
  padding-left: 8px;
}

#detail hr{
height: 0;
  margin: 0;
  padding: 0;
  border: 0;
 border-top:1px #ddd solid;
}

/*sns*/
.socialbox{
	display: flex;
	float: right;
}

.socialbox div{
	margin-left: 4px;
}


/**info*******************************/
#info .col_3{
	min-height:140px;
  line-height: 180%;
}
.page_topimage_info{
	margin-top: 104px;
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}

/**事業ページ********************************/

.page_topimage{
	margin-top: 104px;
	background-image: url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/page_bg_info.jpg);
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}

.squareBox{
	width: 100%;
  height: 100%;
  position: relative;
}

.squareBox::before{
  content: "";
  display: block;
  padding-top: 100%;
}
.squareBox span{
display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

 
.squareBox img{
position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover; object-position: center;';
    width: 100%;
    height: 100%;
    font-family: 'object-fit: cover;'
}

.round_box{
  position: relative;	
	z-index: 1;
	text-align: center;
}


.over_text{
	position: absolute;
	z-index: 2px;
	margin: auto;
	font-size:16px;
	width: 100%;
	left: 0px;
	right: 0px;
	top:35%;
	padding: 0 4px;
  box-sizing: border-box;
}

.service_imagearea{
	position: relative;
	text-align: center;
}

.service_imagearea img{
	margin-top: 130px;
	max-width: 960px;
}

.service_imagearea .box_shadow{
	position: absolute;
	top:0px;
	left: 0px;
	right: 0px;
	margin: auto;
	max-width: 400px;
	padding: 16px 32px;
	line-height: 180%;
	text-align: left;
}

.service_type .box_shadow{
 box-shadow: 0 0 0px rgba(0,0,0,0.0);
	/*height: 300px; 写真が入ったら高さ揃える*/
	height: 140px;
}
.service_trouble{
	min-width:250px;
	max-width:300px;
	width:100%;
	margin: 20px auto 0px auto;
	padding: 14px 0px;
	font-size: 15px;
}

.service_imagearea .box_shadow::before {
content:"";
	width:30px;
	height:5px;
	position:absolute;
	top:50%;
	left:-16px;
	background:#FF5752;
}

.service_imagearea .box_shadow::after {
content:"";
	width:30px;
	height:5px;
	position:absolute;
	top:50%;
	right:-16px;
	background:#38AED7;
}

.service_line{
  border-right:1px #ddd solid;
}

.band_center{
	position: absolute;
	width: 100%;
}
.bg-service_3{
	background-size: cover;
	background-position: center center;
	padding: 30px;
}

#service_detail img{
	max-width: 100%;
	height: auto;
}

/**developers*********************/
.page_topimage_developers{
	margin-top: 104px;
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}


/**recruit*********************/
.page_topimage_recruit{
	margin-top: 104px;
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}
@media screen and (max-width: 768px) {
#recruit_slider .col_3{
  margin: 0.5em;	
}
.over_text{
	position: absolute;
	z-index: 2px;
	margin: auto;
	font-size:16px;
	width: 100%;
	left: 0px;
	right: 0px;
	top:35%;
	padding: 0 4px;
  box-sizing: border-box;
}
}




/**スライダー矢印****************************/
 @media screen and (max-width: 480px) {
.slick-prev, .slick-next{
  display: none;
}

#arrows_service .slick-prev, #arrows_service .slick-next{
  display: none;
}
}





/**会社概要********************************/
.page_top{
	margin-top: 100px;
}

.company_image{
	background-image: url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/bg-company.jpg);
	background-size: cover;
	min-height: 240px;
	padding: 20px;
	line-height: 190%;
}

.profile_image{
	width: 120px;
	height: 120px;
	object-fit:cover;
	border-radius: 50%;
	font-family: 'object-fit: cover;'
}

#press img{
	max-width: 200px;
}

#press .flex_wrap{
	align-items: center;
}

.item{
	font-family: a-otf-gothic-bbb-pr6n, sans-serif;
    font-weight: bold;
    display: block;
    margin: 16px 0 0 0;
    padding-bottom: 0px;
    line-height: 24px;
}

/**Blogページ*******************************************/
.page_topimage_blog{
	margin-top: 104px;
	background-image: url(../images/page_bg_blog.png);
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}

#blog .box_shadow, #other_blog .box_shadow{
	min-height:260px;
}

#blog img{
	object-fit:cover;
	height:120px;
	font-family: 'object-fit: cover;'
}


#blog h2, #service h2{
	border-left: none;
}

#other_blog img{
	object-fit:cover;
	height:120px;
	font-family: 'object-fit: cover;'
}

#arrows_news img, #arrows img{
	height: inherit !important;
}

#other_blog .col_4{
	margin: auto 15px;
}

.markdown em{
	font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw;
}

.markdown p{
	margin-bottom: 0.7em;
}

.markdown blockquote{
	color: #777;
	padding: 10px 20px;
  margin: 20px;
  border-left: 5px solid #eee;
}

.markdown img{
	max-width: 100%;
	height: auto;
}

.markdown code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px;
    font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
}

.markdown pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.42857143;
    word-break: break-all !important;
    word-wrap: break-word !important;
    color: #333  !important;
    background-color: #fff !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: auto;
}

.markdown pre code{
padding:0;
font-size:inherit;
color:inherit;
background-color:transparent;
border-radius:0;
overflow: auto;
white-space: pre;
}
.markdown table {
    table-layout: fixed;
    border: 1px solid #ddd;
    width: 100%;
    margin-bottom: 20px;
    max-width: 100%;
	background-color: transparent;
	border-collapse: collapse;
  border-spacing: 0;
}

.mjx-chtml{
	overflow: auto;
}


table>thead>tr>th, table>thead>tr>td {
    border-bottom-width: 2px;
    
}
table>tbody>tr:nth-child(odd)>td,table>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
table>thead>tr>th, table>tbody>tr>th, table>tfoot>tr>th, table>thead>tr>td, table>tbody>tr>td, table>tfoot>tr>td {
    border: 1px solid #ddd;
}
table>thead>tr>th, table>tbody>tr>th, table>tfoot>tr>th, table>thead>tr>td, table>tbody>tr>td, table>tfoot>tr>td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
    word-break: break-all;
}

.markdown ul{
	margin:0;
}

.markdown ul li ul{
	margin:0;
}

.markdown ul li{
	list-style-type: circle;
	margin-bottom: 10px;
}

.markdown ul li ul li{
	list-style-type: circle;
	margin-bottom: 0px;
}

.markdown ol li{
	list-style: inherit;
}

.markdown .jump{
	padding-top: 60px;
  margin-top: -60px;
}

.markdown a{
	color: #38AED7;
} ul{
	padding-left: 2em;
	list-style-type: circle;
	margin-bottom: 10px;
}

.markdown a{
	color: #38AED7;
}

.markdown strong{
	font-family: a-otf-gothic-bbb-pr6n, sans-serif;
  font-weight: bold;
}


/**contact*****************************/
.page_topimage_contact{
	margin-top: 104px;
	background-image: url(https://www.kabuku.co.jp/wp/wp-content/uploads/2019/02/page_bg_contact-1024x402.jpg);
	background-position: center center;
	background-size: cover;
	min-height: 240px;
	padding: 20px;
}
#contact input, #contact textarea{
	border:1px #bbb solid;
  padding:8px;
  /*max-width: 240px;*/
  width:100%;
  font-size: 13px;
  /*background: rgba(0, 0, 0, 0.1);*/
}
.c_inner{
	max-width: 650px;
	display:inline-block;
	width: 100%;
	margin: 30px 0;
}
.c_title{
	width:100%;
	max-width: 250px;
	font-size:14px;
}

/**footer***************************/
footer{
  /*margin-top: 80px;*/
  background-color: #2c2c2c;
  color: #fff;
  padding: 20px 30px;
  position: relative;
  z-index: 4;
  text-align: left;
} 

footer ul{
	font-size:14px;
	margin-bottom: 20px;
	padding-left: 0px;
}

footer li{
	display: inline-block;
}
footer li a{
	text-decoration: none;
	margin-right: 8px;
	color: #fff;
	position: relative;
	letter-spacing: 0px;
	white-space: nowrap;
}

.footer_logo{
	max-width: 130px;
	width:100%;
	align-items:flex-start;
	filter: brightness(0) invert(1);
	display:inline-block;
	vertical-align: bottom;
	margin-top: 0px;
	margin-bottom: 8px;
}


@media screen and (max-width: 860px) {
.parent_overlap, .parent_overlap_2{
	flex-direction: column;	
	flex-wrap: wrap;
	max-width: 100%;
}
.box_explain{
	max-width:none;
	width: 70%;	
	background-color: #fff;
	padding: 45px 30px 30px 30px;
	margin:auto;
	}
	
.parent_overlap_2 .box_explain{
	max-width:none;
	width: 70%;	
	background-color: #fff;
	padding: 45px 30px 30px 30px;
	margin:auto;
	top:-30px;
}
.parent_overlap_2 .box_explain{
	max-width:none;
	width: 70%;	
	background-color: #fff;
	padding: 45px 30px 30px 30px;
	margin:0 auto 40px auto;
	top:20px;
}

.box_slide{	
  max-width: 100%;
	width: 100%;
	margin: auto;
	top:-10px
}

.parent_overlap_2 .box_slide{	
 max-width: 100%;
	width: 100%;
	margin: auto;
	top:10px
}

.box_slide img{
  width:100%
}

.box_right30{
	right: 0px;
}

.box_left30{
	left: 0px;
}

}




/***768以下********************************************************/

@media screen and (max-width: 768px) {
.max960{
	padding: 20px;
}
header .max960{
	padding: 0px;
}

.max840{
	max-width: 870px; /*840px+30px*/
	margin: 1em !important;
	padding: 1em;
}

.max640{
	max-width: 670px; /*640px+30px*/
	margin: 1em !important;
	padding: 20px;
}

.main_theme{
	font-size:25px;
	letter-spacing: 2px;
	margin-bottom: 16px;
}

.scroll{
	bottom:30px;
}

.line_white {
    padding: 10px 30px;
}


.title {
    margin: 40px auto;
}

.band{
	font-size:20px;
}

.band span{
	vertical-align:  middle;
	display: block;
	margin-top: 12px;
}


/**slide-sp*********************/

.box_slide .slick-dots{
 bottom:10px;
}

.slick-dots{
 bottom:-15px;
}

/**NEWS detail or single詳細ページ***********************/
.page_top{
	margin-top: 48px;
}

#detail h1{
	font-size:18px;
	line-height: 150%;
}

.socialbox{
  margin-top: 1em;
}
/**事業者*******************************/
.service_imagearea img{
	margin-top: 30px;
}

.service_imagearea .box_shadow {
    position: static;
    left: 0px;
    right: 0px;
    top: 100px;
    bottom: auto;
    padding: 16px 24px;
    line-height: 160%;
    font-size: 14px;
    box-sizing: border-box;
    margin: auto;
}

.service_imagearea .box_shadow::before {
content:"";
	width:30px;
	height:5px;
	position:absolute;
	top:25%;
	left:0;
	background:#FF5752;
}

.service_imagearea .box_shadow::after {
content:"";
	width:30px;
	height:5px;
	position:absolute;
	top:25%;
	right:0;
	background:#38AED7;
}

/**blog-btn*************/
.btn_red_blog, .btn_blue_blog{
  width:80px;
}
.btn_red, .btn_blue, .btn_black, .btn_white, .line_red{
	/*width: 130px;*/
	margin: auto;
	font-size:13px;
}



/**ページヘッダsp****************/
.page_topimage, .page_topimage_recruit, .page_topimage_info, .page_topimage_blog, .page_topimage_contact{
	margin-top: 80px;
	min-height: 160px;
	padding: 0px;
}

/**contact*****************************/
#contact .text_right{
	text-align: left !important;
}
#contact input, #contact textarea{
 max-width: 90%;
}
#contact .max840{
	margin:0;
}

#contact .px_08{
	padding: 0;
}

.c_title{
	width:100%;
	margin: 0;
	overflow: hidden;
	width: 90%;
	max-width: 240px;
	margin: 0 0 0 4px;
	text-align: left;
	padding: 0px;
}
/**footer*********************/
footer{
	text-align: center;
}

footer li{
	line-height: 260%;
  text-align: left;
}

footer li a{
	text-decoration: none;
	margin-right: 8px;
	color: #fff;
	position: relative;
	letter-spacing: 0px;
	white-space: nowrap;
}

.footer_logo{
margin-top: 30px;
}

/**font*******************/
h2{
	font-size:24px;
}
.font_30{
	font-size: 24px;
}
.font_24{
	font-size: 19px;
}
.font_26{
	font-size: 21px;
}
.font_20{
	font-size: 15px;
}
.font_18{
	font-size: 16px;
}

.font_14{
	font-size: 13px;
}

.btn_w{
	margin: auto;
}

.service_message{
  font-size:20px;
	line-height:170%;
}
}

@media screen and (max-width: 640px) {

#blog img{
	height:170px;
}

}

/**ページャー**************/
.pagination {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 14px;
	line-height: 14px;
    text-align: center;
}
.pagination-box {
	display: inline-block;
}
.pagination span, .pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #666; /* 通常の文字色 */
	border:0;
	padding-bottom: 6px;
}
.pagination a:hover{
	color: #ccc; /* マウスホバー時の文字色 */
	border-bottom:1px #ccc solid;
    padding-bottom: 6px;
}
.pagination .current{
	padding: 10px 15px 10px 15px;
	color: #000; /* 現在のページの文字色 */
    border-bottom:1px #ccc solid;
    padding-bottom: 6px;
}

.page-of{
	display: none !important;
}

/**固定ページのページ送り*********/
.pagination_2{
	margin:40px auto;
	width:100%;
	text-align:center;
}
.pagination_2 a{
color: #666;
padding: 10px 15px 10px 15px;
}

.pagination_2 a:hover{
	color: #38AED7 !important; /* マウスホバー時の文字色 */
	border-bottom:1px #ccc solid;
  padding-bottom: 6px;
}

.pagination_2 .current{
	padding: 10px 15px 10px 15px;
	color: #000; /* 現在のページの文字色 */
  border-bottom:1px #ccc solid;
  padding-bottom: 6px;
}
.page-numbers{
	color: #ccc;
	padding: 10px;
}

.heightLine-recruit-ca, .heightLine-recruit-text{
	overflow: hidden;
}


/**セレクトボックス*************************/
.cp_ipselect {
	overflow: hidden;
	width: 100%;
	max-width: 260px;
	margin: 0 0 0 11px;
	text-align: left;
	padding: 0px;
}
@media screen and (min-width: 481px) and (max-width: 640px) {
.c_title{
  padding-bottom: 6px !important;
  }
   .cp_ipselect {
	max-width:270px;
	margin: 0 0 0 20px;
    }
    }
@media screen and (max-width: 480px) {
  .c_title{
  padding-bottom: 6px !important;
  }
   .cp_ipselect {
	width: 90%;
	max-width:240px;
	margin: 0 0 0 8px;
    }
    }
.cp_ipselect select {
	width: 100%;
	/*max-width: 240px;*/
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #bbbbbb;
	/*border-radius: 2px;*/
	background: #ffffff;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px;
	color: #000;
	font-size:13px;
}

.slick-slide:focus {
  outline: none;
}

.markdown .prettyprint{
	background-color: #000 !important;
	color: #fff !important;
	padding: 1em !important;
}

.mark{
	background: #FFFFAA;
  padding: 2px 4px;
}

.wpcf7-submit{
	background-color: #000;
	color: #fff;
	cursor: pointer
}

.wpcf7-submit:hover{
	opacity: 0.7;
}


/*New service*/

.inner_top {
    max-width: 1200px;
    margin: 3rem auto;
    font-size: 62.5%;
  }

/*ondemand*/
.ondemand{
    background: #EA5753;
  }
.ondemand .notes{
  font-size:1.5rem;
  text-align: left;
}

.ondemand .notes a{
  display: inline;
  text-decoration: underline;
}

.ondemand .notes a:hover{
  color:#FF5752;
}


.ondemand .button {
  background: -moz-linear-gradient(top, #F9FDFF 50% , #D4DDE1);
  background: -webkit-linear-gradient(top, #F9FDFF 50%, #D4DDE1);
  background: linear-gradient(to bottom, #F9FDFF 50%, #D4DDE1);
  display: block;
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.3));
  text-shadow: 1px;
  color: #EA5753;
}

.ondemand .button:hover {
  background: -moz-linear-gradient(top, #FF5752 50% , #B54643);
  background: -webkit-linear-gradient(top, #FF5752 50%, #B54643);
  background: linear-gradient(to bottom, #FF5752 50%, #B54643);
  color: #fff;
}
.ondemand .button{
    color: #EA5753;
    border: 1px #eee solid;
   font-size:2.4rem;
  }
  .ondemand .button:hover{
    background: #EA5753;
    color: #fff;
  }

/*bundle*/
.bundle{
    /* background:#EAA753; */
  }
  .bundle .button{
    font-size:2.4rem;
  }
  .bundle .button:hover{
    color: #fff;
    background: #EAA753;
    border:1px #fff solid;
  }

.bundle .description{
  color: #fff;
}
.bundle .button {
  background: -moz-linear-gradient(top, #F9FDFF 50% , #D4DDE1);
  background: -webkit-linear-gradient(top, #F9FDFF 50%, #D4DDE1);
  background: linear-gradient(to bottom, #F9FDFF 50%, #D4DDE1);
  display: block;
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.3));
  text-shadow: 1px;
  color: #EAA753;
}

.bundle .button:hover {
  background: -moz-linear-gradient(top, #EAA753 50% , #B87827);
  background: -webkit-linear-gradient(top, #EAA753 50%, #B87827);
  background: linear-gradient(to bottom, #EAA753 50%, #B87827);
  color: #fff;
}

/*plate*/
.plate{
    /* background:#009688; */
  }
  .plate .button{
    width:100%;
    color: #009688;
    background: linear-gradient(to bottom, #F9FDFF 50%, #D4DDE1);
    border: 1px #eee solid;
    font-size:2.4rem;
  }
  .plate .button:hover{
    color: #fff;
    background: #009688;
  }
.bg_plate {
    background: #009688;
  }

.align{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

.align .button{
  margin-top: auto;
  width:100%;
}

.plate .notes{
  font-size:1.5rem;
  text-align: left;
}

.plate .notes a{
  display: inline;
  text-decoration: underline;
}

.plate .notes a:hover{
  color:#FF5752;
}

/*.btn_space{
  padding: 0 1.2rem;
}*/
.btn_space {
    margin: auto 2rem 2rem 2rem;
    padding: 0 1.2rem;
    display: block;
}


/*consulting*/
.consulting{
    /* background: #38AED7; */
  }
  .consulting .button{
    color: #38AED7;
    background: linear-gradient(to bottom, #F9FDFF 50%, #D4DDE1);
    border: 1px #eee solid;
    font-size:2.4rem;
  }
  .consulting .button:hover{
    color: #fff;
    background: #38AED7;
  }
.consulting .button {
  background: -moz-linear-gradient(top, #FFF9F9 50% , #E1D4D4);
  background: -webkit-linear-gradient(top, #FFF9F9 50%, #E1D4D4);
  background: linear-gradient(to bottom, #FFF9F9 50%, #E1D4D4);
  display: block;
  color:#38AED7
}

.consulting .button:hover {
  background: -moz-linear-gradient(top, #38AED7 50% , #2D90B2);
  background: -webkit-linear-gradient(top, #38AED7 50%, #2D90B2);
  background: linear-gradient(to bottom, #38AED7 50%, #2D90B2);
  color: #fff;
}


/*plate*/
.plate{
    /* background:#009688; */
  }
  .plate .button{
    width:100%;
    color: #009688;
    background: linear-gradient(to bottom, #F9FDFF 50%, #D4DDE1);
    border: 1px #eee solid;
    font-size:2.4rem;
  }
  .plate .button:hover{
    color: #fff;
    background: #009688;
  }
.bg_plate {
    background: #009688;
  }

.align{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

.align .button{
  margin-top: auto;
  width:100%;
}

.plate .notes{
  font-size:1.5rem;
  text-align: left;
}

.plate .notes a{
  display: inline;
  text-decoration: underline;
}

.plate .notes a:hover{
  color:#FF5752;
}


.description_area{
    padding: 0 1.5rem 1rem 1.5rem;
    font-size:1.6rem;
    text-align: left;
    /* color: #fff; */
  }
.description_area .notes{
    margin-top: 1rem;
    font-size:1.4rem;
  }
.description{
  margin-bottom: 1.5rem;
}

/*.btn_space{
  padding: 0 1.2rem;
}*/
.btn_space {
    margin: auto 2rem 2rem 2rem;
    padding: 0 1.2rem;
    display: block;
    text-align: center;
}



.flex_inline {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.flex_child {
  width: 100%;
  margin: 0.5%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.flex_child_50 {
  width: 50%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.flex_child_33 {
  width: 33%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}




html {
  font-size: 62.5%;
}



a {
  color: inherit;
  /* display: block; */
}




/*New service*/

.inner_top {
    max-width: 1200px;
    margin: 3rem auto;
    font-size: 62.5%;
  }

/*ondemand*/
.ondemand{
    background: #EA5753;
  }
.ondemand .notes{
  font-size:1.5rem;
  text-align: left;
}

.ondemand .notes a{
  display: inline;
  text-decoration: underline;
}

.ondemand .notes a:hover{
  color:#FF5752;
}


.ondemand .button-black {
  background: black;
  display: block;
  text-shadow: 1px;
}


.ondemand .button-black{
    color: white;
    border: 1px #eee solid;
    font-size:1.8rem;
    padding:8px 0px;
  }


/*bundle*/
.bundle{
    /* background:#EAA753; */
  }
  .bundle .button{
    font-size:2.4rem;
  }


.bundle .description{
  color: #fff;
}

.bundle .button-black {
  background: black;
  display: block;
  text-shadow: 1px;
}

.bundle .button-black{
    color: white;
    border: 1px #eee solid;
    font-size:1.8rem;
    padding:8px 0px;
  }

/*plate*/
.plate{
    /* background:#009688; */
  }
  .plate .button-black {
    width:100%;
    color: white;
    border: 1px #eee solid;
    font-size:1.8rem;
    padding:8px 0px;
  }

  }
.bg_plate {
    background: black;
  }

.align{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

.align .button-black{
  margin-top: auto;
  width:100%;
}

.plate .notes{
  font-size:1.5rem;
  text-align: left;
}

.plate .notes a{
  display: inline;
  text-decoration: underline;
}

.plate .notes a:hover{
  color:#FF5752;
}

/*.btn_space{
  padding: 0 1.2rem;
}*/
.btn_space {
    margin: auto 2rem 2rem 2rem;
    padding: 0 1.2rem;
    display: block;
}


/*consulting*/
.consulting{
    /* background: #38AED7; */
  }

.consulting .button-black{
    width:100%;
    color: white;
    border: 1px #eee solid;
    font-size:1.8rem;
    background:black;
    padding:8px 0px;
  }

    
.consulting .button-black {
  display: block;
}


/*plate*/
.plate{
    /* background:#009688; */
  }
  .plate .button-black{
    width:100%;
    color: white;
    border: 1px #eee solid;
    font-size:1.8rem;
    background:black;
    padding:8px 0px;
  }

.bg_plate {
    background: black;
  }

.align{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

.align .button{
  margin-top: auto;
  width:100%;
}

.plate .notes{
  font-size:1.5rem;
  text-align: left;
}

.plate .notes a{
  display: inline;
  text-decoration: underline;
}

.plate .notes a:hover{
  color:#FF5752;
}


.description_area{
    padding: 0 1.5rem 1rem 1.5rem;
    font-size:1.6rem;
    text-align: left;
    /* color: #fff; */
  }
.description_area .notes{
    margin-top: 1rem;
    font-size:1.4rem;
  }
.description{
  margin-bottom: 1.5rem;
}

/*.btn_space{
  padding: 0 1.2rem;
}*/
.btn_space {
    margin: auto 2rem 2rem 2rem;
    padding: 0 1.2rem;
    display: block;
    text-align: center;
}



.flex_inline {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.flex_child {
  width: 100%;
  margin: 0.5%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  margin-right:14px;
}

.flex_child_50 {
  width: 50%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.flex_child_33 {
  width: 33%;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.qualitypolicy_text_company{
padding-right:90px;
text-align:right;}

.qualitypolicy_text_name {
text-align:right;
padding-right:40px;
}

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

.main h3{

  display: inline-flex;
  justify-content: center;
  align-items: center;  
  font-size: 2.2rem;
  font-weight: bold;
  margin: 1.5rem auto;
  text-align: center;
  color: #fff;
  letter-spacing: 1px;
  filter:none;
  line-height: 150%;
}


  .flex,
  .flex_inline {
    flex-wrap: wrap;
  }

.qualitypolicy_text_company{
text-align:right;
padding:0;
}

.qualitypolicy_text_name {
text-align:right;
padding:0;
}

}




