@charset "UTF-8";
/*------------------------------------------------------------
    2023.1　株主投資家情報　コンテンツリニューアル
------------------------------------------------------------*/

/* フォント読み込み
------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap');


/* リセット
------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
}

img {
    vertical-align:top;
    max-width: 100%;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}


/* 一般
------------------------------------------------------------*/
html,
body {
    margin: 0;
    padding: 0;
    background:#fff;
    text-align: left;
}

html {
    height: 100%;
    min-height: 100%;
    font-size: 62.5%;
}
@media print, screen and (min-width: 770px) {
    body {
        min-width: 1260px;
    }
}

/* リニューアルコンテンツのブロックに対して指定
------------------------------------------------------------*/
#renewal {
    width: 100%;
    font-size: 16px; font-size: 1.6rem; /* =16px */
    /**font-size: small;
    *font: x-small;*/
    font-family: 'Noto Sans SC',Helvetica,Arial,Verdana,sans-serif;
    font-weight: normal;
    line-height:1.75;
    color: #333;
    -webkit-text-size-adjust: 100%;
}
@media print, screen and (min-width: 770px) {
    #renewal a:hover {
        text-decoration: underline;
    }
}
#renewal th, #renewal td, #renewal input, #renewal textarea {
    font-size: inherit;
    font-family: 'Noto Sans SC',Helvetica,Arial,Verdana,sans-serif;
}

/* 汎用クラスの定義
------------------------------------------------------------*/
/* 改行 */
.br_sp {
    display: block;
}
.br_sp2 {
    display: inline-block;
}
.br_pc {
    display: none;
}
.br_pc2 {
    display: none;
}

@media print, screen and (min-width: 770px) {
    .br_sp {
        display: none;
    }
  .br_sp2 {
    display: none;
  }
    .br_pc {
        display: block;
    }
    .br_pc2 {
        display: inline;
    }
}

/* テキスト揃え */
.textLeft{text-align:left !important;}
.textCenter{text-align:center !important;}
.textRight{text-align:right !important;}
.verticalMiddle{ vertical-align:middle !important;}
.verticalTop{ vertical-align:top !important;}

/* インデント */
.textIndentList {
padding-left:1em;
text-indent:-1em;
}
.textIndentList span {
    color:#007bcf;
}
.textIndent0 {
padding-left:0 !important;
text-indent:0 !important;
}
.textIndent0_5 {
padding-left:0.5em;
text-indent:-0.5em;
}
.textIndent0_5 {
padding-left:0.5em;
text-indent:-0.5em;
}
.textIndent1 {
padding-left:1em;
text-indent:-1em;
}
.textIndent1_5 {
padding-left:1.5em;
text-indent:-1.5em;
}
.textIndent2 {
padding-left:2em;
text-indent:-2em;
}
.textIndent2_5 {
padding-left:2.5em;
text-indent:-2.5em;
}
.textIndent3 {
padding-left:3em;
text-indent:-3em;
}
.textIndent3_5 {
padding-left:3.5em;
text-indent:-3.5em;
}
.textIndent4 {
padding-left:4em;
text-indent:-4em;
}
.textIndent4_5 {
padding-left:4.5em;
text-indent:-4.5em;
}

/* フォントウェイト */
.fontBold {
    font-weight: bold;
}
.fontNormal {
    font-weight: normal;
}

/* マージン */
.bottommargin1em{margin-bottom:1.75em !important;}

.bottommargin0{margin-bottom:0 !important;}
.bottommargin5{margin-bottom:5px !important;}
.bottommargin10{margin-bottom:10px !important;}
.bottommargin15{margin-bottom:15px !important;}
.bottommargin20{margin-bottom:20px !important;}
.bottommargin25{margin-bottom:25px !important;}
.bottommargin30{margin-bottom:30px !important;}
.bottommargin35{margin-bottom:35px !important;}
.bottommargin40{margin-bottom:40px !important;}
.bottommargin45{margin-bottom:45px !important;}
.bottommargin50{margin-bottom:50px !important;}
.bottommargin55{margin-bottom:55px !important;}
.bottommargin60{margin-bottom:60px !important;}
.bottommargin65{margin-bottom:65px !important;}
.bottommargin70{margin-bottom:70px !important;}
.bottommargin75{margin-bottom:75px !important;}
.bottommargin80{margin-bottom:80px !important;}
.bottommargin85{margin-bottom:85px !important;}
.bottommargin90{margin-bottom:90px !important;}
.bottommargin100{margin-bottom:100px !important;}
.bottommargin150{margin-bottom:150px !important;}
.bottommargin200{margin-bottom:200px !important;}

.topmargin0{margin-top:0px !important;}
.topmargin5{margin-top:5px !important;}
.topmargin10{margin-top:10px !important;}
.topmargin15{margin-top:15px !important;}
.topmargin20{margin-top:20px !important;}
.topmargin25{margin-top:25px !important;}
.topmargin30{margin-top:30px !important;}
.topmargin35{margin-top:35px !important;}
.topmargin40{margin-top:40px !important;}
.topmargin45{margin-top:45px !important;}
.topmargin50{margin-top:50px !important;}
.topmargin55{margin-top:55px !important;}
.topmargin60{margin-top:60px !important;}
.topmargin65{margin-top:65px !important;}
.topmargin75{margin-top:75px !important;}
.topmargin85{margin-top:85px !important;}
.topmargin_10{margin-top:-10px !important;}
.topmargin_20{margin-top:-20px !important;}
.topmargin_30{margin-top:-30px !important;}
.topmargin_40{margin-top:-40px !important;}
.topmargin_50{margin-top:-50px !important;}
.topmargin_60{margin-top:-60px !important;}
.topmargin_70{margin-top:-70px !important;}
.topmargin_80{margin-top:-80px !important;}

.leftmargin0{margin-left:0 !important;}
.leftmargin50{margin-left:50 !important;}

.rightmargin0{margin-right:0px !important;}

/* common調整
------------------------------------------------------------*/
p + p, p + ul, p + ol, p + .textbox, p + .datelist, p + table.table, p + .columns, ul + p, ul + ul, ul + ol, ul + .textbox, ul + .datelist, ul + table.table, ul + .columns, ol + p, ol + ul, ol + ol, ol + .textbox, ol + .datelist, ol + table.table, ol + .columns, .textbox + p, .textbox + ul, .textbox + ol, .textbox + .textbox, .textbox + .datelist, .textbox + table.table, .textbox + .columns, .datelist + p, .datelist + ul, .datelist + ol, .datelist + .textbox, .datelist + .datelist, .datelist + table.table, .datelist + .columns, table.table + p, table.table + ul, table.table + ol, table.table + .textbox, table.table + .datelist, table.table + table.table, table.table + .columns, .columns + p, .columns + ul, .columns + ol, .columns + .textbox, .columns + .datelist, .columns + table.table, .columns + .columns {
    margin-top: 0;
}

/* eir読み込みページで使っているcss
------------------------------------------------------------*/
.eirContentsWrap h2 {
    position: relative;
    margin: 50px 0px 20px;
    padding: 10px 10px 10px 30px;
    color: #000000;
    font-size: 150%;
    line-height: 130%;
    background: url(../images/h2bg.gif) repeat left top;
}
.eirContentsWrap h2:before {
    content: "";
    position: absolute;
    display: block;
    left: 0px;
    top: 50%;
    width: 17px;
    height: 6px;
    margin-top: -3px;
    background: #0078bf;
}

.eirContentsWrap h2 span.rss {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -16px;
}

.eirContentsWrap h3 {
    margin: 50px 0px 15px;
    padding: 0px 0px 5px;
    color: #3b93a9;
    font-size: 130%;
    line-height: 130%;
    border-bottom: 1px solid #0078bf;
}

.eirContentsWrap > h3 {
    padding: 0px 10px 5px;
}

.eirContentsWrap h4 {
    margin: 30px 0px 15px;
    padding: 3px 10px 0px 25px;
    color: #545454;
    font-size: 110%;
    line-height: 130%;
    background: url(../images/h4bg.gif) repeat-y 10px top;
}

.eirContentsWrap h4.h4-02 {
    padding: 3px 10px 0 0;
    font-size: 130%;
    font-weight: bold;
    background: none;
}

.eirContentsWrap > .textbox h4 {
    padding-left: 15px;
    background-position: 0px top;
}

.eirContentsWrap h5 {
    margin: 25px 0px 10px;
    padding: 0px;
    color: #000000;
    font-size: 100%;
    line-height: 130%;
}

.eirContentsWrap > h5 {
    margin-left: 10px;
}

.eirContentsWrap h6 {
    margin: 25px 0px 10px;
    padding: 0px;
    color: #535353;
    font-size: 100%;
    line-height: 130%;
}

.eirContentsWrap > h6 {
    margin-left: 10px;
}

.eirContentsWrap h1:first-child, .eirContentsWrap h2:first-child, .eirContentsWrap h3:first-child, .eirContentsWrap h4:first-child, .eirContentsWrap h5:first-child, .eirContentsWrap h6:first-child {
    margin-top: 0px;
}

.eirContentsWrap #tab {
    margin-bottom: 30px;
    border-bottom: 2px solid #4376bb;
}

.eirContentsWrap #tab ul {
    display: table;
}

.eirContentsWrap #tab li {
    display: table-cell;
    vertical-align: bottom;
}

.eirContentsWrap #tab li+li {
    padding-left: 2px;
}

.eirContentsWrap #tab li a {
    display: table-cell;
    min-width: 140px;
    height: 48px;
    padding: 0px 10px;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
    background: #6d747e;
    border-bottom: 2px solid #ffffff;
}

.eirContentsWrap #tab li a.selected {
    background: #5a9fe6;
    border-bottom: 2px solid #5a9fe6;
}

.eirContentsWrap .table {
    width: 100%;
    border-collapse: collapse;
}

.eirContentsWrap .table th,
.eirContentsWrap .table td {
    padding: 5px 8px;
    text-align: left;
    vertical-align: top;
    font-weight: normal;
    border: 1px solid #ffffff;
}

.eirContentsWrap .table thead th {
    color: #ffffff;
    background: #8a9097;
}

.eirContentsWrap .table tbody th {
    color: #ffffff;
    background: #4376bb;
}

.eirContentsWrap .table td {
    color: #000000;
    background: #ebebeb;
}

.eirContentsWrap .table td.highlight {
    background: #d9e4f1;
}

.eirContentsWrap .table tr:nth-child(2n) td {
    background: #f5f5f5;
}

.eirContentsWrap .table tr:nth-child(2n) td.highlight {
    background: #ecf1f8;
}

.eirContentsWrap .button {
    margin: 20px 0px;
    padding: 10px 0px;
    text-align: center;
    background: #ececec;
}

.eirContentsWrap .button.inline {
    padding: 0px 15px 10px 5px;
    text-align: left;
    overflow: hidden !important;
}

.eirContentsWrap > .button {
    margin-left: 10px;
}

.eirContentsWrap > .button.inline {
    padding: 0px 10px 10px 0px;
}

.eirContentsWrap .button a {
    display: inline-block;
    min-width: 290px;
    margin-top: 10px;
    padding: 8px 15px 7px;
    color: #ffffff;
    line-height: 100%;
    text-decoration: none;
    background: #5a9fe6;
    border-bottom: 1px solid #001e67;
}

.eirContentsWrap .button.inline a {
    float: left;
    width: 180px;
    min-width: 0px;
    margin-top: 10px;
    margin-left: 10px;
    text-align: center;
}

.eirContentsWrap .button a:first-child {
    margin-top: 0px;
}

.eirContentsWrap .button.inline a:first-child {
    margin-top: 10px;
}

.eirContentsWrap .button a:hover {
    color: #ffffff !important;
    background: #0077be;
    border-bottom: 1px solid #00042a;
}

.eirContentsWrap .button a span.pdf {
    padding-right: 25px;
    background: url(../images/icon_pdf.png) no-repeat right center;
}

.eirContentsWrap .button a span.dl {
    padding-right: 25px;
    background: url(../images/icon_dl.png) no-repeat right center;
}

.eirContentsWrap .button a span.new {
    padding-right: 21px;
    background: url(../images/icon_blank.gif) no-repeat right center;
}

.eirContentsWrap .textbox {
    display: table;
}

.eirContentsWrap > .textbox {
    margin-left: 10px;
}

.eirContentsWrap .textbox > div {
    display: table-cell;
    vertical-align: top;
}

.eirContentsWrap .textbox > div.text {
    width: 100%;
}

.eirContentsWrap .textbox > div+div {
    padding-left: 15px;
}

.eirContentsWrap .textbox > div.figure img {
    display: block;
    margin: auto;
}

.eirContentsWrap .textbox > div.figure p {
    font-size: 90%;
}

.eirContentsWrap .textbox > div.figure img+img {
    margin-top: 10px;
}

.eirContentsWrap .textbox > div.figure img+p {
    margin-top: 5px;
}

.eirContentsWrap .textbox > div.figure p+img {
    margin-top: 10px;
}
.eirContentsWrap img {
    max-width: none !important;
}


/* 変数
------------------------------------------------------------*/
:root {
    --main-blue: #1556A3;
}

/* 共通パーツ
------------------------------------------------------------*/
/* パンくず、EnglishリンクのBOX */
.topNavArea {
    width: 93.75%;
    margin: 10px auto 0;
}
@media print, screen and (min-width: 770px) {
    .topNavArea {
        width: 1200px;
        margin: 20px auto 0;
        display: flex;
        justify-content: space-between;
    }
}
/* パンくずリスト */
.breadCrumbsList {
    line-height: 100%;
}
.breadCrumbsList li {
    font-size: 1.1rem;
    display: inline;
}
.breadCrumbsList li + li {
    margin-left: 3px;
}
.breadCrumbsList li:before {
    content: " > ";
    padding-right: 3px;
}
.breadCrumbsList li:first-child:before {
    content: none;
}
.breadCrumbsList li a {
    color: #0062B1;
}
@media print, screen and (min-width: 770px) {
    .breadCrumbsList {
        line-height: 1.4;
    }
    .breadCrumbsList li {
        font-size: 1.3rem;
    }
    .breadCrumbsList li a:hover {
        color: #0062B1 !important;
    }
}
/* Englishリンク */
.engilishLink {
    font-size: 1.3rem;
    text-align: right;
    line-height: 1.5;
    margin-top: 5px;
}
.engilishLink a {
    color: #333;
}
.engilishLink a::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f054";
    color: var(--main-blue);
    margin-right: 5px;
}
@media print, screen and (min-width: 770px) {
    .engilishLink {
        margin: 2px 0 0 20px;
        white-space: nowrap;
    }
}

/* ページタイトル */
.mainTitleWrapWide {
    padding: 20px 0;
    border-bottom: solid 1px #2D2D2D;
}
.mainTitleWrap {
    padding: 0 0 20px;
    border-bottom: solid 1px #2D2D2D;
}
.mainTitleWrap + * {
    margin-top: 20px;
}
.mainTitle {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
    width: 93.75%;
    margin: 0 auto;
}
@media print, screen and (min-width: 770px) {
    .mainTitleWrapWide {
        padding: 35px 0 30px;
    }
    .mainTitleWrap {
        padding: 0 0 22px;
    }
    .mainTitleWrap + * {
        margin-top: 40px;
    }
    .mainTitle {
        font-size: 3.2rem;
        width: 100%;
    }
    .mainTitleWrapWide .mainTitle {
        width: 1200px;
    }
}

/* 見出し h2 */
.contTitle_h2 {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.45;
    border-left: solid 2px var(--main-blue);
    padding: 0 0 0.23em 8px;
    margin-top: 40px;
}
.contTitle_h2:first-child {
    margin-top: 0;
}
@media print, screen and (min-width: 770px) {
    .contTitle_h2 {
        font-size: 2.4rem;
        border-left: solid 4px var(--main-blue);
        padding: 0 0 0.23em 16px;
        margin-top: 60px;
    }
}
/* 見出し h3 */
.contTitle_h3 {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    background: #EFF0F2;
    padding: 4px 10px;
    margin-top: 30px;
}
.contTitle_h2 + .contTitle_h3 {
    margin-top: 20px;
}
.contTitle_h2 + .contTextBox > .contTitle_h3:first-of-type {
    margin-top: 20px;
}
@media print, screen and (min-width: 770px) {
    .contTitle_h3 {
        font-size: 2.0rem;
        line-height: 1.45;
        padding: 11px 20px;
        margin-top: 50px;
    }
    .contTitle_h2 + .contTitle_h3 {
        margin-top: 30px;
    }
}
/* 見出し h4 */
.contTitle_h4 {
    color: #1556A3;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}
.contTitle_h3 + .contTitle_h4 {
    margin-top: 30px;
}
@media print, screen and (min-width: 770px) {
    .contTitle_h4 {
        font-size: 2.0rem;
        line-height: 1.45;
    }
}
/* 注釈 */
.notesList {
    font-size: 1.4rem;
}
.notesNomber,
.notesSup {
    color: #D80616;
}
.notesSup {
    vertical-align: super;
}

/* カラー設定 */
.mainBlue {
    color: var(--main-blue) !important;
}

/* テキストリンクのボックス */
.textLinkWrap {
    margin-top: 18px;
}
.textLinkWrap:first-child {
    margin-top: 0;
}
@media print, screen and (min-width: 770px) {
    .textLinkWrap {
        margin-top: 38px;
    }
    .textLinkWrap + .textLinkWrap {
        margin-top: 18px;
    }
}

/* PDFリンク */
.link_pdf::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f1c1";
    color: #D80616;
    margin-left: 0.3em;
}
/* 矢印ありのリンク */
a.arrow_pdf,
a.arrow_link,
a.arrow_window {
    position: relative;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    color: #1556A3;
    padding-left: 1em;
}
.arrow_pdf::before,
.arrow_link::before,
.arrow_window::before {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\F054";
    color: #1556A3;
    position: absolute;
    top: 0;
    left: 0;
}
.arrow_pdf::after {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f1c1";
    color: #D80616;
    margin-left: 0.3em;
}
.arrow_window::after {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    content: "\f2d2";
    color: #0070c8;
    margin-left: 0.3em;
}
@media print, screen and (min-width: 770px) {
    a.arrow_pdf,
    a.arrow_link,
    a.arrow_window {
        font-size: 2.0rem;
    }
}

/* 扉ページ
------------------------------------------------------------*/
/* コンテンツ　1カラム */
.contentsMain1col {
    width: 93.75%;
    margin: 0 auto;
    padding: 20px 0 40px;
}
@media print, screen and (min-width: 770px) {
    .contentsMain1col {
        width: 1200px;
        padding: 40px 0 100px;
    }
}

/* カードメニュー */
.categoryCard {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.contTextBox + .categoryCard {
    margin-top: 20px;
}
@media print, screen and (min-width: 770px) {
    .categoryCard.card3col {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 40px 42px;
    }
    .categoryCard.card2col {
        grid-template-columns: 1fr 1fr;
        gap: 40px 42px;
    }
    .contTextBox + .categoryCard {
        margin-top: 40px;
    }
}
a.photoCard {
    position: relative;
    display: block;
    box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.16);
}
a.photoCard._textBottom {
    color: #333333;
    background-color: #fff;
}
a.photoCard._withBorder {
    color: #333333;
    border: 1px solid #9A9A9A;
    padding: 10px;
    box-shadow: none;
}
.photoCard_text {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    font-weight: bold;
    color: #fff;
    z-index: 1;
}
.photoCard_text_bottom {
    display: block;
    padding: 12px 0 13px 10px;
    font-weight: bold;
    line-height: 1.45;
}
.photoCard_text_bottom02 {
    display: block;
    padding: 10px 0;
    font-weight: bold;
    line-height: 1.45;
}
.photoCard_text::after,
.photoCard_text_bottom::after,
.photoCard_text_bottom02::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f054";
    margin-left: 8px;
    transition: all .3s;
}
.photoCard_text_bottom::after,
.photoCard_text_bottom02::after {
    color: #1556A3;
}
.photoCard_img:hover {
    opacity: 1;
}
@media print, screen and (min-width: 770px) {
    a.photoCard:hover {
        opacity: 0.7;
        transition: .3s;
    }
    .photoCard_text {
        left: 20px;
        font-size: 2.0rem;
    }
    .photoCard_text_bottom {
        font-size: 2.0rem;
        padding: 15px 20px 16px 20px;
    }
    .photoCard_text_bottom02 {
        font-size: 2.0rem;
        padding-top: 20px;
    }
    a.photoCard:hover .photoCard_text::after,
    a.photoCard:hover .photoCard_text_bottom::after,
    a.photoCard:hover .photoCard_text_bottom02::after {
        margin-left: 13px;
    }
    a.photoCard._textBottom:hover,
    a.photoCard._withBorder:hover  {
        color: #0062B1 !important;
    }
}

a.textCard {
    position: relative;
    display: flex;
    align-items: center;
    color: #333333;
    border: solid 1px var(--main-blue);
    padding: 0 30px 0 12px;
    min-height: 64px;
    box-sizing: border-box;
    background-color: #fff;
}
a.textCard::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f054";
    color: var(--main-blue);
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
}
.textCard_text {
    font-weight: bold;
    line-height: 1.5;
}
@media print, screen and (min-width: 770px) {
    a.textCard {
        padding: 0 45px 0 20px;
        min-height: 80px;
        transition: .3s;
    }
    a.textCard:hover {
        background-color: #EFF0F2;
        color: #0062B1;
    }
    a.textCard::after {
        right: 20px;
        font-size: 2.0rem;
        transition: all .3s;
    }
    a.textCard:hover::after {
        right: 15px;
    }
    .textCard_text {
        font-size: 2.0rem;
    }
}

.categoryCard_subMenu {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 16px 0 0 15px;
}
.categoryCard_subMenu li {
    position: relative;
    padding-left: 1em;
    line-height: 1.5;
}
.categoryCard_subMenu li::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f054";
    color: var(--main-blue);
    position: absolute;
    top: 1px;
    left: 0;
}
.categoryCard_subMenu li a {
    color: #000;
}
@media print, screen and (min-width: 770px) {
    .categoryCard_subMenu {
        margin: 20px 0 0 20px;
    }
    .categoryCard_subMenu.menu2col {
        grid-template-columns: max-content 1fr;
        gap: 12px 27px;
    }
}
.categoryCard_summaryText {
    font-size: 1.4rem;
    margin: 0.8em 1em 0;
}
@media print, screen and (min-width: 770px) {
    .categoryCard_summaryText {
        font-size: 1.6rem;
        margin: 1.1em 1.5em 0;
    }
}

.categoryTopBanner {
    border-top: solid 1px #0062B1;
    margin-top: 30px;
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
a.categoryTopBanner_item {
    width: 100%;
    box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.16);
}
@media print, screen and (min-width: 770px) {
    .categoryTopBanner {
        margin-top: 60px;
        padding-top: 40px;
        gap: 42px;
    }
    a.categoryTopBanner_item {
        width: 372px;
    }
    a.categoryTopBanner_item img:hover {
        opacity: 0.7;
        transition: .3s;
    }
}

/* リンクボタン */
.linkButton_item {
    display: block;
    margin-top: 20px;
}
@media print, screen and (min-width: 770px) {
    .linkButton_item {
        width: 440px;
        margin-top: 30px;
    }
}

/* 下層ページ
------------------------------------------------------------*/
/* コンテンツ　2カラム */
.contentsMain2col {
    padding: 20px 0 40px;
}
@media print, screen and (min-width: 770px) {
    .contentsMain2col {
        padding: 46px 0 100px;
        width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
    }
}

/* メインコンテンツ */
.contentsMain {
    width: 100%;
}
@media print, screen and (min-width: 770px) {
    .contentsMain {
        width: 920px;
    }
}

/* スマホのコンテンツ幅が93.75%のブロック */
.cont93 {
    width: 93.75%;
    margin-left: auto;
    margin-right: auto;
}
@media print, screen and (min-width: 770px) {
    .cont93 {
        width: 100%;
    }
}

/* PCコンテンツ幅が880pxのブロック */
.cont880 {
    width: 100%;
}
.contTitle_h2 + .cont880 {
    margin-top: 20px;
}
@media print, screen and (min-width: 770px) {
    .cont880 {
        width: 880px;
        margin: 0 auto;
    }
    .contTitle_h2 + .cont880 {
        margin-top: 40px;
    }
}

/* サイドコンテンツ */
.contentsSide {
    margin-top: 40px;
}
@media print, screen and (min-width: 770px) {
    .contentsSide {
        margin-top: 0;
        width: 240px;
    }
}

/* サイドナビ */
.sideNavTitle {
    border-bottom: solid 2px #f0f0f0;
    border-top: solid 2px #f0f0f0;
    font-weight: bold;
}
.sideNavTitle a {
    position: relative;
    display: block;
    padding: 11px 15px 11px 30px;
    font-size: 1.3rem;
    line-height: 1.5;
    background: #007bcf;
    color: #fff;
}
.sideNavTitle a::before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    content: "\f054";
    position: absolute;
    top: 12px;
    left: 15px;
}
@media print, screen and (min-width: 770px) {
    .sideNavTitle {
        border-bottom: solid 1px #C5C5C5;
        border-top: solid 3px var(--main-blue);
        font-weight: normal;
    }
    .sideNavTitle a {
        padding: 10px;
        font-size: 2.4rem;
        background: #fff;
        color: #333333 !important;
    }
    .sideNavTitle a::before{
        content: none;
    }
}
.sideNav > li {
    border-bottom: solid 2px #F0F0F0;
}
.sideNav > li a {
    position: relative;
    display: block;
    padding: 11px 15px 11px 30px;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #333!important;
}
.sideNav > li a::before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    content: "\f054";
    color: #0062B1;
    position: absolute;
    top: 12px;
    left: 15px;
}
.sideNav > li > a {
    font-weight: bold;
}
.sideNav > li.current > a {
    background-color: #D8ECF8;
}
@media print, screen and (min-width: 770px) {
    .sideNav > li {
        border-bottom: solid 1px #C5C5C5;
    }
    .sideNav > li a {
        padding: 16px 33px 16px 10px;
        font-size: 1.6rem;
    }
    .sideNav > li a::before {
        content: none;
    }
    .sideNav > li a::after {
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
        content: "\f054";
        color: var(--main-blue);
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translateY(-50%);
        transition: all .3s;
    }
    .sideNav > li > a {
        font-weight: 500;
        transition: all .3s;
    }
    .sideNav > li.current > a,
    .sideNav > li > a:hover {
        color: #fff !important;
        background-color: var(--main-blue);
    }
    .sideNav > li.current > a::after {
        content: none;
    }
    .sideNav > li > a:hover::after {
        color: #fff;
        right: 10px;
    }
}

.sideNavLow {
    border-top: solid 2px #F0F0F0;
}
.sideNavLow > li + li {
    border-top: solid 2px #F0F0F0;
}
.sideNavLow > li > a {
    padding: 11px 15px 11px 45px;
}
.sideNavLow > li > a::before {
    left: 35px;
}
.sideNavLow > li.current > a {
    background-color: #EEEEF3;
}
@media print, screen and (min-width: 770px) {
    .sideNavLow {
        border-top: solid 1px #C5C5C5;
    }
    .sideNavLow > li + li {
        border-top: solid 1px #C5C5C5;
    }
    .sideNavLow > li > a {
        padding: 16px 33px 16px calc(1em + 10px);
        transition: all .3s;
    }
    .sideNavLow > li.current > a,
    .sideNavLow > li > a:hover {
        background-color: #EFF0F2;
    }
    .sideNavLow > li.current > a::after {
        content: none;
    }
    .sideNavLow > li > a:hover::after {
        right: 10px;
    }
}

.sideNavLow_2 {
    border-top: solid 2px #F0F0F0;
}
.sideNavLow_2 > li + li {
    border-top: solid 2px #F0F0F0;
}
.sideNavLow_2 > li > a {
    padding: 11px 15px 11px 57px;
}
.sideNavLow_2 > li > a::before {
    left: 47px;
}
.sideNavLow_2 > li.current > a {
    background-color: #EEEEF3;
}
@media print, screen and (min-width: 770px) {
    .sideNavLow_2 {
        border-top: solid 1px #C5C5C5;
    }
    .sideNavLow_2 > li + li {
        border-top: solid 1px #C5C5C5;
    }
    .sideNavLow_2 > li > a {
        padding: 16px 33px 16px calc(2em + 10px);
        transition: all .3s;
    }
    .sideNavLow_2 > li.current > a,
    .sideNavLow_2 > li > a:hover {
        background-color: #EFF0F2;
    }
    .sideNavLow_2 > li.current > a::after {
        content: none;
    }
    .sideNavLow_2 > li > a:hover::after {
        right: 10px;
    }
}

/* 画像 */
.figureBox {
    margin: 20px 0 0;
}
.figureBox:first-child {
    margin-top: 0;
}

.wrap_img figure:first-child {
    margin: 0 0 30px;
}

.sign ul li {
    position: relative;
    padding-left: 10px;
}

.sign ul li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #00A6E9;
    position: absolute;
    top: 11px;
    left: 0;

}

.sign .sign_img {
    max-width: 400px;
    margin: 15px 0;
}

@media print,
screen and (min-width: 770px) {
    .figureBox {
        max-width: 880px;
        margin: 40px auto 0;
    }

    .wrap_img {
        display: flex;
        justify-content: space-between;
    }

    .wrap_img figure:first-child {
        max-width: 370px;
        margin: 0 40px 0 0;
        flex-shrink: 0;
    }

    .wrap_img figcaption {
        margin-top: 10px;
    }

    .sign {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: flex-end;
    }

}

/* アイコン */
.icon_pcsite {
    width: 12px;
    height: 10px;
    vertical-align: middle;
    padding: 0 0 2px 5px;
}
.icon_window /* 画像版 */ {
    width: 12px;
    height: 10px;
    vertical-align: middle;
    padding: 0 0 2px 5px;
}
.icon_window_fa /* Font Awesome版 */ {
    padding-left: 0.4em;
    color: #0070c8;
}
.icon_window_fa_black /* Font Awesome版 */ {
    padding-left: 0.4em;
    color: #333;
}
.icon_pdf /* 画像版 */ {
    width: 11px;
    height: 16px;
    vertical-align: middle;
    padding: 0 0 1px 5px;
}
.icon_pdf_fa /* Font Awesome版 */ {
    padding-left: 0.4em;
    color: #cc0b0d;
}
.icon_textlink {
    padding-right: 0.4em;
}

/* テキストボックス */
.contTextBox {
    margin: 20px 0 0;
}
.contTextBox:first-child {
    margin-top: 0;
}
.contTextBox p {
    font-size: 1.4rem;
}
@media print, screen and (min-width: 770px) {
    .contTextBox {
        width: 880px;
        margin: 20px auto 0;
    }
    .figureBox + .contTextBox {
        margin: 40px auto 0;
    }
    .contTextBox p {
        font-size: 1.6rem;
    }
}

/* テキストコンテンツボックス */
.contTitle_h3 + .textCont_box {
    margin-top: 20px;
}
.textCont_box {
    margin-top: 10px;
}
.textCont_box .indentTextItem {
    text-indent: 1em;
}
.textCont_box .figureItem img {
    display: block;
    width: 200px;
    margin: 0 auto;
}
.textCont_box .indentTextItem + .figureItem {
    margin-top: 20px;
}
.textCont_box.main .figureItem img {
    width: 100%;
}
.textCont_box.main .textItem + .figureItem,
.textCont_box.main .indentTextItem + .figureItem {
    margin-top: 20px;
}
@media print,
screen and (min-width:770px) {
    .textCont_box {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    .textCont_box .indentTextItem {
        width: 640px;
    }
    .textCont_box .figureItem {
        width: 200px;
    }
    .textCont_box.main .textItem + .figureItem,
    .textCont_box.main .indentTextItem + .figureItem,
    .textCont_box .indentTextItem + .figureItem {
        margin-top: 0;
    }
    .textCont_box.main div,
    .textCont_box.main .indentTextItem {
        width: 460px;
    }
    .textCont_box.main .figureItem {
        width: 380px;
    }
}

/* KAYAKU系文字の色変更用 */
.kayaku_blue {
    color: #1556A3;
}

/* テーブル */
.table_common {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.429;
    margin-top: 20px;
}
.table_common th,
.table_common td {
    border: solid 1px #1556A3;
    padding: 6px 10px;
    text-align: left;
    vertical-align: middle;
}
.table_common th {
    font-weight: 500;
}
.table_common tbody th {
    background-color: #F4FAFF;
}
.table_common .thead01 th {
    background-color: #EFF0F2;
}
.table_common .thead02 th {
    background-color: var(--main-blue);
}
@media print, screen and (min-width: 770px) {
    .table_common {
        width: 880px;
        font-size: 1.6rem;
        line-height: 1.5;
        margin: 30px auto 0;
    }
    .table_common th,
    .table_common td {
        padding: 6px 20px;
    }
}

/* 共通ページ内リンクボタン */
.anchorMenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1em;
}
.anchorMenu li {
    display: flex;
    width: 48%;
    margin: 2% 1% 0;
}
.anchorMenu li a {
    position: relative;
    display: block;
    width: 100%;
    font-size: 1.5rem;
    color: #333;
    line-height: 1.4;
    text-align: center;
    padding: 18px 10px 9px;
    background-color: #fafaf8;
    border: solid 1px #e6e6e6;
}
.anchorMenu li a:before {
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: "▼";
    font-size: 1.1rem;
    color: #9d9fae;
}
@media print, screen and (min-width: 770px) {
    .anchorMenu li {
        width: 31%;
    }

    .anchorMenu.anchorMenuCol4 li {
        width: 23%;
    }
    .anchorMenu li a {
        font-size: 1.4rem;
    }
}

/* リスト */
.contDiscList {
    margin-left: 2em;
    font-size: 1.4rem;
}
.contDiscList > li {
    list-style: disc;
}
.contDiscList > li + li {
    margin-top: 0.3em;
}
@media print, screen and (min-width: 770px) {
    .contDiscList {
        font-size: 1.6rem;
    }
}

/* 関連リンクリスト */
.relatedLinkList {
    line-height: 1.5;
}
.relatedLinkList li {
    position: relative;
    padding-left: .9em;
}
.relatedLinkList li:not(:first-child) {
    margin-top: 1.2em;
}
.relatedLinkList li::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f054";
    color: #0062B1;
    position: absolute;
    top: 1px;
    left: 0;
}
.relatedLinkList a {
    color: #0062B1;
    font-weight: 500;
}
.relatedLinkList a:hover {
    color: #0062B1;
}
.relatedLinkList a.blank::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Pro";
    font-weight: 400;
    content: "\f2d2";
    margin-left: .3em;
}
.relatedLinkList .relatedLinkList_txt {
    font-size: 1.4rem;
}
.relatedLinkList .relatedLinkList_noLink {
    font-weight: 500;
}
.relatedLinkList li:has(.relatedLinkList_noLink)::before {
    color: #333;
}

/* --------------------------
    各ページに注釈追加　20230620
-------------------------- */
.common_notes {
    margin: 10px auto 0;
    width: 93.75%;
}
.common_notes p {
    text-align: right;
    font-size: 12px;
}
.mainTitleWrap + .common_notes {
    margin: 10px auto;
}
.businessCommon_visual + .common_notes {
    margin: 10px auto;
}
@media print, screen and (min-width: 768px) {
    .common_notes {
        margin: 20px auto 0;
        width: 100%;
    }
    .common_notes p {
        font-size: 16px;
    }
        .mainTitleWrap + .common_notes {
        margin: 20px auto;
    }
    .businessCommon_visual + .common_notes {
        margin: 20px auto;
    }
    .blueLine + .common_notes {
        margin: 20px auto;
        width: 960px;
    }
}
