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



/* 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: 95%;
	}
	.boxed-layout .container,
	.boxed-layout-small .container {
		max-width: 904px;
	}
	.four-column-full-width {
		width: 33.33%;
	}

}
/* All size smaller than 1196 */
@media only screen and (max-width: 1195px) {

}
/* All size smaller than 1051 */
@media only screen and (max-width: 1050px) {



}


/* 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;
	}

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


}
/* 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: 860px) {

	.top-header {
	    
	}
	#sticky_header div.header_inner_wrap {
		display: block;
	}
	#site-branding {
	    padding: 15px 5px 15px 20px;
	    width: 90px;
	}
	/*=======オリジナルナビ======= */
	.main_nav_pc {
		display: none;
	}
	.main_nav_sp {
		display: inline;
	}
	#content {
	    padding: 70px 0 0px;
	}
	.footer_bnr_wrap {
		padding: 50px 20px;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		column-gap: 0px;
		row-gap: 30px;
	}
	.footer_bnr_wrap a {
		width: 70%;
		padding: 25px 30px 0 30px;
	}
	.site-info {
	    padding: 40px 0px 40px 0;
	}

	.footer_nav_frame {
			-webkit-box-align: center;
			-ms-flex-align: center;
		align-items: center;
		margin: 0 auto 10px;
		padding: 0 0 0px 0;
		border-bottom: none;
	}
	.footer_nav_frame div.logo_wrap {
		width: 130px;
	}
	.footer_nav_frame div.logo_wrap img {
		width: 80px;
	}
	.footer_nav_frame div.nav1,
	.footer_nav_frame div.nav2,
	.footer_nav_frame div.nav3 {
		display: none;
	}
	.footer_nav_frame div.sp_nav {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
	display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-left: 30px;
	}
	.footer_nav_frame div.sp_nav a {
		display: block;
		font-size: clamp(14px, 1vw, 16px);
		font-weight: bold;
		padding-bottom: 10px;
	}
	.footer_nav_frame div.sp_nav span {
		font-size: clamp(14px, 1vw, 16px);
		color: #fff;
		padding: 0 3%;
	}
	.footer_nav_frame div.sp_nav div.copyright {
		display: block;
		width: 100%;
		font-size: 11px;
		padding: 0;
		margin: 0;
		color: #999999;
		text-align: left;
	}
	#copyright {
		display: none;
	}
}
/* All Mobile Screen ( smaller than 801px )
================================================== */
@media only screen and (max-width: 870px) {




}


/* All Mobile Screen ( smaller than 781px )
================================================== */
@media only screen and (max-width: 780px) {
	body {
		font-size: 16px;
	}
	header .container {
		width: 100%;
	}
	.container,
	.boxed-layout #page,
	.boxed-layout-small #page {
		/*width: 460px;*/
		width: 95%;
	}
	.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"],
	textarea,
	input[type="reset"],
	input[type="button"],
	input[type="submit"] {
		margin-bottom: 20px;
	}
	input.s {
		margin: 0;
	}	
	.boxed-layout #colophon,
	.boxed-layout-small #colophon {
		margin-bottom: 20px;
	}
	#site-branding {
		/*width: 100%;*/
	}

	.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;
	}
	.pc_on {
	 display: none;
	}
	.sp_on {
	 display: inline;
	}
	.youtube_pc {
	    display: none;
	}
	.youtube_sp {
	    display: block;
	}
	#cornertwin {
	    margin-top: -100px;
	    padding-top: 100px;
	}
	/* ----- 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%;
	}
	.footer_bnr_wrap a {
		width: 80%;
		padding: 35px 30px 0 30px;
	}

	.page_title_wrap {
	    padding: 20px 20px 25px;
	}
	/*---TOP-----------------------------------------------*/
	.top_main div.main_pc {
		display: none;
	}
	.top_main div.main_sp {
		display: block;
	}
	.top_main div.contents_wrap {
		width: 65%;
		top: 54%;
	}
	.top_group_frame {
		padding-top: 12%;
		padding-bottom: 35%;
	}
	.top_group_frame div.top_group_wrap {
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		row-gap: 40px;
		column-gap: 0px;
	}
	.top_group_frame div.top_group_wrap a.box {
		width: calc(100% / 1 - 0px);
		padding-top: 70px;
	}
	.top_group_frame div.top_group_wrap a.box div.logo_box div:first-child {
		padding-top: 0%;
	}
	.top_group_frame div.top_group_wrap a.box div.contents div.title {
		padding: 0 20px;
	}

	.aboutus_photo_block {
		padding-top: 0;
		height: 260px;
		background-size: cover;
	}
	.gp_philosophy_wrap p {
		margin: 0 0 40px 0;
		padding-right: 0;
	}
	.gp_philosophy_wrap p br {
		display: none;
	}
	.gp_philosophy_wrap div.gp_philosophy_list {
		padding: 3% 5% 6%;
	}
	.gp_philosophy_wrap div.gp_philosophy_list ul li:before {
	    width: 14px;
	    height: 14px;
	    padding-right: 1px;
	}
	.gp_philosophy_list_bg {
		background-position: top center;
		position: sticky;
		padding-bottom: 80%;
		background-size: contain;
		margin-bottom: 10px;

	}
	/*---事業内容-----------------------------------------------*/
	/*ナビボタン*/
	.service_nav {
			display: -webkit-box;
			display: -webkit-flex;
			display: -ms-flexbox;
		display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
		justify-content: space-between;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 15px 10px;
	}
	.service_nav a {
		width: calc(100% / 3 - 17px);
		text-align: center;
		padding: 0;
		line-height: 1.3;
	}

	.service_nav a span {
		display: none;
	}
	.service_nav a br {
		display: inline;
	}
	.service_nav span.line:before {
		height: 30px;
		top: 5px;
	}
	.service_main_wrap {
		padding: 50px 30px;
	}
	.service_main_wrap div.company_logo {
		text-align: center;
	}
	.service_main_wrap div.company_logo img {
		margin: 0 auto 5px;
		width: 50%;
		min-width: 230px;
	}
	.service_main_list  {
		padding: 6% 5%;
	}
	.service_main_wrap div.service_main_list ul li {
		text-indent: 0;
		padding: 0;
	}

	.service_main_wrap div.service_main_list ul li:before {
		content: none;
	}
	.service_main_wrap p {
		width: 100%;
		padding-right: 0;
	}
	/*サービス-ケイズ*/
	.service_main_list.k_service div.service_main_photo {
		position: sticky;
		width: 100%;
		padding-bottom: 3%;
	}
	.service_main_list.k_service div.service_main_photo div.illust {
		bottom: -50px;
		right: -30px;
		padding-right: 20px;
		min-width: 130px;
	}
	/*サービス-パワー*/
    .service_main_list.p_service {
    	padding-bottom: inherit;
    }
	.service_main_list.p_service div.service_main_photo {
		position: sticky;
		width: 100%;
		padding-bottom: 3%;
	}
	.service_main_list.p_service div.service_main_photo div.illust {
		bottom: -50px;
		right: -30px;
		padding-right: 20px;
		min-width: 130px;
	}
	/*サービス-ルミナス*/
	.service_main_list.l_service {
		padding-bottom: inherit;
	}
	.service_main_list.l_service div.service_main_photo {
		position: sticky;
		width: 100%;
		padding-bottom: 3%;
	}
	.service_main_list.l_service div.service_main_photo div.illust {
		bottom: -50px;
		right: -30px;
		padding-right: 20px;
		min-width: 130px;
	}
	.news_title_wrap {
	    margin: 0 0 60px 0;
	}

}
/* 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) {
	.top_main div.contents_wrap {
		width: 90%;
		left: 5%;
	}
	.footer_bnr_wrap a {
		width: 96%;
		padding: 10px 20px 0 20px;
	}
	.footer_bnr_wrap a div.illust {
		width: 28%;
	    min-width: 120px;
	}
	.footer_bnr_wrap a div.text {
		width: 70%;
		padding: 5% 0 5% 20px;
	}
	.footer_bnr_wrap a div.text div.title {
		font-size: clamp(22px, 2.5vw, 30px);
		margin-bottom: 5px;
	}
	.footer_bnr_wrap a div.text div.title span {
		font-size: 12px;
	}

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

	.joblistbtn_wrap a {
		padding: 20px 30px 20px 85px;
	}
	.joblistbtn_wrap a::before {
		left: 20px;
		width: 50px;
		height: 50px;
		background-size: cover;
	}
	.gp_philosophy_wrap div.gp_philosophy_list ul li:before {
	    width: 12px;
	    height: 12px;
	}
}
/* All Mobile Screen ( smaller than 481px )
================================================== */
@media only screen and (max-width: 480px) {
	body {
		font-size: 14px;
	}
	.container,
	.boxed-layout #page,
	.boxed-layout-small #page {
		width: 95%;
		/*width: 300px;*/
	}
	.boxed-layout .container,
	.boxed-layout-small .container {
		width: 280px;
	}
	.boxed-layout #colophon,
	.boxed-layout-small #colophon {
		margin-bottom: 10px;
	}
	#site-branding {
		/*margin: 0 auto;
		max-width: 265px;*/
	}

	.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;
	}
	.top_group_frame div.top_group_wrap a.box {
		padding-top: 17%;
	}
	.footer_bnr_wrap a div.text p br {
		display: none;
	}
}
@media only screen and (max-width: 400px) {

}
/* 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%;
	}
}