@charset "utf-8";
/*-----------------------------------------------------
							　　　　　目次

■SP 共通パーツ
・font-size フォントサイズ
・layout　レイアウト
・header ヘッダー
・globalNavi グローバルナビ（バーガーメニュー）
・siteStructure パンくず
・mainImg　メインイメージ
・contentsWrap コンテンツラップ
・subNavi サブナビ
・main メインコンテンツ
・localNavi ローカルナビ
・footer フッター


■SP 汎用スタイル
・見出し
・ボタン
・背景
・枠
・tel番タップ
・その他
　レスポンシブテーブル


■SP ページごと個別スタイル


-----------------------------------------------------*/


/*  ================================================================================================

    SP 共通パーツ

    ============================================================================================  */

/* font-size フォントサイズ
------------------------------------------------------------------ */
html {
	 font-size: 62.5%;
}
body {
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%; /* iPhone safari ランドスケープ時　文字サイズ対応 */
}
body#top {
	letter-spacing: 0.07em;
}
img {
	max-width: 100%;
}

/* layout　レイアウト
------------------------------------------------------------------ */
#wrapper {
	margin-top: 50px;/* ヘッダーの高さ分 */
}


/* header　ヘッダー
------------------------------------------------------------------ */
header {
	margin-top: 0;
	top: 0;
	position: fixed;
	height: 50px;
	width:100%;
	z-index:100;
	background: #ffffff;
	border-bottom: 1px solid #dcdcdc;
	line-height: 1.75;
}
body#top header {
	border: none;
}
header:after {
	content:" ";
	display:block;
	clear:both;
}
header #headerWrap {
	height: 50px;
}
#header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 55px;
	border-bottom:5px solid #023f73;
}
.logo {
	width: 23.7vw;
	margin-left: 4vw;
	margin-right: auto;
}
.logo img {
	vertical-align: middle;
	max-height: 23px;
}
/* #headerSpeaker {
	width: 32vw;
	margin-right: 4.8vw;
} */
#headerSpeaker img {
	max-height: 30px;
}
.headerSearchSp{
	margin-right: 15px;
	width: 20px;
	height: 25px;
}

#headerContents{
	margin-left: 0px;
}

.searchspNone{
	display:none;
}

/*ヘッダー検索窓*/
#headerSearchSp{
	margin-top: 0;
	top: 50px;
	position: fixed;
	width: 100%;
	z-index: 100;
	background: #ffffff;
	padding: 10px;
}
#headerSearchSp form{
	display: flex;
}

#headerSearchSp input#ss-query2{

	border:1px solid #333333;
	border-radius: 5px;
	width:80%;
}
#headerSearchSp input.btnSearch{
	display: block;
	width: 100px;
	background: #CCC;
	border:1px solid #333333;
	border-radius: 5px;
}

/* globalNavi グローバルナビ（バーガーメニュー）
------------------------------------------------------------------ */
/* トグル */
#toggle,
#toggle span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#toggle {
	position: relative;
	width: 50px;
	height: 50px;
	flex-shrink: 0;
	margin-right: 0;
}
#toggle span {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	width: 26px;
	height: 3px;
	background-color: #023f73;
}
#toggle span:nth-of-type(1) {
	top: 15px;
}
#toggle span:nth-of-type(2) {
	top: 24px;
}
#toggle span:nth-of-type(3) {
	bottom: 14px;
}
#toggle.active span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-315deg);
	transform: translateY(9px) rotate(-315deg);
}
#toggle.active span:nth-of-type(2) {
	opacity: 0;
}
#toggle.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(315deg);
	transform: translateY(-9px) rotate(315deg);
}





/* バーガーメニュー */
/*医療関係者*/
#medicalPersonnelWrap .medicalmegaMenuColumn .medicalBlue{
	background:#023f73;
	padding:15px;
	margin: 15px 20px;
}
.medicalBlue .productlist{
	background:#fff;
	color:#023f73;
	height:40px;
	margin-bottom:10px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.medicalBlue .words .wordsCell.noPush{
	color:gray;
	background: white;
	cursor: default;
}
.medicalBlue .productlist:hover,
.medicalBlue .codeList:hover,
.medicalBlue .words .wordsCell:hover{
	opacity:0.7;
}
.medicalBlue .words .wordsCell.noPush:hover{
	opacity:1;
}
.medicalBlue .search{
	display: inline-block;
	width:100%;
	background:url(/library/img/common/header/btn_search.png)no-repeat;
	background-color:#fff;
	background-position:right 10px center;
}
.medicalBlue .input{
	padding: 8px 10px;
	margin-right: 10px;
	letter-spacing: 1px;
	color: #ccc;
	font-size: 1.6rem;
}

.medicalBlue .searchForm{
	position: relative;
}

.medicalBlue input.search + button {
	position: absolute;
	width: 40px;
	height: 41px;
	top: 0;
	right: 0;
	cursor: pointer;
}
.medicalBlue .words{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top:10px;
}
.medicalBlue .words .wordsCell{
	width:58px;
	height:40px;
	background:#e5ebf1;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor:pointer;
	font-weight: bold;
}
.medicalBlue .words .wordsCell.divBr{
	margin-right:0px;
}
.medicalBlue .codeList{
	background:#fff;
	margin-top:10px;
	height:40px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.medLink {
	padding:0 20px;
	margin-bottom:20px;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.medLink div {
	width:48%;
	margin:0 0 10px 0;
}
.medLink div a {
	background:#023f73;
	width:100%;
	display:inline-block;
	text-align:center;
	padding:15px 0;
	font-size:16px;
	color:#fff;
}
.medLink .productsBtn {
	text-align:center;
	border: 2px solid #023F73;
	font-weight:bold;
	color:#023F73;
	margin-bottom:10px;
	padding:10px;
	display:block;
	width:100%;
}

#medicalPersonnelWrap .medicalmegaMenuColumn .medicalGray{
	background:#d6e1e9;
	padding:1px 15px;
	margin: 15px 20px;
}
.medicalGray .productlist{
	background:#fff;
	color:#023f73;
	height:40px;
	margin-bottom:10px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.medicalGray .words .wordsCell.noPush{
	background: #eee;
	color: #ccc;
	cursor: default;
}
.medicalGray .productlist:hover,
.medicalGray .codeList:hover,
.medicalGray .words .wordsCell:hover{
	opacity:0.7;
}
.medicalGray .words .wordsCell.noPush:hover{
	opacity:1;
}
.medicalGray .search{
	display: inline-block;
	width:100%;
	background:url(/library/img/common/header/btn_search.png)no-repeat;
	background-color:#fff;
	background-position:right 10px center;
}
.medicalGray .input{
	padding: 8px 10px;
	margin-right: 10px;
	letter-spacing: 1px;
	color: #ccc;
	font-size: 1.6rem;
}

.medicalGray .searchForm{
	position: relative;
	margin: 10px 0;
}

.medicalGray input.search + button {
	position: absolute;
	width: 40px;
	height: 41px;
	top: 0;
	right: 0;
	cursor: pointer;
}
.medicalGray .words{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top:10px;
}
.medicalGray .words .wordsCell{
	width:58px;
	height:40px;
	background:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor:pointer;
	font-weight: bold;
}
.medicalGray .words .wordsCell.divBr{
	margin-right:0px;
}
.medicalGray .codeList{
	background:#fff;
	margin-top:10px;
	height:40px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.medicalmegaMenuColumn .areaBtWrap {
	padding:0 20px;
}
.medicalmegaMenuColumn .areaBtWrap .fullWidthBtn {
	text-align:center;
	font-size:18px;
	font-weight:bold;
	color:#023F73;
}
.medicalmegaMenuColumn .areaBtWrap a {
	display:flex;
	border: 2px solid #023F73;
	font-weight:bold;
	color:#023F73;
	margin-bottom:10px;
	padding:10px;
}
.medicalmegaMenuColumn .areaBtWrap a img {
	height:30px;
	margin:0 10px;
}


.megaMenuWrap{
	background:rgba(255, 255, 255, 1);
}


#globalNaviBox{
	display: none;
	width: 100%;
	margin: 0 auto 0;
	letter-spacing: -.40em;
	overflow-y: scroll;
	height: 420px;
	height:calc(90vh - 50px);
}
.globalNavi {
	width: 100%;
	margin: 0 auto 0;
	letter-spacing: -.40em;
}
.globalNavi li{
	letter-spacing: normal;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom:1px solid #fff;
}
.globalNavi li > p{
	position: relative;
	display: block;
	padding: 13px;
	color: #fff;
	text-align: left;
	text-decoration: none;
	background-color: #023F73;
}

.globalNavi li > a{
	position: relative;
	display: block;
	padding: 13px;
	color: #fff;
	text-align: left;
	text-decoration: none;
	background-color: #023F73;
}

.globalNavi li > p:before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.globalNavi li > p:before{
	width: 2px;
	height: 20px;
	border-top: 0px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}




.globalNavi li > p:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	content: "";
	vertical-align: middle;
}


.globalNavi li > p:after{
	width: 2px;
	height: 20px;
	border-top: 0px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transition: all .4s;
}
.globalNavi li > p.open:after{
	width: 2px;
	height: 20px;
	border-top: 0px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	transition: all .4s;

}


.globalNavi li .megaMenuTtl{
	padding: 15px 15px 0 15px;
	color: #023F73;
	font-weight: bold;

}
.globalNavi a.item1 {
	border: 2px solid #023F73;
	background:#fff;
	height: 55px;
	display: flex;
	margin:10px 20px;
	text-align: center;
	color: #023F73;
	font-size: 1.3rem;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.globalNavi a.item2 {
	border: 2px solid #023F73;
	background:#023F73;
	height: 90px;
	display: flex;
	margin:20px 20px 10px;
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.globalNavi a.item2 .innerWrap span{
	display:block;
}
.globalNavi a.item2 .innerWrap span.boxTtl{
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 6px;
	background:url(/library/img/common/header/ico_arrow.png) no-repeat right center;
}

.globalNavi a.item3 {
	border: 2px solid #023F73;
	background:#fff;
	height: 90px;
	display: flex;
	margin:10px 20px;
	text-align: center;
	color: #023F73;
	font-size: 1.3rem;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.globalNavi a.item3 .innerWrap span{
	display:block;
}
.globalNavi a.item3 .innerWrap span.boxTtl{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 6px;
}

.globalNavi a.item4 {
	border: 2px solid #023F73;
	height: 50px;
	display: flex;
	margin:10px 20px;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background:url(/library/img/common/header/ico_arrow.png)no-repeat right 15px center;
	background-color:#023F73;
	padding-right:12%;
}
.globalNavi a.item5 {
	border: 2px solid #023F73;
	height: 50px;
	display: flex;
	margin:10px 20px;
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background:url(/library/img/common/header/ico_arrow.png)no-repeat right 15px center;
	background-color:#023F73;
	padding-right:12%;
}
.globalNavi a.item6 {
	background:#023F73;
	display: block;
	margin:10px 20px;
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	cursor: pointer;
	padding:10px;
}
.globalNavi a.item6 .innerWrap span{
	display:block;
}
.globalNavi a.item6 .innerWrap span.boxTtl{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 6px;
}

.globalNavi .megaMenuLinkInner{
	padding-bottom:10px;
}
.megaMenuWrap{
	display:none;
}
.spBottomContents{
	background: rgba(2,63,115,0.9);
	padding: 27px 20px 40px;
}
.globalNavi .spBottomContents a.item5 {
	border:1px solid #fff;
	height: 50px;
	display: flex;
	margin:0;
	text-align: center;
	color: #fff;
	font-size:1.6rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background:unset;
	background-color:#023F73;
	padding-right:0;
}
.spBottomContents a,
.spBottomContents p{
display:flex;
justify-content: center;
align-items: center;
cursor: pointer;
}

.spBottomContents p.item6{
border:2px solid #fff;
background:#fff;
color:#023f73;
height:50px;
font-size:1.6rem;
font-weight:bold;
cursor:pointer;
}
.spBottomContents a.item5.mt15,
.spBottomContents p.item6.mt15{
margin-top:15px;
}



/*株主・投資家の皆さま*/
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox a,
#globalNaviBox .megaMenuWrap .stockWrap .icoNews{
	background: url(/library/img/common/header/btn_arrow_b.png) no-repeat right 15px center;
	display: block;
	margin:15px 20px;
	padding:20px 19px;
	font-weight: bold;
	font-size: 1.8rem;
	color: #023f73;
	border: 2px solid #023F73;
}
#globalNaviBox .megaMenuWrap .stockWrap .icoNo {
	background: url(/library/img/common/header/btn_arrow_b.png) no-repeat right 15px center;
	display: block;
	margin:15px 20px;
	padding:20px 19px;
	font-weight: bold;
	font-size: 1.8rem;
	color: #023f73;
	border: 2px solid #023F73;
}
#globalNaviBox .megaMenuWrap .stockWrap .topMessage{
	background: #023f73 url(/library/img/common/header/ico_arrow.png) no-repeat right 15px center;
	display: block;
	margin:15px 20px;
	padding:20px 19px;
	font-weight: bold;
	font-size: 1.8rem;
	color: #ffffff;
	border: 2px solid #023F73;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .btnArea a span:before,
#globalNaviBox .megaMenuWrap .stockWrap .icoNews span:before{
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	vertical-align: middle;
}
#globalNaviBox .megaMenuWrap .stockWrap .icoNews span:before{
	content: "";
	display: inline-block;
	width: 35px;
	height: 31px;
	background: url(/library/img/common/header/ico_irNews.png) center no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}

#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .financial span::before{
	background: url("/library/img/common/header/ico_ir_01.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .library span::before{
	background: url("/library/img/common/header/ico_ir_02.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .news span::before{
	background: url("/library/img/common/header/ico_ir_07.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .business span::before{
	background: url("/library/img/common/header/ico_cp_02.png") no-repeat left center;
	background-size: 27px;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .esg span::before{
	background: url("/library/img/common/header/ico_ir_04.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .stock span::before{
	background: url("/library/img/common/header/ico_ir_05.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockLeftBox .investor span::before{
	background: url("/library/img/common/header/ico_ir_06.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockRightBox .stockLinkWrap {
	margin: 0 20px;
}
#globalNaviBox .megaMenuWrap .stockWrap .stockRightBox .stockLinkWrap a {
	background-color: #ffffff;
	border-bottom: 1px solid #d7e2e8;
	display: block;
	color: #023f73;
	text-align: left;
	padding: 20px 0;
}
#globalNaviBox .megaMenuWrap .stockWrap .btnArea {
	width: auto;
}

/*サステナビリティ*/
#megaSustainabilityWrap{
	margin: 15px 20px 0;
}
#megaSustainabilityWrap .topMessage{
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 10px 0px;
	text-align: center;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: bold;
	background: #023F73 url(/library/img/common/header/ico_arrow.png)no-repeat right 15px center;
}
#megaSustainabilityWrap .csrWrap {
	margin-bottom: 10px;
}
#megaSustainabilityWrap .csrWrap .btnArea a,
#megaSustainabilityWrap .csrWrap .csrTtl,
#megaSustainabilityWrap .basicPolicy{
	border: 2px solid #023F73;
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 10px 0px;
	text-align: center;
	color: #023F73;
	font-size: 1.8rem;
	font-weight: bold;
	background: url(/library/img/common/header/btn_arrow_b.png)no-repeat right 15px center;
}

#globalNaviBox .megaMenuWrap #megaSustainabilityWrap .sustainabilityInner .basicPolicy span::before{
	content: "";
	display: inline-block;
	width: 45px;
	height: 38px;
	background: url(/library/img/common/header/ico_sustainability.gif) center no-repeat;
	background-size: contain;
	margin-right: 10px;
	vertical-align: middle;
}

#megaSustainabilityWrap .csrWrap .csrTtl{
	margin-bottom: 0;
}
#megaSustainabilityWrap .csrWrap .susSubLinkWrap{
	border-right: 2px solid #023F73;
	border-left: 2px solid #023F73;
	border-bottom: 2px solid #023F73;
}
#megaSustainabilityWrap .csrWrap .susSubLinkWrap > div a{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #023F73;
	height: 55px;
	padding: 0 20px;
	color: #023F73;
}
#megaSustainabilityWrap .csrWrap .susSubLinkWrap > div:last-child{
	border-bottom: none;
}
#megaSustainabilityWrap .sustainabilityBottom .ovalBtnWrap {
	margin-bottom: 10px;
}
#megaSustainabilityWrap .sustainabilityBottom .ovalBtnWrap  > div a{
	padding: 20px 0;
	border-bottom: 1px solid #d7e2e8;
	display: block;
	color: #023f73;
	text-align: left;
}
#megaSustainabilityWrap .sustainabilityBottom{
	padding-bottom: 10px;
}
#megaSustainabilityWrap .sustainabilityBottom .imgBnr{
	margin-bottom: 10px;
}
#globalNaviBox .megaMenuWrap #megaSustainabilityWrap .btnArea {
	width: auto;
}


.g5 .megaMenuLinkInner{
	padding-bottom:0;
}

/*研究開発*/
#globalNaviBox .megaMenuWrap .rdWrap{
	margin: 15px 20px 0;
}
#globalNaviBox .megaMenuWrap .rdWrap .rdBox .imageBnr{
	border: 2px solid #023F73;
    height: 60px;
	margin-bottom:10px;
    display: flex;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: url(/library/img/common/header/ico_arrow.png)no-repeat right 15px center;
    background-color: #023F73;
	padding-right:12%;
}
#globalNaviBox .megaMenuWrap .rdWrap .btnArea .whiteBtn {
		border: 2px solid #023F73;
    height: 60px;
    display: flex;
    margin: 10px 0px;
    text-align: center;
    color: #023F73;
    font-size: 1.6rem;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: url(/library/img/common/header/btn_arrow_b.png)no-repeat right 15px center;
		padding-right:8%;
}

#globalNaviBox .megaMenuWrap .rdWrap .btnArea a span {
		position:relative;
}
#globalNaviBox .megaMenuWrap .rdWrap .btnArea a span:before{
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: absolute;
	left: -36px;
	top: 1px;
}
#globalNaviBox .megaMenuWrap .rdWrap .system span:before{
	background: url("/library/img/common/header/ico_rd_01.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .rdWrap .drug span:before{
	background: url("/library/img/common/header/ico_rd_02.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .rdWrap .clinical span:before{
	background: url("/library/img/common/header/ico_rd_03.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .rdWrap .partner span:before{
	background: url("/library/img/common/header/ico_rd_04.png") no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .rdWrap .logical span:before{
	background: url("/library/img/common/header/ico_rd_05.png") no-repeat left center;
	background-size: contain;
}
.rdWrap .rdBtnBox .btnArea:last-child a{
	padding: 20px 0;
	border-bottom: 1px solid #d7e2e8;
	display: block;
	color: #023f73;
	text-align: left;
}

.g7 .megaMenuLinkInner{
	padding-bottom:0;
}
.g7 .btnArea {
	width: auto;
}
/*採用情報*/
.recruitWrap{
	margin: 15px 20px 0;
}
.recruitWrap img{
	max-width: 100%;
}

.recruitWrap .recruitTtl{
	font-size: 1.5rem;
	font-weight: bold;
}
.recruitWrap .recruitLeftBox .recruitTtl::after{
	content: "";
	display: inline-block;
	width: 30px;
	height: 6px;
	background: url("/library/img/common/header/ico_arrow.png") no-repeat left center;
	background-size: contain;
	vertical-align: middle;
	margin-left: 15px;
}

.recruitWrap .recruitLinkBlock a.whiteBtn.btnArrow {
	border: 2px solid #023f73;
	height: 60px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 10px 0px;
	text-align: center;
	color: #023f73;
	font-size: 1.6rem;
	font-weight: bold;
	cursor: pointer;
	background: url("/library/img/common/header/btn_arrow_b.png") no-repeat right 15px center;
}

.recruitWrap .recruitLeftBox .recruitTtlSub{
	font-size: 1.3rem;
}
.recruitWrap .recruitLeftBox a{
	display: block;
	background: #023f73;
	color: #ffffff;
	padding: 4%;
}

.recruitWrap .recruitRightBox .recruitSubLinkWrap > div a {
	padding: 20px 0;
	border-bottom: 1px solid #d7e2e8;
	display: block;
	color: #023f73;
	text-align: left;
}
.recruitWrap .recruitRightBox .recruitSubLinkWrap > div:last-child a {
	border-bottom: none;
	padding: 20px 0 10px;
}

/*日本新薬について*/
.companyWrap{
	margin: 15px 20px 0;
	padding-bottom:20px;
}
.companyWrap .flexLeftInner{
	margin-bottom:10px;
}
.companyWrap .headPhotoLink{
	height: 0;
	width: 100%;
	padding-top: 28.632117%;
	background: url(/library/img/common/header/img_compnaymes.jpg) left top no-repeat;
	background-size: contain;
	border: 1px solid #023F73;
	margin-bottom: 10px;
}
.companyWrap .headPhotoLink img{
	max-width:100%;
}
.companyWrap .topMessageLink a{
	margin-bottom: 5px;
	color: #023f73;
}
.companyWrap .flexRightInner .btnArea a,
.contentsBnr > div a{
	border: 2px solid #023F73;
	height: 60px;
	display: flex;
	margin: 10px 0px;
	text-align: center;
	color: #023F73;
	font-size: 1.6rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background: url(/library/img/common/header/btn_arrow_b.png)no-repeat right 15px center;
	padding-right:8%;
}

#globalNaviBox .megaMenuWrap .companyWrap .whiteBtn span {
		position:relative;
}
#globalNaviBox .megaMenuWrap .companyWrap .whiteBtn span:before{
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: absolute;
	left: -40px;
	top: 1px;
}
#globalNaviBox .megaMenuWrap .companyWrap .iconInfo span:before{
	background: url("/library/img/common/header/ico_rd_01.png") no-repeat left center;
	background-size: 30px 30px;
}
#globalNaviBox .megaMenuWrap .companyWrap .iconBusiness span:before{
	background: url("/library/img/common/header/ico_ir_03.png") no-repeat left center;
	background-size: 27px 27px;
}
.companyWrap .medicalContents,
.companyWrap .functionalFoodContents{
	border: 2px solid #023F73;
	margin-bottom:10px;
}
.companyWrap .functionalFoodContents{
	margin-bottom:0;
}
.companyWrap .medicalContents .subLinkTtl a,
.companyWrap .functionalFoodContents .subLinkTtl a{
	height: 55px;
	display: flex;
	text-align: center;
	color: #023F73;
	font-size: 1.8rem;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background: url(/library/img/common/header/btn_arrow_b.png) no-repeat right 15px center;
	border-bottom: 1px solid #023f73;

}
.companyWrap .medicalContents .subLinkTtl a span,
.companyWrap .functionalFoodContents .subLinkTtl a span{
	position: relative;
}
.companyWrap .medicalContents .subLinkTtl a span:before,
.companyWrap .functionalFoodContents .subLinkTtl a span:before{
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: absolute;
	left: -40px;
	top: 1px;
}
#globalNaviBox .megaMenuWrap .companyWrap  .medicalContents .subLinkTtl .iconMedical span:before {
	background: url(/library/img/common/header/ico_cp_04.png) no-repeat left center;
	background-size: contain;
}
#globalNaviBox .megaMenuWrap .companyWrap .functionalFoodContents .subLinkTtl .iconFood span:before {
	background: url(/library/img/common/header/ico_cp_03.png) no-repeat left center;
	background-size: contain;
}
.companyWrap .companySubLink .ovalBtnArea a,
.companyWrap .companySubLink .linkText a{
	padding: 15px 0 15px 15px;
	border-bottom: 1px solid #d7e2e8;
	display: block;
	color: #023f73;
}
.companyWrap .companySubLink a.blueBtnSubLink {
	border-bottom: 1px solid #023f73;
	display: block;
	color: #FFF;
	background:#023f73;
}
.g6 .megaMenuLinkInner{
	padding-bottom:0;
}
.g6 .btnArea {
	width: auto;
}


/* siteStructure　パンくず
------------------------------------------------------------------ */
.siteStructureWrap {
	margin: 0 0 20px;
}
.siteStructure {
	padding-left: 2.67vw;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.07em;
}
.siteStructure li {
	display: inline;
	line-height: 2;
}
.siteStructure li a {
	color: #000;
/*	border-bottom: 1px solid #3f3f3f;*/
	text-decoration: underline;
	position: relative;
}
.siteStructure li:after {
	content:"　>　";
	display: inline;
}
.siteStructure li:last-child {
	font-weight: bold;
}
.siteStructure li:last-child:after {
	content:none;
}
.siteStructure li:last-child a {
	text-decoration: none;
}

/**メガメニューSP用スタイル**/

/* .megaMenuWrap{
 display:none;
} */
.megaMenuWrapSpNone{
	display:none!important;
 }
.spNone{
	display:none!important;
}

/* mainImg　メインイメージ
------------------------------------------------------------------ */
/*#mainImg {
	background: url("/healthy/lib/img/top/img_main_sp.jpg") 0 0 no-repeat;
	background-size: contain;
	width: 100%;
	position: relative;
}*/
#mainTtl {
	width: 82%;
	position: absolute;
	top: 31%;
	left: 0;
	right: 0;
	margin: auto;
}


/* contentsWrap コンテンツラップ
------------------------------------------------------------------ */
.contentsWrap {
	position: relative;
}
.fitWidthB {
	margin-left: 1.34vw;
	margin-right: 1.34vw;
}
body#top .fitWidthB {
	margin-left: 2.67vw;
	margin-right: 2.67vw;
}
body#top #footer .fitWidthB {
	margin-left: 0;
	margin-right: 0;
}



/* footer フッター
------------------------------------------------------------------ */
footer {
	letter-spacing: 0.07em;
}
#footerWrap{
	background-color: #003e73;
}

/* フッターリンク */
footer ul{
	text-align: left;
}
footer ul li a {
	display: inline-block;
	width: 100%;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding: 4.94vw 5.33vw 4.4vw;
}
footer ul:last-child li {
	border-bottom: 1px solid #fff;
}
footer ul:nth-of-type(2) li:nth-of-type(6) {
	letter-spacing: 0;
}
footer ul:last-child li a span{
	display:inline-block;
	position: relative;
	padding-right: 30px;
}

footer ul:last-child li a span::after{
	content:"";
	position: absolute;
	top: 50%;
	right: -10px;
	width: 32px;
	height: 23px;
	margin-top: -12px;
	background: url("/library/img/footer/icon_youtube.png") top left no-repeat;
	background-size: 32px 23px;
}


footer a:link, footer a:visited {
	color:#fff;
}
#footer .row {
	margin: 0;
}
#footer .col-md-12,
#footer .col-sm-12,
#footer .col-xs-12 {
	padding: 0;
}

/* コピーライト */
footer small{
	display: block;
	text-align: center;
	padding: 6.35vw;
	font-size: 1.2rem;
	line-height: 1.33;
	background-color: #003e73;
	color:#fff;
}

/* ページトップ */
.btnPageBtn {
	position: fixed;
	bottom: 1.67vw;
	right: 1.67vw;
	width: 10.75vw;
	z-index: 11;
}

/* overlay */
#overLay {
	display: none;
	width: 100%;
	height:100%;
	text-align: center;
	position: fixed;
	top: 0;
	z-index: 2;
	background: rgba(2,63,115,.9);
}

/****** SP横にした時のメニューの高さ指定 ******/
@media all and (orientation: landscape) {
	#globalNaviBox {
		height:180px;
	}
}

/*section00*/
#section00{
	background:#fff;
}
#section00 .mainBottomText{
	font-size: 1.6rem;
	color: #024073;
	text-align: center;
	font-weight: bold;
	padding: 30px 0;
}


#section00 .mainBottomBtnWrap{
	display:flex;
	justify-content: center;
	padding-bottom: 30px;
}

#section00 .btn_B.topProjectBtn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 160px;
	height: 50px;
	margin: 0;
	background: #023f73;
	color: #ffffff;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: center;
	transition: 0.3s;
}
#section00 .btn_B.topProjectBtn:first-child{
	margin-right: 10px;
}

#section00 .btn_B.topProjectBtn:last-child{
	margin-left: 10px;
}
#section00 a.btn_B.topProjectBtn{
	background: #ffffff;
	color:#023f73;
	border: 1px solid #023f73;
}
#section00 a.btn_B.topProjectBtn:hover{
	color:#ffffff;
	background: #023f73;
}


/*スライド下のボタン*/
.btn_B.topProjectBtn{
	position: relative;
		display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 360px;
	height: 70px;
	margin: 0 auto;
	background: #ffffff;
	color: #023f73;
	border: 1px solid #023f73;
	font-weight: bold;
	font-size: 2.4rem;
	text-align: center;
	transition: 0.3s;
}
.btn_B.topProjectBtn:hover{
background: #023f73;
color: #ffffff;
}

.btn_B.topProjectBtn::before{
	width: 20px;
	height: 1px;
	background: #023f73;
	position: absolute;
	top: 29px;
	bottom: 0;
	right: 6px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}


.btn_B.topProjectBtn::after{
	right: 5px;
	top: 25px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #023f73;
	position: absolute;
bottom: 0;
margin: 0 0 0 0;
content: "";
vertical-align: middle;
transition: .3s;
animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
.btn_B.topProjectBtn:hover::before{
width: 20px;
height: 1px;
background: #ffffff;
}
.btn_B.topProjectBtn:hover::after{
right: 5px;
top: 25px;
width: 0px;
height: 0px;
border-style: solid;
border-width: 5px 0 0 10px;
border-color: transparent transparent transparent #ffffff;
}
.btn_B.topProjectBtn:hover::before,
.btn_B.topProjectBtn:hover::after{
	animation-name: arrow;
}
/*/section00*/

/*section01*/
#section01{
	background: #fff;
	padding-bottom: 60px;
}

#section01 .fitWidthTop{
	padding: 40px 0 30px;
	background: #eaf0f4;
}

#section01 .tabWrap{
	display:flex;
	justify-content: space-between;
	width: 100%;
	height: 50px;
}
#section01 .tabWrap .tab{
	width: 32.33%;
	text-align: center;
	background: #f7f9fb;
	font-size:1.4rem;
	color:#023f73;
	font-weight: bold;
	padding: 5px;
	line-height: 1.4;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

}
#section01 .tabWrap .tab.active{
	background: #ffffff;
	border-bottom: 4px solid #023f73;
}
#section01 .content-area{
	margin-top: 6px;
}
#section01 .content-area .contents ul li{
	background: #ffffff;
	margin-bottom: 2px;
	padding:10px 0;
}
#section01 .content-area .contents ul li:last-child{
	margin-bottom: 0px;
}

#section01 .content-area .contents .newsInnerWrap{
	display:flex;
}
#section01 .content-area .contents .newsInnerWrap .newsdateBox{
	margin:0 10px;
	width: 110px;
}

#section01 .content-area .contents .newsInnerWrap .date{
	/* padding: 0px 5px 5px; */
	color: #626262;
	margin:0 0 5px;
}
#section01 .content-area .contents .newsInnerWrap .date span{
	font-size:1.0rem;
	vertical-align: text-bottom;
}
#section01 .content-area .contents .newsInnerWrap .genre{
	padding: 0px 0 0px 0;
	font-size: 1.2rem;
	letter-spacing: 0;
}
#section01 .content-area .contents .newsInnerWrap span{
	display: block;
/* 	width: 110px; */
/* 	height: 20px; */
	text-align: center;
}
/*企業*/
#section01 .content-area .contents .newsInnerWrap .genre span.category3{
	color: #fff;
	background: #003f73;
	border: 1px solid #003f73;
}
/*研究開発*/
#section01 .content-area .contents .newsInnerWrap .genre span.category4{
	color: #fff;
	background: #33a0df;
	border: 1px solid #33a0df;
}
/*経営・財務*/
#section01 .content-area .contents .newsInnerWrap .genre span.category5{
	color: #fff;
	background: #bd4f80;
	border: 1px solid #bd4f80;
}
/*医薬品*/
#section01 .content-area .contents .newsInnerWrap .genre span.category6{
	color: #fff;
	background: #00a0a8;
	border: 1px solid #00a0a8;
}
/*サステナビリティ*/
#section01 .content-area .contents .newsInnerWrap .genre span.category7{
	color: #fff;
	background: #22ac38;
	border: 1px solid#22ac38;
}
/*食品事業*/
#section01 .content-area .contents .newsInnerWrap .genre span.category8{
	color: #fff;
	background: #f39800;
	border: 1px solid #f39800;
}
/* その他 */
#section01 .content-area .contents .newsInnerWrap .genre span.category9{
	color: #000;
	background: #dce6f2;
	border: 1px solid #dce6f2;
}
/* Notices */
#section01 .content-area .contents .newsInnerWrap .genre span.category2{
	border: 1px solid #003f73;
	color: #000;
	background: #ffffff;
}

#section01 .content-area .contents .newsInnerWrap .genre span.news{
	display: block;
	border: 1px solid #023f73;
	color: #023f73;
	background: #ffffff;
	text-align: center;
	font-weight: bold;
	font-size:1.2rem;
}

#section01 .content-area .contents .newsInnerWrap .newsContent{
	/* padding:15px 20px 15px 0; */
	font-size:1.4rem;
	line-height: 1.4;
	color:#0062b6;
	width:-webkit-calc(100% - 110px);
	width:calc(100% - 110px);

	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
}
#section01 .content-area .contents .newsInnerWrap .newsContent a{
	color:#0062b6;
}
#section01 .content-area .contents .newsInnerWrap .newsContent a:hover{
	text-decoration: underline;
}
#section01 .content-area .contents .newsInnerWrap .newsContent .tempfile{
	border: 1px solid #e60012;
	font-size: 0.8rem;
	color: #e60012;
	vertical-align: middle;
	padding: 2px 3px 0px;
}

#section01 .btn-area ul {

    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 40px auto 0;

}
#section01 .btn-area ul li{
	width: 100%;
}

#section01 .btn-area .btn_A{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 270px;
	height: 60px;
	border: #023f73 1px solid;
	background: #ffffff;
	color: #023f73;
	text-align: center;
	font-weight: bold;
	transition: 0.3s;
	cursor: pointer;
	margin: 0 auto;
}

#section01 .btn-area .btn_A.spArrow:hover{
background: #023f73;
color: #ffffff;
}

#section01 .btn-area .btn_A.spArrow::before{
	width: 30px;
	height: 1px;
	background: #023f73;
	position: absolute;
	top: 30px;
	bottom: 0;
	right: 25px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}


#section01 .btn-area .btn_A.spArrow::after{
	right: 25px;
	top: 25px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #023f73;
	position: absolute;
	bottom: 0;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
#section01 .btn-area .btn_A.spArrow:hover::before{
width: 30px;
height: 1px;
background: #ffffff;
}
#section01 .btn-area .btn_A.spArrow:hover::after{
right: 25px;
top: 25px;
width: 0px;
height: 0px;
border-style: solid;
border-width: 5px 0 0 10px;
border-color: transparent transparent transparent #ffffff;
}
#section01 .btn-area .btn_A.spArrow:hover::before,
#section01 .btn-area .btn_A.spArrow:hover::after{
	animation-name: arrow;
}

#section01 .contents{
	display:none;
}
#section01 .contents.show{
	display:block;
}


/*sectioncovid*/
.section.covid{
	background:#f8f9fd;
	text-align:center;
	padding:20px;
	font-size:1.4rem;
}
.section.covid a{
	color:#2374b6;
}



/*section02*/

#section02{
	/*
	margin-bottom: 80px; */
}
#section02 .dnaArea{
/* 	background-image: url(/library/img/top/img_dna.jpg);
	background-attachment: fixed;
	background-size:contain; */
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#section02 .dnaArea.beforeBg::before{
background: url(/library/img/top/img_dna.jpg) no-repeat center;/* 擬似要素に背景画像 */
background-size: cover;/* cover指定 */
content: "";/* 画像を表示させる為に必要*/
display: block;/*ブロックボックスで表示*/
position: fixed;/* 擬似要素全体を固定 */
width: 100vw;/* 横幅を画面全体 */
height: 100vh;/* 縦幅を画面全体 */
top: 0;/* 上からの配置を0 */
left: 0;/* 左からの配置を0 */
z-index: -1;/*背景画像になるように重ね順を-1*/
}

#section02 .whiteBox{
	background-color: rgba(255,255,255,0.6);
	height: 280px;
	width: 100%;
	margin: 75px 0;

}

#section02 .dnaArea h2{
	margin-top: 30px;
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 5px;
}
#section02 .dnaArea h3{
	margin-top: 10px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: normal;
}
#section02 .dnaArea h3 .dnaMiddle{
	font-weight: bold;
	font-size: 1.8rem;
}
#section02 .dnaArea h3 .dnaSmall{
	font-size: 1.5rem;
}
.btn_B{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 260px;
	height: 50px;
	margin: 0 auto;
	background: #023f73;
	color: #ffffff;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: center;
	transition: 0.3s;
}
a.btn_B{
	color:#ffffff;
}
a.btn_B:hover{
	background: #ffffff;
	color:#023f73;
	border: 1px solid #023f73;
}
a.btn_C{
	color:#000000;
}








/*/section02*/

/*section03*/

#section03{

	background: #fff;
	/* margin-bottom: 40px; */
	position: relative;
	padding:40px 0 40px;
}

#section03:after{
	position: absolute;
	top: 530px;
	content: '';
	display: block;
	height: 2px;
	width: 0%;
	background: #33a0df;
	right:0;
	transition: 1.5s all;
}
#section03.long:after{
	width: calc(100% - 20px);
}

#section03 .imgBox{
	display: flex;
	flex-wrap: wrap;
	padding-top: 40px;
	background: #eaf0f4;
	padding-right: 25px;

}
#section03 .textBox{
	width:100%;
	}

#section03 .photoArea{
	height: 308px;
	width:100%;
	background: url(/library/img/top/img_sub1_sp.png) no-repeat left top;
	background-size: auto;
	background-size: cover;
}
#section03 .photoContent {
	min-height: 310px;
	background: url(/library/img/top/img_sub1.png) no-repeat left top;
	background-size: auto;
	background-size: cover;
	box-shadow: 2px 0px 10px 10px rgba(0,0,0,0.1);
	position: relative;
	width: 100%;
	margin-left: -25px;
}
#section03 .hoverBg{
	width: 100%;
	height: 22%;
	position: absolute;
	background:rgba(2, 63, 115, 0.4);
	bottom:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
}

#section03 .hoverBg img{
	width: 184px;
}

#section03 .textBox .inner h2{
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 40px;
	padding-left: 20px;
	padding-top: 40px;
}
#section03 .textBox .inner p{
	font-size: 1.4rem;
	line-height: 1.9;
	margin-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
}
#section03 .btn_C{
	border: 2px solid #33a0df;
}

#section03 a{
	display:block;
	background:#fff;
	padding: 30px 20px;
	position: relative;
	right: -25px;
	top:-40px;
	border:1px #eaf0f4 solid;
}

#section03 .contentTtl{
	padding-left: 15px;
	font-size:24px;
	font-weight: bold;
}
#section03 .blueline{
	border:1px solid #33a0df;
	margin: 15px 0 20px;
}
#section03 .blueline2{
	border:1px solid #33a0df;
	margin: 15px 0 20px;
}
#section03 .contentText{
	padding-left: 15px;
}
.btn_C{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 70%;
	height: 60px;
	padding-right: 40px;
	text-align: center;
	background: #ffffff;
	transition: .3s;
	margin: 0 auto;
	font-size: 1.4rem;
}
/*→*/
.textLinkArea .contentTtl:before{
	width: 40px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 53px;
	bottom: 0;
	right: 20px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;

}

.textLinkArea .contentTtl:after{
	width: 0px;
	height: 0px;
	position: absolute;
	right: 20px;
	top: 48px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;

}
/*hover →*/
.textLinkArea:hover .contentTtl:before{
	width: 40px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 53px;
	bottom: 0;
	right: 20px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}

.textLinkArea:hover .contentTtl:after{
	width: 0px;
	height: 0px;
	position: absolute;
	right: 20px;
	top: 48px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
.textLinkArea:hover .contentTtl:before,
.textLinkArea:hover .contentTtl:after{
	animation-name:arrow;
}
@keyframes arrow {
	0% {
		opacity:0;
		transform: translate(-20px,0px);
	}
	20% {
		opacity:1;
		transform: translate(0px,0px);
	}
	}



/*section4*/
#section04{
	background: #fff;
	/* margin-bottom: 40px; */
	position: relative;
	padding:0px 0 40px;
}
#section04:after{
	position: absolute;
	top: 490px;
	content: '';
	display: block;
	height: 2px;
	width: 0%;
	background: #22ac38;
	transition: 1.5s all;
}
#section04 a{
	order:1;
}
#section04.long:after{
	width: calc(100% - 20px);
}
#section04 .imgBox{
	display: flex;
	flex-wrap: wrap;
	padding-top: 40px;
	background: #eaf0f4;
	padding-left: 25px;
}
#section04 .textBox{
	width:100%;

}
#section04 .photoArea{
	width:100%;
	min-height: 308px;
	background: url(/library/img/top/img_sub2.jpg) no-repeat left top;
			background-size: auto;
	background-size: cover;
}
#section04 .photoContent {
	min-height: 310px;
	background: url(/library/img/top/img_sub2.jpg) no-repeat left top;
			background-size: auto;
	background-size: cover;
	box-shadow: 2px 0px 10px 10px rgba(0,0,0,0.1);
	position: relative;
	width: 100%;
	margin-left: 25px;
}
#section04 .hoverBg{
	width: 100%;
	height: 22%;
	position: absolute;
	background:rgba(2, 63, 115, 0.4);
	bottom:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#section04 a{
	display:block;
	background:#fff;
	padding: 30px 20px;
	position: relative;
 	left: -25px;
	top:-40px;
	border:1px #eaf0f4 solid;
}
#section04 .contentTtl{
	padding-left: 15px;
	font-size:24px;
	font-weight: bold;
}
#section04 .greenline{
	border:1px solid #22ac38;
	margin: 15px 0 20px;
}
#section04 .greenline2{
	border:1px solid #22ac38;
	margin: 15px 0 20px;
}
#section04 .contentText{
	padding-left: 15px;
}
#section04 .hoverBg img{
	width: 234px;
}

#section04 .textBox .inner h2{
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 40px;
	padding-left: 20px;
	padding-top: 40px;
}
#section04 .textBox .inner p{
	font-size: 1.4rem;
	line-height: 1.9;
	margin-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
}

#section03 .btnMb{
	margin-bottom: 35px;
}
#section04 .btnMb{
	margin-bottom: 35px;
}
#section03 .btn_C{
	border: 2px solid #33a0df;
}
#section04 .btn_C{
	border: 2px solid #22ac38;
}


/**/
a.four.btn_D.btnLink:before,
a.four.btn_D.btnLink:after{
	position: absolute;
	top: 23px;
	bottom: 0;
	right: 0px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
a.four.btn_D.btnLink:before{
	width: 30px;
	height: 1px;
	background: #000;
}
a.four.btn_D.btnLink:after{
	right:0px;
	top: 18px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
}
/**/
a.two.btn_D.btnLink:before,
a.two.btn_D.btnLink:after{
	position: absolute;
	top: 23px;
	bottom: 0;
	right: 0px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
a.two.btn_D.btnLink:before{
	width: 30px;
	height: 1px;
	background: #000;
}
a.two.btn_D.btnLink:after{
	right: 0px;
	top: 18px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
}

a.four.btn_D.btnLink:hover:before,
a.four.btn_D.btnLink:hover:after{
	position: absolute;
	top: 23px;
	bottom: 0;
	right: 0px;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
a.four.btn_D.btnLink:hover:before{
	width: 30px;
	height: 1px;
	background: #000;
}
a.four.btn_D.btnLink:hover:after{
	right: 0px;
	top: 18px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
}
/**/
a.two.btn_D.btnLink:hover:before,
a.two.btn_D.btnLink:hover:after{
	position: absolute;
	top: 23px;
	bottom: 0;
	right: 0;
	margin: 0 0 0 0;
	content: "";
	vertical-align: middle;
	transition: .3s;
	animation: 5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite alternate;
}
a.two.btn_D.btnLink:hover:before{
	width: 30px;
	height: 1px;
	background: #000;
}
a.two.btn_D.btnLink:hover:after{
	right: 0;
	top: 18px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 5px 0 0 10px;
	border-color: transparent transparent transparent #000;
}
#section03 .btnMb{
	margin-bottom: 35px;
}
#section04 .btnMb{
	margin-bottom: 35px;
}


/**/
a.btn_C.green.btnLink:hover:before,
a.btn_C.green.btnLink:hover:after,
a.btn_C.blue.btnLink:hover:before,
a.btn_C.blue.btnLink:hover:after,
a.four.btn_D.btnLink:hover:before,
a.four.btn_D.btnLink:hover:after,
a.two.btn_D.btnLink:hover:before,
a.two.btn_D.btnLink:hover:after{
animation-name: arrow;
}
@keyframes arrow {
0% {
	opacity:0;
	transform: translate(-20px,0px);
}
20% {
	opacity:1;
	transform: translate(0px,0px);
}
}




/**/
a.btn_C.green.btnLink:hover:before,
a.btn_C.green.btnLink:hover:after,
a.btn_C.blue.btnLink:hover:before,
a.btn_C.blue.btnLink:hover:after/* ,
a.four.btn_D.btnLink:hover:before,
a.four.btn_D.btnLink:hover:after,
a.two.btn_D.btnLink:hover:before,
a.two.btn_D.btnLink:hover:after */{
animation-name: arrow;
}
@keyframes arrow {
0% {
	opacity:0;
	transform: translate(-20px,0px);
}
20% {
	opacity:1;
	transform: translate(0px,0px);
}
}

/*section05*/


/* #section05 .SubContentsWrap2{
	display:flex;
	justify-content: space-between;
}
#section05 .leftWrap{
	margin-right: 12px;
} */
#section05{
	background: #fff;
}
#section05 .leftWrap h3,
#section05 .rightWrap h3{
	font-size:2.4rem;
	font-weight: bold;
	text-align: center;

}

#section05 .leftWrap,
#section05 .rightWrap{
	padding-bottom: 30px;
	margin-bottom: 35px;

}

#section05 .leftWrap .subImg,
#section05 .rightWrap .subImg{
	position: relative;
}
#section05 .leftWrap .subImg .hoverBg,
#section05 .rightWrap .subImg .hoverBg{
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
	height: 30%;
	background: rgba(2, 63, 115, 0.4);
display: none;
	justify-content: center;
	align-items: center;
}
#section05 .leftWrap .subImg .hoverBg img{
	width:260px;
}
#section05 .rightWrap .subImg .hoverBg img{
	width:170px;
}

.rightWrap p{
    font-size: 1.8rem;
    text-align: center;
    margin-top: 10px;
    padding: 0 50px;
}
.leftWrap .subTextWrap,
.rightWrap .subTextWrap{
	padding-top: 40px;
}

/* .rightWrap{
	margin-left: 12px;
} */
.SubContentsWrap2 img{
	max-width: 100%;
}
.subBtnWrap{
	margin: 40px auto 0;
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

a.btn_D{
	color: #000;
}
.btn_D{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:start;
	position: relative;
	width: 45%;
	height: 40px;
	background: #ffffff;
	border-bottom: solid #809fb9 1px;
	transition: 0.3s;
	font-size:14px;
}
#section05 .leftWrap .btn_D:nth-child(1),
#section05 .lefttWrap .btn_D:nth-child(2){
	margin-bottom: 20px;

}
a.btnLink.btn_D:after{
	right: 20px;
	top: 20px;
}
a.btnLink.btn_D:before{
	width: 40px;
	height: 1px;
	right: 20px;
	top:25px;
}


#banner{
	padding: 30px 0 0;
	background: #fff;
	margin-bottom: 0!important;
}
#banner .blockend-m{
	margin-bottom:0!important;
}
.bannerWrap{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.bannerWrap img{
	width:100%;
}
.bannerWrap > div{
	width:calc((100% -  15px) / 3) ;
	margin-bottom: 15px;
}


#section06{
	margin-bottom: 0!important;
}

/*  ================================================================================================

    SP 汎用スタイル

    ============================================================================================  */

.disabled {
	position:relative;
	}
	#megaMenuGridWrap .megaMenuColumn .disabled a{
	border: 1px solid #ccc!important;
	}
.disabled a {
	cursor:default;
	pointer-events: none;
	filter: grayscale(1);
	/*opacity: .8;*/
	color:#ccc!important;
}
.disabled a img {
	opacity:.5;
}
.disabled:after {
	content:"(改修中)";
	position:absolute;
	right:10px;
	bottom:15px;
}

#bg01 .btnArea.disabled a{
background: url("/healthy/lib/img/common/ico_arrow.png") center right 10px no-repeat, linear-gradient(to left, #ccc, #ccc 40px, #fff 41px, #fff 100%);}

#bg01 .btnArea.disabled a .titleI {
color:#ccc!important;
}
.disabled:after {
	content:"(改修中)";
	position:absolute;
	right: 13%;
	bottom:15px;
}


/* 本文遷移 隠しボタンスタイル */
.block-skip {
	display: none;
}

#mainContents #section01 .content-area .contents ul li .newsInnerWrap .newsContent {
	color: #0062b6;
}
#mainContents #section01 .content-area .contents ul li .newsInnerWrap .newsContent a:visited {
	color: #000000;
}

.contentsWrap #mainContents .contentsInner .fitWidthA .newslist li p.newsTtl {
	color: #0062b6;
}
.contentsWrap #mainContents .contentsInner .fitWidthA .newslist li p.newsTtl a:visited {
	color: #000000;
}



/* TOP 注意喚起 */
.headsUp {
	background: #fff;
}
.headsUp a {
	color: #e60012;
	padding: 20px;
	display: block;
	border: 2px solid #fff;
	transition: .3s;
	text-align: center;
}
.headsUp a:hover {
	border: 2px solid #e60012;
}