/*フォント適用（デフォルトでは見出し系とグローバルナビ（サブメニュー除く）に明朝、その他にゴシックを当ててます）*/
body , p{
	font-family: "FP-ヒラギノ角ゴ ProN W3";
}
h1 , h2 , h3 , h4 , h5 , h6 , b , strong , .smb-section__title{
	font-family: "FP-ヒラギノ明朝 ProN W6";
}
.p-global-nav a:not(.p-global-nav .c-navbar__submenu a) , .g-navMenu{
	font-family: "AGaramondPro-Semibold";
}
.g-navMenu .sub-title{
	font-family: "FP-ヒラギノ明朝 ProN W6";
}

/*ヘッダーメニュー余白なくしてベタ付け*/
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){
	.c-page-header[data-has-image=true]{
		max-height:250px;
	}
}
@media screen and (max-width: 1023px){
	.c-page-header[data-has-image=true]{
		max-height:150px;
	}
}
/*ハンバーガーボタン調整用*/
.c-hamburger-btn .c-hamburger-btn__bar{
	height:2px;
	background-color:#fff !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;
}

/*グローバルナビのフォントサイズ可変化　 ※狭めの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);
	}
}

/*フッターメニュー用デフォルトスタイル*/
@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;*/
	}
}
/*フッター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:#111;
	color:#4a4a4a;
	margin-top: 47px;
}

/*トップコンテンツ上下余白消し*/
.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: 639px){
	.smb-section__title , h2.wp-block-heading , h3.wp-block-heading , .smb-media-text__title{
		font-size:23px;
	}
}


/*トップアニメーション用*/
.top-marquee {
  width: 100vw;
  overflow: hidden;
}

.top-track {
  width: 100%;
  overflow: hidden;
}

.top-strip {
  display: flex;
  width: max-content;
  animation-duration: 30s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.top-item {
  flex: 0 0 auto;
  aspect-ratio: 324 / 233;
  object-fit: cover;
  display: block;
}

/* ===== アニメーション ===== */
@keyframes top-scroll-left {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes top-scroll-right {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

.top-track--left .top-strip {
  animation-name: top-scroll-left;
}
.top-track--right .top-strip {
  animation-name: top-scroll-right;
}

/* ===== PC ===== */
.top-item {
  width: calc(100vw / 6);
}

.top-sp-only {
  display: none;
}

/* ===== SP ===== */
@media (max-width: 767px) {
  .top-pc-only {
    display: none;
  }

  .top-sp-only {
    display: block;
  }

  .top-marquee {
    display: grid;
    gap: 10px;
  }

  .top-item {
    width: calc(100vw / 3);
  }
}

/* ===== motion配慮 ===== */
@media (prefers-reduced-motion: reduce) {
  .top-strip {
    animation: none;
    transform: none;
  }
}

/*便利系スタイル*/
@media screen and (min-width:782px) and ( max-width:1023px){
	.tb_wrap_Column{
		flex-wrap:wrap !important;
	}
}
/*ヘッダー調整*/
.g-navMenu{
	line-height:1.5;
}
.g-navMenu .menu-title{
	font-size:23px;
}
.g-navMenu .sub-title{
	font-size:12px !important;
	text-align:center;
}
.p-global-nav{
	background: linear-gradient(to right, #474747, #A4A4A4);
}
.l-header .c-row__col:has(.g-navMenu){
	padding-left:0 !important;
	padding-right:0 !important;
}
.c-header-content .g-navMenu{
	background-color: rgba(255, 235, 0, 0.8);
}
.g-navMenu.contact a , .p-global-nav .menu-item{
	transition:all 0.7s;
}
.g-navMenu.contact a{
	display: flex;
    text-decoration: none;
    justify-content: center;
    flex-direction: column;
	padding:19px;
}
.p-global-nav .menu-item{
	color:#fff;
}
.g-navMenu.contact a:hover , .p-global-nav .menu-item:hover{
	opacity:0.5;
}
.p-global-nav .menu-item:hover{
	color:#fff;
}
.p-global-nav .menu-item:has(.g-navMenu.contact):not(.p-drop-nav .menu-item){
	display:none;
}
.p-global-nav--hover-text-color.p-global-nav--current-same-hover-effect .c-navbar__item[data-active-menu]{
	color:#fff;
}
.p-drop-nav .c-container{
	padding: 0;
    max-width: initial;
}
.p-drop-nav .g-navMenu{
	color:#fff !important;
}
.c-hamburger-btn__label{
	display:none;
}
@media (min-width: 1024px){
	.home .l-header{
		margin-top: 45px !important;
        margin-bottom: -155px;
        background-color: transparent;
	}
	.l-header:not(.home .l-header) .c-fluid-container > .c-row--middle{
		align-items:start;
	}
	.l-header:not(.home .l-header) .l-1row-header__content{
		padding-top:0;
		padding-bottom:0;
	}
	.c-site-branding__title:not(.p-drop-nav .c-site-branding__title){
		display:none;
	}
	.l-header .p-global-nav , .g-navMenu.contact:not(.p-drop-nav .g-navMenu.contact){
		padding: 0px 35px;
	}
	.g-navMenu.contact:not(.p-drop-nav .g-navMenu.contact){
		color:#000 !important;
	}
	.g-navMenu.contact a:where(:not(.wp-element-button)):not(.p-drop-nav .g-navMenu.contact a){
		color:#000 !important;
	}
	.ss_menus{
		justify-content:right;
	}
}
@media (max-width: 1023px){
	.l-header{
		background-color:#000;
	}
	.c-site-branding__title .custom-logo{
		width:88px !important;
	}
	.c-drawer__inner .g-navMenu .sub-title{
		display:none;
	}
	.g-navMenu.contact{
		color:#fff;
	}
	.c-drawer__inner .menu-item , .g-navMenu.contact{
		color:#000 !important;
	}
}
/*フッター*/
.l-footer .c-copyright{
	display:none;
}
.footer_menu_column .menu a{
	text-decoration:none;
}
.footer_menu_column .menu{
	list-style: none;
	margin: 0;
	padding: 0;

	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, max-content));
	font-size:12px;
}

.footer_menu_column .menu > li {
	padding: 0px 12px; 
	margin-top:0 !important;
}
.footer_menu_column .menu{
	justify-content:center;
}
.l-footer{
	margin-top:-1px !important;
}
.footer_CTA_column{
	margin-bottom:0 !important;
}
.footer_left{
	align-content:center;
}
.footer_menu_column , .footer_copyRightColumn{
	padding-top:20px !important;
	padding-bottom:39px !important;
	align-content:center;
}
@media (min-width: 1024px){
	.footer_menu_column .menu > li{
		border-left: 1px solid #ccc;	 
	}
	.footer_menu_column .menu > li:first-child {
		border-left: none;
	}
}
@media (max-width: 1023px){
	.contactTilte{
		max-width:150px !important;
	}
	.footer_left .widget_nav_menu{
		display:none;
	}
	.footer_right{
		padding-top:0 !important;
		margin-top:0 !important;
	}
	.footer_menu_column .menu{
		grid-template-columns:1fr;
	}
	.footer_menu_column, .footer_copyRightColumn{
		padding-top:20px !important;
		padding-bottom:20px !important;
	}
	.footer_copyRightColumn{
		margin-top:0 !important;
	}
	.footer_CTA_Columns{
		gap:0 !important;
	}
}
/*トップページ調整*/
.top_news .c-entries__item , .top_news .c-entries{
	border:none !important;
}
.top_gaikan1 img{
	margin: 0 auto;
    margin-right: 0;
    width: 77%;
}
.top_map{
	position: relative;
    left: -25%;
}
.top_service_groupe2{
	z-index:2;
}
.top_SolvingGroupe{
	margin-left: -28px !important;
    margin-right: -28px !important;
    width: calc(100% + 56px);
	background-color:#FFEB00 !important;
	align-content:center;
}
.Solving_Tex_img{
	position: absolute;
    top: -45px;
    right: 9%;
}
.Strengths_textGroupe p{
	margin-top:15px !important;
}
.moreA_groupe h4{
	margin-bottom:0 !important;
	
}
.ctaList a{
	text-decoration:none;
}
.ctaList{
	list-style: none;
	margin: 0;
	padding: 0;

	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, max-content));
	font-size:12px;
}

.ctaList > li {
	padding: 0px 12px;
	border-left: 1px solid #ccc;	 
	margin-top:0 !important;
}
.ctaList > li:first-child {
	border-left: none;
}
.ctaList{
	justify-content:center;
}
.top_map img{
	width:125% !important;
	max-width:initial;
}
.skeletonImg{
	position:absolute;
	bottom:20px;
}
.mora_address a{
	text-decoration:none;
	color:#000;
}
.g-navMenu{
	display:flex;
	flex-direction:column;
}
.title_under_yBorder span{
    border-bottom: 4px solid #FFEB00;
}
@media (max-width: 1023px){
	.home .l-container h2.wp-block-heading , .home .l-container h3.wp-block-heading ,.home .l-container .title_under_yBorder span{
		font-size:18px !important;
	}
	.title_under_yBorder span {
		border-width:1px !important;
	}
	.title_under_yBorder{
		margin-bottom:0 !important;
	}

	.home .l-container p{
		font-size:14px;
	}
	.sp_mainVis img{
		aspect-ratio: 960 / 912;
		object-position: right;
	}
	.top_news .c-entries--text .c-entry-summary__body{
		flex-direction:row-reverse;
	}
	.top_news .c-entry-summary__title , .top_news .c-meta__item{
		font-size:12px !important;
	}
	.concept_titile{
		max-width:140px;
	}
	.conceptColumn , .flowTitleColumn{
		padding-top:20px !important;
		padding-bottom:20px !important;
	}
	.reBirthColumn{
		padding-top:0 !important;
	}
	.reBirthTitle , .reBirthTitleSub{
		margin-left:0 !important;
	}
	.reBirthTitle{
		max-width:150px !important;
	}
	.reBirthTitleSub{
		max-width:228px !important;
	}
	.reBirithText{
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.serviceTitle{
		max-width:150px;
	}
	.Service_right_Column{
		padding-top:0 !important;
	}
	.top_map{
		margin-top: -100px;
    	width: 116%;
    	left: -38%;
	}
	.Solving_Tex_img {
		position: absolute;
    	top: -22px;
    	right: 29px;
    	max-width: 80%;
	}
	.top_SolvingGroupe .wp-block-list , .recommendList{
		font-size:13px !important;
	}
	.top_SolvingGroupe{
		min-height:490px !important;
	}
	.solvingTextGroupe{
		margin-top:0 !important;
	}
	.top-marquee{
		gap:0 !important;
	}
	.strengths_Title{
		max-width:150px !important;
	}
	.Strengths_textGroupe img{
		max-width:200px !important;
	}
	.Strengths_textGroupe p{
		font-size:12px !important;
	}
	.comparisonColumn{
		padding-top:0 !important;
	}
	.flowTitleColumn .wp-block-image{
		margin-top:0 !important;
	}
	.flow_right_Column{
		padding-top:0 !important;
		margin-top:0 !important;
	}
	.aboutTitle{
		max-width:100px !important;
	}
	.AboutRightList{
		gap:0 !important;
	}
	.AboutRightColumn{
		padding-top:0 !important;
		margin-top:0 !important;
	}
	.main_column{
		margin-top:0 !important;
	}
	
}

@media screen and (min-width:782px) and ( max-width:1023px){
	.skeletonImg{
		max-width:330px !important;
	}
}

/*フォーム用*/
.wpcf7-form input[type=button], .wpcf7-form input[type=submit]{
	background: #FFEB00;
    color: #000;
	border: 1px solid #CCCCCC;
}
.wpcf7-submit:active, .wpcf7-submit:focus, .wpcf7-submit:hover{
	filter:initial !important;
	
}
.wpcf7-form input[type=button]:hover, .wpcf7-form input[type=submit]:hover{
	cursor:pointer;
	background: #FFEB00;
    color: #000;
    border: 1px solid #CCCCCC;
	
	opacity:0.7;
}
form.wpcf7-form dl dt{
	background:#fff;
}