@charset "utf-8";

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

[ information ]
概要 : 基本スタイル設定

[ index ]
■ デフォルトリセット
■ 音声ブラウザ用ナビゲーション
■ テキストリンク
■ レイアウトベース
■ ヘッダー
■ フッター
■ アドビなどダウンロード
■ floatクリア
■ ClearFix
■■レスポンシブ用sytle■■
■ ページの先頭へ戻る
■ ぱんくずナビ

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

/* ---------------------------------------------------------
■ ウェブフォント
--------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP|Roboto+Condensed|Roboto:300,400,500,500i,700&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Roboto', sans-serif;
font-family: 'Roboto Condensed', sans-serif;
*/

/* ---------------------------------------------------------
■ デフォルトリセット
--------------------------------------------------------- */
body ,div {
	margin: 0px;
	padding: 0px;
}
h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0px;
	padding: 0px;
	font-weight: normal;
	font-style: normal;
	font-size: 100%;
	line-height: 1;
	border: none;
	list-style-type: none;
}
img { vertical-align: bottom;}
input, textarea { font-size: 100%; }

/* mozilla向けスクロールバー強制表示
------------------------------------ */
html { overflow-y:scroll; }

/* ---------------------------------------------------------
■ 音声ブラウザ用ナビゲーション
--------------------------------------------------------- */
.naviHidden {
	position: absolute;
	z-index: 100;
	top: 0px;
	right: 0px;
	display:inline;
	width: 1px;
	height: 1px;
	border-style: none;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
}


/* ---------------------------------------------------------
■ テキストリンク
--------------------------------------------------------- */
a:link    { color: #004ea8; text-decoration: none; }
a:visited { color: #471f99; text-decoration: none; }
a:hover   { color: #004ea8; text-decoration: underline; }
a:active  { color: #004ea8; text-decoration: underline; }


/* ---------------------------------------------------------
■ レイアウトベース
--------------------------------------------------------- */
html {}
body {
	-webkit-text-size-adjust: 100%;
	font: 14px/1.231 "Meiryo","メイリオ","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",Verdana,"MS PGothic","ＭＳ Ｐゴシック",Helvetica,sans-serif;
	color: #45484d;
	background-color: #ffffff;
    min-width: 960px;
}
input, textarea { font-family: "Meiryo","メイリオ","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",Verdana,"MS PGothic","ＭＳ Ｐゴシック",Helvetica,sans-serif; }

p, ul li {font-size: 14px;} 

#base {}

#wrap_01 {
	padding-bottom: 30px;
}

#wrap_02 {
	padding-top: 20px;
}

#wrap_03 {
}

#mainArea {
	margin: 0px auto;
	width: 950px;
}

#contentWrap {
	padding: 0px;
	min-height: 30em;
	background: #ffffff;
}
	* html #contentWrap { height: 30em; }

#contentNoSideNavi {
	margin-bottom: 60px;
	width: 950px;
}

#content {
	float: right;
	margin: 0px auto 60px;
	width: 725px;
}

#sideNaviWrap {
	float: left;
	width: 200px;
	padding-bottom: 15px;
}

/* ---------------------------------------------------------
■ ヘッダー
--------------------------------------------------------- */
#headerWrap {
	/*	margin-bottom: 11px;
	padding-bottom: 6px;*/
	background-color: #fff;
	}
#header {
	margin: 0px auto;
	width: 950px;
*height: 80px;
}

#header ul {
	margin: 0px;
	padding: 0px;
}

/* ヘッダー左
------------------------------------ */
#headerLeft {
	float: left;
	width: 400px;
}

#headerLeft p#tagLine {
	margin: 7px 0px 0px 12px;
	line-height: 1;
	font-size: 14px;
	color: #333366;
}

#headerLeft #logo {
	padding: 10px 0px 10px 2px;
	font-size: 0;
}

/* ヘッダー右
------------------------------------ */
#headerRight {
	float: right;
	width: 550px;
}

/* 関連リンク */
#headerRight ul#subLink {
	float: right;
	margin: 8px 0px 0px 0px;
	letter-spacing: 0.02em;
}

#headerRight ul#subLink li {
	float: left;
	margin: 0px;
	padding: 10px 0 0 0;
	vertical-align: bottom;
	list-style: none;
	line-height: 1.2;
	font-size: 90%;
}

#headerRight ul#subLink li a {
	display: block;
	margin: 0px 0 0 25px;
	color: #0a101a;
	/display: inline;
	/zoom: 1;
	/padding-bottom: 5px;
	/margin: 4px 0px 5px 20px;
	margin: 4px 0px 5px 22px\9;
}
_:-ms-lang(x), #headerRight ul#subLink li a {
    margin-top: 3px\9;
}
_:-ms-fullscreen, :root #headerRight ul#subLink li a {
    margin-top: 2px;
}
#headerRight ul#subLink li a:hover {
	text-decoration: none;
	color: #0068b3;
}


body.fsizel #headerRight ul#subLink li a {
    margin-top: 2px;
}
_:-ms-lang(x), body.fsizel #headerRight ul#subLink li a {
    margin-top: 4px\9;
}
_:-ms-fullscreen, :root body.fsizel #headerRight ul#subLink li a {
    margin-top: 4px;
}
@supports (-ms-ime-align: auto) {
	body.fsizel #headerRight ul#subLink li a {
	    margin-top: 4px;
	}
}



#headerRight ul#subLink li a img {
	margin: -10px 0 20px 0;
	position: relative;
	top: 2px;
}

/* utilityMenu */
#headerRight #utilityMenu {
	clear: both;
	padding: 7px 0px 3px;
}

/* 検索 */

.gscb_a {
    display: inline-block;
    font: 20px / 13px arial, sans-serif;
}

.gsc-control-wrapper-cse table td {
	border: none;
	line-height: 1;
}
.gsc-control-cse,
.gsib_b {
	padding: 0px !important;
}

.gsib_a {
	padding: 5px 0 5px 8px;
}
.gscb_a {
	line-height: 1;
}
.gsc-search-button button {
	cursor: pointer;
}
.gsc-search-button-v2 {
    padding: 9px 27px !important;
}

/* 言語選択 */
#headerRight #langSelect {
	margin: 0 0 0 20px;
}

#headerRight #langSelect dl {
	margin: 0px;
	text-align: right;
}
#headerRight #langSelect dt,
#headerRight #langSelect dd {
	display: inline-block;
	margin: 0;
	position: relative;
}
#headerRight #langSelect dt {
	margin-right: 15px;
	font-weight: normal;
}
#headerRight #langSelect dd a {
	margin: 0 !important;
	padding: 0 8px;
	color: #ababab !important;
	cursor: pointer;
	top: 1px;
	position: relative;
	font-family: 'Roboto', sans-serif;
	display: block;
}
#headerRight #langSelect dd a.current,
#headerRight #langSelect dd a:hover {
	color: #004ea8 !important;
}
#headerRight #langSelect dd + dd::before {
    position: absolute;
    display: block;
    content: "";
    height: 13px;
    width: 1px;
    background: #ecebeb;
    left: -1;
    top: 50%;
    margin-top: -5px;
}
#headerRight #langSelect dt::before {
	display: block;
	position: absolute;
	content: "";
	width: 8px;
	height: 1px;
	background: #5f5d5c;
	right: -13px;
	top: 50%;
}





/* ---------------------------------------------------------
■ グローバルナビ
--------------------------------------------------------- */
#naviWrap {
	margin-top: 0px;
	border-bottom: 1px solid #dadde0;
	border-top: 1px solid #dadde0;
*margin-top: -15px;
}
#naviWrap.menuOn {
	border-bottom: 1px solid #003b90;
}
#navi {
	margin: 0px auto;
	width: 950px;
*zoom: 1;
}

#navi ul {
	margin: 0px;
	padding: 0px;
	text-align: right;
}

#navi li {
	display:inline-block;
	margin: 0px 0px 0px 0px;
	padding: 11px 25px 11px 25px;
	background-color: #ffffff;
	border: 1px solid #ffffff;
	border-bottom: none;
    *
	display: inline;
}
body.fsizel #navi li {
	/* padding: 11px 20px 11px 20px; */
	border-top: none;
	padding-left: 20px;
	padding-right: 10px;
	padding-top: 13px;
}

li {}
#navi li.naviSearch {
	padding: 13px 9px 0px;
}
#navi li img.naviSearchImg {
	margin-bottom: 3px;
	vertical-align: text-bottom;
}
#navi li.menuOn {
	margin: 0px 0px -1px 0px;
	padding: 14px 25px 12px 25px;
	background-color: #f0f2f5;
	border: 1px solid #003b90;
	border-top: none;
	border-bottom: none;
}
#navi .naviSearch.menuOn {
	padding: 14px 9px 12px;
}

body.fsizel #navi .naviSearch.menuOn {
	padding: 13px 10px 12px;
	margin-left: 10px;
	margin-right: 10px;
}

#navi li .naviItem {
	display:inline-block;
	padding: 0 5px;
*
	display: inline;
*
	padding: 5px 5px 6px;
*
	zoom:1;
}
#navi li.current .naviItem {
	/* padding: 0 5px 1px; */
	/* border-bottom: 5px solid #003b90; */
}
#navi li a {
	font-size: 108%;
	font-weight: bold;
	line-height: 1;
	color: #0a101a;
	overflow:hidden;
	outline:none;
	letter-spacing: 0.03em;
}
#navi li.current a {
	/* color: #003b90; */
}
#navi li a.megaLinkIcon {
	padding-right: 17px;
	background: url(../img/icons/ico_gnavi_mega_off.gif) no-repeat right center;
}
#navi li a:hover {
	text-decoration: none;
	color: #003b90;
}
#navi li.naviSearch a {
	font-size: 94%;
	padding: 3px 0 3px 22px;
	background: url(../img/icons/icon_search.png) no-repeat left center;
}

/* ---------------------------------------------------------
■ メガメニュー表示部
--------------------------------------------------------- */

#megaMenuWrap.menuOn {
	background-color: #f0f2f5;
	border-bottom: 5px solid #003b90;
}
#megaMenu {
	position: relative;
	width: 950px;
	margin: 0 auto;
}
#megaMenuWrap .megaMenuItem {
	display: none;
}

/* タブレット・スマホ以下 */
@media screen and (max-width: 750px){

	#megaMenuWrap {
		display: none;
	}
}

.megaMenuClose {
	position: absolute;
	display: none;
	top: 30px;
	right: 0;
	padding: 7px 29px 6px 15px;
	background: #fff url(../img/icons/icon_close_red.png) no-repeat right 15px center;
	border: 1px solid #737780;
	font-size: 94%;
	color: #45484d;
	z-index: 100;
	cursor: pointer;
background: #fff url(../img/icons/icon_close_red.png) no-repeat right center\9;
}
.megaMenuClose:hover {
	padding: 6px 28px 5px 14px;
	background-position: right 14px center;
	border: 2px solid #737780;
}

.megaMenuItemHeading {
	margin: 0;
	padding-top: 1px;
}
.megaMenuItemHeading a {
	display: inline-block;
	padding-right: 13px;
	background: url(../img/icons/ico_arrow_right_red_01.gif) no-repeat right center;
	font-size: 109%;
	font-weight: bold;
	color: #0a101a;
*display: inline;
}
.megaMenuItemHeading a:hover {
	text-decoration: none;
	color: #003b90;
}

/* Corporate */
.megaMenuCrpWrap {
	margin: 0px -25px 0 0;
}
.megaMenuCrpItem {
	float: left;
	width: 218px;
	margin: 0 25px 0 0;
}
.megaMenuCrpItem:last-child{
	margin: 0;
}
.megaMenuCrpItem dt {
	position: relative;
	width: 216px;
	margin: 0 0 0 0;
}

.megaMenuCrpItem dt span.menuNomarl {
	font-size: 110%;
	font-weight: bold;
}

.megaMenuCrpItem dt a {
	font-weight: bold;
	color: #0a101a;
}
.megaMenuCrpItem dt a:hover {
	text-decoration: none;
	color: #003b90;
}
.megaMenuCrpItem dt a:hover img {
	filter: Alpha(opacity=70);
	opacity: 0.7;
}
.megaMenuCrpItem dt a div {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 196px;
	padding: 6px 10px 4px 10px;
	background:  url(../img/bg_white_op70.png) repeat;
}
.megaMenuCrpItem dt a div span {
	padding-right: 11px;
	background: url(../img/icons/ico_info.gif) no-repeat right center;
}
.megaMenuCrpItem dd {
	margin: 0;
}
.megaMenuCrpItem dd ul {
	margin: 0 0 0 0;
	padding: 6px 0 0 0;
}
.megaMenuCrpItem dd ul li {
	margin: 6px 0 6px 14px;
	list-style:  url(../img/icons/ico_info.gif);
}
.megaMenuCrpItem dd ul li a {
	color: #45484d;
}
.megaMenuCrpItem dd ul li a:hover {
	text-decoration: none;
	color: #0068b3;
}

/* Search */
#megaSrh input#searchInput {
	margin: 0 5px 0 0;
	padding: 0 0 0 10px;
	width: 677px;
	height: 34px;
	font-size: 117%;
	line-height: 1;
	border: 1px solid #dadde0;
	vertical-align: top;
}
#megaSrh input#searchBtn {
	vertical-align: top;
}
#megaSrh input#searchBtn:hover {
	filter: Alpha(opacity=70);
	opacity:0.7;
}


/* ---------------------------------------------------------
■■レスポンシブ用sytle■■ 
    - 2018/06 : 追加
--------------------------------------------------------- */

/* タブレット・スマホ以下 */
@media screen and (max-width: 750px){
    
    #naviWrap{
        margin-top: 0;
    }
    #navi li.menuOn{
        border: none;
    }
    #navi li .naviItem{
        padding: 0;
        height: auto;
        margin: 0;
    }
    #naviWrap.menuOn{
        border-bottom: #f0f2f5 solid 1px;
    }
    #naviWrap{
        margin-top: 0;
        border-bottom: none;
        background: none;
    }
    #naviWrap::after{
        content: "";
        display: block;
        clear: both;
    }
    #naviWrap #navi{
        width: auto;
    }
    #naviWrap #navi ul{
        float: none;
    }
    #naviWrap #navi li{
        display: none;
    }
    #naviWrap #navi li.naviSearch{
        display: block;
        position: fixed;
        top: 11px;
        right: 52px;
        z-index: 105;
        background: none;
        padding: 0;
        margin: 0;
    }
    #naviWrap #navi li.naviSearch.menuOn{
        top: 12px;
        right: 53px;
    }
    #naviWrap #navi li.naviSearch a{
        display: block;
        padding: 1px 10px 1px 26px;
        background-position: left 8px center;
        background-size: 13px;
        border-radius: 15px;
        font-size: 14px;
        line-height: inherit;
        color: #373433;
        background-color: #f5f5f5;
    }
    #headerWrap{
        width: 100%;
    }
    .megaMenuClose{
        padding: 8px 29px 7px 15px;
    }
    .megaMenuClose:hover{
        padding: 7px 29px 6px 15px;
    }
    #megaMenu{
        width: 100%;
    }
    #megaSrh{
        padding: 20px 5px !important;
        box-sizing: border-box;
    }
    #megaSrh form#searchBox{
        display : -ms-flexbox;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-start;
        align-items: stretch;
        -ms-flex-flow: row nowrap;
        -ms-justify-content: flex-start;
        -ms-flex-align: stretch;
        box-sizing: border-box;
        width:74%;
        width:-webkit-calc(100% - 90px);
        width:-moz-calc(100% - 90px);
        width:calc(100% - 90px);
				font-size: 13px;
    }
    #megaSrh input#searchInput{
        -webkit-appearance: none;
        border-radius: 0;
        width: 78%;
				width:-webkit-calc(100% - 69px);
        width:-moz-calc(100% - 69px);
        width:calc(100% - 69px);
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
				height: 32px;
    }
    #megaSrh input#searchBtn{
        -webkit-appearance: none;
        border-radius: 0;
        height: 32px !important;
        height: auto;
    }
    .megaMenuClose{
        right: 6px;
    }
    

}


/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
#cookie_agreement {
	display: none;
	position: fixed;
	left: 50%;
	bottom: 0;
	z-index: 10000000000;
	background: #f5f8ff;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 130px 13px 20px;
	width: 950px;
	margin-left: -475px;
}
#cookie_agreement > a {
	display: block;
	position: absolute;
	background: #003b90;
	color: #fff;
	width: 90px;
	text-align: center;
	padding: 10px 0;
	font-size: 12px;
	right: 20px;
	top: 50%;
	margin-top: -17px;
	text-decoration: none;
}
#cookie_agreement > a:hover {
    opacity: 0.7;
}
#cookie_agreement p {
	color: #000;
	font-size: 12px;
	margin: 0;
	line-height: 1.5em;
}

#cookie_agreement p.text {
    font-size: 11px;
    color: #000;
    margin-top: 4px;
}	
#cookie_agreement p.text a {
    text-decoration: none;
}
#footerWrap {
	margin-top: 5px;
	padding-top: 40px;
	background-color: #fff;
}

#footerMenuWrap {
	padding-bottom: 20px;
}
#footerLinkWrap {
	padding: 15px 0 20px;
	background-color: #003b90;
}


/* フッタメニュー
------------------------------------ */
#footerMenu {
	margin: 0px auto;
	width: 950px;
}
.footerMenuGrid {
	float: left;
	margin: 0px 0px 0px 25px;
	width: 170px;
}
.footerMenuGrid:first-child {
	margin: 0px;
}
.footerMenuGridCol2 {
	float: left;
	margin: 0px 0px 0px 25px;
	width: 365px;
}
.footerMenuGridCol2:after { content : ''; display : block; clear : both; }

.footerMenuGrid dt,
.footerMenuGridCol2 dt {
	font-size: 108%;
}
.footerMenuGrid dt a,
.footerMenuGridCol2 dt a {
	padding-right: 13px;
	background: url(../img/icons/ico_arrow_right_red_01.gif) no-repeat right center;
	min-height: 18px;
	color: #0a101a;
}
.footerMenuGrid dd,
.footerMenuGridCol2 dd {
	display: inline-block;
	width: 170px;
	margin: 0px 0px 15px 0px;
}
.footerMenuGrid dd ul ,
.footerMenuGridCol2 dd ul {
	margin-right: 0px;
}
.footerMenuGrid dd li a ,
.footerMenuGridCol2 dd li a {
	color: #45484d;
}

.footerMenuGrid dt a:hover ,
.footerMenuGridCol2 dt a:hover ,
.footerMenuGrid dd li a:hover ,
.footerMenuGridCol2 dd li a:hover {
	text-decoration: none;
	color: #0068b3;
}

.footerMenuSep {
	border-top: 1px solid #dadde0;
}


/* フッタリンク
------------------------------------ */
#footerLink {
	position: relative;
	margin: 0px auto;
	width: 950px;
}

#footerLink ul {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0px;
	padding: 0px;
	width: 60%;
}

#footerLink ul li {
	display: inline-block;
	margin: 0;
	padding-right: 25px;
	font-size: 94%;
	line-height: 1.76;
	list-style: none;
/display: inline;
/zoom: 1;
}

#footerLink ul li a { color: #ffffff; }

/* コピーライト
------------------------------------ */
#footerLink #copyright {
	float: right;
	width: 500px;
	text-align: right;
	color: #ffffff;
}
#footerLink #copyright img {
	margin-bottom: 4px;
}



/* ---------------------------------------------------------
■ floatクリア
--------------------------------------------------------- */
.clear {
	display: block;
	clear: both;
	height: 1px;
	margin: 0px;
	padding: 0px;
	font-size: 1px;
	line-height: 1px;
}


/* ---------------------------------------------------------
■ ClearFix
--------------------------------------------------------- */
/* クラス追加用
------------------------------------ */
.clearfix:after { content : ''; display : block; clear : both; }
.clearfix { /zoom : 1; }

/* 固定
------------------------------------ */
#topContentWrap:after,
#topContent:after,
#header:after,
#headerLink:after,
#utilityMenu:after,
#footerMenu:after,
#footerLink:after,
#contentWrap:after,
#contentColumnWrap:after,
#contentNoSideNavi:after,
.setImg:after,
.categoryBox:after,
.categoryBoxWrap_col3:after,
.categoryBox_col3:after,
.categoryBoxWrap_col2:after,
.categoryBox_col2:after,
.tabNavi:after,
.infoArea dl:after,
.downloadBtn:after
{ content : ''; display : block; clear : both; }

#topContentWrap,
#topContent,
#header,
#headerLink:after,
#utilityMenu,
#footer,
#contentWrap,
#contentColumnWrap,
#contentNoSideNavi,
.setImg,
.categoryBox,
.categoryBoxWrap_col3,
.categoryBox_col3,
.categoryBoxWrap_col2,
.categoryBox_col2,
.tabNavi,
.infoArea dl,
.downloadBtn
{ /zoom : 1; }
#header:after,
#headerLink:after{overflow: hidden;}



/* ---------------------------------------------------------
■■レスポンシブ用sytle■■ 
    - 2018/06 : 追加
--------------------------------------------------------- */

/* PCのみ */
@media print, screen and (min-width:751px){
    #menuSPWrap{
        display: none;
    }
    #footerSpMenuWrap{
        display: none;
    }
    .sp {
        display: none !important;
    }
    
}
/* タブレット・スマホ以下 */
@media screen and  (max-width:750px){
    body{
        min-width: 320px;
    }
    .pc {
        display: none !important;
    }
}

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

    /* SP body */
    body{
        margin-top: 46px;
    }
    
    /* SP header */
    #headerWrap{
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
    }
    #header{
        height: 46px;
        width: 100%;
        padding: 5px;
        box-sizing: border-box;
    }
    #headerLeft{
        float: left;
        width: 70%;
    }
    #headerLeft #logo{
        padding: 5px;
        position: relative;
        z-index: 1010;
    }
    #headerLeft #logo a{
        display: block;
    }
    #headerLeft #logo a img{
        width: 100%;
        max-width: 272px;
        height: auto;
    }
    #headerRight{
        display: none;
    }
    #menuSPWrap{
        position: fixed;
        top: 5px;
        right: 0;
    }
    #menuSPWrap::after{
        content: "";
        display: block;
        clear: both;
    }
    #menuBtnSP{
        float: right;
        width: 35px;
        height: 35px;
        margin-right: 1.8vw;
    }
    #menuBtnSP > img{
        width: 35px;
        height: 35px;
    }
    #menuBtnSP.open {
		background: url(../img/common/sp_menu_close.png) no-repeat center center;
		background-size: 35px 35px;
    }
    #menuBtnSP.open > img {
        opacity: 0;
    }
    #categoryList{
        display: none;
        background: #FFF;
        /* border: #CCC solid 1px; */
        box-sizing: border-box;
        position: fixed;
        top: 47px;
        right: 0;
        width: 94vw;
        z-index: 1000;
    }
    #categoryList ul{
        list-style: none;
        padding: 0;
        margin: 0;
    }
    #categoryList ul ul{
        display: none;
    }
    #categoryList ul li{
        display: block;
        list-style: none;
        margin-top: 0;
        border-bottom: #dadde0 solid 1px;
    }
    #categoryList ul ul li{
        padding-left: 1em;
    }
    #categoryList ul li:last-child{
        border-bottom: none;
    }
    #categoryList ul li a{
        display: block;
        padding: 10px;
        color: #333;
        background: url(../img/icons/ico_arrow_right_red_03.png) no-repeat right 10px top 15px / 6px auto;
    }
    #categoryList ul li a:hover{
        text-decoration: none;
    }
    #categoryList ul li a:visited{
        color: #333;
    }
    #categoryList ul li a#inlineMenu01,
    #categoryList ul li a#inlineMenu02{
        background:  url(../img/icons/ico_info_down.gif) no-repeat right 12px top 17px / 7px auto;
    }
    #minLink{
        display : -ms-flexbox;
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: center;
        -ms-flex-flow: row nowrap;
        -ms-justify-content: center;
        -ms-flex-align: center;
        background: #F4F4F4;
        box-sizing: border-box;
        padding: 10px;
        border-top: #dadde0 solid 1px;
        margin-left: auto;
        margin-right: auto;
    }
    #minLink p{
        display: block;
        border-top:  #CCC solid 1px;
        border-left:  #CCC solid 1px;
        border-bottom:  #CCC solid 1px;
        width: 32.8%;
        margin: 0;
        line-height: 100%;
    }
    #minLink p:last-child{
        border-right:  #CCC solid 1px;
    }
    #minLink p a{
        line-height: 100%;
        display: block;
        text-align: center;
        padding: 10px 2px;
        margin: 0;
    }
    #minLink p:first-child a img{
        vertical-align: bottom;
        height: 12px;
        margin-left: 3px;
        line-height: 90%;
    }
    #naviWrap{
        margin-top: 0;
    }
    #naviWrap::after{
        content: "";
        display: block;
        clear: both;
    }
    #localNaviWrap{
        display: none;
    }
    #localNaviWrap{
        display: none;
    }
    
    /* SP footer */
    #cookie_agreement {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 100px 10px 15px;
	margin: 0;
	}
	#cookie_agreement a {
		width: 70px;
		font-size: 11px;
		right: 15px;
		top: 50%;
		margin-top: -16px;
	}
	#cookie_agreement a:hover {
		opacity: 1;
	}
	#cookie_agreement p {
		font-size: 10px;
	}
	#cookie_agreement p.text {
		font-size: 10px;
		margin-top: 2px;
	}
    #footerSpMenu,
    #footerSpMenuWrap{
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }
    #footerSpMenu ul,
    #footerSpMenuWrap ul{
        display : -ms-flexbox;
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        align-items: stretch;
        -ms-flex-flow: row nowrap;
        -ms-justify-content: center;
        -ms-flex-align: stretch;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }
    #footerSpMenu ul li,
    #footerSpMenuWrap ul li{
        display: block;
        box-sizing: border-box;
        border-top: #DDD solid 1px;
        border-left: #DDD solid 1px;
        border-bottom: #DDD solid 1px;
        width:33.333%;
        width:-webkit-calc(100% / 3);
        width:-moz-calc(100% / 3);
        width:calc(100% / 3);
    }
    #footerSpMenu ul li:last-child,
    #footerSpMenuWrap ul li:last-child{
        border-right: #DDD solid 1px;
    }
    #footerSpMenu ul li img,
    #footerSpMenuWrap ul li img{
        vertical-align: middle;
    }
    #footerSpMenu ul li a,
    #footerSpMenuWrap ul li a{
        display: block;
        padding-top: 8px;
        padding-bottom: 8px;
        text-align: center;
    }
    #footerMenuWrap{
        padding-bottom: 15px;
    }
    #footerWrap{
        border-top: none;
        padding-top: 0;
        margin-top: 0;
    }
    #footerMenu{
        display: none;
    }
    #footerLink{
        width: 100%;
    }
    #footerLink ul{
        position: relative;
        height: auto;
        top: auto;
        left: auto;
        margin-bottom: 10px;
        width: 100%;
    }
    #footerLink ul li{
        display: block;
        text-align: center;
        padding: 0 0 5px 0;
    }
    #footerLink #copyright{
        float: none;
        width: 100%;
        text-align: center;
        padding-top: 15px;
        border-top: #2956A0 solid 1px;
    }
    #footerLink #copyright img{
        width: 80%;
        height: auto;
        margin: 0 auto 10px auto;
    }
    #footerLink #copyright .small{
        text-align: center !important;
    }
    p.toPageTop{
        right: 10px !important;
        bottom: 10px !important;
        margin: 0 !important;
    }
		/* SNS */
		.sns_box {
			padding: 27px 0;
			position: relative;
		}
		.sns_box::before,
		.sns_box::after {
			display: block;
			position: absolute;
			content: "";
			width: 1px;
			height: 100%;
			background: #f5f5f5;
			left: 10px;
			top: 0;
	    }
		.sns_box::after {
			right: 10px;
			left: auto;
		}
		.sns_box > .inner {
			margin: 0 auto;
			width: auto;
		}
		.sns_box .box {
			float: none;
			width: 200px;
			margin: 0 auto;
			padding-left: 15px;
		}
		.sns_box .box p {
		}
		.sns_box .box p::before {
			position: absolute;
			display: block;
			content: "";
			bottom: 0;
			right: 0;
			background: #c00d1e;
			height: 1px;
			width: 30px;
		}
		.sns_box .box a {
			width: 26px;
			display: block;
			float: left;
			margin-left: 6px;
		}
		.sns_box .box a img {
			display: block;
			width: 26px;
		}
    
    /*********** SP contents ***********/
    /* SP コンテンツ 共通 */    
    #wrap_02{
        padding-top: 10px;
    }
    #mainArea{
        width: 100%;
    }
    #mainArea #contentWrap{
        
    }
    div.download {
        display: none;
    }
    .spnone{
        display: none;
    }
    
    /* SP パンくず */
    #mainArea #breadCrumbs{
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
        width: auto;
    }
    #mainArea #breadCrumbs #pagePrint{
        display: none;
    }
    /* SP 左コンテンツ */
    #mainArea #sideNaviWrap{
        float: none;
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
    }
    #mainArea #sideNaviWrap .sideBanner{
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    #mainArea #sideNaviWrap .sideBanner a.link,
    #mainArea #sideNaviWrap .sideBanner a.link + a.marginBtm00{
        max-width: 220px;
        margin-left: auto;
        margin-right: auto;
    }
    #mainArea #sideNaviWrap .sideBanner a.link img,
    #mainArea #sideNaviWrap .sideBanner a.link + a.marginBtm00 img{
        width: 100%;
        height: auto;
    }
    
    /* SP 右コンテンツ */
    #mainArea #content{
        width: 100%;
        float: none;
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
    }
    #contentNoSideNavi{
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
        margin-bottom: 30px;
    }
    
    
        /* 各パーツCSS*/
        div.download img{
            display: block;
            width: auto;
            text-align: center;
        }

}


/* ---------------------------------------------------------
■ ページの先頭へ戻る
--------------------------------------------------------- */
p.toPageTop {
	position: fixed;
	bottom: 95px;
	right: 25px;
	text-align: right;
	clear: both;
	margin: 30px 5px 0px 0px;
	z-index: 500;
}

p.toPageTopIn {
	text-align: right;
	clear: both;
	margin: 0px 5px 0px 0px;
}

p.toPageTop a,
p.toPageTopIn a {}
p.toPageTop a:hover ,
p.toPageTopIn a:hover { color: #0252f5 !important; }

@media screen and  (max-width:750px){
    p.toPageTop{
        right: 10px !important;
        bottom: 10px !important;
        margin: 0 !important;
    }
}


/* ---------------------------------------------------------
■ ぱんくずナビ
--------------------------------------------------------- */
#breadCrumbs {
	margin-bottom: 20px;
	padding: 0px;
}

#breadCrumbs ul {
	float: left;
	margin: 0px;
/*	padding: 0px 0px 10px;*/
/*	padding: 5px 0px 0px;*/
}

#breadCrumbs ul li {
	display: inline;
	width: auto;
	font-weight: bold;
	list-style: none;
	line-height: 1.76;
}

#breadCrumbs ul li.top {
	padding-left: 0px;
	background: none;
}

#breadCrumbs ul li a:after {
	margin: 0 5px;
	content: url(../img/icons/ico_bread_sep.gif);
	border: none;
}

#breadCrumbs ul li.breadIcon:after {
	margin: 0 5px;
	content: url(../img/icons/ico_bread_sep.gif);
}

#breadCrumbs ul li a:link    { color: #45484d; text-decoration: none; font-weight: normal; }
#breadCrumbs ul li a:visited { color: #45484d; text-decoration: none; font-weight: normal; }
#breadCrumbs ul li a:hover   { color: #0068b3; text-decoration: underline; font-weight: normal; }
#breadCrumbs ul li a:active  { color: #0068b3; text-decoration: underline; font-weight: normal; }


/* ---------------------------------------------------------
clearfix
--------------------------------------------------------- */
#navi:after,
#localNavi:after,
.megaMenuProWrap:after,
.megaMenuCrpWrap:after,
#breadCrumbs:after,
#footerNaviWrap:after { content : ''; display : block; clear : both; overflow: hidden; }
#navi,
#localNavi,
.megaMenuProWrap,
.megaMenuCrpWrap,
#breadCrumbs,
#footerNaviWrap  { /zoom : 1; }



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

[ information ]
概要 : 微調整用の部品

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


/* float
----------------------------------------- */
.left  { float: left; }
.right { float: right; }

.clearLeft {clear: left;}
.clearRight {clear: right;}

/* マージン指定
----------------------------------------- */
.marginTop-05 { margin-top: -5px; }
.marginTop-10 { margin-top: -10px; }
.marginTop-15 { margin-top: -15px; }
.marginTop-20 { margin-top: -20px; }
.marginTop-25 { margin-top: -25px; }
.marginTop-30 { margin-top: -30px; }
.marginTop05 { margin-top: 5px; }
.marginTop10 { margin-top: 10px; }
.marginTop15 { margin-top: 15px; }
.marginTop20 { margin-top: 20px; }
.marginTop25 { margin-top: 25px; }
.marginTop30 { margin-top: 30px; }
.marginTop35 { margin-top: 35px; }
.marginTop40 { margin-top: 40px; }
.marginTop45 { margin-top: 45px; }
.marginRgt05 { margin-right: 5px; }
.marginRgt10 { margin-right: 10px; }
.marginRgt15 { margin-right: 15px; }
.marginRgt20 { margin-right: 20px; }
.marginRgt25 { margin-right: 25px; }
.marginRgt30 { margin-right: 30px; }
.marginBtm05 { margin-bottom: 5px; }
.marginBtm10 { margin-bottom: 10px; }
.marginBtm15 { margin-bottom: 15px; }
.marginBtm20 { margin-bottom: 20px; }
.marginBtm25 { margin-bottom: 25px; }
.marginBtm30 { margin-bottom: 30px; }
.marginLft05 { margin-left: 5px; }
.marginLft10 { margin-left: 10px; }
.marginLft15 { margin-left: 15px; }
.marginLft20 { margin-left: 20px; }
.marginLft25 { margin-left: 25px; }
.marginLft30 { margin-left: 30px; }

/* 余白指定
----------------------------------------- */
.paddingTop05 { padding-top: 5px; }
.paddingTop10 { padding-top: 10px; }
.paddingTop15 { padding-top: 15px; }
.paddingTop20 { padding-top: 20px; }
.paddingTop25 { padding-top: 25px; }
.paddingTop30 { padding-top: 30px; }
.paddingRgt05 { padding-right: 5px; }
.paddingRgt10 { padding-right: 10px; }
.paddingRgt15 { padding-right: 15px; }
.paddingRgt20 { padding-right: 20px; }
.paddingRgt25 { padding-right: 25px; }
.paddingRgt30 { padding-right: 30px; }
.paddingRgt70 { padding-right: 70px; }
.paddingBtm05 { padding-bottom: 5px; }
.paddingBtm10 { padding-bottom: 10px; }
.paddingBtm15 { padding-bottom: 15px; }
.paddingBtm20 { padding-bottom: 20px; }
.paddingBtm25 { padding-bottom: 25px; }
.paddingBtm30 { padding-bottom: 30px; }
.paddingLft05 { padding-left: 5px; }
.paddingLft10 { padding-left: 10px; }
.paddingLft15 { padding-left: 15px; }
.paddingLft20 { padding-left: 20px; }
.paddingLft25 { padding-left: 25px; }
.paddingLft30 { padding-left: 30px; }


/* 幅指定(%指定)
----------------------------------------- */
.width10 { width: 10%; }
.width15 { width: 15%; }
.width20 { width: 20%; }
.width25 { width: 25%; }
.width30 { width: 30%; }
.width40 { width: 40%; }
.width50 { width: 50%; }
.width60 { width: 60%; }
.width70 { width: 70%; }

@media (max-width: 767px) {
    .spWidth10 { width: 10%; }
    .spWidth15 { width: 15%; }
    .spWidth20 { width: 20%; }
    .spWidth25 { width: 25%; }
    .spWidth30 { width: 30%; }
    .spWidth40 { width: 40%; }
    .spWidth50 { width: 50%; }
    .spWidth60 { width: 60%; }
    .spWidth70 { width: 70%; }
    .spWidth100 { width: 100%; }
}


/* 文字
----------------------------------------- */
/* txt配置 */
.alignCenter { text-align: center; }
.alignRight  { text-align: right; }
.alignLeft   { text-align: left; }
.alignTop   { vertical-align: top; }
.alignMiddle   { vertical-align: middle; }

/* 色 */
.bold  { font-weight: bold; }
.red   { color: #ff0000; }
.blue  { color: #1d60cb; }
.green { color: #319a00; }
.gray  { color: #666666; }
.navy  { color: #000080; }
.mmRed {color:#e50012;}
.mmBlue{color:#005bac;}


.headingColor { color: #0a101a; }

/* サイズ */
.small95 {font-size: 95%;}
.small {font-size: 94%;}
.small80 {font-size: 80%;}
.small75 {font-size: 75%;}

.fontNormal {font-size: 100%;}

.large {font-size: 110%;}
.large120 {font-size: 120%;}
.large130 {font-size: 130%;}
.large200 {font-size: 200%;}

/* 下線 */
.underline {
	text-decoration: underline;
}
/* 取り消し線 */
.through {text-decoration: line-through;}

/* その他
----------------------------------------- */
.block {
	display: block;
}

.inlineIcon {
	padding: 0px 3px;
	vertical-align:middle;
}

/* ulのlist-styleなし */
ul.noListStyle {
	margin-left: 0px;
}

ul.noListStyle li {
	min-height: 20px;
	line-height: 1.76;
	list-style: none;
}

/* 印刷のみ表示
----------------------------------------- */
.printArea {display: none;}

/*取り消し線
----------------------------------------- */
.linethrough { text-decoration:line-through; }




/* ---------------------------------------------------------
■ ページタイトル：h1
--------------------------------------------------------- */
h1 {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 187%;
	color: #0a101a;
	line-height: 1.5;
}

h1 span {}

#contentNoSideNavi h1 {}
#contentNoSideNavi h1 span {}

/* 最終更新日（h1右）を明示する場合
----------------------------------------- */
.h1Wrap:after {content : ''; display : block; clear : both; }
.h1Wrap {
	margin-bottom: 30px;
	/zoom: 1;
	
}

.h1Wrap h1 {
	margin-bottom: 0;
	display: inline-block;
	float: left;
*display: inline;
}
.h1Wrap p.latestDate {
	margin-bottom: 0;
	display: inline-block;
	float: right;
*display: inline;
}

/* タブレット・スマホ以下 */
@media screen and  (max-width:750px){

    .h1Wrap{
        margin-bottom: 20px;
    }
    .h1Wrap h1{
        font-size: 140%;
    }
}
/* ---------------------------------------------------------
■ 大見出し:h2
--------------------------------------------------------- */
h2 {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 15px 0 15px 20px;
	min-width: 120px;
	width: 99%;
	color: #555;
	font-size: 148%;
	font-weight: bold;
	background: #f0f2f5;
	line-height: 1.5;
}

h2:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 8%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #f0f2f5;
}



h1 + h2,
.h1Wrap + h2 {
	margin-top: 30px;
}

/* タブレット・スマホ以下 */
@media screen and  (max-width:750px){

    h2 {
		width: 95%;
    }
}

/* ---------------------------------------------------------
■ 中見出し:h3
--------------------------------------------------------- */
h3 {
	margin: 25px 0px 15px;
	padding: 10px 20px;
	font-weight: bold;
	line-height: 1.5;
	font-size: 108%;
	color: #555;
	background-color: #f0f2f5;
	font-size: 17px;
}

/* ---------------------------------------------------------
■ 中見出し:h4
--------------------------------------------------------- */
h4 {
	margin: 15px 0px 5px;
	padding: 0 5px;
	font-weight: bold;
	line-height: 1.5;
	color: #555;
	font-size: 16px;
}


/* ---------------------------------------------------------
■ 小見出し:h5
--------------------------------------------------------- */
h5 {
	margin: 15px 0px 5px;
	padding: 0 5px;
	font-weight: bold;
	line-height: 1.5;
	color: #555;
	font-size: 15px;
}


/* ---------------------------------------------------------
■ 段落
--------------------------------------------------------- */
p {
	margin: 5px 0px 10px;
	line-height: 1.76;
	line-break: strict;
}

/* ---------------------------------------------------------
■ リスト
--------------------------------------------------------- */
/* 通常の●リスト
----------------------------------------- */
ul {
	margin: 0px 15px 1em 15px; 
}

ul li {
	margin: 2px 0px 0px;
	padding: 0px;
	line-height: 1.76;
	list-style-type: disc;
}

/* 通常の■リスト
----------------------------------------- */
ul.listSquare {
	margin: 0px 15px 1em 15px; 
}

ul.listSquare li {
	margin: 2px 0px 0px;
	padding: 0px;
	line-height: 1.76;
	list-style-type: square;
}

/* 番号付きリスト
----------------------------------------- */
ol {
	margin: 0px 15px 1em 2.2em; 
}

ol li {
	margin-bottom: 3px;
	line-height: 1.76;
	list-style-type: decimal;
}

/* ①など 付き数字リスト */
ul.listNum15 li {
	list-style: none;
	text-indent: -1.5em;
	margin-left: 7px
}

/* ---------------------------------------------------------
■ 画像配置
--------------------------------------------------------- */
div.setImg {
	margin: 10px 0px 15px;
}

div.setImg img {
	padding: 1px;
	border: 1px solid #dfdfdf;
}

div.setImg img.noBorder {
	border: none;
}

/* 画像・テキスト並び 
----------------------------------------- */
img.imgRight {
	float: right;
	margin-left: 25px;
	margin-bottom: 10px;
}

img.imgLeft {
	float: left;
	margin-right: 25px;
	margin-bottom: 10px;
}

/* 2カラム（テキストあり）
----------------------------------------- */
div.setImg2column div.col_00 {
	float: left;
	padding: 0px 25px 0px 0px;
	width: 460px;
}
div.setImg2column div.col_01 {
	float: left;
	width: 460px;
	padding: 0px;
}
div.setImg2column p {
	text-align: center;
}

@media screen and (max-width: 750px) {
    div.setImg img {
        max-width: 100%;
        height: auto;
        box-sizing: border-box;
    }
    
    .setImg.setImg2column{
        display : -ms-flexbox;
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: stretch;
        -ms-flex-flow: row wrap;
        -ms-justify-content: center;
        -ms-flex-align: stretch;
    }
    .setImg.setImg2column .col_00{
        padding: 0 8px 0 0;
        margin: 0;
        width: 50%;
        text-align: center;
        box-sizing: border-box;
    }
    .setImg.setImg2column .col_01{
        padding: 0 0 0 8px;
        margin: 0;
        width: 50%;
        text-align: center;
        box-sizing: border-box;
    }
    .setImg.setImg2column p {
        text-align: center !important;
        font-size: 90%;
    }
}

 ------------------------------------------------------- */
/* 
--------------------------------------------------------- */
/* 詳細ページ 関連リンク */
ul.linkOtherCnt {
	margin: 10px 0 35px;
}

ul.linkOtherCnt li {
	list-style: none;
	float: left;
	width: 220px;
	padding-left: 12px;
	background: url(../img/icons/ico_info.gif) no-repeat 0 10px;
	font-size: 120%;
}


/* ---------------------------------------------------------
■ テーブル
--------------------------------------------------------- */
div.tableWrap {
	margin: 10px 0px 30px;
}

/* キャプション（テーブルタイトル） */
table caption {
	text-align: left;
	font-weight: bold;
	padding-bottom: 5px;
	margin-top: 10px;
	line-height: 1.76;
}

/* キャプションに単位を入れるとき */
table caption span {
	display: block;
	text-align: right;
	font-weight: normal;
	font-size: 95%;
	padding-top: 4px;
}

/* table下 */

div.noteTable,
div.attnTable,
div.attnNumTable {
	line-height: 1.76;
}

/* table下の(注) */
p.noteTable,
div.noteTable {
	text-indent: -3.4em;
	margin-left: 3.4em;}

/* table下の※ */
p.attnTable,
div.attnTable {
	text-indent: -1.5em;
	margin-left: 1.5em;
}

/* table下の※1 */
p.attnNumTable,
div.attnNumTable {
	text-indent: -2.0em;
	margin-left: 2.0em;
}


/* ノーマル テーブル
----------------------------------------- */
table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #dadde0;
}

table th {
	padding: 7px 10px;
	text-align: left;
	line-height: 1.76;
	border: 1px solid #dadde0;
	background: #f0f2f5;
}
/*
table th:first-child {
	border-left: 0px;
}
table th:last-child {
	border-right: 0px;
}
*/
table thead th {
	text-align: center;
	font-weight: bold;
}

table td {
	padding: 7px 10px;
	line-height: 1.76;
	border: 1px solid #dadde0;
}
/*
table td:first-child {
	border-left: 0px;
}
table td:last-child {
	border-right: 0px;
}
*/
/* 透明 テーブル
----------------------------------------- */
table.tableClear {
	width: auto;
	border: none;
}

table.tableClear th,
table.tableClear td {
	padding: 3px 15px;
	border: none;
	background: none;
	vertical-align: top;
}

table.tableClear thead th {
	text-align: center;
}

table.tableClear.noIndent {
	margin-left: -15px;
}

/* Layout */
table.tableLayout {
	width: auto;
	border: none;
}
table.tableLayout.alignCenter { margin: 0px auto; }

table.tableLayout th,
table.tableLayout td {
	padding: 0px;
	border: none;
	background: none;
	vertical-align: top;
}

/* タブレット・スマホ以下 */
@media screen and  (max-width:750px){


    /* 横スクロールTABLE*/
    .tableWrap.spScroll{
        overflow: auto;
        white-space: nowrap;
        padding-top: 24px;
        padding-bottom: 5px;
        position: relative;
        width: 100%;
    }
    .tableWrap.spScroll::before{
        content: "滑动";
        display: block;
        font-size: 14px;
        height: 24px;
        font-weight: bold;
        color: #FFF;
        box-sizing: border-box;
        padding: 4px 5px 0 15px;
        background: url(/assets/img/common/ico_arrow_right_red_03.png) no-repeat rgba(0,91,172,0.8) left 5px center / 6px auto;
        position: absolute;
        top: 0;
        left: 0;
    }
    .tableWrap.spScroll table{ width: 100%; }
    .tableWrap.spScroll::-webkit-scrollbar{ height: 5px; }
    .tableWrap.spScroll::-webkit-scrollbar-track{ background: #F1F1F1; }
    .tableWrap.spScroll::-webkit-scrollbar-thumb{ background: #BCBCBC; }
    
    .tableWrap.spScroll.spFullW{
        width: 100% !important;
    }
    /* 縦割りTABLE */
    .tableWrap.spVertivalTable table,
    .tableWrap.spVertivalTable colgroup,
    .tableWrap.spVertivalTable tr,
    .tableWrap.spVertivalTable tbody,
    .tableWrap.spVertivalTable th,
    .tableWrap.spVertivalTable td{
        display: block;
    }
    .tableWrap.spVertivalTable table{
        border-top: none;
        border-left: 1px solid #dadde0;
        border-right: 1px solid #dadde0;
        border-bottom: 1px solid #dadde0;
    }
    .tableWrap.spVertivalTable th,
    .tableWrap.spVertivalTable td{
        border-top: 1px solid #dadde0;
        border-bottom: none;
        border-left: none;
        border-right: none;
    }
    .tableWrap.spVertivalTable th{
        background: #f0f2f5;
        width: auto !important;
    }
    
    /* 縦割りTABLE */
    .tableWrap.spVertivalTable_w table,
    .tableWrap.spVertivalTable_w colgroup,
    .tableWrap.spVertivalTable_w tr,
    .tableWrap.spVertivalTable_w tbody,
    .tableWrap.spVertivalTable_w th,
    .tableWrap.spVertivalTable_w td{
        display: block;
    }
    .tableWrap.spVertivalTable_w table{
        border-top: none;
        border-left: none;
        border-right: 1px solid #dadde0;
        border-bottom: 1px solid #dadde0;
    }
    .tableWrap.spVertivalTable_w td{
        border-top: 1px solid #dadde0;
        border-bottom: none;
        border-left: 1px solid #dadde0;
        border-right: none;
    }
    .tableWrap.spVertivalTable_w td.bold,
    .tableWrap.spVertivalTable_w td.width40{
        background: #f0f2f5;
        box-sizing: border-box;
        width: 100% !important;
    }
    
    /* 囲みなしTABLE */
    .tableWrap.spClearTable table,
    .tableWrap.spClearTable colgroup,
    .tableWrap.spClearTable col,
    .tableWrap.spClearTable thead,
    .tableWrap.spClearTable tbody,
    .tableWrap.spClearTable tr,
    .tableWrap.spClearTable th,
    .tableWrap.spClearTable td
    {
        display: block;
    }
    .tableWrap.spClearTable.sp_col th:nth-child(2),
    .tableWrap.spClearTable.sp_col td:nth-child(2){
        display: none;
    }
    .tableWrap.spClearTable.sp_col th:nth-child(1)::after{
        content: "：";
    }
}

/* ---------------------------------------------------------
■ Icon
--------------------------------------------------------- */
/* Mail icon */
.material-icons-outlined.email {
  vertical-align: middle;
  padding-right: 5px;
  color: #45484d;
}

/* pageback icon */
.linkPrevious::before {
	font-family: "Material Icons";
	content: "\e5e0";
	vertical-align: -2px;
}

/* new window */
.openInNew {
	display: inline-flex;
	align-items: flex-start;
}

.openInNew::after {
	font-family: 'Material Icons';
	white-space: pre;
	content: ' \e89e';
}


/* pdf */
.linkTypePdf,
.linkTypePdf2 {
	display: inline-flex;
	align-items: flex-start;
}

.linkTypePdf::before,
.linkTypePdf2::before {
	font-family: 'Material Icons';
	content: '\e415';
	white-space: pre;
	color: #b30b00;
	font-size: 18px;
    margin-right: 3px;
	margin-top: -4px;
}

/* Zip */
.linkTypeZip {
	display: inline-flex;
	align-items: flex-start;
}

.linkTypeZip::before {
	font-family: 'Material Icons';
	content: '\eb2c';
	white-space: pre;
	color: #ffd96a;
	font-size: 18px;
    margin-right: 3px;
	margin-top: -5px;
}

/* 右上にNEWマーク */
.new-mark-cell {
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  width: auto;
}

.new-wrapper {
  position: relative;
  padding: 15px;
  display: block;
}

.new-wrapper::after {
  content: "NEW";
  position: absolute;
  top: 5px;
  right: -25px;
  background-color: #ff3300;
  color: #ffffff;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  width: 80px;
  line-height: 20px;
  transform: rotate(45deg); 
  z-index: 1;
}


/* 文字の後ろにNEWマーク */
.new-mark::after {
  content: "NEW";
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  background-color: #ff0000; /* 赤色 */
  padding: 1px 5px;
  margin-left: 8px;
  border-radius: 3px;
  vertical-align: middle;
}

/* ---------------------------------------------------------
■ button
--------------------------------------------------------- */

.btnWrap {
	margin: 20px 10px;
}

.btnWrap .btnLinks {
    text-decoration: none;
    display: block;
    margin: 10px auto 0 auto;
    background: #fff;
    width: 650px;
    line-height: 50px;
    border-radius: 10px;
    text-align: center;
    color: #004ea8;
    font-size: 16px;
    font-weight: bold;
    /* font-family: 'Roboto', sans-serif; */
    letter-spacing: 0.05em;
    border: solid 1px #004ea8;
}
.btnWrap .btnLinks:hover {
    background: #004ea8;
    color: #fff;
}
/* sp */
@media screen and  (max-width:750px){
	
	.btnWrap {
		margin: 20px 20px 10px 10px;
	}

	.btnWrap .btnLinks {
		width: 96%;
		padding: 15px 10px;
    	line-height: 1.5;
	}
}

/* ---------------------------------------------------------
■ news
--------------------------------------------------------- */

.news .bgblue {
	background: #004EA8;
}
.news .bgred {
	background: #C00D1E;
}
.news .bggray {
	background: #45484D;
}

.newsblock {
	width: 100%;
	margin: 0 auto;
	padding: 0px 0px 50px;
}

@media (max-width: 767px) {
	.newsblock {
		padding: 0px 10px 30px;
	}
}

@media (max-width: 767px) {
	.newsbtn a {
		font-size: 14px;
	}
}

ul.newslist {
	margin: 0;
}

.newslist li {
	padding: 10px 10px 10px;
	display: flex;
	align-items: center;
	position: relative;
}
.newslist li:before {
	position: absolute;
	content: "";
	background: #dadde0;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	transform: skewX(-45deg);
	z-index: 0;
}
.newslist .newsmess {
	width: 220px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	align-self: flex-start;
}
.newslist .newsmess .newscate {
	width: 70px;
	min-height: 18px;
	padding: 2px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: 1px;
	font-family: 'Barlow', sans-serif;
	margin-right: 30px;
}
.newslist .newsmess .newsdate {
	width: 130px;
	font-size: 14px;
	font-weight: 500;
}
.newslist .newslink a {
	color: #373433;
	font-size: 108%;
	display: block;
	text-decoration: none;
}
.newslist .newslink a:hover {
    opacity: 0.7;
}

@media (max-width: 767px) {
	.newslist li {
		padding: 15px 5px 18px;
		display: block;
	}
	.newslist .newsmess {
		width: auto;
		margin-bottom: 10px;
	}
	.newslist .newsmess .newscate {
		margin-right: 10px;
	}
}

/* news detail */
h2.newsTitle {
	background: #fff;
	text-align: center;
	padding-left: 0px;
    line-height: 1.5;
	
}
h2.newsTitle:before {
    border: none;
}
h3.newsTitleh3  {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: 10px 0 10px 20px;
    min-width: 120px;
    width: 99%;
    color: #555;
    font-size: 120%;
    font-weight: bold;
    background: #f0f2f5;
    border: none;
}
h3.newsTitleh3:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 5%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f0f2f5;
}

/* ---------------------------------------------------------
■ sitemap
--------------------------------------------------------- */

.rightIcon01 {
	display: inline-block;
	text-decoration: none;
	padding: 5px 30px 5px 0;
	transition: 0.4s;
	position: relative;
	color: #0a101a !important;
	font-size: 90%;
}
.rightIcon01::after {
	position: absolute;
	top: 3px;
	right: 8px;
	content: "\e5e1";
	font-family: "Material Icons";
	transition: 0.4s;
	color: #004ea8 !important;
}

.rightIcon01:hover {
	color: #004ea8 !important;
}
.rightIcon01:hover:after {
	right: 4px;
}

.rightIcon02 li {
	list-style-type: none;
	font-size: 110%;
}

.rightIcon02 a,
.rightIcon03 a {
	display: inline-block;
	text-decoration: none;
	padding: 5px 25px 5px 0;
	transition: 0.4s;
	position: relative;
	font-weight: bold;
}
.rightIcon03 a {
	font-weight: normal;
}
.rightIcon02 a::after,
.rightIcon03 a::after {
	position: absolute;
	top: 4px;
	right: 8px;
	content: "\e5e1";
	font-family: "Material Icons";
	transition: 0.4s;
}

.rightIcon02 a:hover {
}
.rightIcon02 a:hover:after,
.rightIcon03 a:hover:after {
	right: 4px;
}