@charset "UTF-8";




@media screen and (max-width: 999px){
	
	#wrapper {
		background: #fff;
		min-height: 100%;
		min-width: 320px;
		box-shadow: inset 0 0 0 8px #1933ce !important;
	}
	
	.fv2 {
		width: calc(100% - 48px);
		height: calc(100% - 48px);
		margin: 24px;
		padding: 0;
		overflow: hidden;
		z-index: 0;
		position: absolute;
		top: 0;
		left: 0;
		border-radius: 32px;
		background: url(/img/bg.jpg) repeat;
		background-size: 40px;
	}
	
	/*!01ヘッダ*/
	.pc_nav {
		display: none;
	}
	
	/*!02FV*/
	
	.fv_text {
		padding: 0;
		position: relative;
		bottom: 240px;
	}
	
	.fv_text h1 {
		color: #2e2b2b;
		font-weight: 400;
		font-size: 8vw;
		
		font-weight: 400;
		font-style: normal;
		margin-bottom: 8px;
		letter-spacing: 0.1em;
		line-height: 1em !important;
	}
	.fv_text h2 span {
		font-size: 3vw;
	}
	/*!03 TOPコンテント*/
	.content_container {
		padding: 64px 24px;
		width: auto;
		margin: 0 auto;
	}
	.content_ttl_eng {
		
		font-weight: 400;
		font-style: normal;
		font-size: 11vw;
		margin-bottom: 16px;
		position: relative;
		z-index: 1;
		line-height: 1em;
	}
	
	/*!4 TOP ABOUT*/
	.top_text {
		font-weight: 600;
		color: #161414;
		font-size: 18px;
		line-height: 2.2em;
		letter-spacing: 0.16em;
	}
	
	
	/*コンテンツ３*/
	.three {
	  width: calc(33.33% - 24px);
	}
	.three p {
	  font-size: 14px;
	}
	
	.three_thumb {
	  background: #f7f7f2;
	  border-radius: 16px;
	  padding: 24px;
	  text-align: center;
	  margin-bottom: 24px;
	  min-height: 200px;
	}
	.three_thumb h5 {
		min-height: 64px;
	}
	
	
	.program {
		background: #f7f7f2;
		padding: 0 16px !important;
		width: calc(100% - 16px) !important;
		margin: 64px auto !important;
	}
	
	.font28 {
		font-size: 20px !important;
	}
	.mw400 {
		width: 100%;
		max-width: 300px !important;
		margin: 0 auto;
	}
	
	.h0a {
	  height: auto;
	  overflow: visible;
	  text-align: left;
	}
	.h0a img {
	  width: 100px;
	  position: relative;
	  bottom: 0px;
	  right: 16px;
	}
	.h0b {
	  height: auto;
	  overflow: visible;
	  text-align: right;
	}
	.h0b img {
	  width: 128px;
	  position: relative;
	  bottom: 0px;
	  left: 16px;
	}
	
	.ul li {
		list-style-type: disc;
		list-style-position: outside;
		padding: 8px;
		margin-left: 16px;
		font-size: 15px;
	}

	/*!REWARD*/
	.news_l {
		width: 100%;
		margin-bottom: 32px;
	}
	.news_r {
		width: 100%;
	}
	.h0 {
		height: 0;
		overflow: visible;
		position: relative;
		bottom: 32px;
	}
	
	/*!10 CONTACT*/

	
	
	
	/*!11 FOOTER*/
	
	/*!12 下層共通*/
	.content_right {
		width: 100%;

		margin-left: auto;
		margin-right: auto;
		margin-top: 0;
		max-width: 400px;
	}
	.content_left {
		width: 100%;
	
		margin: 0 auto;
	}
	
	.content_img {
		margin: 0 auto 32px;
	}
	
	.content_ttl_eng_layer {
		font-size: 64px;
	}
	.gp {
		font-size: 16px;
		line-height: 2.2em;
	}
	.font48_sps {
		font-size: 48px !important;
	}
	.sp999_mw600 {
		max-width: 600px !important;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
	/*!S-01 SERVICE一覧ページ*/
	.pro_l {
		width: 100%;
		max-width: 340px;
		margin: 32px auto 32px;
		min-height: 340px;
	}
	.pro_r {
		width: 100%;
	}
	
	
	/*!!TOP ABOUT*/
	.recruit_l {
		width: 100%;

	}
	.recruit_r {
		width: 100%;
	}
	
	/*!!footer*/
	.footer_content {
		width: 100%;
		margin-top: 64px;;
	}
	.footer_menu {
		justify-content: flex-start !important;
	}
	.footer_ttl {
			width: 280px;
			margin-left: 0px;
	}
	copyright {
			font-size: 10px;
			color: #2e2b2b;
			font-style: italic;
			text-align: center;
			display: block;
			line-height: 16px !important;
			position: relative;
			right: 24px;
			margin-top: 48px;
	}
	
	
	/*採用情報ページ*/
	.post_info {
		font-size: 20px;
		width: 100%;
		padding: 64px 64px;

	}
	.job01 {
		width: calc(100% - 0px);
	}
	.job02 {
		width: 100%;
		background: #fff;
		border-radius: 16px;
		padding: 24px 24px;
	}
	.job02b {
		width: 100%;
		background: #fff;
		border-radius: 16px;
		padding: 24px 24px;
	}
	
	
}/*999px*/


@media screen and (max-width: 799px){
	/*!01ヘッダ*/
	.ttl {

	}
	
	/*!02FV*/
	
	.fv_award {
		background: url(/img/bg2.png) no-repeat center center;
		background-size: 100% auto;
		width: 100%;
		height: 100%;
	}
	.fv3 {
		width: 100%;
		height: 100%;
		padding: 32px 4px;
		background: url(/img/award.png) no-repeat right 32px bottom 32px;
		background-size: 160px;
	}
	
	.fv_text h1 {
		color: #2e2b2b;
		font-weight: 400;
		font-size: 13vw;
		
		font-weight: 400;
		font-style: normal;
		margin-bottom: 16px;
		letter-spacing: 0.1em;
		line-height: 1.3em !important;
	}
	.fv_text h1 span {
		line-height: 1.3em !important;
		margin-left: 0 !important;
	}
	.fv_text h2 {
		font-size: 6.5vw;
	}
	.fv_text h3 {
			font-size: 4vw;
	}
	
	/*!03 TOPコンテント*/
	.top_text {
		font-weight: 600;
		color: #161414;
		font-size: 16px;
		line-height: 2.2em;
		letter-spacing: 0.16em;
	}
	/*!4 TOP ABOUT*/
	
	
	.aboutus {
		position: relative;
		margin-top: 0px !important;
		z-index: 8;
	}
	/*!5 TOP PRODUCT*/
	.top_product {
		background: url(img/top_product.png) no-repeat;
		background-size: cover;
		width: 100%;
		padding: 160px 0 0px;
	}
	
	.top_about4 {
		width: 100%;
		padding: 60px 16px 180px !important;
	}
	
	.content_ttl_jp {
	  font-size: 16px;
	  font-weight: 800;
	}
	
	.three {
		width: 100%;
	}
	
	
	
	
	
	
	
	/*!14 お問い合わせ*/
	.top_contact_tbl {
		width: 100%;
		max-width: 540px;
		margin: 0 auto 0 !important;
		padding: 0;
	}
	.top_contact_tbl tr td:first-child {
	padding: 32px 0 8px !important;
	border: none !important;
	border-bottom: none !important;
	width: 100% !important;
	display: block !important;
	font-size: 14px !important;
	}
	
	/*FORM*/
	.top_contact_tbl th {
	padding: 32px 0 8px !important;
	border: none !important;
	border-bottom: none !important;
	width: 100% !important;
	display: block !important;
	font-size: 14px !important;
	}
	.top_contact_tbl td {
	 padding: 0 0 32px;
	 border: none !important;
	 border-bottom: none !important;
	 width: 100% !important;
	 display: block !important;
	}
	.top_contact_tbl tr td {
	padding: 16px 0px;
	}
	
	.top_contact_tbl tr td:first-child {
	padding: 32px 0 8px !important;
	border: none !important;
	border-bottom: none !important;
	width: 100% !important;
	display: block !important;
	font-size: 14px !important;
	}
	
	form {
	font-size: 14px;
	}
	
	
	.c_form {
	max-width: 800px;
	width: 100%;
	margin: 0 auto 0;
	text-align: left;
	}
	
	.top_contact_tbl select {
	background: url(https://plusoct.com//img/arrow_bottom.png) no-repeat right 16px center #f9f9f8;
	background-size: 10px;
	padding: 4px 32px 8px 4px;
	border-radius: 4px;
	margin-bottom: 16px;
	width: 100%;
	border: 1px solid #8b8b8b;
	}
	.top_contact_tbl input[type=text] {
	background: #f9f9f8;
	padding: 8px 8px;
	border-radius: 4px;
	width: 100%;
	border: 1px solid #8b8b8b;
	
	}
	.top_contact_tbl input[type=email] {
	background: #f9f9f8;
	padding: 8px 8px;
	border-radius: 4px;
	
	
	width: 100%;
	border: 1px solid #8b8b8b;
	
	}
	.top_contact_tbl input[type=tel] {
	background: #f9f9f8;
	padding: 8px 8px;
	border-radius: 4px;
	
	
	width: 100%;
	border: 1px solid #8b8b8b;
	
	}
	
	/* チェックボックス01 */
	input[type=checkbox] {
	
	}
	.border {
	text-decoration: underline;
	}
	.border:hover {
	text-decoration: none;
	}
	.top_contact_tbl textarea {
	background: #f9f9f8;
	padding: 8px 8px;
	border-radius: 4px;
	resize: none;
	width: 100%;
	border: 1px solid #8b8b8b;
	}
	.btn_send {
	background: #163fa7;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	padding: 16px 16x;
	text-align: center;
	margin: 0 auto 24px;
	display: inline-block;
	min-width: 240px;
	width: 100%;
	border-radius: 4px;
	}
	.btn_send:hover {
	background: #1b1818;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
	cursor: pointer;
	}
	/*!14 お問い合わせ*/
	table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	}
	
	.ofh {
		min-width: 320px;
		overflow: hidden;
	}
	
	/*!D-01 DEVELOP一覧ページ*/
	.cus_eyecatch {
		max-height: 300px;
		height: auto;
		border-radius: 16px;
		overflow: hidden;
		object-fit: cover;
	}
	
	.single_post img {
		border-radius: 16px;
		overflow: hidden;
		max-width: 800px;
		width: 100%;
		height: auto;
		margin-left: auto;
		margin-right: auto;
	}


/*!TOP*/


/*求人ページ*/
.job_list02 {
	width: 100%;
	background: #fff;
	border-radius: 16px;
	padding: 0 0 24px;
}
.job_list01 {
	width: 100%;
}
	
}/*799px*/


.pc649 { display: block; }
.sp649 { display: none; }

@media screen and (max-width: 649px){ 
	.pc649 { display: none; }
	.sp649 { display: block; }
	
	/*!01ヘッダ*/
	/*!1.5 ハンバーガーボタン*/
	/*!02FV*/
	.fv_text h2 {

	}
	/*!03 TOPコンテント*/
	.content_container {
		padding: 32px 24px;
		width: auto;
		margin: 0 auto;
	}
	/*!4 TOP ABOUT*/
	.history_list p {
		font-size: 14px !important;
	}
	/*!5 TOP PRODUCT*/
	.top_product {
		background: url(img/top_product.png) no-repeat;
		background-size: cover;
		width: 100%;
		padding: 128px 0 0px;
	}
	footer {
		background: #1933ce;
		min-height: auto;
		margin-top: 0px;
		padding-bottom: 64px;;
	}
	
	
	/*!6 TOP DEVELOPMENT*/
	.dev_wrapper {
		background: rgb(11, 100, 205);
		background: linear-gradient(90deg, rgba(33, 119, 220, 1) 0%, rgba(16, 102, 192, 1) 100%);
		border-radius: 16px;
		margin: 0;
		padding: 64px 16px 32px 16px;
	}
	/*!7 TOP SES*/
	.top_ses {
		background: url(img/top_ses.png) no-repeat;
		background-size: cover;
		width: 100%;
		padding: 128px 0 0px;
	}
	/*!8 TOP CLIENT*/
	.threes {
		width: 100%;
	}
	.threes p {
		margin: 4px 0;
		font-size: 14px;
	}
	/*!9 news*/
	.news_box time {
		font-size: 11px;
	}
	
	/*!10 CONTACT*/
	


	
	
	.w80 {
		width: 80px;
	}
	.recruit_text {
		display: block;
	}
	.contact_text {
		display: block;
	}
	
	

	/*!11 FOOTER*/
	
	/*!12 下層共通*/
	.content_ttl_eng_layer {
		font-size: 48px;
	}
	.content_ttl_jp_layer2 {
		font-size: 21px;
	}
	.content_ttl_eng_mini {
		font-size: 40px;
	}
	.sp_lefty {
		position: relative;
		right: 0px;
	}
	.content_ttl_eng_layer2 {
		margin: 0 0 16px 0px !important;
	}
	.top_text {
		font-weight: 600;
		color: #161414;
		font-size: 14px;
		line-height: 2.2em;
		letter-spacing: 0.16em;
	}
	
	.font18 {
		font-size: 16px !important;
	}
	.font32 {
		font-size: 24px !important;
	}
	.mb24 {
		margin-bottom: 16px !important;
	}
	
	.font48_sps {
		font-size: 40px !important;
	}
	
	/*TABLE*/
	.has-fixed-layout {
	 width: 100%;
	 text-align: left;
	 border-collapse: collapse;
	 border-spacing: 0;
	 border-top: none !important;
	}
	
	.has-fixed-layout th {
		padding: 16px !important;
		width: 100% !important;
		display: block;
		font-size: 14px;
	}
	.has-fixed-layout td {
		padding: 16px !important;
		width: 100% !important;
		font-weight: 300;
		display: block;
		font-size: 14px !important
	}
	
	.has-fixed-layout tr td:first-child {
		padding: 24px 0 0 !important;
		border: none !important;
		border-bottom: none !important;
		width: 100% !important;
		font-weight: 600;
		display: block;
		font-size: 16px !important
	}
	
	.history {
		background: rgb(11, 129, 210);
		background: linear-gradient(90deg, rgba(11, 129, 210, 1) 0%, rgba(11, 100, 205, 1) 100%);
		border-radius: 16px;
		padding: 40px 8px;
		width: 100%;
		min-height: 500px;
	}
	
	.history .pr32 {
		padding-right: 16px !important;
	}
	.history .pl32 {
		padding-left: 16px !important;
	}
	
	.sp_plpr0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.bg_w {
		margin-top: 24px;
		padding: 24px;
		background: url(img/gray.jpg) #fff left 29px top repeat-y;
		background-size: 3px;
	}
	.history_list {
		padding-left: 32px;
		margin: 40px 0;
		background: url(img/maru.png) no-repeat left top 10px;
		background-size: 12px;
	}
	
	
	.content_ttl_jp_pc {
		font-size: 20px;
		color: #222;
		font-weight: 800;
		line-height: 1.5em;
		margin-bottom: 0;
		border-bottom: 3px solid #222;
		padding: 0 0 4px;
		margin-left: 24px;
	}
	.content_ttl_jp_pc2 {
		font-size: 16px;
		color: #222;
		font-weight: 800;
		line-height: 1.5em;
		margin-bottom: 0;
		border-bottom: 1px solid #222;
		padding: 0 0 8px;
		margin:  32px 0 32px;
		text-align: center;
	}
	
	.ico_pc {
		width: 48px;
	}
	.lang_logo p {
		font-size: 12px;
	}
	
	/*!N-01 NEWS一覧ページ*/
	.single_post ul li {
		font-size: 14px;
	}


	
	/*投稿*/
	.news_cate_layer {
		font-size: 14px;
		color: #163fa7;
		transition: .2s;
	}
	.news_cate_layer:hover {
		font-size: 14px;
	}
	.post_info {
		font-size: 20px;
		margin: 16px 0;
		line-height: 1.6em;
	}
	
	.single_post h2 {
		color: #163fa7;
		font-size: 20px;
		margin: 24px 0;
	}
	.single_post h3 {
		color: #163fa7;
		font-size: 18px;
		margin: 24px 0;
	}
	.single_post h4 {
		color: #163fa7;
		font-size: 16px;
		margin: 24px 0;
	}
	
	.single_post p {
		font-size: 14px;
	}
	
	/*!13 RECRUIT*/
	.w25per {
		width: calc(100% - 0px);
	}
	.lang_logo {
		margin-right: 0; /* 4の倍数の要素だけ余白をゼロに */
	}
	.lang_logo:nth-child(2n) {
		margin-right: 0; /* 4の倍数の要素だけ余白をゼロに */
	}
	.sp999_mw600 {
		max-width: 600px !important;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.posi_l {
		margin-left: 0 !important;
	}
	
	p {
		font-size: 14px;
	}
	
	/*!14 お問い合わせ*/
	table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	}
	.btn_send input[type="submit"] {
		background: #163fa7;
		color: #fff;
		font-size: 18px;
		font-weight: 600;
		padding: 16px 24px;
		text-align: center;
		margin: 0 auto 0;
		display: inline-block;
		min-width: 240px;
		width: 100%;
		border-radius: 4px;
	}
	.sp_100per {
		width: 100% !important;
		margin-right: 0 !important;
	}
	
	/*BASIC*/
	.font24 {
		font-size: 20px !important;
	}
	
	.font16 {
		font-size: 14px !important;
	}
	
	.font16 p {
		font-size: 14px !important;
		line-height: 2em !important;
	}
	.sp649_mt32 {
		margin-top: 32px !important;
	}
	
	
	/*!!TOP*/
	.ttl {
			
	}
	.job_thumb {
			width: 100%;
			height: 240px;
			margin-bottom: 24px;
	}
	.job_info {
			width: 100%;
	}
	

	
	.footer_three a {
		font-size: 14px;
	}
	
	.header_logo {
			max-width: 280px;
			width: calc(100% - 64px);
			margin-left: 0px;
	}
	.header_logo {
		width: 400px;
		margin-left: 0px;
		position: relative;
		top: 64px;
		left: 28px;
	}
	
	header.scroll-nav .header_logo {
			width: header_logo;
			margin-left: 0px;
	}
	header.scroll-nav {
			position: fixed;
			height: 80px;
			width: calc(100% - 0px);
			padding: 0;
			margin: 0;
			z-index: 9;
			transition: 0.5s;
			background: #fff;
	}
	
	.btn_bigs {
			font-size: 16px;
	}
	.job_box {
			background: #fff;
			padding: 16px;
			border-radius: 24px;
			margin: 24px auto;
	}
	.news_box {
			background: #fff;
			padding: 16px;
			border-radius: 16px;
			margin-bottom: 32px;
	}
	.footer_in {
			padding: 64px 24px 32px;
			background: url(img/footer_bg.png) no-repeat;
			background-size: cover;
	}

	.recruit_l {
			width: 100%;
			margin-bottom: 32px;
	}
	
	/*求人情報*/
	.has-fixed-layout2 th {
		padding: 16px 24px 12px 24px;
		border: none !important;
		width: 100% !important;
		font-size: 14px;
		background: #06409b;
		color: #fff;
		display: block;
	}
	.has-fixed-layout2 td {
		padding: 16px 24px 16px 24px;
		border: none !important;
		width: calc(100% - 0px) !important;
		font-weight: 300;
		background: #fff;
		display: block;
		
	}
	.job02 h6 {
		font-size: 14px !important;
		font-weight: bold;
		color: #0f58ad;
		padding: 0 0;
		margin: 0;
	}

	
	
}









