@charset "UTF-8";

/*-------------------------------------------

Slide Menu

-------------------------------------------*/

#drawerMenu #spDrawerMenu .firstHierarchy .secondHierarchy li.noChild > a {
	display: block;
	position: relative;
	padding: 15px 15px 15px 0;
	color: #fff;
}
#drawerMenu #spDrawerMenu .firstHierarchy .secondHierarchy li.noChild {
	border-top: 1px solid #9bd6b7;
}
#drawerMenu #spDrawerMenu .firstHierarchy .secondHierarchy li:first-child {
	border-top: none;
}

@media screen and (max-width: 896px) {
	header[role="banner"] #headerInner .logoWrap {
		width: 160px;
	}
	header[role="banner"] #headerInner .logoWrap > h1,
	header[role="banner"] #headerInner .logoWrap > p > strong {
		width: 160px;
	}
	header[role="banner"] #headerInner .logoWrap img {
		width: auto;
	}
	header[role="banner"] #headerInner #spHeaderMenu > ul {
		margin-bottom: 0;
	}
	header[role="banner"] #headerTop {
		margin-bottom: 0;
	}
	footer[role="contentinfo"] #footerNav {
		display: block;
		padding: 10px;
	}
	body.hdLangEn footer[role="contentinfo"] #footerNav {
		display: none;
	}
	footer[role="contentinfo"] #footerNav > nav div ul {
		display: none;
	}
	footer[role="contentinfo"] #footerInfo #resonaGroupInfo .resonaGroup {
		margin-top: 20px;
	}
	footer[role="contentinfo"] #footerInfo #resonaGroupInfo .resonaGroup > dt {

	}
/*	footer[role="contentinfo"] #footerNav > .footerGroupService {
		width: 100%;
		padding-bottom: 0;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul {
		display: block;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul > li {
		display: block;
		border-bottom: 1px solid #ccc;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul li > a {
		display: block;
		padding: 15px 10px;
		width: auto !important;
		height: auto !important;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul > li {
		text-align: left;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul.nomalLogo {
		border-top: none;
		font-size: 0;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupService > ul.nomalLogo > li {
		width: 50%;
		font-size: 14px;
		display: inline-block;
		vertical-align: middle;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
*/
	footer[role="contentinfo"] #footerNav > .footerGroupSites {
		width: 100%;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap {
		padding-bottom: 5px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul {
		margin: 0 !important;
		display: block;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul > li {
		display: block;
		border-bottom: 1px solid #ccc;
		text-align: left;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul li > a {
		display: block;
		padding: 15px 10px;
		width: auto !important;
		height: auto !important;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo {
		margin-bottom: 7px!important;
		display: block;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li {
		width: auto !important;
		height: auto !important;
		border-right: none;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > a {
		padding:18px 10px 12px 10px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li:first-child > a {
		padding:18px 10px 12px 10px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > a img {
		width: auto;
		height: 37px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > h4 {
		padding: 8px 7px 4px 8px;
		background: #f5f5f5;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul {
		width: 100%;
		margin: 0;
		border: none;
		border-top: solid 1px #d9d9d9;
		border-bottom: solid 1px #d9d9d9;
		border-radius: 0px;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li {
		padding: 0 10px;
		border-right: none;
		border-bottom: solid 1px #ccc;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li:last-child {
		border-bottom: none;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li > a {
		padding: 17px 0 16px 0;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li:last-child a {
		padding: 12px 0 11px 0;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li > a img {
		width: auto;
		height: 33px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.largeLogo > li > ul > li:last-child > a img {
		width: auto;
		height: 44px;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.nomalLogo {
		border-top: none;
		font-size: 0;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.nomalLogo > li {
		width:50%;
		margin:2px 0;
		border:none;
		font-size: 14px;
		display: inline-block;
		vertical-align: middle;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	footer[role="contentinfo"] #footerNav > .footerGroupSites .wrap > ul.nomalLogo > li > a {
		width: 95%!important;
		padding: 7px 1px 10px 1px;
	}
	body.hdLangEn header[role="banner"] #headerInner,
	body.hdLangEn.simpleTempelate header[role="banner"] #headerInner {
		background: url(/group/common/images/bg_header01_en_sp.gif) center 0 no-repeat;
		width: auto;
		background-size: 303px auto;
		background-position: top 4px right 10px;
	}
	body.hdLangEn footer[role="contentinfo"] #footerInfo {
		margin-top: 20px;
	}
	body.hdLangEn  footer[role="contentinfo"] #footerInfo #resonaGroupInfo .resonaGroup {
		margin-top: 0;
	}
	main{
		margin-bottom: 40px;
	}
	body.hdtopPage main {
		margin-bottom: 0;
	}
	#sideNav .sideSns .sideSnsList li {
		width: 35px;
		margin-left: 24px;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy {
		border-top-style: dotted!important;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy .localBlock > dt > a,
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy .fourthHierarchy > li > a {
		font-weight: normal;
		background: #fff;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy .localBlock > dt > a {
		padding: 10px 15px 10px 30px;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy .fourthHierarchy > li > a {
		padding: 10px 15px 10px 45px;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy .thirdHierarchy .localBlock > dt > a.current,
	#sideNav .subNav .subCategoryDetail .thirdHierarchy .fourthHierarchy > li > a.current {
		font-weight: bold;
		background: #e5f4ec;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li:last-child .thirdHierarchy > li:last-child .fourthHierarchy > li:last-child > a {
		-webkit-border-bottom-left-radius: 5px;
		-moz-border-bottom-left-radius: 5px;
		-ms-border-bottom-left-radius: 5px;
		-o-border-bottom-left-radius: 5px;
		border-bottom-left-radius: 5px;
		-webkit-border-bottom-right-radius: 5px;
		-moz-border-bottom-right-radius: 5px;
		-ms-border-bottom-right-radius: 5px;
		-o-border-bottom-right-radius: 5px;
		border-bottom-right-radius: 5px;
	}
	.sideInfo .sideStockPriceArea {
		margin-bottom: 26px;
		background: #fff;
	}
	.enSite 	.sideInfo .sideStockPriceArea {
		margin-bottom: 0;
		padding-bottom: 26px;
	}
	.sideInfo .sideStockPriceArea h2 {
		margin-bottom: 0;
		font-size: 26px;
	}
	.sideInfo .sideStockPriceArea h2 small {
	    font-size: 14px;
	}
	.sideInfo .sideStockPriceArea .linkArea a {
		margin: 0 18vw 18px 18vw;
		padding: 2.4vw 0;
	}
	.sideInfo .sideStockPriceArea .linkArea a span {
		color: #008756;
	}
	.sideInfo .atm {
		margin-top: 0;
		margin-bottom: 25px;
	}
	.sideInfo .iconNews span {
		height: 25px;
		line-height: 25px!important;
	}
	#sideNav .sideInfo > ul > li > a.glyphHdNews > span::before {
	    top: -2px;
	}
	#sideNav .readSpeakerArea {
		display: none;
	}
	#sideNav .serviceInfo {
		padding: 15px 10px ;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li {
		margin-bottom: 10px;
		border-top: none;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li > .categoryBlock > dt > a,
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li.noChild > a {
		background: #fff;
	}
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li > .categoryBlock > dt > a span:before,
	#sideNav .subNav .subCategoryDetail .secondHierarchy > li.noChild > a span:before {
		content: "\e903";
	}
	.mainMarginWide01 {
		margin: 0;
	}
	#wrap #mainArea {
		margin-top: 20px;
	}
	#wrap #mainArea main > section > section,
	#wrap #mainArea main .contentBlockWrap {
		margin-top: 30px;
	}
	#wrap #mainArea main > section > h1 + section,
	#wrap #mainArea main > h1 + .contentBlockWrap,
	#wrap #mainArea main > .contentBlockWrap:first-child {
		margin-top: 0;
	}
	h1.h1Title01 .titleInner {
		font-size: 1.786em;
	}
	h2.h2Title01 .titleInner {
		font-size: 1.429em;
	}
	.hdBunnerList01 {
		margin: 0 -10px;
		padding: 15px 29px;
	}
	.hdBunnerList01.jsSpCarouselArea .carouselControl{
		display: block;
	}
	.hdLinkList01 > li {
		display: block;
		padding-right: 0;
		margin-bottom: 10px;
	}
	.tableTypeGreen01 tbody tr > * {
		padding: 10px;
	}
	.tableTypeGreen01 tbody tr > th {
		padding-bottom: 0;
		text-align: center;
	}
	.spColumn3 > * {
		width: 32% !important;
		margin-left: 2%;
	}
	.spColumn3 > *:nth-child(3n+1) {
		margin-left: 0;
	}
	*[class*="spColumn"] > * {
		float: left !important;
	}
	.btnImg01 {
		display: block;
		padding: 4px 3px;
		text-align: center;
		border: 1px solid #d3d3d3;
		line-height: 1.2;
		color: #000 !important;
		font-weight: bold;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		box-shadow:rgba(0, 0, 0, 0.0980392) 0px 8px 2px -5px;
		-webkit-box-shadow:rgba(0, 0, 0, 0.0980392) 0px 8px 2px -5px;
		-moz-box-shadow:rgba(0, 0, 0, 0.0980392) 0px 8px 2px -5px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.btnImg01 > figure {
		width: 43px;
		margin: 0 auto 7px;
	}
	/*/index.html only style*/
	.hdtopPage .btnImg01 {
		min-height: 6.5em;
	}
	.dateBlock01 dl,
	.dateBlock02 dl {
		margin-bottom: 10px;
	}
	.dateBlock01 dl > dt,
	.dateBlock02 dl > dt {
		width: 100%;
	}
	.dateBlock01 dl > dt.haveIcon {
		width: 100%;
	}
	.dateBlock01 dl > dt.haveIcon > * {
		display: inline-block;
		vertical-align: middle;
	}
	.dateBlock01 dl > dt.haveIcon .iconWrap {
		text-align: left;
	}
	.dateBlock01 dl > dt.haveIcon .date {
		width: auto;
		min-width: 7em;
	}
	.imgBlockA01 .img + .text {
		margin-top: 10px;
	}
	.questionBlock03 > dt {
		padding-top: 5px;
	}
	.questionBlock03 .icon {
		width: 3em;
	}
	.questionBlock03 .icon > * {
		font-size: 0.7em;
	}
	.questionBlock03 .icon .number {
		width: 2em;
	}
	.questionBlock03 > * {
		padding-left: 71px;
	}

	/*-------------------------------------------

	mediaBlock

	-------------------------------------------*/

	.mediaBlock2 {
		min-height:auto;
	}
	.mediaBlock2 .col {
		width: 100%;
		margin-bottom: 20vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlock2 .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
	}
	.mediaBlock2 p {
		position: absolute;
		top: 56vw;
	}
	.mediaBlock3 {
		min-height:auto;
	}
	.mediaBlock3 .col {
		width: 100%;
		margin-bottom: 20vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlock3 .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
		margin:0!important;
	}
	.mediaBlock3 p {
		position: absolute;
		top: 56vw;
	}
	.mediaBlock2b .boxBlock01 {
		min-height:auto;
	}
	.mediaBlock2b .blockColumn2 > div {
		width: 100%;
		height:auto!important;
		margin-bottom: 20vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlock2b .blockColumn2 > div:last-child {
		margin-bottom: 15vw;
	}
	.mediaBlock2b .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
	}
	.mediaBlock2b p {
		position: absolute;
		top: 52vw;
	}
	.mediaBlock3b .boxBlock01 {
		min-height:auto;
	}
	.mediaBlock3b .blockColumn3 > div {
		width: 100%;
		height:auto!important;
		margin-bottom: 20vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlock3b .blockColumn3 > div:last-child {
		margin-bottom: 15vw;
	}
	.mediaBlock3b .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
		margin:0!important;
	}
	.mediaBlock3b p {
		position: absolute;
		top: 52vw;
	}
	.mediaBlockS {
		min-height:auto;
		width: 100%;
		height: auto;
		margin-bottom: 20vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlockS .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
	}
	.mediaBlockS p {
		position: absolute;
		top: 52vw;
	}
	.mediaBlockSS {
		min-height:auto;
		width: 100%;
		height: auto;
		margin-bottom: 10vw;
		padding-bottom: 56.25%;
		position: relative;
	}
	.mediaBlockSS .jstream-eqPlayer {
		width:100%!important;
		height:100%!important;
	}
	.mediaBlockSS p {
		position: absolute;
		top: 52vw;
	}

	/*-------------------------------------------

	img

	-------------------------------------------*/

	.spFullw {
		width:100%!important;
		height:auto!important;
	}

	@media screen and (min-width: 415px) {
		/*------------------------------------------

		exception layout

		-------------------------------------------*/
		.message figure {
			max-width: 25vw!important;
			padding-left: 15px;
			padding-bottom: 10px;
			float: right!important;
		}
		.message div {
			max-width: auto!important;
		}
	}


	/*-------------------------------------------

	tabs

	-------------------------------------------*/
	.tabs li {
		padding: 12px 0;
		font-size: 18px;
	}
	.tabs li.current {
		color: #fff;
		background: #008756;
	}
	.tabs li:hover {
		opacity: 1;
	}
	.lnavi > div > div {
		display: block;
	}
	.title {
		margin-bottom: 5px;
	}
	.lnavi {
		display: block;
	}
	.lnavi dl dt h3 {
		padding: 16px 15px 14px 15px;
	}
	.lnavi dl dt h3 a {
		padding-left: 26px;
	}
	.lnavi dl dd {
		padding: 10px 15px;
	}

}