/*フォント適用（デフォルトでは見出し系とグローバルナビ（サブメニュー除く）に明朝、その他にゴシックを当ててます）*/
/*body{
	font-family: "sans-serif";
}
h1 , h2 , h3 , h4 , h5 , h6 , b , strong , .smb-section__title ,  .p-global-nav a:not(.p-global-nav .c-navbar__submenu a){
	font-family: serif;
}*/
/*ヘッダーメニュー余白なくしてベタ付け*/
header.l-header .p-global-nav .c-navbar__item a:not(header.l-header .c-navbar__submenu a){
	/*padding-top:0;
	padding-bottom: 0;*/
}
header.l-header .p-global-nav .c-navbar__item:last-child a{
	/*padding-right: 0;*/
}
@media screen and (min-width: 1024px){
	header.l-header .l-header__content .c-fluid-container{
		/*padding-right: 0;*/
	}
}

/*ページヘッダーの高さ調整、背景など*/
@media screen and (min-width: 1024px){
	.l-header {
    background-color: transparent !important;
    background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5)) !important;
}
	.c-page-header[data-has-image=true]{
		max-height:170px;
	}
}
@media screen and (max-width: 1023px){
	.c-page-header[data-has-image=true]{
		max-height:150px;
	}
}

/*グローバルナビのフォントサイズ可変化　 ※狭めのPC幅でメニューが詰まる件の対策になります。ブレイクポイントやテキストサイズはサイトに合わせて変更してください。
可変化したタイミングでグローバルナビのデフォルトのフォントサイズ（アプデで変わるかも）を超えないように設定してます。*/
@media screen and (min-width: 1024px) and (max-width: 1200px){
	header.l-header .p-global-nav .c-navbar__item a:not(header.l-header .c-navbar__submenu a) {
		font-size: min(1.1vw, 14.2222px);
	}
}

/*ハンバーガーボタン調整用*/
.c-hamburger-btn .c-hamburger-btn__bar{
	height:2px;
	background-color:#ccc !important;
}
.c-hamburger-btn__bar:nth-of-type(2){
	height:2.5px;
}
.c-hamburger-btn[aria-expanded=true]>.c-hamburger-btn__bars>.c-hamburger-btn__bar:nth-of-type(2){
	background-color:initial !important;
}
.c-hamburger-btn__label{
	color:#ccc;
}

/*フッターメニュー用デフォルトスタイル*/
@media screen and (min-width: 1024px){
	footer.l-footer .widget_nav_menu ul{
		display: grid;
		grid-template-columns: 1fr 1fr;
		row-gap: 10px;
	}
	footer.l-footer .widget_nav_menu li{
		margin-top: 0;
	}
}

/*モバイル固定メニュー　スマホのみ*/
@media screen and (min-width: 640px) and (max-width: 1024px){
#footer-sticky-nav ul{
	  display:none !important;
	}
}


/*フッターsns用デフォルトスタイル*/
footer.l-footer .f_sns{
	max-width: 350px;
	margin-left:0;
}
/*フッターサイド余白消し*/
footer.l-footer .c-fluid-container{
	padding-left:0;
	padding-right:0;
}

/*フッター上下パディング消し*/
footer.l-footer .l-footer-widget-area{
	padding-top:0;
	padding-bottom:0;
}

/*フッターセクションごとにできるマージンボトム消し*/
footer.l-footer .l-footer-widget-area__item.c-row__col{
	margin-bottom:0;
}


/*コピーライト用デフォルトスタイル*/
footer.l-footer .c-copyright{
	background-color:#fff;
	color:#000;
	margin-top: 47px;
	margin-bottom: 47px;
}
@media screen and (max-width: 1023px){
	footer.l-footer .c-copyright{
		font-size:12px !important;
		margin-top:0 !important;
		margin-bottom:20px !important;
	}
}

/*トップコンテンツ上下余白消し*/
.home .l-contents .c-section{
	padding-top:0;
	padding-bottom:0;
}
/*コンテンツの上下余白消し（投稿と投稿の一覧ページを除く）*/
.l-contents .l-contents__inner:not(.archive .l-contents .l-contents__inner , .single .l-contents .l-contents__inner){
	padding-top: 0;
	padding-bottom: 0;
}
/*投稿のコメント機能トラックバック機能削除*/
.p-comments , .p-trackbacks{
	display:none;
}

/*スマホ時の見出しサイズ統一*/
@media screen and (max-width: 800px){
	.smb-section__title , h2.wp-block-heading , h3.wp-block-heading , .smb-media-text__title , .smb-media-text__title span{
		font-size:27px !important;
	}
		.top_pro_me .wp-block-columns{
		gap:0;
	}
}

/*小さめモニタ*/
@media screen and (min-width: 1024px) and (max-width: 1366px){
	.smb-section__title , h2.wp-block-heading{
		font-size:40px !important;
	}
}



/*右から左のアニメーションのキーフレーム*/
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
/*右から左に流したい要素に以下を付与*/
.top_scroll01 .scroll-infinity__list--left {
	animation: infinity-scroll-left 10s infinite linear 0.5s both;
	animation-duration: 30s !important;
}
.top_scroll02 .scroll-infinity__list--left{
	animation-duration: 60s !important;
}


.top_scroll01 .scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.top_scroll01 .scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.top_scroll01 .scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.top_scroll01 .scroll-infinity__item {
  width: calc(100vw / 1);
}
.top_scroll01 .scroll-infinity__item>img {
  width: 100%;
}
@media screen and (max-width: 1023px){
	.top_scroll01 .scroll-infinity__item{
		width:170vw;
	}
	.top_scroll02 .scroll-infinity__item {
        width: 300vw;
    }
}


/*アニメ付きボタン*/
.icon_block_right {
    position: relative;
    right: -22vw;
    bottom: 1vw;
}
@media (max-width: 480px) {
	.icon_block p {
    	margin-top: 28px !important;
	}
	.hovicon{
		width:50px !important;
		height:50px !important;
		margin-top: 10px !important;
	}
	.hovicon.effect-3:after{
		top:9px !important;
	}
}
.icon_block{
	width:max-content;
}
.icon_block_left{
	margin-left:0 !important;
	margin-right:auto !important;
}
.icon_block_right{
	margin-right:0 !important;
	margin-left:auto !important;
}
.icon_block a { 
	display:flex;
    text-decoration: none;
	z-index:10;
	max-width:max-content;
}
.icon_block p {
    margin-top: 37px;
	font-weight:700;
	color:#000;
}
.icon_block_re p{
	color:#fff;
}
.hovicon {
    display: inline-block;
    font-size: 30px;
    line-height: 70px;
    cursor: pointer;
    margin: 20px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    text-align: center;
    position: relative;
    text-decoration: none;
    z-index: 1;
    color: #fff;	
}
.hovicon_re{
	color:#000;
}
.hovicon.effect-3:after {
    top: -2px;
    left: -2px;
    padding: 2px;
    z-index: -1;
    background: #000;
    -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
    -moz-transition: -moz-transform 0.2s, opacity 0.3s;
    transition: transform 0.2s, opacity 0.3s;
}
.hovicon_re.effect-3:after{
	background: #fff;
}
.hovicon:after {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    content: '';
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

.hovicon.effect-3.sub-a:hover, .hovicon.effect-3.sub-a:hover i {
    color: #000;
}
.hovicon_re.effect-3.sub-a:hover, .hovicon_re.effect-3.sub-a:hover i{
	color: #fff;
}
.icon_block:hover .hovicon.effect-3.sub-a{
    color: #000;	
}
.icon_block_re:hover .hovicon_re.effect-3.sub-a{
    color: #fff;	
}
.icon_block:hover .hovicon.effect-3.sub-a:after {
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
}
@media (max-width: 480px){
	
}

/*トップメインヴィジュアルのアニメーション用*/
.mask_wrap{
  display: table;
  overflow: hidden;
}
.mask-wrap .mask{
  display: table;
  position: relative;
  margin-bottom: .25em;
  left: -100%;
  overflow: hidden;
}
.mask-wrap .mask-bg{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
}
.top_mavis_tex{
	overflow:hidden !important;
}


/*トップのメインヴィジュアルのアニメ*/
.mask_wrap{
  display: table;
  overflow: hidden;
}
.mask-wrap .mask{
  display: table;
  position: relative;
  margin-bottom: .25em;
  left: -100%;
  overflow: hidden;
}
.mask-wrap .mask-bg{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

/*共通*/
.btn_arrow img{
	margin-left:17px !important;
}
.deco_h2_01{
	display: flex;
    gap: 20px;
    align-items: baseline;
}
.deco_h2_01 img{
	position:relative;
	top:20px;
}
.back_deco_ch{
	position: absolute;
	right: 100px;
	top: 35px;
	z-index:10;
}
.back_deco_ch2{
	position: absolute;
    left: 0px;
    top: -106px;
}
.back_deco_ch3{
	margin-bottom: 0px !important;
    margin-top: -77px !important;
}
.back_deco_ch3 img{
	margin-left:auto !important;
	margin-right:0 !important;
}
.sec_title_reverse .smb-section__header{
	display:flex;
	flex-direction:column;
}
.sec_title_reverse .smb-section__title{
	order:1;
}
.sec_title_reverse .smb-section__subtitle{
	order:2;
}
.sec_title_reverse .smb-section__lede-wrapper{
	order:3;
}
.icon_block_right{
		right:initial !important;
}
@media screen and (min-width: 1024px){

}
@media screen and (max-width: 1023px){
	.sp_max_wd , .sp_max_wd_img img{
		margin: 0 calc(50% - 50vw) !important;
		width: 100vw !important;
		max-width:initial !important;
	}
	.sp_sec_pa_t15{
		padding-top:15px !important;
	}
	.sp_sec_pa_b15{
		padding-bottom:15px !important;
	}
	.sp_sec_pa_tb15{
		padding-top:15px !important;
		padding-bottom:15px !important;
		
	}
	.deco_h2_01{
		gap:10px !important;
		z-index:10;
	}
	.deco_h2_01 strong span{
		font-size:53px !important;
	}
	.deco_h2_01 span:not(.deco_h2_01 strong span){
		font-size:15px !important;
	}
	.deco_h2_01 img{
		max-width:20px !important;
		top:8px;
	}
	body .smb-section .c-container--no-padding{
		padding-left:20px !important;
		padding-right:20px !important;
	}
	.sp_gap0{
		gap:0 !important;
	}
	.sp_br_none br{
		display:none;
	}
	.sp_center_img img{
		margin:0 auto !important;
	}
	.fo_add_sns{
		justify-content:center !important;
	}
	.fo_menu_box01 .c-row{
		row-gap:45px !important;
	}
	body .fo_menu_box02 .widget_nav_menu{
		margin-top:0 !important;
	}
	
}
@media screen and (min-width: 639px) and (max-width: 1023px){

}
@media screen and (min-width: 639px) and (max-width: 1023px){
	.icon_block_right{
		right:initial !important;
	}
}
@media screen and (min-width: 1024px) and (max-width: 1024px){
	.tab1024_wrap{
		flex-wrap:wrap !important;
	}
	.tab1024_br_none br{
		display:none;
	}
	.tab1024_none{
		display:none;
	}
	.deco_h2_01{
		z-index:10;
	}
	.smb-section__inner .c-container--no-padding{
		padding-left:20px !important;
		padding-right:20px !important;
	}
	.deco_h2_01 strong span{
		font-size:40px !important;
	}
	.deco_h2_01 span:not(.deco_h2_01 strong span){
		font-size:15px !important;
	}
	body .top_rec_deco_tex {
        margin-top: -30px !important;
    }
	.top_company_me{
		bottom:0 !important;
	}
}
/*ヘッダー*/
.l-header--sticky-lg{
	box-shadow:none !important;
}
@media screen and (min-width: 1024px){

	.c-site-branding__title .custom-logo{
		width:240px !important;
	}
	.l-header .p-global-nav .c-navbar{
		gap:33px;
	}
	.l-header .p-global-nav .h_co_right{
		max-width:100px !important;
	}
	.l-header .p-global-nav .h_menu_de_sub{
		display: block !important;
		margin-top: -6px !important;
		font-size: 13px !important;
	}
}
@media screen and (max-width: 1023px){
	.c-site-branding__title .custom-logo{
		width:42vw !important;
	}
}
@media screen and (min-width: 639px) and (max-width: 1023px){
	
}
@media screen and (max-width: 639px){
	
}
/*フッター*/
.fo_add_sns{
	display: flex;
    gap: 15px;
}
.fo_menu_box01 .widget_nav_menu .menu{
	grid-template-columns: 1fr;
}
.fo_menu_box01 .widget_nav_menu{
	margin-top:20px !important;
}
.fo_menu_box02 .widget_nav_menu .menu{
	row-gap:30px;
	font-weight:bold;
}
@media screen and (min-width: 1024px){
	
}
@media screen and (max-width: 1023px){
	.fo_sec_cta .smb-section__title span{
		font-size:50px !important;
	}
	.fo_sec_cta .smb-section__lede span{
		font-size:18px !important;
	}
	.fo_sec_cta .smb-section__lede br{
		display:none;
	}
	.f_cta_btn_box .c-row__col{
		margin-bottom:15px !important;
	}
	.fo_sec02_coleft{
		text-align:center;
	}
}
@media screen and (min-width: 639px) and (max-width: 1023px){
	
}
@media screen and (max-width: 639px){
	
}
/*トップ*/
.service_item_box h3{
	margin-bottom:15px !important;
}
.service_item_box .smb-box{
	margin-top: -88px !important;
    max-width: 90%;
    margin-right: 0 !important;
	border-top:#167520 solid 3px;
}
.top_recruit_tex{
	
}
.top_rec_deco_tex{
	position:absolute !important;
	right:0;
	top:0 !important;
	margin-right: 95px !important;
}
.top_recruit .smb-section-with-bgimage__bgimage{
	width:60%;
	top: 66%;
}
.top_recruit .smb-section-with-bgimage__bgimage img{
	/*object-fit:contain;*/
}
.top_fixed_back{
	overflow:visible;
}
.top_news_right .c-entries__item , .top_news_right .c-entries{
	border:none !important;
}

.top_company_me{
	position: relative;
	bottom: -75px;
	z-index: 10;
}
.top_cover_pall .wp-block-cover__image-background{
	margin:0 !important;
}
.top_main_tex2{
	margin-top:-20px !important;
}
.icon_block_ser a{
	justify-content:right;
	margin-right:0 !important;
	margin-left:auto !important;
}
@media screen and (min-width: 1024px){
		#no1_section .c-container.alignfull {
    margin-right: 0;
    margin-left: 10vw !important;
	padding-right: 0 !important;
}
	.top_pro_me img{
	border-radius: 14px 0 0 14px;
}
	.top_pro_me .parent{
		position: relative;
	}
  .top_pro_me .topimg02{
	  width: 43vw;
	 position: absolute;
	  top: -10vw;
      left: 25vw;
	  z-index:20;
}
	.top_service_tr_img img{
	border-radius: 14px 0 0 14px;
}
	.top_mavis_tex{
		margin-bottom:-212px !important;
		z-index:10 !important;
		padding-left:80px !important;
	}
	.top_mavis_co{
		gap:0 !important;
	}
	.top_pro_me .smb-media-text__title img{
		margin-top:-45px !important;
	}
	.top_pro_tex{
		max-width:75% !important;
		margin-left:0px !important;
	}
	.top_pro_me .smb-media-text__contents-wrapper{
		margin-right:0 !important;
	}
	/*.top_pro_me .smb-media-text__figure img{
		max-width:525px !important;
	}*/
	.top_scroll02 .scroll-infinity__item{
		width: 200vw !important;
	}
	.top_service_titex{
		padding-bottom:25px !important;
	}
	.top_rec_deco_tex{
		margin-top:-260px !important;
	}
	.top_news_right{
		padding-left: 90px;
    	border-left: 2px solid #000;
	}
	
	
}
@media screen and (max-width: 1023px){
	.sp_top_main{
		margin-top:-86px !important;
	}
	.sp_main_tex{
		z-index:10;
	}
	.sp_main_sns{
		display: flex;
		justify-content: center;
		gap: 15px;
	}
	.top_pro_tex span{
		line-height:28.8px !important;
	}
	.btn_arrow img{
		max-width:60px !important;
	}
	.service_item_box .smb-box{
		max-width:initial !important;
		width:95vw !important;
	}
	.service_item_box .c-row__col{
		margin-bottom:0 !important;
	}
	.back_deco_ch{
		right:26px;
	}
	.back_deco_ch img{
		max-width:50px;
	}
	.top_rec_spa01{
		height:100px !important;
	}
	.deco_h2_company strong span{
		font-size:48px !important;
	}
	.top_company_me{
		bottom:-50px !important;
	}
	.top_fixed_back{
		min-height:initial !important;
		max-height:750px !important;
	}
	.top_news_sp01{
		height:40px !important;
	}
	.top_news_ti{
		text-align:center;
	}
	.top_cover_pall{
		min-height:250px !important;
	}
}
@media screen and (min-width: 639px) and (max-width: 1023px){
	.top_company_me{
		bottom:initial !important;
	}
	.top_fixed_back{
		max-height:initial !important;
	}
}
@media screen and (max-width: 639px){
	
}
/*ipad mini 縦*/
@media (min-width: 640px) {
      .top_pro_me .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}

/*フッター固定ナビ*/
.p-footer-sticky-nav a{
	padding:0 !important;
}