@charset "UTF-8";

/* --------------------------------------------  
	 responsible_common
--------------------------------------------  */
@media screen and (min-width: 641px), print {
	/* ------------------  pc   ------------------   */
	.pc_hide {
		display: none !important;
	}
	
	#sp_menu_cover,
	#sp-globalHeader,
	#globalfooter_sp {
		display: none !important;
	}
}

@media screen and (max-width: 640px){
	/* ------------------  smp   ------------------   */
	html,
	body {
		font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Meiryo, "メイリオ", sans-serif;
		min-width: 320px;
		width: 100%;
	}

	.sp_hide {
		display: none !important;
	}
	
	#globalHeader {
		display: none !important;
	}

	body.header-fix .page_wrapper {
		padding-top: 0 !important;
	}
	
	#content {
		width: 100%;
		margin: 0 auto;
	}
	
	.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.sp_col-12 {
		width: 100%;
	}
	.sp_col-11 {
		width: 91.66666667%;
	}
	
	.sp_col-10 {
		width: 83.33333333%;
	}
	.sp_col-9 {
		width: 75%;
	}
	.sp_col-8 {
		width: 66.66666667%;
	}
	.sp_col-7 {
		width: 58.33333333%;
	}
	.sp_col-6 {
		width: 50%;
	}
	.sp_col-5 {
		width: 41.66666667%;
	}
	.sp_col-4 {
		width: 33.33333333%;
	}
	.sp_col-3 {
		width: 25%;
	}
	.sp_col-2 {
		width: 16.66666667%;
	}
	.sp_col-1 {
		width: 8.33333333%;
	}
	
	.sp-pdl-none {
		padding-left: 0 !important;
	}
	
	.sp-pdr-none {
		padding-right: 0 !important;
	}

	.sp-mgt-none {
		margin-bottom: 0 !important;
	}
	
	.sp-mgb-none {
		margin-bottom: 0 !important;
	}

	.sp-mgt-md {
		margin-top: 10px !important;
	}
		
	.sp-mgb-md {
		margin-bottom: 10px !important;
	}		
	
	.sp-mgt-lg {
		margin-top: 15px !important;
	}
		
	.sp-mgb-lg {
		margin-bottom: 15px !important;
	}
	
	.font-sm {
		font-size: 12px;
	}
	
	.font-md {
		font-size: 14px;
	}
	
	.font-lg {
		font-size: 16px;
	}
	
	.font-xl {
		font-size: 20px;
	}
	
	.category_header {
		height: 150px;
	}
	
	.recruit .category_header .page_heading {
		height: 50px;
		background-position: center center;
	}

	/* noscript */
	.js-off-attention {
		display: block;
		width: 100%;
		min-width: auto;
		padding: 13px 8px;
		text-align: center;
  	background: #fff28f;
		margin: auto;
		box-sizing: border-box;
	}

	.js-off-attention h3 {
		margin-top: 0;
		 margin-bottom: 5px;
	}
	
}


/* --------------------------------------------  
	 sp_header
--------------------------------------------  */
@media screen and (max-width: 640px){
	/* ------------------  smp   ------------------   */
	#sp_menu_cover {
		background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
		display: none;
		left: 0;
		min-height: 100%;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 9990;
	}
	
	body.is-sp_menu {
		height: 120%;
		overflow-x: hidden !important;
		position: fixed;
	}
	
	body.is-sp_menu #sp_menu, body.is-sp_menu #sp_menu_cover {
		display: block;
		height: 100%;
		overflow-x: scroll !important;
	}
	
	.sp_menu_header {
		min-width: 320px;
		background: #01973e none repeat scroll 0 0;
		color: #fff;
		font-size: 1rem;
		font-weight: bold;
		margin: 0;
		padding: 8px 15px;
	}
	
	.sp_menu_body {
		background: #fff none repeat scroll 0 0;
	}
	
	.sp_menu_body::after {
		clear: both;
		content: ".";
		display: block;
		height: 0;
		visibility: hidden;
	}

	#sp-globalHeader {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	#sp-globalHeader:after {
		content: "";
		display: block;
		clear: both;
	}
	
	#sp-gh_contents_wrap {
		height: 50px;
		margin: 0;
		padding: 0;
		background: #fff;
		position: relative;
		border-bottom: 5px solid #0952b6;
	}
	
	#sp-logo_group {
		float: left;
		width: 86px;
		height: 29px;
		padding: 10px 0 11px 17px;
	}

	/* language */
	#sp-globalHeader .gh_language {
		float: right;
		margin-top: 12px;
		margin-right: 70px;
		display: flex;
		align-items: center;
		font-family: sans-serif;
		font-size: 12px;
		border-radius: 3px;
		overflow: hidden;
	}
	
	#sp-globalHeader .gh_language > li {
		line-height: 1;
	}
	
	#sp-globalHeader .gh_language > li a {
		display: block;
		height: 27px;
		padding: 0 14px;
		line-height: 27px;
		text-decoration: none;
	}
	
	#sp-globalHeader .gh_language > li:first-child a {
		color: #fff;
		background: #008cd6;
		pointer-events: none;
	}
	
	#sp-globalHeader .gh_language > li:last-child a {
		color: #999999;
		background: #e7e7e7;
	}
			
	#sp-menu {
		display: block;
		width: 50px;
		height: 50px;
		position: absolute;
		top: 0;
		right: 0;
		background: #0952b6 no-repeat;
	}
		
	#sp-gnav_wrap {
		width: 270px;
		height: 100%;
		background: #fff;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		overflow-x: hidden !important;
		z-index: 10000;
	}
	
	
	#sp-gnav .tree_content > li {
		border-bottom: 1px solid #0952b6;
	}
	
	#sp-gnav li a {
		display: block;
		width: 100%;
		/*padding: 10px 45px 10px 16px;*/
  padding: 10px 20px 10px 16px;
		font-size: 14px;
		text-decoration: none;
		/*border-bottom: 1px solid #0952b6;*/
		position: relative;
		box-sizing: border-box;
	}
 
 #sp-gnav li a.icon::before{
		top: 15px;
		bottom: auto;
 }
		
	.treemenu .sp_gnav_title {
		display: block;
		padding: 10px 20px;
		margin: 0;
		font-size: 16px;
		color: #fff;
		border-bottom: 1px solid #ffffff;
		background: #0952b6;
		position: relative;
	}
	
	.treemenu .sp_gnav_title:before {
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		background: url(/cmn/images/icon/icon_toggle_plus_white.png) no-repeat;
		background-size: contain;
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin: auto;
		cursor: pointer;
	}
	
	.treemenu.is-open label:before {
		background: url(/cmn/images/icon/icon_toggle_minus_white.png) no-repeat;
		background-size: contain;
	}
	
	#sp-gnav .treemenu:first-child .tree_content,
	.tree_content {
		display: none;
	}
	
	.tree_content li a {
		display: block;
		padding-left: 30px !important;
	}


	.tree_content li a {
		font-size: 13px;
		color: #333;
	}
		
	.tree_content li a:before {
		left: 10px;
	}
	
	.sp-gnav-sub {
	}
	.sp-gnav-sub li {
		background-color: #f2f2f2;
		border-bottom: 1px solid #999;
	}
	.sp-gnav-sub li a {
		display: block;
		width: 100%;
		margin: 0 10px;
		padding: 10px 45px 10px 20px;
		font-size: 14px;
		text-decoration: none;
		position: relative;
		box-sizing: border-box;
		color: #333;
	}
	
	.sp-menu_close {
		display:block;
		width: 100%;
		padding: 13px 19px;
		margin: 0;
		fot-size: 28px;
		font-weight: bold;
		text-align: center;
		border: 10px solid #fff;
		box-sizing: border-box;
		position: relative;
		background: #ffe400;
	}
	
	.sp-menu_close:before {
		content: "";
		width: 19px;
		height: 19px;
		background: url(/images/menu_open-btn_close_icon.png) no-repeat;
		background-size: contain;
		position:absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 16px;
	}
	
	#sp-gnav_wrap {
		display: none;
	}
	
	
	/* 2021.09.30：追加 */
	
	#sp-gnav .tree_content li span.nonlink {
		display: block;
		width: 100%;
		padding: 10px 20px 10px 16px;
		font-size: 14px;
		text-decoration: none;
		border-bottom: 1px solid #dddddd;
		position: relative;
		box-sizing: border-box;
	}
	
	#sp-gnav .tree_content .nav_2nd > li {
		border-top:dotted 1px #999999;
	}
	
	#sp-gnav .tree_content .nav_2nd > li:first-of-type {
		border-top:none;
	}
	
	#sp-gnav .tree_content .nav_2nd > li > a {
		border-bottom: none;
		padding: 10px 15px 10px 44px !important;
	}
	
	#sp-gnav .tree_content .nav_2nd > li > a:before {
		/*margin: auto 0;*/
  margin: 0;
  top: 16px;
		left:24px;
	}
	
	
}
	
	
/* --------------------------------------------  
	 globalfooter_sp
--------------------------------------------  */
@media screen and (max-width: 640px){
	/* ------------------  smp   ------------------   */

	#globalfooter {
		display: none;
	}
	
	#globalfooter_sp {
		padding-bottom: 30px;
		margin-top: 18px;
		text-align: center;
	}

	#globalfooter_sp:after {
		content: "";
		display: block;
		clear: both;
	}
	
	#footer_support {
		width: 100%;
	}	
		
	#footer_support_content {
		padding: 15px 10px 13px;
		border-bottom: 4px solid #0952b6;
		box-sizing: border-box;
	}
	
	#footer_support_content li {
		float: inherit;
		display: block;
		margin-left: 0 !important;
		margin-bottom: 4px;
	}
	
	#footer_sitemap_wrap,
	#footer_sitemap {
		display: none;
	}
	
	#sp-logo_company {
		display: block;
		width: 187px;
		margin: 17px auto 0;
		text-align: center;
	}
	
	#sp-logo_company {
		display: block;
	}
	
	#globalfooter_sp small {
		width: auto;
		padding: 0;
		margin: 7px 0 0;
		letter-spacing: 0;
		font-size: 9px;
		text-align: center;
	}
	
	/* --------------------------------------------  
		 pagetop
	--------------------------------------------  */
	
	#topagetop {
		position: fixed;
		bottom: 0px;
		right: 15px;
		z-index: 100;
	}
	
	#topagetop a {
		text-decoration: none;
		width: 40px;
		height: 40px;
		padding: 0;
		text-align: center;
		display: block;
	}
	
	#topagetop	img {
		width: 40px;
		height: 40px;
	}
	
}