/* Responsive Styles
================================================== */


@media only screen and (max-width: 1640px) {
	.top_main_frame {
		padding: 80px 40px;
	}
}
@media only screen and (max-width: 1425px) {

}
/* All size smaller than 1301 */
@media only screen and (max-width: 1300px) {
	.container,
	.boxed-layout #page,
	.boxed-layout-small #page {
		/*max-width: 970px;*/
		max-width: 93%;
	}
	.boxed-layout .container,
	.boxed-layout-small .container {
		max-width: 904px;
	}
	.four-column-full-width {
		width: 33.33%;
	}


}
@media only screen and (max-width: 1240px) {
	.header_inner_wrap {
		padding: 20px 20px 20px 80px;
	}
}



/* All size smaller than 1024
================================================== */
@media only screen and (max-width: 1023px) {
	.container,
	.boxed-layout #page,
	.boxed-layout-small #page,
	#site-title a img {
		/*width: 708px;*/
	}
	.boxed-layout #page,
	.boxed-layout-small #page {
		overflow: hidden;
	}
	.boxed-layout .container,
	.boxed-layout-small .container,
	.boxed-layout #site-title a img {
		width: 668px;
	}
	.widget-title {
		font-size: 22px;
		line-height: 30px;	
	}
	.slider-content .slider-title a {
		font-size: 24px;
		line-height: 31px;
	}
	.slider-content .slider-text h3 {
		font-size: 15px;
		line-height: 22px;
	}
	#primary,
	#secondary {
		margin-bottom: 50px;
		padding: 0px;
		float: none;
		width: 100%;
		border: none;
	}
	.left-sidebar-layout #primary {
		float: none;
		padding-left: 0px;
	}
	.left-sidebar-layout #secondary {
		float: none;
		padding-right: 0px;
		border: none;
	}
	/* ----- Column ----- */
	.column {
		margin: 0 -15px;
	}
	.two-column,
	.three-column,
	.four-column {
		padding: 0  15px 40px;
	}
	.two-column,
	.four-column,
	.three-column,
	.four-column-full-width,
	.business-sidebar .three-column,
	.boxed-layout-small .four-column-full-width {
		width: 50%;
	}
	.widget_about_us .two-column,
	.widget_latest_blog .two-column {
		padding: 0 0 30px;
		width: 100%;
	}
	.three-column:nth-child(3n+4),
	.four-column:nth-child(4n+5),
	.column-2:nth-child(2n+3),
	.column-3:nth-child(3n+4),
	.column-4:nth-child(4n+5) {
 		clear: none;
	}
	.three-column:nth-child(2n+3),
	.four-column:nth-child(2n+3) {
 		clear: both;
	}

	#colophon .widget-area {
		margin: 0;
		display: block;
	}
	#colophon .column-1,
	#colophon .column-2,
	#colophon .column-3,
	#colophon .column-4 {
		border-right: none;
		width: 100%;
		float: none;
		padding: 0;
		display: block;
	}
	/*---トップページ-----------------------------------------------*/

	.top_main_wrap {
		flex-direction: column;
		gap: 40px;
	}
	.top_main_wrap .left {
		display: contents;
	}
	.top_main_wrap .left h2 {
		order: 2;
		margin-bottom: 0px;

	}
	.top_main_wrap .left h2 br {
		display: none;
	}
	.top_main_wrap .photo {
		order: 1;
		width: 100%;
	}
	.top_main_wrap .left p {
		order: 3;
	}

}
/* All size smaller than 991
================================================== */
@media only screen and (max-width: 990px) {
	.top-header {
	    /*border-bottom: 1px solid rgba(0, 0, 0, 0.1);*/
	}
	#header_contact_pc {
		display: none;
	}
	#header_contact_sp {
		display: block;
		padding-right: 50px;
	}
	#header_contact_sp img {
		width: 40px;
	}

	.header_inner_wrap {
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
		justify-content: space-between;
		margin: 0;
		padding: 15px 20px;
		box-shadow: none;
		width: 100%;
	}


	#site-branding {
		float: left;
		width: 140px;
	}


	.top-header {
		background-color: #333;
	}
	#sticky_header {
		background-color: #333;
	}
	#content {
		padding: 58px 0 0px;
	}
	/*=======オリジナルナビ======= */
	.main_nav_pc {
		display: none;
	}
	.main_nav_sp {
		display: inline;
		position: relative;
		z-index: 2;
        /*pointer-events: none;*/
	}

	#footer_logo {
		text-align: center;
	}
	#footer_logo img {
		width: 260px;
	}
	.site-info div.footer_nav_block {
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;	
	}
	.site-info div.footer_nav_block div.contact_box {
		width: 100%;
	}
	.site-info div.footer_nav_block div.contact_box p {
		text-align: center;
	}
	.site-info div.footer_nav_block div.contact_box div.contact_btn a {
		margin: 0 auto;
	}
	.site-info div.footer_nav_block div.nav1_box,
	.site-info div.footer_nav_block div.nav2_box,
	.site-info div.footer_nav_block div.nav3_box {
		display: none;
	}
	.site-info div.footer_copy_block {
		display: block;
		border-top: none;
		padding: 0 0 30px 0;
	}
	.site-info div.footer_copy_block div.footer_nav_wrap {
		text-align: center;
		margin-bottom: 30px;
	}
	.site-info div.footer_copy_block div#copyright {
		width: 100%;
		text-align: center;
	}
	/*顧客実績*/
	.works_kokyaku_frame .works_kokyaku_wrap {
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		row-gap: 30px;
	}
	.works_kokyaku_frame .works_kokyaku_wrap .box {
		width: calc(100% / 1 - 0px);
	}
	.works_kokyaku_frame .date {
		text-align: left;
	}
	/*事例紹介*/
	.works_jirei_wrap {
		row-gap: 50px;
		column-gap: 0px;
	}
	.works_jirei_wrap .box {
		width: calc(100% / 1 - 0px);
	}
}

/* All size smaller than 951
================================================== */
@media only screen and (max-width: 950px) {


	/* ----- Responsive Navigation ----- */
	#sticky_header-sticky-wrapper {
		height: auto !important;
	}
	#sticky_header {
		position: relative !important;
	}
	.is-sticky #sticky_header {
		top: 0 !important;
	}
	.nav-site-title {
		display: none;
	}
	.menu-toggle {
		background-color: #fff;
		border: 2px solid #b49531;
		border-radius: 50px;
		/*color: #666;*/
		cursor: pointer;
		display: block;
		font-size: 0;
		margin: 0 0 0 auto;
		padding: 13px 12px;
		text-align: center;
		width: 58px;
		pointer-events: auto;
	}
    .line-one, 
    .line-two, 
    .line-three {
		backface-visibility: hidden;
		display: block;
		height: 3px;
		margin: 5px auto;
		/*-webkit-transition: all 0.3s;
	    	-moz-transition: 	all 0.3s;
	    	-o-transition: 		all 0.3s;
    	transition: 		all 0.3s;*/
		width: 100%;
	}
	.menu-toggle.on .line-one {
			-moz-transform: rotate(-40deg) translate(-5.5px, 6px);
	        -o-transform: rotate(-40deg) translate(-5.5px, 6px);
	        -webkit-transform: rotate(-40deg) translate(-5.5px, 6px);
    	transform: rotate(-40deg) translate(-5.5px, 6px);
	}
	.menu-toggle.on .line-two {
		opacity: 0;
			-moz-opacity: 0;
			filter:alpha(opacity=0);
	}
	.menu-toggle.on .line-three {
			-moz-transform: rotate(40deg) translate(-5px, -6px);
	        -o-transform: rotate(40deg) translate(-5px, -6px);
	        -webkit-transform: rotate(40deg) translate(-5px, -6px);
    	transform: rotate(40deg) translate(-5px, -6px);
	}
	.menu {
		display: none;
		/*transition: .5s ease;
		-webkit-transform: translateY(-130%);
		transform: translateY(-130%);*/
	}
	.widget_nav_menu .menu {
		display: block;
	}
	.toggled-on .menu {
		/*display: block;*/
		display: block;
		background-color: #fff;
		margin-top: 30px;
		/*-webkit-transform: translateY(-0%);
		transform: translateY(-0%);*/

	}
	.main-navigation {
		float: right;
		/*padding: 13px 20px;*/
		padding: 0;
		/*background-color: #999;*/
		position: absolute;
		top: 42px;
		right: 60px;
		width: 85%;
	}

	.main-navigation > ul > li {
		position: inherit;
		width: 100%;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		margin-left: 0;
		padding: 0 20px;
	}
	.main-navigation > ul > li:last-child {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}
	.main-navigation > ul > li::before {
		visibility: hidden;
	}
	.main-navigation a {
		float: none;
		padding: 10px 0;
		height: inherit;
		text-align: center;
		pointer-events: auto;
	}
	.main-navigation a:hover,
	.main-navigation ul li.current-menu-item a,
	.main-navigation ul li.current_page_ancestor a,
	.main-navigation ul li.current-menu-ancestor a,
	.main-navigation ul li.current_page_item a,
	.main-navigation ul li:hover > a,
	.main-navigation li.current-menu-ancestor.menu-item-has-children > a:after,
	.main-navigation li.current-menu-item.menu-item-has-children > a:after,
	.main-navigation ul li:hover > a:after,
	.main-navigation li.menu-item-has-children > a:hover:after,
	.main-navigation li.page_item_has_children > a:hover:after {
		color: #b49531;
		border-bottom: none;
	}
	/* ----- Dropdown ----- */
	.main-navigation ul li:hover ul {
	  	top: auto;
	}
	.main-navigation ul li ul {
		background-color: transparent;
	  	top: auto;
	  	width: 100%;
	  	left: 40px;
	  	display: block;
		opacity: 1;
		-moz-opacity: 1;
		filter:alpha(opacity=100);
	  	visibility:visible;
	  	position: static;
	  	box-shadow: none;
	}
	.main-navigation ul li ul li {
		float: none;
		margin: 0;
		position: relative;
	    text-align: left;
	    width: 100%;
	    z-index: 1;
	    display: block;
		opacity: 1;
		-moz-opacity: 1;
		filter:alpha(opacity=100);
	  	visibility:visible;
	}
	.main-navigation ul li ul li {
    	border-top: 1px solid rgba(0, 0, 0, 0.1);
	}
	.main-navigation ul li ul li:before {
		position: static;
	}
	.main-navigation ul li ul li ul {
		left: 160px;
		display: block;
		opacity: 1;
		-moz-opacity: 1;
		filter:alpha(opacity=100);
	  	visibility:visible;
	}
	#site-navigation {
		z-index: 2;
		pointer-events: none;
	}
	#site-navigation ul ul ul a {
		padding-left: 40px;
	}
	.main-navigation ul ul li:hover ul {
		top: 0;
		display: block;
	  	opacity: 1;
		-moz-opacity: 1;
		filter:alpha(opacity=100);
	  	visibility:visible;
	}
	.main-navigation li li.menu-item-has-children > a:after, 
	.main-navigation li li.page_item_has_children > a:after {
		content: "\f107";
	}

}
/* All Mobile Screen ( smaller than 861px )
================================================== */
@media only screen and (max-width: 830px) {


}
/* All Mobile Screen ( smaller than 801px )
================================================== */
@media only screen and (max-width: 800px) {

	body {
		font-size: 16px;
	}
	header .container {
		width: 100%;
	}

	.container,
	.boxed-layout #page,
	.boxed-layout-small #page {
		/*width: 460px;*/
		width: 93%;
	}
	footer .container {
	    padding: 0px 20px;
	}


	.pc_on {
	 display: none;
	}
	.sp_on {
	 display: inline;
	}
	/* 地図 */
	.gmap {
	    padding-bottom: 56.25%;
	}

	/*---ブロックタイトル-----------------------------------------------*/
	.block_title {
		height: 135px;
	}
	.block_title.news_main {
		margin-bottom: 60px;
	}
	/*---トップページ-----------------------------------------------*/
	.top_main_frame {
		padding: 80px 20px;
	}
	.av_photocontents_wrap {
		flex-direction: column;
		gap: 40px;
	}
	.av_photocontents_wrap .left {
		display: contents;
	}
	.av_photocontents_wrap .left h2 {
		order: 1;
		margin-bottom: 0px;
		font-size: clamp(20px, 4vw, 30px);
	}
	.av_photocontents_wrap .photo {
		order: 2;
		width: 100%;
	}
	.av_photocontents_wrap .left p {
		order: 3;
	}




	/*ニュースブロック*/

	.entry-content ul.category-posts-internal li {
		padding: 18px 10px;
	}
	.entry-content ul.category-posts-internal li div {
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.cat-post-date {
		padding: 5px 0px 10px 0;
		width: 100%;
		border-right: none;
	}

	.entry-content ul.category-posts-internal li a.cat-post-title {
		width: 100%;
		padding-left: 0px;
	}


	/*体制ブロック--------------------------*/
	.ourstructure_block h2.contents_title {
		font-size: clamp(20px, 4vw, 30px);
	    margin-bottom: 20px;
	}



	.av_flow_frame {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		padding: 40px 20px;
	}
	.av_flow_frame .av_flow_wrap:last-of-type {
		margin: 0 auto 20px;
	}
	.av_flow_frame .av_flow_wrap .flow_box {
		padding: 40px 40px 40px 40px;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;	
	}
	.av_flow_frame .av_flow_wrap .flow_box .step {
		width: 100%;
		font-size: clamp(18px, 5vw, 30px);
		padding: 0px 20px 30px;
		border-right: none;
		border-bottom: 1px solid #b3b3b3;
	}
	.av_flow_frame .av_flow_wrap .flow_box .step span {
		font-size: clamp(45px, 9vw, 80px);
	}
	.av_flow_frame .av_flow_wrap .flow_box .icon {
		width: 100%;
		padding: 0px;
	}
	.av_flow_frame .av_flow_wrap .flow_box .icon.mrg30 {
		margin: 30px 0;
	}
	.av_flow_frame .av_flow_wrap .flow_box .icon img {
		max-width: 145px;
	}
	.av_flow_frame .av_flow_wrap .flow_box .text_box {
		width: 100%;
	}
	.av_flow_frame .av_flow_wrap .flow_box .text_box h4 {
		font-size: clamp(18px, 5vw, 25px);
	}
	.av_flow_frame .av_flow_wrap .flow_box .text_box ul {
		font-size: clamp(16px, 4vw, 18px);
	}

	.av_flow_frame .av_flow_wrap .flow_box .text_box div.rm {
		font-size: 16px;
		text-align: left;
	}

	.av_flow_frame .flow_line:before {
		left: 50%;
			transform: translate(-50%, -0%);
	}

	/*実績ブロック--------------------------*/

	/*講演セミナー実績*/
	.seminar_box label {
		padding: 20px 60px 20px 30px;
	}
	.seminar_box label::before {
		height: 25px;
		right: 30px;
	}
	.seminar_box label::after {
		width: 25px;
	}
	.smnacc:checked + label + .textbox {
		padding: 30px 50px 30px 30px;
	}
	/*事業所概要ブロック--------------------------*/
	.company_block table tr td {
		padding: 20px 20px;
	}
	.company_block table tr td:first-child {
		width: 110px;
	}
	.profile_wrap .boxinner {
		padding: 35px 30px;
	}

	/*お問い合わせブロック--------------------------*/
	.contact_block {
		padding: 80px 20px 30px;
	}




}

/* All Mobile Screen ( smaller than 768px )
================================================== */
@media only screen and (max-width: 767px) {

	.boxed-layout .container,
	.boxed-layout-small .container {
		width: 440px;
	}
	.comments-title,
	#respond h3#reply-title {
		font-size: 26px;
		line-height: 32px;
	}
	#main h1,
	#main h2,
	#main h3,
	#main h4,
	#main h5,
	#main h6 {
		padding-bottom: 10px;
	}

	hr {
		margin-bottom: 30px;
	}
	input[type="text"],
	input[type="email"],
	input[type="search"],
	input[type="password"],
	input[type="reset"],
	input[type="button"],
	input[type="submit"] {
		margin-bottom: 5px;
	}
	textarea {
		margin-bottom: 0px;
	}
	input.s {
		margin: 0;
	}	
	.boxed-layout #colophon,
	.boxed-layout-small #colophon {
		margin-bottom: 20px;
	}


	.boxed-layout #site-branding,
	.boxed-layout #site-title a img,
	.boxed-layout-small #site-branding,
	.boxed-layout-small #site-title a img {
		max-width: 400px;
	}
	.header-search,
	.header-search-x {
		display: none;
	}

	.main-slider .image-slider {
		min-height: 400px;
	}
	.slider-content {
		width: 90%;
	}
	.slider-content .btn-default {
		font-size: 12px;
		margin: 10px 5px 20px;
		padding: 4px 12px;
	}

	/* ----- Column ----- */
	.column {
		margin: 0;
	}
	.two-column,
	.three-column {
		padding: 0 0 30px;
		width: 100%;
	}
	.four-column-full-width,
	.boxed-layout-small .four-column-full-width,
	#primary .three-column, 
	#primary .four-column-full-width, 
	#primary .four-column {
		margin: 0;
		width: 100%;
	}
	.four-column {
		padding: 0 10px 30px;
		width: 50%;
	}
	.three-column:nth-child(2n+3) {
 		clear: none;
	}
	.three-column-post .post-container,
	.four-column-post .post-container {
		width: 50%;
	}
	#main .post {
		padding-bottom: 0px;
	}
	.small_image_blog .post-featured-image {
		width: 100%;
	}
	.header-social-block,
	.top-header .widget_contact {
		display: none;
	}
	#primary .post:not(:nth-child(1)) {
		padding: 0;
		width: 100%;
	}
	#main .sticky {
		padding: 20px 20px 30px;
	}
	#primary .post.sticky:not(:nth-child(1)) {
		margin: 0 0 50px;
		width: 100%;
	}
	#wp_page_numbers,
	.wp-pagenavi,
	#main ul.default-wp-page,
	.pagination {
		margin-bottom: 40px;
	}
	#wp_page_numbers ul li.page_info,
	.wp-pagenavi .pages {
		display: none;
	}
	.widget {
		margin-bottom: 40px;
	}
	.widget_custom-tagcloud {
		margin-bottom: 32px;
	}
	.widget_posts {
		margin-bottom: 20px;
	}
	#colophon .widget_posts {
		margin-bottom: 20px;
	}
	.site-info #site-branding {
		max-width: 100%;
	}



}
/* All Mobile Screen ( smaller than 681px )
================================================== */
@media only screen and (max-width: 680px) {


}
/* All Mobile Screen ( smaller than 601px )
================================================== */
@media only screen and (max-width: 600px) {


}
/* All Mobile Screen ( smaller than 581px )
================================================== */
@media only screen and (max-width: 580px) {

	#footer_logo img {
		width: 160px;
	}
	/*顧客実績*/
	.works_kokyaku_frame {
		padding: 40px 20px;
	}
	/*事例紹介*/
	.works_jirei_wrap .box {
		padding: 0 30px 40px;
	}
	.works_jirei_wrap .box table tr td {
	    padding: 8px 10px;
	}
	.works_jirei_wrap .box table tr td:first-child {
	    width: 115px;
	}
}
@media only screen and (max-width: 520px) {

}
/* All Mobile Screen ( smaller than 481px )
================================================== */
@media only screen and (max-width: 480px) {
	body {
		font-size: 14px;
	}


    #content {
        
    }
	.container,
	.boxed-layout #page,
	.boxed-layout-small #page {
		width: 93%;
		/*width: 300px;*/
	}
	.boxed-layout .container,
	.boxed-layout-small .container {
		width: 280px;
	}
	.boxed-layout #colophon,
	.boxed-layout-small #colophon {
		margin-bottom: 10px;
	}


	.boxed-layout #site-branding,
	.boxed-layout #site-title a img,
	.boxed-layout-small #site-branding,
	.boxed-layout-small #site-title a img {
		max-width: 240px;
	}

	/* ----- Column ----- */
	.column {
		margin: 0;
	}
	.four-column {
		padding: 0 0 30px;
		width: 100%;
	}
	.four-column:nth-child(2n+3) {
		clear: none;
	}
	.two-column-post .post-container,
	.three-column-post .post-container,
	.four-column-post .post-container {
		width: 100%;
	}
	.btn-default {
		padding: 6px 18px;
		font-size: 13px;
	}


}

/* All Mobile ( smaller than 320px )
================================================== */
@media only screen and (max-width: 319px) {
	.container,
	.boxed-layout #page,
	.boxed-layout .container,
	.boxed-layout-small #page,
	.boxed-layout-small .container {
		width: 96%;
	}
}