/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 12 2026 | 07:59:52 */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');
// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.breadcrumb {
	display: none;
}

html { 
	font-size: 62.5%; 
	scroll-padding: 100px;
}
body, html {
	font-family: "Lato","Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
}
img{
	height: auto;
}  
:root{
	--main-color: #505050;
	--sub-color: #5064c8;
}
.entry-meta{
	display: none;
}
.entry-footer{
	display: none;
}
.entry-title{
	display: none;
}
.vk_posts{
	display: none;

}
.entry-header, .page-header{
	display: none;
}
hr{
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
h1,h2,h3,h4,h5,h6,p{
	color: var(--main-color);
	text-decoration: none;
	border: none;
	margin: 0;
	padding: 0;
}

.site-body{
	padding: 0;
}
.site-footer-title:after, .sub-section-title:after, h3:where(:not(.wp-block-post-title)):after{
	display: none;
}
.container{
	padding: 0;
}
.widget_search{
	display: none;
}
.pc { 
	display: block !important; 
}
.sp{
	display: none !important;
}
.br-sp {
    display: none;
}

/*header*/
.site-header-logo{
	margin: 0;
}
.site-header-logo img{
	max-height: 40px;
	padding: 4px 0 0;
}
.site-header{
	background-color: rgba(255, 255, 255, 0); 
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 100;
	box-shadow: none;
}
.vk-slider {
    margin-top: 0;
}
#site-header-container{
	max-width: 85vw;
}
.header_scrolled .site-header{
	background-color: rgba(255,255,255,0.8);
}
.device-pc .global-nav-list>li>a{
	padding: 1.8rem 1.5rem;
}
.global-nav-list>li .global-nav-name{
	color: var(--sub-color);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05rem;
}
.vk-mobile-nav-menu-btn {
    border: none;
	background: none;
    background-image: url("https://imfmc.com/wp-content/uploads/open_btn.png");
	background-size: cover;
	width: 40px;
	height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
    border: none;
	background: none;
    background-image: url("https://imfmc.com/wp-content/uploads/close_btn.png");
	background-size: cover;
}


/*footer*/
.container.site-footer-content{
	padding: 0;
}
.site-footer-copyright p:nth-child(2) {
    display:none;
}
.site-footer{
	border: none;
	margin: 0 ;
	padding: 48px 0 32px;
	background: var(--sub-color);
}
.widget{
	margin: 0;
	padding: 0;
}
.site-footer-copyright{
	display: none;
}
.footer_contents{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.footer_1 img{
	width: 64px;
}
.footer_1 p{
	color: #fff;
	font-weight: 300;
	font-size: 1.2rem;
}
.footer_2{
	display: flex;
}
.footer_2 p{
	color: #fff;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
	margin: 0 0 0 20px;
	transition: 0.5s;
}
.footer_2 p:hover{
	color: #7de6ff;
	transition: 0.5s;
}
/*top page*/
.top_message{
	text-align: center;
	margin: 80px 0;
}
.top_message h2{
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.1rem;
	line-height: 1.8;
}

/*top_servicce*/
.top_service{
	margin: 80px 0;
}
.top_partner{
	text-align: center;
	margin: 64px 0 24px;
}
.top_team, .top_case{
	margin: 64px 0;
}
.top_title{
	display: flex;
	justify-content: center;
	align-items: center;
}
.top_title::before, .top_title::after{
	background-color: var(--sub-color);
	content: "";
	height: 2px;
	width: 80px;
}
.top_title h3{
	color: var(--sub-color);
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
	margin: 0 10px;
}
.title_text{
	text-align: center;
	margin: 20px 0 30px;
}
.title_text p{
	font-size: 1.8rem;
	font-weight: 400;
}
.service_contents{
	background: #fff;
	border-radius: 10px;
	padding: 25px 40px;	
	margin-top: 20px;
}
.service_contents h3{
	display: inline-block;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	background-color: var(--sub-color);
	border-radius: 100vh;
	padding: 4px 36px;
	margin-bottom: 10px;
}
.service_contents h5{
	color: var(--sub-color);
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	margin-bottom: 10px;
}
.service_contents p{
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1rem;
}
.service_contents h6{
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.1rem;
	margin-top: 10px;
}
/*top_partner*/

.partner_contents{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.partner_info{
	text-align: center;
	margin: 20px 15px 0;
}
.partner_info img{
	width: 340px;
}
.partner_info p{
	color: var(--main-color);
	font-size: 1.6rem;
}
.adviser p{
	color: var(--main-color);
	font-size: 3.2rem;
	font-weight: 500;
	margin-top: 48px;
}
/*top_cta*/
.top_cta{
	text-align: center;
	margin: 40px 0;
}
.top_cta a{
	color: #fff;
	font-size: 4rem;
	font-weight: 500;
	display: inline-block;
	transition: 0.8s;
}
.top_cta a:hover{
	color: var(--sub-color);
	transition: 0.8s;
}
/*top_case*/
.case_contents{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 20px;
}
.case_contents img{
	width: 200px;
	margin: 10px;
}
/*under page*/
.under_page_title{
	text-align: center;
	margin: 70px 0 40px;
	padding: 24px 0;
}
.under_title h3{
	color: #fff;
	font-size: 4rem;
	font-weight: 600;
	letter-spacing: 0.1rem;
}
.under_title p{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: -5px;
}
/*company page*/
.company_page{
	width: 1140px;
	margin: 40px auto 100px;
	display: flex;
	justify-content: center;
	align-items: flex-end;	
}
.company_name{
	display: flex;
	align-items: flex-end;
	margin-bottom: 40px;
}
.company_name img{
	width: 100px;
	margin-bottom: 5px;
}
.company_name h2{
	color: var(--main-color) ;
	font-weight: 500;
	font-size: 3rem;
	margin-left: 30px;
}
.company_info h3{
	color: var(--main-color) ;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 1.6;
}
.company_map{
	margin-left: 40px;
}
.company_map p{
	color: var(--main-color) ;
	font-size: 2rem;
}
.company_page a{
	color: var(--sub-color);
	transition: 0.5s;
}
.company_page a:hover{
	color: #fff;
	transition: 0.5s;
}
/*contact page*/
.form_page{
	width: 940px;
	margin: 40px auto 80px;
}
.contact_text{
	text-align: center;
}
.contact_text h2{
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 5px;
}
.contact_text p{
	font-size: 1.6rem;
	font-weight: 400;

}
.asterisk{
	color: #d9679c;
	font-weight: 300;	
}
.wpcf7 p{
	font-size:1.6rem;
	font-weight: 400;
	margin: 0 0 5px;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea{
	color: var(--main-color);
	font-size: 1.6rem;
	background-color: #fff;
	border: solid 1px #eee;
	border-radius: 0;
	padding: 15px 10px;	
	margin-bottom: 20px;
}
.wpcf7-list-item{
	margin: 0;
}
.cf7-btn{
	text-align: center;
}
input[type=submit] {
	font-size: 1.8rem;
	font-weight: 300;
	border: none;
	background-color: var(--sub-color);
	color: #fff;
	margin-top: 30px;
	padding: 10px 50px;
	border-radius: 0;
	border: none;
}
.cf7-check{
	margin-bottom: 30px;
	background-color: #fff;
	border: solid 1px #eee;
	padding: 12px 10px 8px;
}
.wpcf7-spinner{
	display: none !important;
}
.wpcf7 form.sent .wpcf7-response-output{
	border-color: var(--sub-color);
}


/*ここからモバイル*/
@media all and (max-width:480px) { 
.sp { 
	display: block !important; 
	}
.pc{
	display: none !important;
    }	
.br-sp {
       display: block;
    }
html{
	scroll-padding: 40px;
	}	
/*header*/
.site-header-logo{
	display: none;
}
/*footer*/
.site-footer{
	padding: 30px 20px 20px;
}
.footer_contents{
	text-align: left;
	display: flex;
	align-items: flex-end;
	justify-content: left;
	flex-wrap: wrap;
}
.footer_1{
	display: flex;
	align-items: flex-end;
}
.footer_1 img{
	width: 64px;
	margin-right: 10px;
}
.footer_1 p{
	font-size: 1.1rem;
}
.footer_2 p{
	font-size: 1.2rem;
	letter-spacing: 0.05rem;
	margin: 10px 8px 0 0;
}
/*menu*/
.sp_menu{
	display: flex;
	align-items: flex-end;
	margin: 0 10px 10px;
}
.sp_menu img{
	width: 64px;
	margin-right: 10px;
}
.sp_menu p{
	font-size: 1.1rem;
}

/*top page*/
.top_message{
	margin: 40px 20px;
}
.top_service{
	margin: 32px 20px 40px;	
}
.top_partner{
	margin: 36px 20px 0;
}
.top_team, .top_case{
	margin: 32px 20px;
}	
.top_message h2{
	font-size: 1.3rem;
	letter-spacing: 0.05rem;
}
/*top_servicce*/

.top_title::before, .top_title::after{
	height: 1px;
	width: 40px;
}
.top_title h3{
	font-size: 1.8rem;
	letter-spacing: 0.05rem;
	margin: 0 6px;
}
.title_text{
	margin: 10px 0 0;
}
.title_text p{
	font-size: 1.2rem;
	margin-bottom: 20px;
}
.service_contents{
	border-radius: 10px;
	padding: 15px 15px;	
	margin-top: 15px;
}
.service_contents h3{
	font-size: 1.6rem;
	padding: 2px 20px;
	margin-bottom: 10px;
}
.service_contents h5{
	font-size: 1.5rem;
	margin-bottom: 10px;
	letter-spacing: 0.08rem;
}
.service_contents p{
	font-size: 1.2rem;
	letter-spacing: 0.05rem;
}
.service_contents h6{
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0.05rem;
	margin-top: 10px;
}
/*top_partner*/
.partner_info{
	margin: 0 10px 24px;
}
.partner_info img{
	width: 260px;
}
.partner_info p{
	font-size: 1.2rem;
}
.adviser p{
	font-size: 2.4rem;
	margin-top: 10px;
}	
/*top_cta*/
.top_cta{
	margin: 30px 0;
}
.top_cta a{
	font-size: 2rem;
	font-weight: 500;
}
/*top_case*/
.case_contents{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 10px;
}
.case_contents img{
	width: 26vw;
	margin: 5px;
}	
/*under page*/

.under_page_title{
	margin: 50px 0 30px;
	padding: 10px 0;
}
.under_title h3{
	font-size: 2.8rem;
}
.under_title p{
	font-size: 1.2rem;
	margin-top: -5px;
}
/*company page*/
.company_page{
	width: 88vw;
	margin: 20px auto 60px;
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	align-items: flex-end;	
}
.company_name{
	display: flex;
	align-items: flex-end;
	margin-bottom: 30px;
}
.company_name img{
	width: 80px;
	margin-bottom: 5px;
}
.company_name h2{
	font-size: 2.2rem;
	margin-left: 20px;
}
.company_info h3{
	font-size: 1.8rem;
	line-height: 1.7;
}
.company_map{
	margin-left: 0;
	margin-top: 20px;
}
.company_map p{
	color: var(--main-color) ;
	font-size: 1.6rem;
}

		
/*contact page*/
.form_page{
	width: 90vw;
	margin: 0px auto 40px;
}
.contact_text h2{
	font-size: 1.8rem;
	margin-bottom: 2px;
}
.contact_text p{
	font-size: 1.4rem;
	margin-bottom: 30px;
}
.wpcf7 p{
	font-size:1.3rem;
	font-weight: 400;
	margin: 0 0 0;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea{
	font-size: 1.4rem;
	padding: 10px 10px;
	margin-bottom: 10px;
}
.cf7-btn{
	margin-top: 10px;
}
.cf7-check{
	margin-bottom: 10px;
	padding: 10px 10px;
}
input[type=submit] {
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	margin-top: 10px;
	padding: 12px 50px;
}				
	
	
}	
	
