@charset "utf-8";
/* CSS Document */
/* /ir/css/ir_sp_common.cssの複製です
   2021/07/19 */

@media screen and (min-width: 769px){

/*	Common
----------------------------------------------- */

	.footer_sp,
	.header_sp {
		display: none;
	}
	#header .header_pc #globalNav {
		display: block !important;
	}

}


@media screen and (max-width: 768px){

/*	Common
----------------------------------------------- */
    .spOnly{
        display: block;
    }
	.footer_pc,
	.header_pc {
		display: none;
	}
	html {
		font-size: 14px;
		-webkit-font-smoothing: antialiased;
	}
	body {
		background: white;
		color: #393939;
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
		min-width: 320px;
		-ms-text-size-adjust: 100%;
		line-height: 1.4;
	}
	body > img, body > iframe {
		bottom: 0;
		left: 0;
		position: absolute;
	}
	img {
		/*width: 100%;*/
		max-width: 100%;
		height: auto;
	}
	sup {
			display: inline;
			margin-top: 0px;
			/*vertical-align: super;*/
		vertical-align: baseline;
	}
	#wrapper {
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
		min-height: 100%;
		/*overflow: hidden;*/
		position: relative;
	}
	.container {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0 auto;
		position: relative;
		width: 93.75%;
	}
	.container:before {
		content: '';
		display: table;
	}
	.container:after {
		content: '';
		display: table;
		clear: both;
	}
	.grayBox {
  background: #f5f5f5
}



/* #header
----------------------------------------------- */

	header#header {
		height: 74px;
		z-index: 1;
                display:none;
	}
	header .container .logo {
		height: 74px;
		position: absolute;
		top: 0;
	}
	header .container .logo img {
		width: 107px;
		padding-top: 23px;
	}
	header .container > ul {
		position: absolute;
		right: 49px;
		top: 15px;
	}
	header .container > ul:before {
		content: '';
		display: table;
	}
	header .container > ul:after {
		content: '';
		display: table;
		clear: both;
	}
	header .container > ul li {
		float: left;
		margin-left: 5px;
	}
	header .container > ul li a {
		display: block;
		width: 65px;
		height: 44px;
		background-size: 100%;
		background-position: center center;
	}
	header .container > ul li a span {
		display: block;
		height: 0;
		overflow: hidden;
		white-space: nowrap;
	}
	header .container > ul li.recruit a {
		background-image: url(../sp/images/common/btn-recruit.png);
	}
	header .container > ul li.inquiry a {
		background-image: url(../sp/images/common/btn-inquiry.png);
	}
	header .container > ul li img {
		width: auto;
	}
	header #headerNav {
		display: none;
		background: rgba(57, 57, 57, 0.98);
		left: 0;
		position: absolute;
		top: 74px;
		width: 100%;
		z-index: 1000;
	}
	header #headerNav ul li {
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
		border: 1px solid #7a7a7a;
		border-width: 1px 0 0;
	}
	header #headerNav ul li > a {
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
		color: #fff;
		display: block;
		font-size: 14px;
		font-weight: bold;
		padding: 0 3.125%;
		position: relative;
	}
	header #headerNav ul li > a:after {
		background: url(../sp/images/common/arrow-white14.png) no-repeat;
		background-size: cover;
		content: '';
		width: 7px;
		height: 11px;
		display: inline-block;
		position: absolute;
		right: 3.125%;
		bottom: 50%;
		margin-bottom: -6px;
	}
	header #headerNav ul li > a > span {
		display: table-cell;
		vertical-align: middle;
		height: 66px;
	}
	header #headerNav ul li > a .thin {
		display: block;
		font-size: 11px;
		font-weight: normal;
	}
	header #headerNav ul li > a .home {
		display: inline-block;
		padding: 3px 0 0 27px;
		position: relative;
	}
	header #headerNav ul li > a .home:before {
		content: '';
		display: inline-block;
		width: 19px;
		height: 18px;
		background: url(../sp/images/common/icon-home.png) no-repeat center center;
		background-size: contain;
		position: absolute;
		left: 0;
		top: 3px;
	}
	header #headerNav ul li > a sup {
		font-size: 12px;
		vertical-align: super;
	}
	header #headerNav ul li:first-child {
		border-width: 0;
	}
	header #headerNav ul li.half {
		float: left;
		width: 50%;
	}
	header #headerNav ul li.half a {
		padding-left: 6.25%;
	}
	header #headerNav ul li.half a:after {
		right: 6.25%;
	}
	header #headerNav ul li.half + .half {
		border: 1px solid #7a7a7a;
		border-width: 1px 0 0 1px;
	}
	header #headerNav ul li.pcSite {
		clear: both;
	}
	header #headerNav ul li.pcSite .btnTxt {
		margin: 0 auto;
		padding: 20px 0;
	}
	header #headerNav ul li.pcSite .btnTxt span {
		display: inline-block;
		padding-left: 18px;
		position: relative;
	}
	header #headerNav ul li.pcSite .btnTxt span:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 21px;
		background: url(../sp/images/common/icon-pc.png) no-repeat center center;
		background-size: contain;
		position: absolute;
		left: -13px;
		bottom: 0;
	}
	header #navBtn {
		background: url(../sp/images/common/nav_menu.png) no-repeat 0 0;
		background-size: 44px 44px;
		cursor: pointer;
		height: 44px;
		position: absolute;
		right: 3.125%;
		top: 15px;
		width: 44px;
	}
	header #navBtn.active {
		background-image: url(../sp/images/common/nav_menu_close.png);
	}
	a.meanmenu-reveal {
		display: none;
	}

	/* when under viewport size, .mean-container is added to body */
	.mean-container .mean-bar {
		float: left;
			width: 100%;
			position: relative;
			height: 0;
			z-index: 999999;
	}
	.mean-container a.meanmenu-reveal {
		width: 44px;
			height: 44px;
			/* margin-top: 15px; */
			position: absolute;
			top: 15px;
			right: 3.25% !important;
			/* cursor: pointer; */
			/* font-size: 16px; */
			/* text-indent: -9999em; */
			display: block;
			background-image: url(../sp/images/common/nav_menu_close.png);
			background-size: cover;
	}
	.mean-container a.meanmenu-reveal span {
		display: block;
		background-image:url(../sp/images/common/nav_menu.png);
		background-size:cover;
		width: 44px;
			height: 44px;
			overflow: hidden;
	}
	.mean-container .mean-nav {
		float: left;
		width: 100%;
		background: #333;
		margin-top: 74px;
	}
	.mean-container .mean-nav ul {
		padding: 0;
		margin: 0;
		width: 100%;
		list-style-type: none;
	}
	.mean-container .mean-nav ul li {
		position: relative;
		float: left;
		width: 100%;
	}
	.mean-container .mean-nav ul li a {
		display: block;
			float: left;
			width: 90%;
			padding: 0.7em 1% 0.7em 9%;
			margin: 0;
			text-align: left;
			color: #fff;
			background: url(../sp/images/common/arrow-white14.png) left 5% center no-repeat;
			background-size: 8px;
			border-top: 1px solid #383838;
			border-top: 1px solid rgba(255,255,255,0.5);
			text-decoration: none;
			text-transform: none;
	}
	.mean-container .mean-nav ul li a.icon-open_in_new {
    background:
    url(../sp/images/common/arrow-white14.png) left 5% center no-repeat,
    url(../sp/images/common/icon-open_in_new_white.svg) no-repeat right 15px top 13px;
    background-size: 8px, 12px;
	}
	.mean-container .mean-nav ul li li a {
		width: 80%;
			font-size: 12px;
			padding: 1em 8% 1em 12%;
			border-top: 1px solid #f1f1f1;
			border-top: 1px solid rgba(255,255,255,0.25);
			background: url(../sp/images/common/arrow-gray12.png) left 8% center no-repeat;
			background-size: 7px;
			filter: alpha(opacity=75);
			text-shadow: none !important;
			visibility: visible;
	}
	.mean-container .mean-nav ul li.mean-last a {
		border-bottom: none;
		margin-bottom: 0;
	}
	.mean-container .mean-nav ul li li li a {
		width: 70%;
		padding: 1em 15%;
	}
	.mean-container .mean-nav ul li li li li a {
		width: 60%;
		padding: 1em 20%;
	}
	.mean-container .mean-nav ul li li li li li a {
		width: 50%;
		padding: 1em 25%;
	}
	.mean-container .mean-nav ul li a:hover {
		background: #252525;
		background: rgba(255,255,255,0.1);
	}
	.mean-container .mean-nav ul li a.mean-expand {
			width: 45px;
			padding: 7px 0 !important;
			text-align: center;
			position: absolute;
			right: 0px;
			top: 0;
			z-index: 2;
			font-weight: 700;
			background: rgba(255,255,255,0.1);
			border: none !important;
			border-left: 1px solid rgba(255,255,255,0.4) !important;
			-webkit-box-sizing: border-box;
			        box-sizing: border-box;
	}
	.mean-container .mean-nav ul li a.mean-expand:hover {
		background: rgb(12, 83, 140);
	}
	.mean-container .mean-push {
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
		clear: both;
	}
	.mean-nav .wrapper {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	/* Fix for box sizing on Foundation Framework etc. */
	.mean-container .mean-bar, .mean-container .mean-bar * {
		-webkit-box-sizing: content-box;
		box-sizing: content-box;
	}
	.mean-remove {
		display: none !important;
	}
	.mean-container .mean-nav ul li a {
		font-size: 14px;
	}



/* #footer
----------------------------------------------- */

	#footer .contactArea {
			padding: 20px 0;
	}
	.contactArea p + p, .contactArea .btnGray {
			margin-top: 10px;
			font-size: 14px;
	}
	#footer .contactArea a img {
		width: 100%;
	}
	.btnTxt {
			width: 93.75%;
			margin: 15px auto 0;
	}
	.btnTxt a {
			display: block;
			border-radius: 3px;
			font-weight: bold;
			text-align: center;
			padding: 10px 5px;
			position: relative;
	}
	.btnTxt a:after {
			content: '';
			width: 7px;
			height: 11px;
			display: inline-block;
			position: absolute;
			right: 3.125%;
			bottom: 50%;
			margin-bottom: -6px;
	}
	.btnTxt.btnGray a {
		background: #eee;
		color: #353535;
		border: 1px #d0d0d0 solid;
	}
	.btnTxt.btnGray a:after {
			background: url(../sp/images/common/arrow-black14.png) no-repeat;
			background-size: cover;
	}
	.btnTxt.btnGray.back a {
		background: #eee;
		color: #353535;
		border: 1px #d0d0d0 solid;
	}
	.btnTxt.btnGray.back a:before {
		content: '';
		width: 7px;
		height: 11px;
		display: inline-block;
		position: absolute;
		left: 3.125%;
		bottom: 50%;
		margin-bottom: -5px;
		background: url(../sp/images/common/arrow-black14.png) no-repeat;
		background-size: cover;
		-webkit-transform: rotate(180deg);
						transform: rotate(180deg);
	}

	.btnTxt.btnGray.back a:after {
		display: none;
	}
	.btnTxt.btnGradation a {
		background: #f4f3f3;
		background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e9e8e8));
		background: linear-gradient(to bottom, #ffffff, #e9e8e8);
		*zoom: 1;
		border: 1px #d0d0d0 solid;
		font-size: 14px;
	}
	#footer {
		margin-top: 10px;
	}
	footer .pcSite {
		-webkit-box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.05) inset;
						box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.05) inset;
		background: whitesmoke url(../sp/images/common/bg-switch-pc.png) repeat-x 0 bottom;
		background-size: 3px 12px;
		padding: 20px 0;
	}
	footer .pcSite .btnTxt {
		margin: 0 auto;
	}
	footer .pcSite .btnTxt a span {
		display: inline-block;
		position: relative;
		padding-left: 18px;
	}
	footer .pcSite .btnTxt a span:before {
		content: '';
		display: inline-block;
		width: 24px;
		height: 21px;
		background: url(../sp/images/common/icon-pc.png) no-repeat center center;
		background-size: contain;
		position: absolute;
		left: -13px;
		bottom: 0;
	}
	footer .mainNav {
		background: #186aab;
		padding: 20px 0 22px;
	}
	footer .mainNav #footerlNav {
		overflow: hidden;
	}
	footer .mainNav #footerlNav li {
		float: left;
		width: 48%;
		width: calc((100% - 10px)/2);
		margin: 0 10px 10px 0;
	}
	footer .mainNav #footerlNav li:nth-child(even) {
		margin-right: 0;
	}
	footer .mainNav #footerlNav li:last-child {
		clear: both;
		margin: 0;
		width: 100%;
	}
	footer .mainNav #footerlNav li a {
		height: 45px;
		text-align: center;
		display: block;
		background: #f3f3f3;
		background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e8e8e8));
		background: linear-gradient(to bottom, #ffffff, #e8e8e8);
		*zoom: 1;
		font-size: 12px;
		font-weight: bold;
		line-height: 1.1;
		position: relative;
		border-radius: 3px;
	}
	footer .mainNav #footerlNav li a span {
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 26px;
	}
	footer .mainNav #footerlNav li a span.line1 {
		height: 13px;
		/*テキストが1行の場合*/
	}
	footer .subNav {
		overflow: hidden;
		background: #f5f5f5;
	}
	footer .subNav li {
		width: 50%;
		float: left;
		border-bottom: 1px #d0d0d0 solid;
	}
	footer .subNav li a {
		display: block;
		background: #f5f5f5;
		font-size: 12px;
		line-height: 1.25;
		height: 67px;
		padding: 0 16px 0 10px;
		position: relative;
	}
	footer .subNav li a > span {
		display: table-cell;
		vertical-align: middle;
		height: 67px;
	}
	footer .subNav li a > span span {
		display: inline-block;
	}
	footer .subNav li a:after {
		content: '';
		width: 7px;
		height: 11px;
		background: url(../sp/images/common/arrow-blue14.png) no-repeat center center;
		background-size: contain;
		position: absolute;
		right: 10px;
		bottom: 50%;
		margin-bottom: -6px;
	}
	footer .subNav li:nth-child(odd) a {
		border-right: 1px #d0d0d0 solid;
	}
	footer .subNav li:last-child {
		/*
		width: 100%;
		border: none;
		*/
	}
	#pagetop {
		display: none;
	}
	#footer .copyright {
		background: #353535;
		color: #fff;
		text-align: center;
		font-size: 10px;
		padding: 13px 0 15px;
		line-height: 1.4;
	}
	
	/*
2023.10.19 Footer
*/

.companyBlock {
	padding: 50px 0;
}
.companyBlock p.logo {
    text-decoration: none;
    display: block;
    margin: 0 auto;
    max-width: 200px;
}
#footer .companyBlock2 p.credit_text {
	text-align: center;
	margin: 30px 30px 0;
	font-size: 13px;
	line-height: 2em;
				}
#footer .companyBlock2 .organizationList {
height:auto;
	margin: 30px 30px 0;
	text-align: center;
	display: block !important;
}
.organizationList li {
	margin-bottom: 20px;
}
.organizationList li:first-child {
margin-bottom:30px;
width:30%;
margin:0 auto 20px;
}
.organizationList li img {
	width: auto;
	height: auto;
}
.__credit_for_contact {
display: flex;
justify-content: center;
flex-direction: column;
margin-top: 30px;
}
.__credit_for_contact dl {
display: flex;
justify-content: center;
align-items: center;
margin: 15px 0.5rem;
}
.__credit_for_contact dl dt {
    text-align: center;
    padding: 0 5px;
    margin: 0;
    font-weight: normal;
}
.__credit_for_contact dl dd {
  font-weight: bold;
  padding: 0 5px;
  margin: 0;
}
.__credit_for_contact dl dd::before {
    content: '';
    background-image: url('../images/common/icon-tel.svg');
    display: inline-block;
    height: 22px;
    width: 22px;
    vertical-align: middle;
    margin-right: 0.5rem;
    margin-top: -4px;
}
.__credit_for_contact p {
    padding: 0;
    text-align: center;
    color: #000;
margin: 15px 0.5rem;
}
.__credit_for_area {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
	.secServicesite {
		display: none;
	}
	#footer .companyBlock2 {
    border-top: none;
}
}