@charset "UTF-8";

/* reset
============================================================= */
* {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: "Noto Sans JP",Arial,Helvetica,sans-serif;
}
body {
    overflow-x: hidden;
    overflow-y: scroll;
}
img { vertical-align: bottom; }
ul,ul > li { list-style-type: none; }
a {
    text-decoration: none;
    color: #001e50;
}
a:hover { text-decoration: underline; }


/* base
============================================================= */
.contentsWidth {
    width: 100%;
    max-width: 995px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
.contentsWidthSPWide {
    width: 100%;
    max-width: 965px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* header
============================================================= */
.spHeadMenu { display: none; }
.headerFirst { border-bottom: solid 3px #f1f1f1; }
.headerFirstIn {
    position: relative;
    width: 100%;
    max-width: 995px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
.headerFirstIn::before {
    content: "";
    position: absolute;
    right: 15px;
    bottom: -3px;
    z-index: 2;
    width: 120px;
    height: 3px;
    background-color: #e3001b;
    font-size: 0;
}
.headerFirstIn .corpLogo {
    float: right;
    width: 120px;
    height: 57px;
    padding-top: 32px;
    font-size: 0;
    box-sizing: border-box;
}
.headerFirstIn .corpLogo img {
    width: 100%;
    height: auto;
}
.headerFirstIn .corpLogo a img { transition: 0.2s; }
.headerFirstIn .corpLogo a:hover img { opacity: 0.7; }
.headerSearch {
    position: relative;
    top: 5px;
    display: inline-block;
    width: 16px;
    cursor: pointer;
}
.headerSearch img {
    width: 100%;
    height: auto;
    transition: 0.2s;
}
.headerSearch:hover img { opacity: 0.7; }

.headerSecond {
    width: 100%;
    background-color: #001e50;
}
.headerSecondIn {
    position: relative;
    width: 100%;
    max-width: 995px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
.headerSecondIn .corpName {
    float: left;
    width: 193px;
    height: 54px;
    padding-top: 15px;
    padding-left: 15px;
    white-space: nowrap;
    font-size: 18px;
    font-weight: bold;
    line-height: 100%;
    color: #ffffff;
    box-sizing: border-box;
}
.headerSecondIn .corpName a {
    text-decoration: none;
    color: #ffffff;
    transition: 0.2s;
}
.headerSecondIn .corpName.topPage a {
    cursor: default;
}
.headerSecondIn .corpName a:hover { opacity: 0.8; }
.headerSecondIn .corpName.topPage a:hover { opacity: 1; }
.headerSecondIn .corpName img {
    max-width: 100%;
    height: auto;
}
.headerSecondIn .headerNavi {
    float: right;
    display: table;
    width: calc(100% - 193px);
    height: 54px;
}
.headerSecondIn .headerNavi ul {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
}
.headerSecondIn .headerNavi ul li {
    position: relative;
    top: -3px;
    display: inline;
    margin-left: 20px;
    padding-left: 20px;
}
.headerSecondIn .headerNavi ul li:first-child {
    padding-right: 3px;
    margin-left: 0;
    padding-left: 0;
}
.headerSecondIn .headerNavi ul li::before {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    width: 1px;
    height: 12px;
    background-color: #8b8d8e;
    font-size: 0;
}
.headerSecondIn .headerNavi ul li:first-child::before { display: none; }
.headerSecondIn .headerNavi ul li a {
    text-decoration: none;
    font-size: 12px;
    color: #ffffff;
    line-height: 100%;
}
.headerSecondIn .headerNavi ul li a:hover { text-decoration: underline; }
#searchModal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(88,88,89,0.9);
}
.modalClose {
    position: fixed;
    top: 30px;
    right: calc((100% - 965px) / 2 + 15px );
    width: 50px;
    height: 50px;
    cursor: pointer;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.modalClose::before {
    content: "";
    position: absolute;
    top: 24px;
    left: -10px;
    display: block;
    width: 70px;
    height: 3px;
    background-color: #ffffff;
    font-size: 0;
    transform: rotate(45deg);
    transition: 0.2s;
}
.modalClose::after {
    content: "";
    position: absolute;
    top: 24px;
    left: -10px;
    display: block;
    width: 70px;
    height: 3px;
    background-color: #ffffff;
    font-size: 0;
    transform: rotate(135deg);
    transition: 0.2s;
}
.modalClose:hover::before,.modalClose:hover::after { background-color: #dddddd; }
.searchBody {
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
}
.searchBodyIn {
    display: table-cell;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    vertical-align: middle;
}
.searchForm {
    position: relative;
    width: 100%;
    max-width: 900px;
    height: 60px;
    margin: 0 auto;
    background-color: #ffffff;
}
.searchForm dt {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10010;
}
.searchForm dt button {
    width: 60px;
    height: 60px;
    background-color: #001e50;
    transition: 0.2s;
    cursor: pointer;
}
.searchForm dt button:hover { background-color: #394f75; }
.searchForm dt button img {
    width: 24px;
    height: auto;
}
.searchForm dd {
    padding-top: 15px;
    padding-left: 15px;
    text-align: left;
}
.searchForm .searchText {
    width: calc(100% - 75px);
    height: 30px;
    font-size: 14px;
    color: #333333;
    outline: none;
}
.globalNavi {
    clear: both;
    width: 100%;
}
.globalNavi > li {
    position: relative;
    float: left;
}
.globalNavi > li > a {
    position: relative;
    z-index: 990;
    display: block;
    height: 37px;
    padding: 10px 20px 12px 20px;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    color: #ffffff;
    transition: 0.2s;
    box-sizing: border-box;
}
.globalNavi > li.current > a {
  background-color: #e3001b!important;
}
.globalNavi > li:hover { background-color: #606267; }
.globalNavi > li.spCopy { display: none; }
.spMore { display: none; }


/* drop menu
============================================================= */
.dropMenu {
    position: absolute;
    top: 37px;
    left: 0;
    z-index: 1000;
    display: none;
    width: 100%;
    min-width: 230px;
    padding: 10px 0;
    background-color: rgba(104,104,105,0.92);
}
.dropMenuList li a {
    position: relative;
    display: block;
    padding: 9px 27px 9px 20px;
    font-size: 12px;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    transition: 0.2s;
}
.dropMenuList li.current > a { background-color: #e3001b!important; }
.dropMenuList li a:hover { background-color: #333333; }
.dropMenuList li a::before {
    content: "";
    position: absolute;
    right: 15px;
    top: calc(50% - 6px);
    width: 9px;
    height: 9px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
}
.dropMenuList li a:hover::before { right: 13px; }


/* contents area
============================================================= */
.pcOnly { display: block!important; }
.spOnly { display: none!important; }
.contentsArea {
    width: 100%;
    min-height: calc(100vh - 229px);
    padding-bottom: 50px;
    overflow: hidden;
    box-sizing: border-box;
}
.pageTop {
    position: fixed;
    right: calc((100% - 965px) / 2);
    bottom: 15px;
    z-index: 900;
    display: none;
    width: 60px;
    height: 60px;
    background: #9ba6b8 url("/images/icon_pagetop.png") center center no-repeat;
    background-size: 40px 37px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    transition: background-color 0.2s, bottom 0.5s;
}
.pageTop:hover {
    background: #697488 url("/images/icon_pagetop.png") center center no-repeat;
    background-size: 40px 37px;
}
.pageTop.pageBtm { bottom: 78px; }
.bcList { padding: 23px 0 6px; }
.bcList > li {
    position: relative;
    float: left;
    padding-right: 35px;
    font-size: 11px;
    color: #abb2bf;
    line-height: 160%;
}
.bcList > li:last-child { padding-right: 0; }
.bcList > li::before {
    content: "";
    position: absolute;
    right: 20px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-top: solid 1px #abb2bf;
    border-right: solid 1px #abb2bf;
    transform: rotate(45deg);
}
.bcList > li:last-child::before { display: none; }
.bcList > li a {
    text-decoration: none;
    color: #abb2bf;
}
.bcList > li a:hover { text-decoration: underline; }
.bcList > li:first-child a { color: #e3001b; }
.contentsList {
    margin-top: 40px;
    overflow: hidden;
}
.contentsList > ul { width: calc(100% + 10px); }
.contentsList > ul > li {
    float: left;
    display: table;
    width: 185px;
    margin-right: 10px;
    margin-bottom: 10px;
    box-sizing: border-box;
}
.contentsList > ul > li > a {
    display: table-cell;
    padding: 5px 10px 7px 10px;
    border: solid 1px #001e50;
    border-radius: 50px;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    color: #001e50;
    box-sizing: border-box;
    transition: 0.2s;
}
.contentsList > ul > li > a:hover {
    background-color: #001e50;
    color: #ffffff;
}
.titleStyle01 {
    margin-top: 15px;
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
    color: #001e50;
    line-height: 130%;
}
.titleStyle01 .titleSub {
    display: block;
    font-size: 20px;
    font-weight: bold;
    color: #001e50;
}
.titleStyle02 {
    margin-bottom: 20px;
    padding: 7px 17px 10px 10px;
    background-color: #001e50;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
}
.titleStyle02 > a {
    position: relative;
    padding-right: 18px;
    color: #ffffff;
}
.titleStyle02 > a:hover {
    text-decoration: underline 1px;
}
.titleStyle02 > a::before {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    right: 2px;
    width: 8px;
    height: 8px;
    border-top: solid 2px #ffffff;
    border-left: solid 2px #ffffff;
    transform: rotate(135deg);
}
.titleStyle02 > a:hover::before {
    right: 0;
}
.titleStyle02 > a.linkBlank {
    padding-right: 25px;
}
.titleStyle02 > a.linkBlank::before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    right: 5px;
    width: 12px;
    height:10px;
    border: solid 1px #ffffff;
    border-top: solid 2px #ffffff;
    box-sizing: border-box;
    transform: rotate(0deg);
}
.titleStyle03 {
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: bold;
    color: #585859;
    line-height: 150%;
}
.titleStyle04 {
    position: relative;
    margin-bottom: 12px;
    padding-left: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #001e50;
    line-height: 150%;
}
.titleStyle04::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 5px;
    width: 4px;
    height: 4px;
    border-radius: 3px;
    background-color: #001e50;
    font-size: 0;
}
.titleStyle05 {
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: bold;
    color: #585859;
    line-height: 140%;
}
.titleStyle01 + .secIntroduction {
    margin-top: -22px;
    margin-bottom: 37px;
}
.brandingImg img {
    width: 100%;
    height: auto;
}
.brandingText {
    margin-top: 15px;
    font-size: 16px;
    color: #333333;
    line-height: 150%;
}
.secStyle01 { margin-bottom: 75px; }
.secStyle02 { margin-bottom: 50px; }
.secStyle03 { margin-bottom: 30px; }
.baseLayout01 > .baseCol01 {
    float: left;
    width: 74.611398963%;
}
.baseLayout01 > .baseCol02 {
    float: right;
    width: 23.834196891%;
}
.col3set { margin-bottom: 60px; }
.col3set:last-child { margin-bottom: 0; }
.col3set > .col {
    float: left;
    width: 31.005586592%;
    margin-right: 2.09497206%;
}
.col3set > .col:nth-child(3n) { margin-right: 0; }
.col3set > .col .titleStyle02 {
    width: 100%;
    box-sizing: border-box;
}
.col3set > .col .titleStyle02 a {
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.col4set { margin-bottom: 60px; }
.col4set:last-child { margin-bottom: 0; }
.col4set > .col {
    float: left;
    width: 22.590673575%;
    margin-right: 3.212435233%;
}
.col4set > .col:nth-child(4n) { margin-right: 0; }
.baseCol01 .col4set > .col {
    width: 22.905027932%;
    margin-right: 2.793296089%;
}
.baseCol01 .col4set > .col:nth-child(4n) { margin-right: 0; }
.listStyle01 > li {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 160%;
}
.listStyle01 > li:last-child { margin-bottom: 0; }
.listStyle01 > li > a {
    position: relative;
    display: inline-block;
    color: #001e50;
    text-decoration: none;
}
.listStyle01 > li > a:hover { text-decoration: underline; }
.listStyle01 > li > a::after {
    content: "";
    display: inline-block;
    position: relative;
    right: 2px;
    bottom: 2px;
    width: 6px;
    height: 6px;
    margin-left: 5px;
    border-top: solid 1px #001e50;
    border-right: solid 1px #001e50;
    transform: rotate(45deg);
}
.listStyle01 > li > a:hover::after { right: 0; }
.listStyle01 > li > a.linkBlank::after {
    content: "";
    display: inline-block;
    position: relative;
    bottom: 0;
    right: 0;
    width: 12px;
    height:10px;
    border: solid 1px #333333;
    border-top: solid 3px #333333;
    box-sizing: border-box;
    transform: rotate(0deg);
}
.listStyle01 > li > a.iconPdf::after {
    content: "";
    display: inline-block;
    position: relative;
    bottom: -3px;
    right: 0;
    width: 16px;
    height: 16px;
    background: url("/images/icon_pdf.png") center center no-repeat;
    background-size: 16px 16px;
    border: none;
    transform: rotate(0deg);
}
.listStyle01 > li > a.iconLeft0::after {
    margin-left: 0!important;
}
.numListStyle {
    margin-left: 17px;
}
.numListStyle > li {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 160%;
}
.numListStyle > li:last-child {
    margin-bottom: 0;
}
.noMarkListStyle > li {
    margin-bottom: 5px;
}
.noMarkListStyle > li:last-child {
    margin-bottom: 0;
}
ul > li > ul,ul > li > ol,ol > li > ul,ol > li > ol {
    margin-top: 5px;
    margin-left: 18px;
}
.alphaListStyle {
    list-style-type: lower-latin;
}
.alphaListStyle > li {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 160%;
}
.dotListStyle > li {
    margin-bottom: 5px;
    padding: 0 0 0 1em;
    font-size: 14px;
    line-height: 160%;
    position: relative;
}
.dotListStyle > li::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    background-color: #575757;
    position: absolute;
    top: 0.75em;
    left: 0.25em;
}
.rightNavi {
    overflow: hidden;
}
.rightNavi > ul > li {
    border-top: solid 1px #ffffff;
    background-color: #f1f1f1;
    font-size: 14px;
}
.rightNavi > ul > li:first-child { border-top: none; }
.rightNavi > ul > li > a {
    display: block;
    padding: 7px 15px 9px;
    color: #001e50;
    text-decoration: none;
}
.rightNavi > ul > li > ul > li { border-top: solid 1px #ffffff; }
.rightNavi > ul > li > ul > li > a {
    display: block;
    padding: 10px 10px 12px 25px;
    color: #001e50;
    text-decoration: none;
}
.rightNavi > ul > li > ul > li > ul > li { padding-left: 10px; }
.rightNavi > ul > li > ul > li > ul > li > a {
    display: block;
    padding: 10px 10px 12px 25px;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    color: #001e50;
    text-decoration: none;
}
/*
.rightNavi ul li a.current { background-color: #ffffff; }
.rightNavi ul li a.current:hover { background-color: #e3e3e3; }
*/
.rightNavi ul li a.current {
    background-color: #001e50!important;
    color: #ffffff!important;
}
.rightNavi ul li a.current:hover {
    background-color: #e3e3e3;
    color: #001e50;
}
.rightNavi ul li a {
    background-color: #f1f1f1;
    transition: 0.2s;
}
.rightNavi ul li a:hover { background-color: #e3e3e3; }
.rightCorp,.rightRecruit {
    display: none;
}
.rightNavi ul > li > ul { margin-top: 0; }
.voice .rightNavi > ul > li > a.current {
    color: #001e50!important;
    background-color: #f1f1f1!important;
}
.voice_de01 a.current + ul li.interview01 a,
.voice_ma01 a.current + ul li.interview02 a,
.voice_ma02 a.current + ul li.interview03 a {
    background-color: #001e50!important;
    color: #ffffff!important;
}
.borderNone { border: none!important; }
.inlineText {
    display: inline-block;
    padding: 5px 15px 7px 15px;
    background-color: #f1f1f1;
    font-size: 14px;
    color: #001e50;
    box-sizing: border-box;
}
.infoBox {
    padding: 30px 0;
    background-color: #e1e4eb;
}
.infoBox > dl {
    position: relative;
    display: table;
    width: 100%;
    min-height: 50px;
    border-top: solid 1px #ffffff;
}
.infoBox > dl::before {
    content: "";
    position: absolute;
    left: 200px;
    top: 10px;
    width: 1px;
    height: calc(100% - 20px);
    background-color: #ffffff;
    font-size: 0;
}
.infoBox > dl:last-child { border-bottom: solid 1px #ffffff; }
.infoBox > dl > dt {
    display: table-cell;
    width: 200px;
    padding: 10px 10px 12px 25px;
    vertical-align: middle;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: bold;
    color: #001e50;
}
.infoBox > dl > dd {
    display: table-cell;
    padding: 10px 10px 12px 25px;
    vertical-align: middle;
    font-size: 14px;
    color: #001e50;
}
.infoList > li { color: #333333; }
.infoList > li > a {
    position: relative;
    display: inline-block;
    padding-right: 12px;
    font-size: 14px;
    color: #001e50;
    text-decoration: none;
}
.infoList > li > a:hover { text-decoration: underline; }
.infoList > li > a::before {
    content: "";
    position: absolute;
    right: 2px;
    top: 7px;
    width: 6px;
    height: 6px;
    border-top: solid 1px #001e50;
    border-right: solid 1px #001e50;
    transform: rotate(45deg);
}
.infoList > li > a:hover::before { right: 0; }
.tabBtnList { overflow: hidden; }
.tabBtnList > ul > li {
    position: relative;
    float: left;
    width: 16.66666666%;
    margin-bottom: 20px;
    background-color: #f1f1f1;
}
.baseLayout01 > .baseCol01 .tabBtnList > ul > li { width: 20%; }
.tabBtnList > ul > li.tabHover::before,.tabBtnList > ul > li.tabCrrentPrev::before { display: none; }
.tabBtnList > ul > li > .tabBtnBase {
    display: table;
    width: 100%;
    min-height: 60px;
    border-bottom: solid 2px #001e50;
    background-color: #f1f1f1;
    text-decoration: none;
    font-size: 15px;
    color: #8b8d8e;
    box-sizing: border-box;
    transition: background-color 0.2s;
    cursor: pointer;
}
.tabBtnList > ul > li.current > .tabBtnBase,.tabBtnList > ul > li > .tabBtnBase:hover {
    background-color: #001e50;
    font-weight: bold;
    color: #ffffff;
}
.tabBtnList > ul > li > .tabBtnBase > span {
    display: table-cell;
    padding: 10px;
    border-left: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    text-align: center;
    vertical-align: middle;
    line-height: 130%;
}
.tabBtnList > ul > li:first-child > .tabBtnBase > span { border-left: none!important; }
.tabBtnList > ul > li:nth-child(6n) > .tabBtnBase > span { border-right: none; }
.tabBtnList > ul > li:nth-child(6n + 1) > .tabBtnBase > span { border-left: none; }
.baseLayout01 > .baseCol01 .tabBtnList > ul > li:nth-child(5n) > .tabBtnBase > span { border-right: none; }
.baseLayout01 > .baseCol01 .tabBtnList > ul > li:nth-child(5n + 1) > .tabBtnBase > span { border-left: none; border-right: solid 1px #ffffff; }
.tabBtnList > ul > li:last-child > .tabBtnBase > span { border-right: none!important; }
.tabContents {
    display: none;
    padding: 30px 0 0 0;
}
.tabContents#tabBody01 { display: block; }
.col2set,.col2setR { margin-bottom: 50px; }
.col2set > .col01 {
    float: left;
    width: 47.916666666%;
}
.col2set > .col02 {
    float: right;
    width: 47.916666666%;
}
.col2setR > .col01 {
    float: right;
    width: 47.916666666%;
}
.col2setR > .col02 {
    float: left;
    width: 47.916666666%;
}
.col2setType02, .col2setType02R {
    margin-bottom: 50px;
}
.col2setType02 > .col01 {
    float: left;
    width: 65.277777777%;
}
.col2setType02 > .col02 {
    float: right;
    width: 30.555555555%;
}
.col2setType02R > .col01 {
    float: right;
    width: 65.277777777%;
}
.col2setType02R > .col02 {
    float: left;
    width: 30.555555555%;
}
.col2setType03, .col2setType03R {/*298px*/
    margin-bottom: 50px;
}
.col2setType03 > .col01 {
    float: left;
    width: 54.444444444%;
}
.col2setType03 > .col02 {
    float: right;
    width: 41.388888888%;
}
.col2setType03R > .col01 {
    float: right;
    width: 54.444444444%;
}
.col2setType03R > .col02 {
    float: left;
    width: 41.388888888%;
}

.col2setAdjust {
    margin-bottom: 50px;
}
.col2setAdjust > .col {
    float: left;
    margin-right: 4.166666666%; /*30px*/
}
.col2setAdjust > .col:nth-child(2n) {
    margin-right: 0;
}
/* col2setAdjust  ※独自設定用。幅など各々で設定
例）
.xxx .col2setAdjust .colImg {width:%;}
.xxx .col2setAdjust .colText {width:%;}
*/

.col3imgList > li {
    float: left;
    width: 31.606217616%;
    margin-right: 2.590673575%;
    margin-bottom: 30px;
}
.baseLayout01 > .baseCol01 .col3imgList > li {
    width: 30.555555555%;
    margin-right: 3.910614525%;
}
.col3imgList > li:nth-child(3n),.baseLayout01 > .baseCol01 .col3imgList > li:nth-child(3n) { margin-right: 0; }
.col3imgList > li img {
    max-width: 100%;
    height: auto;
}
.col3imgList > li .imgCaption {
    margin-top: 10px;
    text-align: left;
    font-size: 14px;
    color: #333333;
    line-height: 140%;
}
.imgStyle01 img {
    max-width: 100%;
    height: auto; 
}
.imgStyle01 .imgCaption {
    display: block;
    margin-top: 10px;
    font-size: 14px;
    color: #333333;
    line-height: 140%;
}
.textStyle01 {
    font-size: 14px;
    color: #333333;
    line-height: 160%;
}
.textStylCopy {
    font-size: 18px;
    color: #333333;
    line-height: 180%;
    font-weight: 700;
}
.linkStyle01,
.linkStyle03 {
    position: relative;
    margin-right: 20px;
    padding-right: 15px;
}
.linkStyle01::before,
.linkStyle03::before {
    content: "";
    position: absolute;
    top: 5px;
    right: 2px;
    width: 7px;
    height: 7px;
    border-top: solid 1px #001e50;
    border-right: solid 1px #001e50;
    transform: rotate(45deg);
}
.linkStyle03::before {
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}
.linkStyle01:hover::before,
.linkStyle03:hover::before { right: 0; }
.linkStyle02 { text-decoration: underline; }
.linkStyle02:hover { text-decoration: none; }
.tableStyle01 {
    width: 100%;
    border-collapse: collapse;
}
.tableStyle01 th,.tableStyle01 td {
    padding: 10px 5px;
    border: 1px solid #e3e3e3;
    text-align: center;
    font-size: 14px;
    color: #333333;
    box-sizing: border-box;
}
.tableStyle01 th {
    background-color: #001e50;
    font-weight: bold;
    color: #ffffff;
}
.tableStyle01 th.thType01 {
    background-color: #ffffff;
    color: #333333;
}
.tableStyle01.taL th,.tableStyle01.taL td {
padding: 10px 15px;
    text-align: left;
}
.tableCaption {
    margin-top: 10px;
    font-size: 14px;
    color: #333333;
    line-height: 140%;
}
.scrollBox {
    width: 100%;
    overflow-x: auto;
}
.scrollBox .tableStyle01 { width: 965px; }
.baseLayout01 > .baseCol01 .scrollBox .tableStyle01 { width: 716px; }
.adbeReaderStyle {
    border: solid 1px #e3e3e3;
    padding: 15px;
}
.adbeReaderStyle dl {
    display: table;
    width: 100%;
}
.adbeReaderStyle dl dt {
    display: table-cell;
    width: 173px;
    vertical-align: top;
}
.adbeReaderStyle dl dd {
    display: table-cell;
    width: calc(100% - 173px);
    vertical-align: top;
    font-size: 14px;
}
.adbeReaderStyle a dl dt img {
    transition: 0.2s;
}
.adbeReaderStyle a:hover dl dt img {
    opacity: 0.7;
}
.spaceAdjust01 {
    padding-left: 9px;
}
.ancImageItem {
    display: block;
    max-width: 218px;
    margin: 0 auto;
    text-decoration: none!important;
}
.ancImageItem img {
    width: 100%;
    height: auto;
    transition: 0.2s;
}
.ancImageItem:hover img {
    opacity: 0.7;
}
.ancImageItem .ancImageTitle {
    position: relative;
    display: table;
    width: 100%;
    border-top: solid 1px #ffffff;
    background-color: #001e50;
    transition: 0.2s;
    box-sizing: border-box;
}
.ancImageItem:hover .ancImageTitle {
    background-color: #e3001b;
}
.ancImageItem .ancImageTitle::before {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 7px;
    display: block;
    width: 12px;
    height: calc(tan(30deg) * 30px / 2);
    background: #ffffff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.ancImageItem .ancImageTitle span {
    display: table-cell;
    padding: 8px 32px 8px 8px;
    text-align: left;
    vertical-align: middle;
    font-size: 12px;
    color: #ffffff;
}
.col2setPanel {
    margin-bottom: 50px;
}
.col2setPanel li {
    float: left;
    width: calc((100% - 15px) / 2);
    margin-right: 15px;
    margin-bottom: 30px;
}
.col2setPanel li:nth-child(2n) {
    margin-right: 0;
}
.col2setPanel a {
    display: block;
}
.col2setPanel .col2setPanelTitle {
    font-size: 18px;
    color: #575757;
    text-align: center;
    font-weight: 700;
    margin-bottom: 13px;
}
.col2setPanel img {
    max-width: 100%;
}
.col2setPanel .linkStyle03 {
    margin-right: 0;
    background-color: #001e50;
    text-align: center;
}
.col2setPanel .linkStyle03::before {
    right: 15px;
    top: calc(50% - 3px);
}
.col2setPanel .linkStyle03 span {
    display: inline-block;
    color: #fff;
    text-align: center;
    padding: 11px 15px;
    font-size: 14px;
}
.col2setPanel a:hover {
    opacity: 0.7;
}
.col2setPanel a:hover .linkStyle03::before {
    right: 13px;
}
.col2boxList01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
}
.col2boxList01 > .col {
    width: calc((100% - 15px) / 2);
    border: 1px solid #e1e4eb;
    box-sizing: border-box;
    margin-bottom: 15px;
}
.col2boxList01 .boxListTitle {
    padding: 9px 15px;
    font-size: 16px;
    font-weight: 700;
    color: #575757;
    background-color: #e1e4eb;
}
.col2boxList01 .boxListInner {
    padding: 18px 10px 20px;
}
.col2menuList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.col2menuList > .col {
  width: calc((100% - 15px) / 2);
    border: 1px solid #001e50;
    box-sizing: border-box;
    margin-bottom: 15px;
}
.col2menuList a.button {
    display: block;
    position: relative;
    color: #001e50;
    font-size: 14px;
    padding: 12px 14px 14px;
}
.col2menuList a.button:hover {
    text-decoration: underline 1px;
}
.col2menuList a.button::before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    width: 8px;
    height: 8px;
    border-top: solid 1px #001e50;
    border-left: solid 1px #001e50;
    transform: rotate(135deg);
}
.col2menuList a.button:hover::before {
    right: 13px;
}
.col2menuList a.button.linkBlank {
    padding-right: 25px;
}
.col2menuList a.button.linkBlank::before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    right: 10px;
    width: 12px;
    height: 10px;
    border: solid 1px #001e50;
    border-top: solid 2px #001e50;
    box-sizing: border-box;
    transform: rotate(0deg);
}
.buttonStyle01 {
    margin-top: 3px;
    text-align: right;
    position: relative;
}
.buttonStyle01 a {
    display: inline-block;
    padding: 10px 0 11px;
    border: solid 1px #001e50;
    font-size: 14px;
    min-width: 178px;
    box-sizing: border-box;
    text-align: center;
}
.buttonStyle01::before {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: solid 1px #001e50;
    border-right: solid 1px #001e50;
    transform: rotate(45deg);
}
.buttonStyle01 a:hover {
text-decoration: none;
    background-color: #001e50;
    color: #ffffff;
}
.buttonStyle01:hover::before {
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}


/* adjust style
============================================================= */
.mt0 { margin-top: 0px!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mb0 { margin-bottom: 0px!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.pl15 { padding-left: 15px!important;}
.taL { text-align: left!important; }
.taC { text-align: center!important; }
.taR { text-align: right!important; }
.w100p { width: 100%!important; }

/* footer
============================================================= */
.footerArea {
    width: 100%;
    background-color: #e5e5e5;
}
.footerAreaIn {
    position: relative;
    display: table;
    width: 100%;
    height: 78px;
    max-width: 995px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}
.footerAreaIn .footerList {
    display: table-cell;
    vertical-align: middle;
}
.footerAreaIn .footerList li {
    position: relative;
    display: inline;
    margin-left: 15px;
    padding-left: 15px;
    font-size: 14px;
    color: #333333;
}
.footerAreaIn .footerList li:first-child {
    margin-left: 0;
    padding-left: 0;
}
.footerAreaIn .footerList li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 1px;
    height: 12px;
    background-color: #333333;
    font-size: 0;
}
.footerAreaIn .footerList li:first-child::before { display: none; }
.footerAreaIn .footerList li a {
    text-decoration: none;
    color: #333333;
}
.footerAreaIn .footerList li a:hover { text-decoration: underline; }
.footerAreaIn .copyRight {
    display: table-cell;
    width: 350px;
    text-align: right;
    vertical-align: middle;
    font-size: 10px;
    color: #333333;
}


/* clearfix
============================================================= */
.clearfix:after,
.col3imgList:after,
.col2setPanel:after,
.col2setAdjust:after,
.col2setType03R:after,
.col2setType03:after,
.col2setType02R:after,
.col2setType02:after,
.col2setR:after,
.col2set:after,
.col3set:after,
.col4set:after,
.tabBtnList:after,
.baseLayout01:after,
.contentsList ul:after,
.bcList:after,
.globalNavi:after,
.headerFirstIn:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
*:first-child+html .clearfix,
*:first-child+html .col3imgList,
*:first-child+html .col2setPanel,
*:first-child+html .col2setAdjust,
*:first-child+html .col2setType03R,
*:first-child+html .col2setType03,
*:first-child+html .col2setType02R,
*:first-child+html .col2setType02,
*:first-child+html .col2setR,
*:first-child+html .col2set,
*:first-child+html .col3set,
*:first-child+html .col4set,
*:first-child+html .tabBtnList,
*:first-child+html .baseLayout01,
*:first-child+html .contentsList ul,
*:first-child+html .bcList,
*:first-child+html .globalNavi,
*:first-child+html .headerFirstIn { zoom: 1; }