/*========================================
トップページ独自スタイル
========================================*/
.top-footer-content {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 83px 0 63px
}
.l-footer-cnt__col {
  padding: 0 30px
}
.l-footer-cnt__col:first-child {
  padding: 0px
}
.l-footer-cnt__col:last-child {
  padding-right: 0px
}
.l-footer-cnt__col+.l-footer-cnt__col {
  border-left: 1px solid rgba(255,255,255, 0.5);
}

/* top ブログ一覧 */
.l-footer-cnt__col--blog {
	width: 830px;
	position: relative;
}
.top-footer-content .blog_list {
	max-width: 390px;
	position: relative;
	float: left;
	margin-right: 0px;
	margin-bottom: 10px;
}
.top-footer-content .blog_list:nth-child(2n) {
	margin-right: 20px;
}
.top-footer-content .blog_list:nth-child(n+5) {
	display: none;
}

.top-footer-content .blog_list::after {
	position: absolute;
	right: 0; bottom: 0;
	background: url("../images/top/ico_blog.png") no-repeat;
	width: 5px; height: 5px; display: block;
	content: '';
}
.top-footer-content .blog_list a  {
	display: block;
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
}
.top-footer-content .blog_list dl {
	position: relative;
	overflow: hidden;
}
.top-footer-content .blog_list dl dt {
	width: 200px;
	float: left;
	overflow: hidden;
}
.top-footer-content .blog_list dl dt img {
	width: 100%;
	-moz-transition: -moz-transform 0.3s linear;
	-webkit-transition: -webkit-transform 0.3s linear;
	-o-transition: -o-transform 0.3s linear;
	-ms-transition: -ms-transform 0.3s linear;
	transition: transform 0.3s linear;
	height: 133px;
	object-fit: cover;
}
.top-footer-content .blog_list dl dd {
	margin-left: 215px;
}
.top-footer-content .blog_list dl dd > span {
	color: #fff;
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
}
.top-footer-content .blog_list dl dd > div.title {
	color: #fff;
	font-weight: 600;
}
.top-footer-content .blog_list dl dd > p {
	color: #ddd;
	font-size: 12px;
}
.top-footer-content .blog_list:hover dl dd > div.title {
	text-decoration: underline;
}
.top-footer-content .blog_list:hover dl dt img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
a.view_btn {
	position: absolute;
	top: 0px; right: 30px;
	color: #fff;
	background-color: rgba(0,0,0, 1.0);
	font-size: 0.88em;
	padding: 3px 10px;
}
a.view_btn:hover {
	background-color: rgba(0,0,0, 0.5);
}

/* top ニュース一覧 */
.l-footer-cnt__col--topics {
	position: relative;
	width: 350px;
}
.l-footer-cnt__col--topics ul li > span {
	font-weight: 600;
	color: #fff;
	margin-right: 20px;
	display: block;
}

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

	.top-footer-content {
		display: block;
		padding: 30px 0;
		background: #083388;
	}
	.l-footer-cnt__col {
	  padding: 0 20px
	}
	.l-footer-cnt__col:first-child {
	  padding: 0px 20px;
	}
	.l-footer-cnt__col:last-child {
	  padding-right: 20px
	}
	.l-footer-cnt__col+.l-footer-cnt__col {
	  border-left: 1px solid rgba(255,255,255, 0.5);
	}

	.l-footer-cnt__col--blog {
		width: 100%;
	}
	#blogBox {
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		padding: 0 0 12px 8px;
		display: -ms-flexbox;
		display: flex;
		margin-bottom: 20px;
	}
	.top-footer-content .blog_list {
		max-width: 390px;
		position: relative;
		float: none;
		margin-right: 20px;
	}
	.top-footer-content .blog_list:nth-child(2n) {
		margin-right: 20px;
	}
	.top-footer-content .blog_list:nth-child(n+6) {
		display: block;
	}
	.top-footer-content .blog_list dl {
		position: relative;
		overflow: hidden;
		width: 240px;
	}
	.top-footer-content .blog_list dl dt {
		width: 240px;
		float: none;
		overflow: hidden;
		margin-bottom: 10px;
	}
	.top-footer-content .blog_list dl dd {
		margin-left: 0;
	}
	.top-footer-content .blog_list dl dd > span {
		color: #fff;
		display: block;
		font-weight: 600;
		margin-bottom: 5px;
	}
	.top-footer-content .blog_list dl dd > div.title {
		color: #fff;
		font-weight: 600;
	}
	.top-footer-content .blog_list dl dd > p {
		display: none;
	}

}

/*========================================
メッセージ・独自スタイル
========================================*/
#ceoSign {
	margin-top: 4em;
	margin-bottom: 8em;
	text-align: right;
}
#ceoSign > p {
	font-family: 'Noto Serif JP', serif;
	font-size: 20px;
	letter-spacing: 1px;
	margin-bottom: 15px;
	color: #000;
}

@media screen and (max-width: 767px) {
	#ceoSign {
		text-align: center;
	}
	#ceoSign > p {
		font-size: 18px;
	}
}

.philosophy_dot {
	opacity: 0.3;
	margin: 20px 0;
}
.philosophy_block {
	background: url(../images/common/bg-dot.png) repeat center -1px;
	content: '';
	display: block;
	height: 100%;
	width: 800px;
	margin: 0 auto 30px;
	padding: 50px;
}
.philosophy_block > h3 {
	font-weight: 600;
	font-size: 30px;
	text-align: center;
	margin-bottom: 50px;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 2px;
}
.philosophy_block > ul li  {
	text-align: center;
	margin-bottom: 50px;
	letter-spacing: 2px;
	font-size: 15px;
	line-height: 2.4;
	font-weight: 600;
}
.philosophy_block > ul li:last-child {
	margin-bottom: 0px;
}
.philosophy_box p {
	width: 800px;
	margin: 0 auto;
}
.philosophy_box em {
	color: #083388;
}
.philosophy_box em {
	color: #083388;
}
@media screen and (max-width: 767px) {
	.philosophy_block {
		width: 100%;
		margin: 0 auto 30px;
		padding: 40px 20px;
	}
	.philosophy_block > ul li  {
		font-size: 13px;
		letter-spacing: 0px;
		margin-bottom: 20px;
		text-align: left;
	}
	.philosophy_box p {
		width: auto;
		margin: 0 auto;
	}
}

/*------------------------------
新人社員インタビュー
------------------------------*/
.school-info {
	border: 1px solid #ccc;
	padding: 0.5em;
	background: #fff;
	color: #000;
	margin-top: 10px;
	margin-bottom: 10px;
}
.school-info p > span {
	display: inline-block;
	font-size: 11px;
	background-color: #333;
	color: #fff;
	margin-right: 10px;
	padding: 1px 5px;
}
#rookie .houhu {
	margin-bottom: 10px;
}
#rookie .houhu p.title {
	color: #083388;
	font-weight: 600;
	text-align: center;
}
#rookie .houhu p {
	color: #000;
}
#rookie .message p.title {
	color: #083388;
	font-weight: 600;
	text-align: center;
}
#rookie .message p {
	color: #000;
}
@media screen and (max-width: 767px) {
	#rookie .interview-newlayout-list__item {
		width: auto;
		border-bottom: 1px solid #333;
		padding-bottom: 1.5em;
		margin-bottom: 2em;
	}
}

/*------------------------------
スタッフアンケート
------------------------------*/
.crosstalk-navi {
	border: 2px solid #083388;
	padding: 2em;
	border-radius: 10px;
	position: relative;
	overflow: hidden;
	margin: 0em auto;
	background-color: #fff;
	display: none;
}
@media screen and (max-width: 767px) {
	.crosstalk-navi {
		display: block;
	}
}
.crosstalk-navi > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.crosstalk-navi > ul > li {
	width: 50%;
	padding: 1em;
}
.crosstalk-navi > ul > li:before  {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2727272727;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #fff;
	border-radius: 50%;
	border: 3px solid #083388;
	color: #083388;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Roboto", sans-serif;
	height: 30px;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 30px;
	content: 'Q';
	float: left;
	margin-right: 10px;
}
.crosstalk-navi > ul > li a {
	color: #083388;
	font-size: 16px;
	font-weight: 600;
}

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

	.crosstalk-navi {
		padding: 1em;
		margin: 0em auto 2em auto;
	}
	.crosstalk-navi > ul {
		display: block;
	}
	.crosstalk-navi > ul > li {
		width: 100%;
		padding: 0em;
		margin-bottom: 1em;
	}
	.crosstalk-navi > ul > li:before  {
		font-size: 14px;
		font-weight: 700;
		line-height: 1.2727272727;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		background: #fff;
		border-radius: 50%;
		border: 3px solid #083388;
		color: #083388;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		font-family: "Roboto", sans-serif;
		height: 30px;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 30px;
		content: 'Q';
		float: left;
		margin-right: 10px;
	}
	.crosstalk-navi > ul > li a {
		font-size: 14px;
	}
	
}

/*========================================
山本金属を知る・独自スタイル
========================================*/
.about {
	
}

/*------------------------------
伝統と革新
------------------------------*/
.traditionBox_under {
	margin-bottom: 50px;
}
.traditionBox_under h2 {
	text-align: center;
	margin-bottom: 40px;
}
.traditionBox_under p {
	text-align: left;
}

/*------------------------------
仕事を知る
------------------------------*/
.jobs {
	position: relative;
}
.jobs > h3 {
	font-size: 30px;
	font-weight: 600;
	color: #fff;
	position: absolute;
	top: 0; left: 0;
}
.jobs > h3 > span {
	padding: 8px 15px;
	background: #0C3384;
	display: inline-block;
	margin-bottom: 10px;
}
.jobs > .jobs-picture {
	text-align: left;
}
.jobs > .jobs-picture img {
	margin: 20px 20px 300px 20px;
}
.jobs > .jobs-description {
	background: rgba(255,255,255, 0.95);
	padding: 40px;
	line-height: 200%;
	font-size: 15px;
	width: 80%;
	position: absolute;
	right: 0;
	top: 350px;
}
.jobs:nth-child(even) > h3 {
	right: 0;
	text-align: right;
}
.jobs:nth-child(even) > .jobs-picture {
	text-align: right;
}
.jobs:nth-child(even) > .jobs-description {
	left: 0;
}

.jobs.type1 > h3 > span { background: #15A2D0; }
.jobs.type2 > h3 > span { background: #FF7F00; }
.jobs.type3 > h3 > span { background: #0C3384; }
.jobs.type4 > h3 > span { background: #0A852C; }
.jobs.type5 > h3 > span { background: #D90000; }

@media screen and (max-width: 767px) {
	.jobs > h3 {
		font-size: 17px;
		position: static;
	}
	.jobs > .jobs-picture img {
		margin: 0px;
	}
	.jobs > .jobs-description {
		background: none;
		padding: 20px 0;
		font-size: 14px;
		width: 100%;
		position: static;
		margin-bottom: 40px;
	}
	.jobs:nth-child(even) > h3 {
		text-align: left;
	}
}



/*========================================
インターン独自スタイル
========================================*/
.internBox {
	text-align: center;
	margin-bottom: 50px;
}

#internWorks {
	display:flex;	
	flex-wrap: wrap;
	justify-content: space-between;
}
.jobs_box {
	border: 1px solid #ddd;
	width: 490px;
	margin-bottom: 20px;
	border-radius: 4px;
	background: #fff;
}
.jobs_box header {
	text-align: center;
}
.jobs_box header > h3 {
	background-color: #083388;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	padding: 8px 0;
}
.jobs_box header > p {
	background-color: #2D2D2D;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	padding: 8px 0;
}
.jobs_box > img {
	width: 100%;
}
.jobs_box > p {
	margin: 20px;
}
@media screen and (max-width: 767px) {
	.jobs_box header > h3 {
		font-size: 18px;
		padding: 8px 8px;
	}
	.jobs_box header > p {
		font-size: 15px;
		padding: 8px 8px;
	}
}


/*========================================
採用情報 独自スタイル
========================================*/
.guidelineSchedule {
	display:flex;	
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}
.guidelineSchedule .typeSchedule {
	margin-bottom: 25px;
	width: 320px;
}
.guidelineSchedule .typeSchedule h4 {
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 10px;
	border: 1px solid #083388;
	text-align: center;
	padding: 5px;
	color: #083388;
	background-color: #fff;
}
.guidelineSchedule .typeSchedule ul {
	margin-left: 10px;
}
.guidelineSchedule .typeSchedule ul li  {
	font-size: 16px;
	padding: 5px 0;
	font-family: "Roboto", sans-serif;
}

#guidelineBriefing {
	margin-top: 40px;
}
#guidelineBriefing table {
	border-collapse: separate;
	border-spacing: 3px;
}
#guidelineBriefing table thead th {
	border: 1px solid #083388;
	color: #083388;
	background-color: #fff;
}
#guidelineBriefing table tbody td {
	border: 1px solid #e3e3e3;
	background-color: #fff;
	padding: 10px 10px;
}
.mid-career-link {
	text-align: center;
	padding-top: 80px;
}
.mid-career-link .c-btn-border  {
	border: 2px solid #e60012;
	color: #e60012;
	padding: 14px 32px;
}
.mid-career-link .c-btn-border::after {
	background: #e60012 url(../images/common/arrow-wh.svg) no-repeat center center;
	background-size: auto 5px;
	height: 15px;
	width: 15px;
}
.mid-career-link .c-btn-border:not(:disabled):hover {
	border-color: #e60012;
	color: #fff;
}
.mid-career-link .c-btn-border::before {
	background: #e60012;
}

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

	.guidelineSchedule .typeSchedule {
		width: 100%;
	}
	.guidelineSchedule .typeSchedule h4 {
		font-size: 14px;
	}
	#guidelineBriefing table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		max-height: 320px;
	}
	#guidelineBriefing table tbody {
		overflow-y: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

}

/*========================================
エントリー 独自スタイル
========================================*/
span.must {
	color: #e60012;
	font-size: 12px;
	float: right;
	margin-right: 20px;
}
.entry .guidelineRequirements__detail th {
	padding-left: 20px;
}

.privacy-box {
	background-color: #fff;
	margin: 1em auto;
	padding: 1em;
}
.privacy-box hr {
	border: 1px solid #eee;
}
.privacy-box ol {
	list-style-type: decimal;
	margin-left: 20px;
}
.submit {
	text-align: center;
}
.submit input {
	margin: 1em 1em;
}
.submit input.c-btn-border:hover {
	background: #083388;
}

.entry-info {
	background: url(../images/common/bg-dot.png) repeat center -1px;
	width: 600px;
	margin: 2em auto;
	padding: 2em;
	color: #000;
	border: 1px solid #083388;
}
.entry-info a,
.entry-info span {
	font-family: "Roboto", sans-serif;
	font-weight: 600;
}
.entry-info a {
	color: #083388;
	font-size: 3.5em;
}

.btn-back {
	color: #666;
	border-color: #666;
}
.btn-back::after {
	display: none;
}
.btn-back:not(:disabled):hover {
	border-color: #666;
	color: #fff;
}
.btn-back::before {
	background: #666;
}

@media screen and (max-width: 767px) {
	.entry-info {
		width: 100%;
		margin: 2em auto;
		padding: 1em;
	}
	.entry-info a {
		font-size: 1.8em;
	}

	.submit .c-btn {
		width: 100%;
		margin: 0.5em 0;
	}
}


/*========================================
最新情報 独自スタイル
========================================*/
.newsList {
	background: #fff;
}
.newsList ul {
}
.newsList ul .newsItem  {
	border-top: 1px solid #ccc;
	position: relative;
}
.newsList ul li a {
	padding: 1em;
	border-bottom: 1px solid #ccc;
	display: block;
	color: #333;
}
.newsList ul li a:hover {
	background-color: #083388;
	color: #fff;
}
.newsList .meta {
	font-weight: 600;
	font-family: "Roboto", sans-serif;
}
.newsList ul .newsItem .more  {
	display: inline-block;
	position: absolute;
	z-index: 2;
	right: 30px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	font-size: 0;
	background: #222;
}
.newsList ul .newsItem .more:before {
	z-index: 1;
	top: 11.5px;
	left: 9px;
	width: 14px;
	height: 9px;
	background: url(/assets/images/common/arrow01.png) center no-repeat;
	content: ' ';
	position: absolute;
}


/*========================================
ブトグ投稿CMS 独自スタイル
========================================*/
#newsDetail {
	background-color: #fff;
	padding: 3em;
}
#blogDetail {
	background-color: #fff;
	padding: 3em;
}
.blog-contents {
	width: 700px;
	margin: 0 auto;
	font-size: 1.2em;
	line-height: 2em;
}
.blog-contents h1 {
	font-size: 2.5em;
	line-height: 1.2em;
	margin-bottom: 1em;
	font-weight: 600;
}
.blog-contents h2 {
	font-size: 2em;
	line-height: 1.2em;
	margin-bottom: 1em;
	font-weight: 600;
}
.blog-contents h3 {
	font-size: 1.75em;
	line-height: 1.2em;
	margin-bottom: 1em;
	font-weight: 600;
}
.blog-contents h4 {
	font-size: 1.5em;
	line-height: 1.2em;
	margin-bottom: 1em;
	font-weight: 600;
}
.blog-contents h5,
.blog-contents h6 {
	font-weight: 600;
	margin-bottom: 1em;
}
.blog-contents img {
	width: 100%; height: auto;
}
.blog-contents p {
	margin-bottom: 1em;
}
.blog-contents strong,
.blog-contents em {
	color: #083388;
}
.blog-contents em {
	font-style: italic;
}
.blog-contents ul {
	list-style: disc;
	margin-left: 1.5em;
	margin-bottom: 1em;
}
.blog-contents ol {
	list-style: decimal;
	margin-left: 1.5em;
	margin-bottom: 1em;
}
.blog-contents blockquote {
	background-color: #f3f3f3;
	padding: 1em;
	color: #000;
	margin-bottom: 1em;
}

h1#post-title {
	margin-bottom: 1em;
}
time {
	margin-bottom: 2em;
	display: block;
}
div.back_btn {
	text-align: center;
	padding-top: 3em;
}

@media screen and (max-width: 767px) {
	#blogDetail {
		padding: 1.5em;
	}
	.blog-contents {
		width: 100%;
		margin: 0 auto;
	}
	.blog-contents h1 {
		font-size: 2em;
	}
	.blog-contents h2 {
		font-size: 1.5em;
	}
	.blog-contents h3 {
		font-size: 1.25em;
	}
	.blog-contents h4 {
		font-size: 1.1em;
	}
	.blog-contents h5 {
		font-size: 1em;
	}
	h1#post-title {
		font-size: 1.5em;
		margin-bottom: 0em;
	}
	time {
		font-size: 0.92em;
	}
}

#archiveBox {
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 0 0 0 0;
	max-width: 600px;
	margin: 3em auto 0 auto;
}
#archiveBox > h3 {
	font-weight: 600;
	font-size: 1.2em;
	padding: 1em;
	background-color: #083388;
	color: #fff;
}
#archiveBox ul {
}
#archiveBox ul li {
	border-top: 1px dotted #ccc;
}
#archiveBox ul li a {
	padding: 1em;
	display: block;
}
#archiveBox ul li a:hover {
	background-color: #fff;
}

/*========================================
404・独自スタイル
========================================*/
section.error-404 {
	text-align: center;
	padding: 8em 1em;
}
section.error-404 h1 {
	font-size: 64px;
	font-weight: 600;
	font-family: "Roboto", sans-serif;
	color: #083388;
}
section.error-404 div.page-content p {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
}
section.error-404 div.page-content p:nth-child(2) {
	font-size: 15px;
	font-weight: normal;
}
section.error-404 div.page-content p:nth-child(3) {
	font-size: 17px;
	font-weight: 600;
	margin-top: 5em;
}
@media screen and (max-width: 767px) {
	section.error-404 h1 {
		font-size: 42px;
		font-weight: 600;
		font-family: "Roboto", sans-serif;
	}
	section.error-404 div.page-content p {
		font-size: 16px;
	}
}

/*========================================
汎用スタイル
========================================*/
.dot_title {
	background: url(../images/common/bg-dot.png) repeat center -1px;
	max-width: 1200px;
	margin: 0 auto 100px;
	padding: 45px 20px;
	text-align: center;
}
.dot_title p.titleInner--caption {
	font-size: 18px;
	font-weight: 600;
	line-height: 3.1111111111;
	color: #083388;
	font-family: "Roboto",sans-serif;
}
.dot_title h2 {
	text-align: center;
	font-size: 50px;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.dot_title {
		margin: 0 auto 40px;
	}
	.dot_title p.titleInner--caption {
		font-size: 12px;
	}
	.dot_title h2 {
		font-size: 22px;
	}
}

span.topics-date {
	color: #fff;
	font-weight: 600;
	margin-right: 1em;
}


/*========================================
ページトップボタン
========================================*/
a.l-footer-pagetop {
	position: absolute;
	right: 0px;
	top: -40px;
}
a.l-footer-pagetop-questionnaire {
	display: none;
}
body.interview-questionnaire a.l-footer-pagetop-questionnaire {
	display: block;
	position: fixed;
	right: 20px;
	top: 90%;
	z-index: 100;
	opacity: 0.85;
}
body.interview-questionnaire a.l-footer-pagetop {
	display: none;
}

a.l-footer-pagetop:hover {
	opacity: 0.85;
}
a.l-footer-pagetop img {
	width: 80px; height: 80px;
}
@media screen and (max-width: 767px) {
	a.l-footer-pagetop img {
		width: 40px; height: 40px;
	}
	a.l-footer-pagetop-questionnaire img {
		width: 40px; height: 40px;
	}
}

/*========================================
汎用セレクタ
========================================*/
/* 例：br.sp_brはタブレット以上のサイズでは非表示にする */
.clear {
	clear: both;
	overflow: hidden;
}
.sp_br {
	display: none;
}
@media screen and (max-width: 767px) {
	.sp_br {
		display: block;
	}
}