@charset "UTF-8";


html {
	scroll-behavior: smooth;
}

/* CSS Document */
.pt15 {
	padding-top: 15px;
}

.sec.main {
	position: relative;
	overflow: hidden;
	text-align: center;
	margin: 65px auto 0;
	padding: 30% 0 0;
}

@media screen and (max-width:1280px) {
	.sec.main {
		margin-top: 127px;
	}
}

.sec.main .midashi {
	position: absolute;
	left: -10%;
	top: 12%;
	background: #fff;
	width: 26%;
	padding: 40px 0 40px 6%;
	transform: skewX(-27deg);
	transform-origin: bottom left;
}

.sec.main .midashi h1 {
	display: inline-block;
	font-size: 32px;
	line-height: 1.2em;
	font-weight: 500;
	margin: 0 auto;
	padding: 0;
	transform: skewX(27deg);
}

.sec.main .midashi h1 .red {
	color: #d51b16;
}

.sec.main .midashi h1 .read {
	display: table;
	color: #fff;
	font-size: 14px;
	line-height: 1.2em;
	width: auto;
	background: #333;
	margin: 10px 0 0;
	vertical-align: top;
	padding: 4px 8px;
}

.contents span.eg {
	display: table;
	text-align: center;
	line-height: 1.2em;
	margin: 0 auto 10px;
	padding: 0;
}

.contents h2 {
	display: table;
	margin: 0 auto 80px;
	text-align: center;
	color: #333;
	font-size: 32px;
	font-weight: 500;
}

.contents h2 .sub {
	font-size: 16px;
}

.contents {
	width: 96%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 120px 0;
}

.contents.pt_0 {
	padding-top: 0;
}

.contents p {
	font-weight: 300;
	line-height: 2em;
}

.contents span.eg.wht,
.contents h2.wht,
.contents p.center.wht {
	text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff;
}

.contents p.center.wht {
	font-size: 20px;
}

/*職員メッセージ*/
.sec.jb_bk {
	background: url(../img/jb/message/jb_bk.png) right 20px top 20px no-repeat, #fff3f0;
}

.sec.main.message {
	background: url(../img/message/main.png) top right/80% no-repeat, #d51b16;
}

.int_box {
	width: 100%;
	margin: 0 auto 60px;
	padding: 0;
	overflow: hidden;
}

.int_box .left_img,
.int_box .right_img {
	display: block;
	max-width: 100%;
}

.int_box .left_img {
	float: left;
}

.int_box .right_img {
	float: right;
}

.int_box .t_box {
	display: block;
	overflow: hidden;
	margin: 0 auto;
	padding: 0;
}

.int_box .t_box.right {
	padding-left: 2%;
}

.int_box .t_box.left {
	padding-right: 2%;
}

.int_box .t_box h3,
.contents .movie_box h3 {
	font-size: 24px;
	line-height: 1.2em;
	font-weight: 400;
	padding: 0 0 0 15px;
	border-left: 6px solid #d51b16;
	margin: 0 auto 20px;
}

.int_box .t_box h3 .min,
.contents .movie_box h3 .min {
	display: block;
	font-size: 18px;
}

.contents .movie_box h3 {
	overflow: hidden;
}

.contents .movie_box h3 span.half .min {
	font-size: 14px;
	line-height: 1.2em;
}

.contents .movie_box h3 span.half {
	width: 49%;
	float: left;
	margin: 0 2% 0 0;
}

.contents .movie_box h3 span.half:last-child {
	margin-right: 0;
}

.int_box .t_box p {
	line-height: 2em;
}

.int_box .red,
.movie_box .red {
	color: #d51b16;
}

p.jb_message {
	display: none;
}

.movie_box {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
}

.movie_inner {
	position: relative;
	width: 100%;
	max-width: 800px;
	height: 100%;
	margin: 0 auto;
}

.movie_box video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
}

/* 追加 */
@media all and (-ms-high-contrast: none) {
	.movie_inner {
		height: 450px;
	}

	.movie_box {
		height: 450px;
	}
}

/* 追加ここまで */

/*募集要項*/
.contents.ptb_0 {
	padding: 0;
}

ul.in_nav {
	width: 80%;
	max-width: 1280px;
	margin: -30px auto 0;
	padding: 0;
	overflow: hidden;
}

ul.in_nav li {
	float: left;
	width: 23.5%;
	margin: 0 2% 0 0;
}

ul.in_nav li:last-child {
	margin-right: 0;
}

ul.in_nav li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	line-height: 1.3;
	width: 100%;
	padding: 0;
	height: 60px;
	color: #d51b16;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	background: #fff;
	border: 2px solid #d51b16;
	box-sizing: border-box;
	transition: 0.2s;
}

ul.in_nav li a:hover {
	color: #fff;
	background: #d51b16;
}

ul.in_nav li a:hover:before {
	content: '';
	width: 0;
	height: 0;
	border: 0;
	border: 6px solid transparent;
	border-top: 6px solid #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -10px;
}

/*MR*/
.sec.main.mr {
	background: url(../img/guidelines/mr/main.png) top right/55% no-repeat, #d51b16;
}

/*生産職*/
.sec.main.manufacture {
	background: url(../img/guidelines/manufacture/main.png) top right/55% no-repeat, #d51b16;
}

/*研究開発*/
.sec.main.research {
	background: url(../img/guidelines/research/main.png) top right/55% no-repeat, #d51b16;
}

a.entry_btn {
	display: table;
	margin: 80px auto 0;
	padding: 16px 15%;
	color: #fff;
	text-align: center;
	font-size: 28px;
	text-decoration: none;
	background: url(../img/guidelines/entry_icon.png) center right 5%/30px no-repeat, #d51b16;
	transition: 0.2s;
}

a.entry_btn .jp {
	display: table;
	font-size: 14px;
	line-height: 1.1em;
	margin: 0 auto;
}

a.entry_btn:hover {
	opacity: 0.6;
	filter: "alpha(opacity=0.6)";
}

table.day_table {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	border-collapse: collapse;
}

table.day_table tr th,
table.day_table tr td {
	display: table-cell;
	vertical-align: middle;
	padding: 18px 0;
	background: #fbfbfb;
}

table.day_table tr th {
	background: #d51b16;
	width: 15%;
	font-weight: 400;
	font-size: 24px;
	color: #fff;
	border-bottom: 1px solid #fff;
}

table.day_table tr th .clock {
	text-align: center;
	display: block;
	width: auto;
	padding: 0 0 0 25%;
	margin: 0 auto;
	background: url(../img/guidelines/clock_icon.png) left 30px center no-repeat;
}

table.day_table tr:nth-child(2n) th {
	background: #de7572;
}

table.day_table tr th .tate {
	display: block;
	line-height: auto;
	text-align: center;
	vertical-align: middle;
	margin: 15px auto;
	transform: rotate(90deg);
}

table.day_table tr:nth-child(2n) td {
	background: #fff;
}

table.day_table tr td.oneday {
	font-size: 1.2em;
	font-weight: 400;
	text-align: center;
}

table.day_table tr td dl {
	width: auto;
	padding: 0 0 10px;
	margin: 0 auto 10px;
	border-bottom: 1px dotted #ccc;
	overflow: hidden;
}

table.day_table tr td dl:last-child {
	margin-bottom: 0;
}

table.day_table tr td dl dd {
	width: 75%;
	float: left;
	margin: 0;
	padding: 0;
}

table.day_table tr td dl dd:first-child {
	font-weight: 500;
	color: #d51b16;
	width: 25%;
}

table.day_table tr.yel_bk td {
	width: 100%;
	padding: 12px 0;
	text-align: center;
	background: #ffffd8;
}

table.day_table tr.yel_bk td .font_b {
	display: table;
	font-size: 24px;
	margin: 0 auto;
}

table.day_table tr.yel_bk td .font_b.grn {
	color: #9c3;
}

table.day_table tr.yel_bk td .font_b.grn .txt {
	color: #000;
	font-size: 18px;
	padding-left: 15px;
}

/*日本血液製剤機構について*/
/*法人概要*/
.sec.main.company {
	background: url(../img/jb/company/main.png) top right/80% no-repeat, #d51b16;
}

/*人事メッセージ*/
.sec.main.jb_message {
	background: url(../img/jb/message/main.png) top right/80% no-repeat, #d51b16;
}

.sec .contents ul.human_list_1 {
	margin-left: -40px;
}

.sec .contents ul.human_list_1 li {
	margin: 0 0 1rem 1rem;
}

.sec .contents ul.human_list_1 li span {
	font-weight: bold;
}

.sec .contents ul.human_list_1 li p.arrow {
	margin: 0 0 0 2rem;
	padding: 0;
	line-height: 2em;
	text-indent: -1em;
}

.sec .contents ul.human_list_1 li p.arrow:before {
	font-family: "Font Awesome 5 Free";
	content: '\f061';
	color: #d51b16;
	font-weight: 900;
}

/*業務案内ムービー*/
.sec.main.movie {
	background: url(../img/jb/movie/main.gif) top right/80% no-repeat, #d51b16;
}

/*JB*/
.sec.main.jb {
	background: url(../img/jb/ideal/main.png) top right/80% no-repeat, #d51b16;
}

.sec .contents p.message {
	font-size: 18px;
	text-align: center;
}

.sec .contents p.message .red {
	position: relative;
	color: #d51b16;
	font-weight: 600;
}

.sec .contents p.message .red:before {
	position: absolute;
	display: inline-block;
	content: "";
	width: 100%;
	height: 4px;
	background: #ff6;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.sec.bk01 {
	width: 100%;
	max-width: 1920px;
	background: url(../img/jb/ideal/bk01.jpg) top center no-repeat;
	padding: 20px 0;
}

.sec.bk01 .contents {
	background: rgba(255, 255, 255, 0.7);
}

.sec.bk01 .contents p {
	font-size: 24px;
	font-weight: 200;
	text-align: center;
	margin: 0 auto;
	padding: 0;
}

.sec.bk01 .contents p .basic {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	display: table;
	margin: 0 auto 80px;
	font-size: 64px;
}

.sec.bk03 {
	width: 100%;
	max-width: 1920px;
	background: url(../img/jb/ideal/bk03.png) bottom right no-repeat;
}

.sec.bk03 ul {
	width: 96%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 60px;
	background: url(../img/jb/ideal/inner_bk.png) left top no-repeat, #fff;
	box-sizing: border-box;
}

.sec.bk03 ul li {
	font-size: 22px;
	font-weight: 200;
	padding-left: 45px;
	margin: 0 auto 40px;
	background: url(../img/jb/ideal/check_icon.png) left center/30px no-repeat;
}

.sec.bk03 ul li:last-child {
	margin-bottom: 0;
}

.sec.bk02 {
	width: 100%;
	max-width: 1920px;
	background: url(../img/jb/ideal/bk02.jpg) top center no-repeat;
}

.sec.bk02 p.center {
	text-align: center;
	margin: -40px auto 20px;
}

.sec.bk02 ul.guidelines_list {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}

.sec.bk02 ul.guidelines_list.one {
	margin-bottom: 30px;
}

.sec.bk02 ul.guidelines_list.two {
	width: 62%;
}

.sec.bk02 ul.guidelines_list li {
	float: left;
	width: 32%;
	font-size: 20px;
	font-weight: 200;
	min-height: 280px;
	margin: 0 2% 0 0;
	background: rgba(255, 255, 255, 0.7);
	padding: 60px 20px;
	box-sizing: border-box;
}

.sec.bk02 ul.guidelines_list.two li {
	width: 48%;
	margin: 0 4% 0 0;
}

.sec.bk02 ul.guidelines_list li:last-child {
	margin-right: 0;
}

.sec.bk02 ul.guidelines_list li h3 {
	font-size: 28px;
	font-weight: 400;
	width: 100%;
	display: flex;
	align-items: center;
	text-align: center;
	padding: 0;
	margin: 0 auto 30px;
}

.sec.bk02 ul.guidelines_list li h3:before,
.sec.bk02 ul.guidelines_list li h3:after {
	content: "";
	display: inline;
	/* for IE */
	flex-grow: 1;
	border-top: 1px solid #333;
	padding: 0;
}

.sec.bk02 ul.guidelines_list h3:before {
	margin-right: 0.8em
}

.sec.bk02 ul.guidelines_list h3:after {
	margin-left: 0.8em
}

/*採用スケジュール*/
.sec.main.schedule {
	background: url(../img/schedule/main.png) top right/80% no-repeat, #d51b16;
}

.sec.yazi .contents {
	padding-bottom: 80px;
}

.sec .contents.pt_40 {
	padding-top: 40px;
}

.sec.yazi .contents:after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: 0;
	border: 110px solid transparent;
	border-top: 30px solid #f9f9f9;
	bottom: -140px;
	left: 50%;
	margin-left: -110px;
}

.sec .contents .src_read {
	display: table;
	font-size: 18px;
	font-weight: 300;
	margin: -60px auto 80px;
	text-align: center;
}

.sec .contents ul.schedule_list {
	width: 96%;
	margin: 0 auto 40px;
	padding: 0 0 0 4%;
	overflow: hidden;
}

.sec .contents ul.schedule_list li {
	position: relative;
	float: left;
	width: 20%;
	margin: 0 5% 0 0;
	background: #fff;
}

.sec .contents ul.schedule_list li .inner {
	position: relative;
	display: block;
	width: 100%;
	padding: 30px 0;
	min-height: 220px;
	box-sizing: border-box;
	overflow: hidden;
}

.sec .contents ul.schedule_list li:after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: 0;
	border: 110px solid transparent;
	border-left: 30px solid #fff;
	top: 0;
	right: -140px;
}

.sec .contents ul.schedule_list li:last-child {
	margin-right: 0;
}

.sec .contents ul.schedule_list.two {
	width: 61%;
	margin-bottom: 0;
}

.sec .contents ul.schedule_list.two li {
	width: 43%;
	margin-right: 7%;
}

.sec .contents ul.schedule_list li .day {
	color: #d51b16;
	display: block;
	width: 90%;
	text-align: center;
	font-size: 25px;
	font-weight: 500;
	margin: 0 auto 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #ccc;
}

.sec .contents ul.schedule_list li dl {
	width: 90%;
	padding: 0;
	margin: 0 auto;
}

.sec .contents ul.schedule_list li dl dd {
	font-size: 18px;
	position: relative;
	padding: 6px 0 6px 20px;
	margin: 0 auto;
}

.sec .contents ul.schedule_list li dl dd:before {
	position: absolute;
	display: inline-block;
	content: "・";
	left: 0;
}

.sec .contents ul.schedule_list li .number {
	position: absolute;
	display: block;
	width: 90px;
	height: 90px;
	font-size: 14px;
	color: #fff;
	text-align: center;
	top: -45px;
	left: -45px;
	background: #d51b16;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.sec .contents ul.schedule_list li .number span {
	display: block;
	margin: 55px 0 0 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*業務案内ムービー*/
ul.movie_list {
	width: 100%;
	margin: 0 auto 120px;
	padding: 0;
	overflow: hidden;
}

ul.movie_list li {
	float: left;
	width: 32%;
	margin: 0 2% 15px 0;
}

ul.movie_list li:nth-child(3n) {
	margin-right: 0;
}

ul.movie_list li img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

ul.movie_list li a {
	position: relative;
	display: block;
	text-align: center;
	margin: 0 auto;
	text-decoration: none;
	color: #444;
	transition: 0.2s;
}

ul.movie_list li a::before {
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	margin: -40px 0px 0px -40px;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 50%;
}

ul.movie_list li a::after {
	position: absolute;
	display: inline-block;
	content: "";
	top: 50%;
	left: 50%;
	margin: -18px 0px 0px -9px;
	border: 18px solid transparent;
	border-left-width: 14px;
	border-left-style: solid;
	border-left-color: transparent;
	border-left: 28px solid #ffffff;
}

ul.movie_list li a:hover {
	opacity: 0.6;
	filter: "alpha(opacity=0.6)";
}

/*新卒トップと同じインタビュー一覧*/
ul.slider {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	display: table;
	border: 1px solid #ccc;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

ul.slider li {
	display: table-cell;
	width: 25%;
	margin: 0 auto;
	outline: 0px none black;
	position: relative;
	padding: 0;
	border-right: 1px solid #fff;
	box-sizing: border-box;
}

ul.slider li:last-child {
	border-right: none;
}

ul.slider li a {
	position: relative;
	display: block;
	text-decoration: none;
	color: #333;
	background: #fff;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

ul.slider li a img {
	display: block;
	width: 100%;
}

ul.slider li a .name {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	display: block;
	font-weight: 500;
	margin: 8px auto 0;
	padding: 12px 0;
	text-align: center;
	background: rgba(255, 255, 255, 0.8);
	transition: 0.2s;
}

ul.slider li a:hover .name {
	color: #d51b16;
	padding-bottom: 16px;
	border-bottom: 3px solid #d51b16;
}

ul.slider li a.active .name {
	color: #fff;
	background: rgba(213, 27, 22, 0.8);
	padding-top: 15px;
	padding-bottom: 16px;
}

ul.slider.inner {
	border: none;
	display: block;
	overflow: hidden;
}

ul.slider.inner li {
	float: left;
	display: block;
	width: 23.5%;
	border: none;
	margin-right: 2%;
}

ul.slider.inner li:last-child {
	margin-right: 0;
}

ul.slider.inner li a {
	position: relative;
	display: block;
	text-decoration: none;
	color: #333;
	width: 100%;
	min-height: 100%;
	border-radius: 50%;
	margin: 0 auto;
	padding: 12% 0;
	overflow: hidden;
	box-sizing: border-box;
	background: #fff;
}

ul.slider.inner li a img {
	width: 100%;
	margin-top: -4%;
}

ul.slider.inner li a .name {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	bottom: 15%;
	text-align: center;
	background: none;
	transition: 0.2s;
}

ul.slider.inner li a:hover .name {
	color: #d51b16;
	border-bottom: none;
}

ul.slider.inner li a.active .name {
	color: #d51b16;
}

ul.slider.inner li a .name span {
	position: relative;
	display: inline-block;
}

ul.slider.inner li a .name span::after {
	position: absolute;
	opacity: 1;
	bottom: 0;
	left: 0;
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	/* border or (height & background) etc. */
	border-bottom: 3px solid #d51b16;
	/* margin: 0 auto; */
	/* left to right -> middle out */
}

ul.slider.inner li a:hover .name span::after,
ul.slider.inner li a.active .name span::after {
	width: 100%;
}

.contents ul.rec_list {
	width: 100%;
	margin: 0 auto 25px;
	padding: 0;
	overflow: hidden;
}

.contents ul.rec_list li {
	display: table-cell;
	float: left;
	width: 32%;
	margin: 0 2% 0 0;
	padding: 0;
	border: 1px solid #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.contents ul.rec_list li:last-child {
	margin-right: 0;
}

.contents ul.rec_list li a {
	color: #333;
	font-weight: 500;
	font-size: 28px;
	text-decoration: none;
	display: block;
	width: 100%;
	padding: 8% 8% 60%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .2s ease-out;
	-moz-transition: all .2s ease-out;
	-ms-transition: all .2s ease-out;
	transition: all .2s ease-out;
}

.contents ul.rec_list li a span {
	display: inline-block;
	position: relative;
	padding-bottom: 4px;
	text-shadow: 0 0 8px #fff, 0 0 10px #fff;
}

.contents ul.rec_list li a span::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	/* border or (height & background) etc. */
	border-bottom: 3px solid #d51b16;
	/* margin: 0 auto; */
	/* left to right -> middle out */
}

.contents ul.rec_list li a.active {
	color: #d51b16;
}

.contents ul.rec_list li:hover a span::after,
.contents ul.rec_list li a.active span::after {
	width: 100%;
}

.contents ul.rec_list li:first-child a {
	background: url(../img/bo_img01.jpg) center/100% no-repeat;
}

.contents ul.rec_list li:nth-child(2) a {
	background: url(../img/bo_img02.jpg) center/100% no-repeat;
}

.contents ul.rec_list li:last-child a {
	background: url(../img/bo_img03.jpg) center/100% no-repeat;
}

.contents ul.rec_list li a:hover {
	background-size: 110%;
}

.pc_br:before {
	content: "\A";
	white-space: pre;
}

img.f_img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.accordionlist {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.accordionlist dt,
.accordionlist dd {
	padding: 0;
	margin: 0 auto;
}

.mov_inner {
	margin: 0 auto;
	padding: 0 2%;
	overflow: hidden;
	width: 100%;
	max-width: 800px;
}

.mb_0 {
	margin-bottom: 0px !important;
}

.mb_60 {
	margin-bottom: 60px !important;
}

.mb_120 {
	margin-bottom: 120px !important;
}

/* 画面サイズが1024px以下の場合に適用 */
@media only screen and (max-width: 1024px) {
	.sec.main {
		padding-top: 37.5%;
		margin-top: 56px;
	}

	.sec.main .midashi {
		left: 5%;
		top: 50%;
		width: auto;
		height: auto;
		padding: 20px;
		margin-top: -40px;
		transform: skewX(0deg);
		background: rgba(255, 255, 255, 0.8);
	}

	.sec.main .midashi h1 {
		font-size: 24px;
		transform: skewX(0deg);
	}

	.sec.main .midashi h1 .read {
		display: inline-block;
		font-size: 12px;
		line-height: 1.8em;
		margin-top: 0;
		margin-left: 10px;
	}

	ul.in_nav {
		width: 100%;
		max-width: 1280px;
		margin: -30px auto 0;
		padding: 0;
		overflow: hidden;
	}

	ul.in_nav li a {
		font-size: 14px;
	}

	ul.in_nav li a:hover:before {
		display: none;
	}

	.contents h2 {
		font-size: 28px;
	}

	/*職員インタビュー*/
	.sec.main.message {
		background: url(../img/message/main.png) top right/100% no-repeat, #d51b16;
	}

	.int_box .left_img,
	.int_box .right_img {
		display: block;
		width: 48%;
		max-width: 100%;
	}

	/*募集要項*/
	.sec.main.mr {
		background: url(../img/guidelines/mr/main.png) top right/70% no-repeat, #d51b16;
	}

	/*生産職*/
	.sec.main.manufacture {
		background: url(../img/guidelines/manufacture/main.png) top right/70% no-repeat, #d51b16;
	}

	/*研究開発*/
	.sec.main.research {
		background: url(../img/guidelines/research/main.png) top right/70% no-repeat, #d51b16;
	}

	/*法人概要*/
	.sec.main.company {
		background: url(../img/jb/company/main.png) top right/100% no-repeat, #d51b16;
	}

	/*人事メッセージ*/
	.sec.main.jb_message {
		background: url(../img/jb/message/main.png) top right/100% no-repeat, #d51b16;
	}

	/*業務案内ムービー*/
	.sec.main.movie {
		background: url(../img/jb/movie/main.png) top right/100% no-repeat, #d51b16;
	}

	/*JB*/
	.sec.main.jb {
		background: url(../img/jb/ideal/main.png) top right/100% no-repeat, #d51b16;
	}

	.sec .contents p.message {
		font-size: 16px;
	}

	.sec.bk01 .contents p {
		font-size: 20px;
	}

	.sec.bk01 .contents p .basic {
		margin: 0 auto 60px;
		font-size: 54px;
	}

	.sec.bk03 {
		background: url(../img/jb/ideal/bk03.png) bottom right -80px no-repeat;
	}

	.sec.bk03 ul {
		padding: 40px;
		background: url(../img/jb/ideal/inner_bk.png) left -80px top no-repeat, #fff;
	}

	.sec.bk03 ul li {
		font-size: 18px;
		margin: 0 auto 30px;
	}

	.sec.bk02 ul.guidelines_list.one {
		margin-bottom: 20px;
	}

	.sec.bk02 ul.guidelines_list li {
		font-size: 18px;
		min-height: 240px;
		padding: 30px 15px;
	}

	.sec.bk02 ul.guidelines_list li h3 {
		font-size: 24px;
		margin: 0 auto 20px;
	}

	.sec.bk02 ul.guidelines_list h3:before {
		margin-right: 0.5em
	}

	.sec.bk02 ul.guidelines_list h3:after {
		margin-left: 0.5em
	}

	/*採用スケジュール*/
	.sec.main.schedule {
		background: url(../img/schedule/main.png) top right/100% no-repeat, #d51b16;
	}

	.sec .contents ul.schedule_list li .inner {
		min-height: 220px;
	}

	.sec .contents ul.schedule_list li:after {
		border: 110px solid transparent;
		border-left: 30px solid #fff;
		right: -140px;
	}

	.sec .contents ul.schedule_list li .day {
		font-size: 15px;
	}

	.sec .contents ul.schedule_list li dl dd {
		font-size: 18px;
		padding: 2px 0 2px 20px;
	}

	.sec .contents ul.schedule_list li .number {
		width: 80px;
		height: 80px;
		font-size: 14px;
		top: -40px;
		left: -40px;
	}

	.sec .contents ul.schedule_list li .number span {
		margin: 50px 0 0 0;
	}

	/*業務案内ムービー*/
	ul.movie_list {
		margin: 0 auto 65px;
	}

	ul.movie_list li {
		width: 48%;
		margin: 0 4% 15px 0;
	}

	ul.movie_list li:nth-child(2n) {
		margin-right: 0;
	}

	ul.movie_list li:nth-child(3n) {
		margin-right: 4%;
	}

	ul.movie_list li:nth-child(6n) {
		margin-right: 0;
	}

	/*日本血液製剤機構について*/
	.sec.main.jb .midashi h1 .read,
	.sec.main.company .midashi h1 .read,
	.sec.main.jb_message .midashi h1 .read,
	.sec.main.movie .midashi h1 .read {
		display: block;
		margin: 0 auto;
	}

	.sec.main.jb .midashi,
	.sec.main.company .midashi,
	.sec.main.jb_message .midashi,
	.sec.main.movie .midashi {
		margin-top: -60px;
	}

	/**新卒トップと共通部分**/
	ul.slider li {
		border-right: 0;
	}

	ul.slider li a .name {
		font-size: 14px;
		width: 96%;
		padding: 6px 2%;
	}

	.contents ul.rec_list li a {
		font-size: 20px;
	}

	.contents ul.rec_list li a {
		font-size: 20px;
		padding: 8% 8% 54%;
	}

	.contents ul.rec_list li a span::after,
	.contents ul.rec_list li:hover a span::after {
		display: none;
	}

	table.day_table tr th {
		width: 22%;
		font-size: 20px;
	}

	table.day_table tr td.oneday {
		font-size: 1em;
		width: 22%;
	}

	table.day_table tr td dl dd {
		width: 70%;
	}

	table.day_table tr td dl dd:first-child {
		width: 30%;
	}

	table.day_table tr.yel_bk td .font_b {
		font-size: 24px;
	}


	.accordionlist dt {
		position: relative;
		margin: 0 auto 20px;
		padding: 12px 5%;
		border-bottom: 1px solid #444;
	}

	.accordionlist dt h2 {
		margin: 0 auto;
		padding: 0;
		cursor: pointer;
	}

	.accordionlist dd {
		display: none;
		margin: 0 auto;
		padding: 0;
	}

	.accordion_icon,
	.accordion_icon span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.accordion_icon {
		position: absolute;
		right: 10px;
		top: 50%;
		width: 25px;
		height: 25px;
		background: #fff;
		margin: -20px 0 0;
		padding: 0;
	}

	.accordion_icon span {
		position: absolute;
		left: 48%;
		width: 50%;
		height: 2px;
		background: #333;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-ms-border-radius: 4px;
		-moz-border-radius: 4px;
		-o-border-radius: 4px;
	}

	.accordion_icon span:nth-of-type(1) {
		top: 20px;
		transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
	}

	.accordion_icon span:nth-of-type(2) {
		top: 20px;
		left: 20px;
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		-o-transform: rotate(135deg);
	}

	/*＋、－切り替え*/
	.accordion_icon.active span:nth-of-type(1) {
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		-o-transform: rotate(135deg);
	}

	.accordion_icon.active span:nth-of-type(2) {
		transform: rotate(225deg);
		-webkit-transform: rotate(225deg);
		-moz-transform: rotate(225deg);
		-ms-transform: rotate(225deg);
		-o-transform: rotate(225deg);
	}

	/* 201208追記 */
	.movie_inner {
		height: 450px;
	}

	.movie_box {
		height: 450px;
	}
}


/* 画面サイズが768px以下の場合に適用 */
@media only screen and (max-width: 768px) {
	.sec.main {
		padding-top: 44.2%;
	}

	.sec.main .midashi {
		left: 10%;
		top: 50%;
		width: 80%;
		padding: 8px 0;
		margin: -50px auto 0;
	}

	.sec.main .midashi h1 {
		font-size: 24px;
	}

	.sec.main .midashi h1 .read {
		display: table;
		margin: 5px auto 0;
	}

	.contents {
		padding: 60px 0;
	}

	.contents h2 {
		font-size: 24px;
		margin-bottom: 60px;
	}

	.contents span.eg {
		margin: 0 auto 5px;
	}

	.contents p.center.wht {
		font-size: 16px;
	}

	/*職員インタビュー*/
	.sec.main.message {
		background: url(../img/message/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	.sec.main.message .midashi {
		left: 20%;
		top: 84%;
		width: 60%;
		padding: 4px 0;
		margin: -50px auto 0;
	}

	.sec.main.message .midashi h1 {
		font-size: 22px;
	}

	.sec.main.message .midashi h1 .read {
		padding: 1px 4px 2px;
		margin-top: 4px;
	}

	/* 追記201208 */
	.int_box .left_img,
	.int_box .right_img {
		width: 100%;
		float: none;
		margin: 0 auto 20px;
	}

	/* 追記ここまで */
	.int_box .t_box.right {
		padding-left: 0;
	}

	.int_box .t_box.left {
		padding-right: 0;
	}

	.int_box .t_box h3 {
		font-size: 20px;
	}

	.int_box .t_box p {
		line-height: 1.8em;
	}

	/*募集要項*/
	ul.in_nav {
		margin: -25px auto 0;
	}

	ul.in_nav li {
		width: 48%;
		margin: 0 4% 15px 0;
	}

	ul.in_nav li:nth-child(2n) {
		margin-right: 0;
	}

	ul.in_nav li a {
		width: 100%;
		height: 50px;
		vertical-align: middle;
		padding: 0;
		line-height: 1.2em;
	}


	ul.in_nav li a.pt {
		padding-top: 0;
	}

	ul.in_nav li a:hover:before {
		display: none;
	}

	/*MR*/
	.sec.main.mr {
		background: url(../img/guidelines/mr/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	/*生産職*/
	.sec.main.manufacture {
		background: url(../img/guidelines/manufacture/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	/*研究開発*/
	.sec.main.research {
		background: url(../img/guidelines/research/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	.sec.main.guidelines .midashi {
		left: 5%;
		top: 50%;
		width: 45%;
		padding: 8px 0;
	}

	.sec.main.guidelines .midashi h1 {
		font-size: 22px;
	}

	.sec.main.guidelines .midashi h1 .read {
		padding: 2px 6px;
	}

	a.entry_btn {
		width: 100%;
		margin: 40px auto 0;
		padding: 12px 0;
		font-size: 24px;
	}

	/*日本血液製剤機構について*/
	.sec.jb_bk {
		background: url(../img/jb/message/jb_bk.png) right 20px top 20px/320px no-repeat, #fff3f0;
	}

	/*法人概要*/
	.sec.main.company {
		background: url(../img/jb/company/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	/*人事メッセージ*/
	.sec.main.jb_message {
		background: url(../img/jb/message/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	p.jb_message {
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		display: block;
		font-size: 24px;
		line-height: 1.6em;
		font-weight: 600;
		margin: 0 auto 60px;
		padding: 0;
		text-align: center;
	}


	/*業務案内ムービー*/
	.sec.main.movie {
		background: url(../img/jb/movie/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	.sec.main.company .midashi {
		top: 70%;
		left: 15%;
		right: 15%;
		width: 70%;
		padding: 8px 0;
	}

	.sec.main.jb_message .midashi,
	.sec.main.movie .midashi {
		left: 15%;
		right: 15%;
		top: 84%;
		width: 70%;
		padding: 4px 0;
		margin: -40px auto 0;
	}

	.sec.main.company .midashi h1 .read,
	.sec.main.jb_message .midashi h1 .read,
	.sec.main.movie .midashi h1 .read {
		color: #333;
		font-size: 22px;
		line-height: 1.2em;
		background: none;
		padding: 8px 6px;
	}

	.sec.main.company .midashi h1 .read .sp_red,
	.sec.main.jb_message .midashi h1 .read .sp_red,
	.sec.main.movie .midashi h1 .read .sp_red {
		color: #d51b16;
	}

	/*JB*/
	.sec.main.jb {
		background: url(../img/jb/ideal/main_sp.jpg) top center/100% no-repeat, #d51b16;
	}

	.sec.main.jb .midashi {
		display: none;
	}

	.sec.bk01 {
		background: url(../img/jb/ideal/bk01.jpg) top left 8%/cover no-repeat;
	}

	.sec.bk01 .contents {
		padding: 90px 4% 60px;
		box-sizing: border-box;
	}

	.sec.bk01 .contents .eg,
	.sec.bk01 .contents h2 {
		text-shadow: 2px 2px 2px #fff, -2px -2px 2px #fff;
	}

	.sec.bk01 .contents p {
		font-size: 18px;
		line-height: 1.6em;
	}

	.sec.bk01 .contents p .basic {
		line-height: 1.1em;
		margin: 0 auto 40px;
		font-size: 42px;
	}

	.sec.bk03 {
		background: url(../img/jb/ideal/bk03.png) bottom right/cover no-repeat;
	}

	.sec.bk03 ul {
		width: 100%;
		padding: 20px;
		background: url(../img/jb/ideal/inner_bk.png) left -120px top/cover no-repeat, #fff;
	}

	.sec.bk03 ul li {
		font-size: 16px;
		line-height: 1.4em;
		margin: 0 auto 20px;
	}

	.sec.bk02 {
		background: url(../img/jb/ideal/bk02.jpg) top center/cover no-repeat;
	}

	.sec.bk02 p.center {
		line-height: 1.4em;
		margin: -20px auto 20px;
	}

	.sec.bk02 ul.guidelines_list.one {
		margin-bottom: 0;
	}

	.sec.bk02 ul.guidelines_list.two {
		width: 100%;
	}

	.sec.bk02 ul.guidelines_list li {
		float: none;
		width: 100%;
		font-size: 16px;
		line-height: 1.4em;
		min-height: auto;
		margin: 0 auto 20px;
		padding: 20px;
	}

	.sec.bk02 ul.guidelines_list.two li {
		width: 100%;
		margin: 0 auto 20px;
	}

	.sec.bk02 ul.guidelines_list li h3 {
		font-size: 20px;
		margin: 0 auto 20px;
	}

	.sec .contents p.message {
		text-align: left;
	}

	.sec .contents p.message .red:before {
		display: none;
	}

	/**新卒トップと共通部分**/
	ul.slider {
		border: none;
	}

	ul.slider li {
		float: left;
		display: block;
		width: 49%;
		margin: 0 2% 15px 0;
	}

	ul.slider li:nth-child(2n) {
		margin-right: 0;
	}

	ul.slider li a .name {
		padding-top: 2px;
		padding-bottom: 2px;
	}

	ul.slider li a:hover .name {
		padding-bottom: 4px;
	}

	ul.slider li a.active .name {
		padding-top: 2px;
		padding-bottom: 2px;
	}

	ul.slider.inner {
		width: 100%;
	}

	ul.slider.inner li {
		width: 48%;
		margin: 0 2% 20px 0;
	}

	ul.slider.inner li:nth-child(2n) {
		margin-right: 0;
	}

	ul.slider.inner li a {
		padding: 18% 0;
	}

	ul.slider.inner li a .name {
		font-size: 14px;
		letter-spacing: 0.2pt;
	}

	ul.slider.inner li a img {
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
	}

	ul.slider.inner li a:hover .name span::after {
		display: none;
	}

	.contents ul.rec_list {
		margin-bottom: 0;
	}

	.contents ul.rec_list li {
		display: block;
		float: none;
		width: 100%;
		margin: 0 auto 15px;
	}

	.contents ul.rec_list li a {
		font-size: 18px;
		padding: 18% 8%;
	}

	.contents ul.rec_list li:first-child a {
		background: url(../img/bo_img01.jpg) right top -20px /100% no-repeat;
	}

	.contents ul.rec_list li:nth-child(2) a {
		background: url(../img/bo_img02.jpg) right top -20px /100% no-repeat;
	}

	.contents ul.rec_list li:last-child a {
		background: url(../img/bo_img03.jpg) right top -20px /100% no-repeat;
	}

	/*採用スケジュール*/
	.sec.main.schedule {
		background: url(../img/schedule/main_sp.jpg) top right/100% no-repeat, #d51b16;
	}

	.sec.yazi .contents {
		padding-bottom: 60px;
	}

	.sec .contents .src_read {
		margin: -40px auto 60px;
	}

	.sec .contents ul.schedule_list {
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}

	.sec .contents ul.schedule_list li {
		float: none;
		width: 100%;
		margin: 0 auto 60px;
	}

	.sec .contents ul.schedule_list li .inner {
		min-height: auto;
	}

	.sec .contents ul.schedule_list li:after {
		position: absolute;
		content: '';
		width: 0;
		height: 0;
		border: 0;
		border: 110px solid transparent;
		border-top: 30px solid #fff;
		top: 100%;
		right: 50%;
		margin-right: -110px;
	}

	.sec .contents ul.schedule_list.two li:last-child {
		margin-bottom: 0;
	}

	.sec .contents ul.schedule_list.two li:last-child:after {
		display: none;
	}

	.sec .contents ul.schedule_list.two {
		width: 100%;
		margin-bottom: 0;
	}

	.sec .contents ul.schedule_list.two li {
		width: 100%;
	}

	.sec .contents ul.schedule_list li .day {
		font-size: 28px;
	}

	.sec .contents ul.schedule_list li dl dd {
		font-size: 16px;
		padding: 2px 0 2px 20px;
	}

	/*業務案内ムービー*/
	ul.movie_list {
		margin: 0 auto 20px;
	}

	ul.movie_list li {
		float: none;
		width: 100%;
		margin: 0 auto 20px;
	}

	ul.movie_list li:nth-child(2n) {
		margin-right: 0;
	}

	ul.movie_list li:nth-child(3n) {
		margin-right: 4%;
	}

	ul.movie_list li:nth-child(6n) {
		margin-right: 0;
	}


	table.day_table tr {
		display: block;
	}

	table.day_table tr th {
		display: block;
		width: 94%;
		font-size: 18px;
		overflow: hidden;
		padding: 8px 3%;
	}

	table.day_table tr th .clock {
		display: table-cell;
		text-align: left;
		padding: 0 0 0 35px;
		margin: 0 auto;
		background: url(../img/guidelines/clock_icon.png) left 0 center no-repeat;
	}

	table.day_table tr th .tate {
		display: table-cell;
		line-height: 1em;
		margin: 0;
		padding: 0 15px;
		transform: rotate(0deg);
	}

	table.day_table tr.yel_bk td {
		padding: 16px 0;
	}

	table.day_table tr td,
	table.day_table tr td.oneday {
		display: block;
		width: 94%;
		text-align: left;
		line-height: 1.6em;
		padding: 8px 3%;
		margin: 0 auto;
	}

	table.day_table tr td.oneday {
		font-size: 18px;
		padding: 8px 3% 0;
	}

	table.day_table tr td dl {
		padding: 0;
		margin: 0 auto 10px;
	}

	table.day_table tr td dl dd {
		float: none;
		display: block;
		font-weight: 600;
		width: auto;
	}

	table.day_table tr td dl dd:first-child {
		width: 100%;
	}

	table.day_table tr td dl dd:last-child {
		font-weight: 400;
		margin-bottom: 10px;
	}

	table.day_table tr.yel_bk td .font_b {
		font-size: 20px;
	}

	table.day_table tr.yel_bk td .font_b.grn .txt {
		padding-left: 0;
	}

	.accordionlist dt h2 {
		font-size: 16px;
	}

	.accordionlist dt {
		padding: 12px 0;
	}

	.pc_tab_only {
		display: none;
	}

	.mb_60 {
		margin-bottom: 30px !important;
	}

	.mb_120 {
		margin-bottom: 60px !important;
	}

	.pc_br:before {
		display: none;
	}

	.jb_br:before {
		content: "\A";
		white-space: pre;
	}

}

/* 画面サイズが480px以下の場合に適用 */
@media only screen and (max-width: 480px) {
	.accordionlist dt h2 {
		display: block;
		font-size: 14px;
		text-align: left;
	}

	.ssp_br:before {
		content: "\A";
		white-space: pre;
	}
}

/* 画面サイズが420px以下の場合に適用 */
@media only screen and (max-width: 420px) {

	.sec.bk01 .contents p .basic {
		font-family: "Sawarabi Mincho", serif;
		margin: 0 auto 40px;
		letter-spacing: 0.2pt;
		font-size: 28px;
	}

	p.jb_message {
		font-family: "Sawarabi Mincho", serif;
	}

	.jb_br:before,
	.ssp_br:before {
		display: none;
	}

	/* 201208追記 */
	.movie_inner {
		height: 320px;
	}

	.movie_box {
		height: 320px;
	}
}


/* 画面サイズが360px以下の場合に適用 */
@media only screen and (max-width: 360px) {
	.contents .movie_box h3 span.half {
		display: block;
		width: 100%;
		float: none;
		margin: 0 auto 20px;
	}

	.contents .movie_box h3 span.half:last-child {
		margin-bottom: 0;
	}

}

/* 20200330追記 */

.community-wrap {
	width: 96%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 30px 0;
}

.community-wrap h2 {
	display: table;
	margin: 0 auto 80px;
	text-align: center;
	color: #333;
	font-size: 32px;
	font-weight: 500;
}

.community-wrap .community-link {
	width: 50%;
	margin: 0 auto 25px;
	padding: 0;
	overflow: hidden;
}

.community-link a:hover {
	opacity: 0.7;
}

.community-link img {
	width: 100%;
}

@media only screen and (max-width: 768px) {
	.community-wrap .community-link {
		width: 100%;
		margin: 0 auto 25px;
		padding: 0;
		overflow: hidden;
	}
}

/* 20240912追記 */

.btn_requirements {
	margin-top: -100px;
	padding-top: 100px;
}

@media only screen and (max-width: 1280px) {
	.btn_requirements {
		margin-top: -180px;
		padding-top: 180px;
	}
}

@media only screen and (max-width: 1024px) {
	.btn_requirements {
		margin-top: -80px;
		padding-top: 80px;
	}
}

.btn_requirements a {
	width: 100%;
	max-width: 500px;
	padding: 50px 0 50px 2% !important;
	margin-inline: auto;
	transition: 0.2s;
	border: 2px solid #0168b7;
	background-size: auto 100% !important;
	display: block;
	color: #fff;
	font-weight: 500;
	font-size: 24px;
	text-decoration: none;
}

.btn_requirements.manufacture a {
	background: #0168b7 url(../img/guidelines/manufacture/btn_bg.png) right no-repeat;
}

.btn_requirements.research a {
	background: #0168b7 url(../img/guidelines/research/btn_bg.png) right no-repeat;
}

.btn_requirements.mr a {
	background: #0168b7 url(../img/guidelines/mr/btn_bg.png) right no-repeat;
}

.btn_requirements a:hover {
	opacity: 0.6;
	filter: "alpha(opacity=0.6)";
}

.btn_requirements a span {
	padding-right: 45px;
	background: url(../img/entry_icon.png) right center/25px no-repeat;
}


@media screen and (max-width:768px) {

	.btn_requirements a {
		max-width: 400px;
		padding: 35px 0 35px 4% !important;
		box-sizing: border-box;
		font-size: 16px;
	}

	.btn_requirements a:hover {
		opacity: 0.6;
		filter: "alpha(opacity=0.6)";
	}

	.btn_requirements a span {
		padding-right: 25px;
		background: url(../img/entry_icon.png) right center/15px no-repeat;
	}
}