@charset "UTF-8";
/****************************************************************************************************
 *
 * マイキープラットフォーム 共通CSS
 *
 ****************************************************************************************************/
/**************************************************
 * 基本
 **************************************************/
html,body {
    width: 100%;
    margin: 0;    /* Windows版アプリで横スクロールが表示される問題の対応 */
}
html {
    font-size: 62.5%;    /* 1rem=10px対応 */
}
body {
    font-size:1.6rem;
    margin: 0 auto;
    min-width: 320px;
}
body.device-sp-android {    /* Android用 */
    /* Androidはデフォルトフォントで良い */
}
body.device-sp-ios {    /* iOS用 */
    font-family: -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, sans-serif;
}
body.device-pc {    /* PC用 */
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif !important;
}
select {
	vertical-align: middle!important;
}
a.disabled {
    pointer-events: none;  /* リンク無効 */
    display: inline-block; /* これが無いとIEではリンク無効が効かない */
    cursor: default;
    text-decoration: none!important;
    opacity: .5;
}
/* 入力項目以外 */
*:not(input):not(textarea) {
       -moz-user-select: none;      /* 矩形選択無効 */
    -webkit-user-select: none;      /* 矩形選択無効 */
        -ms-user-select: none;      /* 矩形選択無効 */
            user-select: none;      /* 矩形選択無効 */
    -webkit-touch-callout: none;    /* 長押し無効 */
}
.selectable,
.selectable * {
       -moz-user-select: auto!important;      /* 矩形選択無効 */
    -webkit-user-select: auto!important;      /* 矩形選択無効 */
        -ms-user-select: auto!important;      /* 矩形選択無効 */
            user-select: auto!important;      /* 矩形選択無効 */
}
.selectable-text,
.selectable-text * {
       -moz-user-select: text!important;      /* テキスト選択無効 */
    -webkit-user-select: text!important;      /* テキスト選択無効 */
        -ms-user-select: text!important;      /* テキスト選択無効 */
            user-select: text!important;      /* テキスト選択無効 */
}


/**************************************************
 * ナビゲーションバー
 **************************************************/
.navbar {
    background: #e5004f;
}
.navbar.fixed-top {
    padding:    1rem 3%;
    margin-bottom: 1.2rem;
    height: 6.1rem;
}
.navbar.fixed-bottom {
    padding:    5px 0 2px 0;
    margin-top: 1.8rem;
    text-align: center;
}
.navbar.fixed-bottom > small {
    line-height: 100%;
    flex: 1;
}
.navbar,
.nav-item,
.navbar a:hover {
    color:    #fff;
    text-decoration:    none;
}
.navbar > * {
    display:    inline-block;
    vertical-align: baseline;
}
.dropdown-menu {
    display:    none;
}
.navbar .title {
    font-size:    1.7rem;
    font-weight:    normal;
    margin: 0 0 0 40px;    /* メニューボタンが表示されるスペース分 */
    color: #fff;
    line-height: 100%;
}
/* ページ内アンカーもナビゲーショントップに合わせて位置をずらす */
.page-anchor {
    display: block;
    padding-top: 6.1rem;
    margin-top: -6.1rem;
}
@media (max-width: 768px) {
    .navbar.fixed-top {
        padding:    12px 3% 6px 3%;
        text-align: center;
    }
    .navbar .title {
        margin: 0 auto;
    }
    .navbar.fixed-bottom > small {
        font-size: 1rem;
    }
}
/* メニューアイコン(スマホ用) */
@media (max-width: 768px) {
    #btnMenu {
        cursor: pointer;
        position: relative;
        font-size: 1.2rem;
    }
    #btnMenu:before {
        content:"";
        background:url(../images/common/menu.svg) no-repeat;
        display: block;
        width: 33px;
        height: 27px;
        margin: 0 auto;
        background-size:contain;
        background-position: left bottom;
    }
}
/* メニューアイコン(PC用) */
@media (min-width: 769px) {
    #btnMenu {
        cursor: pointer;
        position: relative;
        font-size: 1.2rem;
    }
    #btnMenu:before {
        content:"";
        background:url(../images/icon-menu.png) no-repeat;
        display: block;
        width:  24px;
        height: 20px;
        margin: 0 auto;
        background-size:contain;
        background-position: left bottom;
    }
}
/* QRコード読み取りアイコン */
#btnQRRead {
    cursor: pointer;
    position: relative;
    font-size: 1.2rem;
}
#btnQRRead:before {
    content:"";
    background:url(../images/icon-qr.png) no-repeat;
    display: block;
    width:  24px;
    height: 20px;
    margin: 0 auto;
    background-size:contain;
    background-position: left bottom;
}
/* ユーザ情報 */
.user-info {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 2rem;
    border: none;
    padding: 1rem;
    color: #fff;
    font-weight: bold;
    font-size: 1.3rem;
    margin:  0 auto 3rem;
    position: relative;
    padding-left: 33px;
    max-width: 54rem;
    text-align: center;
}
@media (max-width: 768px) {
    .user-info {
        text-align: left;
        font-size: 1.2rem;
        padding: 7px 10px;
        margin-bottom: 15px;
    }
}
.user-info:before {
    content:"";
    background:url(../images/common/icon_mynum.svg) no-repeat;
    display: inline-block;
    width: 23px;
    height: 23px;
    background-size:contain;
    background-position: left bottom;
    vertical-align: middle;
    margin-right: 10px;
}
/* 自治体情報 */
#municipality-info {
    background-color: #c7e8f7;
    border-radius: 6px;
    border: none;
    padding: 6px 22px;
    color: #000;
    font-size: 1.4rem;
    margin-top: 8px;
    margin-right: 5px;
    position: relative;
    padding-left: 33px;
}
#municipality-info:before {
    content:"";
    background:url(../images/icon-municipality.png) no-repeat;
    position: absolute;
    display: inline-block;
    width:  20px;
    height: 20px;
    top: 5px;
    left: 10px;
    background-size:contain;
    background-position: left bottom;
}
/* メニューリンク */
.menu-link {
}
/* ヘッダ(スマホ用) */
@media (max-width: 768px) {
    header.navbar {
        height: 4.5rem;
        background: #e5004f;
    }
    header.navbar.navbar-auth {
        padding-left: 4rem;
    }
    header.navbar > h1,
    header.navbar > #lnkNavHeader {
        display: inline-flex; /*横並び*/
        align-items: center; /*垂直位置中央配置*/
        height: 100%;
        font-size: 1.6rem;
        color: #fff;
        font-weight: bold;
    }
}
/* ヘッダ(PC用) */
@media (min-width: 769px) {
    header.navbar {
        height: 8rem;
        background: #e5004f;
        padding-left: 4rem;
    }
    header.navbar > h1,
    header.navbar > #lnkNavHeader {
        display: inline-flex; /*横並び*/
        align-items: center; /*垂直位置中央配置*/
        height: 100%;
        font-size: 1.4rem;
        color: #fff;
        font-weight: bold;
    }
    header.navbar > h1:before,
    header.navbar > #lnkNavHeader:before {
        content:"";
        background: url(../images/common/logo.png) no-repeat;
        display:inline-block;
        width: 125px;
        height: 31px;
        background-size:contain;
        background-position: center center;
        margin-right: 1.5rem;
    }
}

/* フッタ(スマホ用) */
@media (max-width: 768px) {
    footer.navbar {
        display: none;
    }
}
/* フッタ(PC用) */
@media (min-width: 769px) {
    footer.navbar {
        background: #fff!important;
        color: #231815!important;
        padding: 20px!important;
        border-top: #cecece 1px solid;
        text-align: center;
        display: flex!important;
        flex-direction: column;
    }
}

/* コピーライト */
.copyright {
    font-size: 1.3rem;
}

/**************************************************
 * コンテナ
 **************************************************/
/* メインコンテナ */
.container,
.container-fluid {
    margin: 0 auto;    /* ナビゲーションヘッダバー高さ含む */
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
}
.container>.main>.articles>.article {
    max-width: 768px;
    margin: 0;
}
.container,
.container > .main > .articles,
.container > .footer {
    max-width: none;
}
.container.w-100 {
    width: 100%!important;
    max-width: none;
}
.container.w-75 {
    width: auto!important;
    max-width: 1024px;
}
.container.w-50 {
    width: auto!important;
    max-width: 683px;
}
.container.w-25 {
    width: auto!important;
    max-width: 341px;
}
.container > *,
.container-fluid > * {
}
@media (max-width: 768px) {
    /* 巨大なtableなど、横幅が大きいものがあった場合の幅制限 */
    .container,
    .container .article-search,
    .container .footer {
        max-width: 768px;
    }
    .container,
    .container-fluid {
        margin: 0 0;    /* ナビゲーションバーの高さも含む */
        width: 100% !important;
    }
    .container.w-75,
    .container.w-50,
    .container.w-25 {
        max-width: none
    }
}


/**************************************************
 * サイドバー
 **************************************************/
/* スマホ・PC 共通 */
.sidebar {
    flex: 0 0 220px;
    background: rgba(0,0,0,0.7);
}
.sidebar > .contents {
    margin: 0;
    background-color: #F2F2F2;
    color: #000;
    text-align: left;
    height: 100%;
    border-right: 1px solid #CECECE;
}
.sidebar > .contents a {
    text-align: center;
}
.sidebar > .contents li {
    list-style-type: none;
}
.sidebar > .contents ul a.active {
    font-weight: bold;
}
.sidebar > .contents .btn {
    text-align: center;
}
.sidebar > .contents > ul > li > ul > li {
    text-decoration: none;
    color: #000;
    display: block;
    font-weight: bold;
    background: url(../images/common/icon_arrow_red.svg) no-repeat right 15px top 50%;
    background-size: 6px 12px;
    border-bottom: 1px solid #CECECE;
}
.sidebar > .contents > ul > li.sidebar-get-mynapoint::before {
    content: '';
    background: url(../images/common/icon_side01.svg) no-repeat;
}
.sidebar > .contents > ul > li.sidebar-use-mynapoint::before {
    content: '';
    background: url(../images/common/icon_side02.svg) no-repeat;
}
.sidebar > .contents > ul > li.sidebar-check-card::before {
    content: '';
    background: url(../images/common/icon_side03.svg) no-repeat;
}
.sidebar .mykeyid::before {
    content: '';
    background: url(../images/common/icon_mynum.svg) no-repeat;
    background-size: contain;
}
#btnSidebarWhatMynaPoint::before {
    content: '';
    background: url(../images/common/icon_question.svg) no-repeat;
    width: 14px;
    height: 14px;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    position: relative;
    top: -1px;
}
/* スマホ用 */
@media (max-width: 768px) {
    .sidebar {
        vertical-align: top;
        position: fixed;
        top:     0;
        right:   0;
        left:    0;
        bottom:  0;      /* relativeな親がいないのでwindow最下部に固定される */
        z-index: 1031;  /* ナビゲーションフッタより前面に */
        margin:  0;
        padding: 0;
        overflow-y: hidden; /* window高さが.sidebarより小さい時の対応 */
    }
    .sidebar > .contents {
        padding: 0;
    }
    .sidebar > .contents ul {
        padding-left: 6px;
    }
    .sidebar > .contents > ul > li > ul > li {
        font-size: 1.2rem;
        background-color: #fff;
    }
    .sidebar > .contents > ul > li > ul > li .menu-link {
        display: block;
        text-align: left;
        padding: 15px 0 15px 1rem;
    }
    .sidebar > .contents > ul > li > span {
        display: inline-block;
        padding: 15px 4px;
    }
    .sidebar > .title {
        display: none;
    }
    .sidebar > .contents {
        width:  84%;
        height: 100%;
        background: #f2f2f2;
        overflow-y: auto; /* window高さが.sidebarより小さい時の対応 */
    }
    .sidebar > .contents > .header {
        text-align: center;
        postion: relative;
        margin-bottom: 0.5rem;
    }
    .sidebar > .contents > .header > * {
        margin: 0;
    }
    .sidebar > .contents > .header #btnMenuClose {
        position: absolute;
        right: 15px;
        top:   10px;
        font-size:   3.5rem;
        line-height: 3rem;
        font-weight: lighter;
     }
    .sidebar > .contents > .header #btnMenuClose::before {
        content: '';
        width: 24px;
        height: 30px;
        display: inline-block;
        vertical-align: middle;
        background: url(../images/common/close.svg) no-repeat;
     }
    .sidebar > .contents > .footer {
        padding-bottom: 4rem;   /* IEでwindow高さが.sidebarより小さい時の対応 */
    }
    .sidebar > .contents ul {
        padding-left: 0;
    }
    .sidebar > .contents li {
        font-size: 1.2rem;
        font-weight: bold;
    }
    .sidebar > .contents > ul > li {
        font-size: 1.6rem;
        font-weight: bold;
    }
    .sidebar > .contents > ul > li.sidebar-get-mynapoint::before {
        width: 25px;
        height: 21px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
    }
    .sidebar > .contents > ul > li.sidebar-use-mynapoint::before {
        width: 25px;
        height: 21px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
    }
    .sidebar > .contents > ul > li.sidebar-check-card::before {
        width: 25px;
        height: 21px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
    }
    .sidebar .mykeyid {
        background: rgba(0,0,0,0.6);
        color: #fff;
        font-weight: bold;
        font-size: 1.2rem;
        padding: 5px 15px;
        width: 100%;
        text-align: left;
    }
    .sidebar .mykeyid::before {
        width: 17px;
        height: 17px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
    }
    .sidebar .home {
        margin: 12px 15px 12px;
        display: block;
    }
    .sidebar .home a {
        display: block;
        text-align: center;
        background: #fff;
        border: 1px solid #CECECE;
        border-radius: 10px;
        text-decoration: none;
        color: #000;
        padding: 10px;
        font-size: 1.2rem;
        font-weight: bold;
    }
    .sidebar .home a::before {
        content: '';
        background: url("../images/common/icon_home.svg") no-repeat;
        display: inline-block;
        width: 15px;
        height: 15px;
        vertical-align: middle;
        margin-right: 10px;
    }
    #btnSidebarWhatMynaPoint {
        display: block;
        text-decoration: none;
        border: 1px solid #CECECE;
        background: #fff;
        border-radius: 5px;
        text-align: center;
        font-size: 1.2rem;
        color: #000;
        font-weight: bold;
        padding: 10px;
        margin: 20px 15px;
    }
    .sidebar .btn {
        font-size: 1.2rem!important;
        text-align: left!important;
    }
}
/* PC用 */
@media (min-width: 769px) {
    .sidebar {
        width: 22rem;
    }
    .sidebar > .contents {
        padding: 1rem 1rem;
    }
    .sidebar > .contents a {
        display: block;
        width: 100%;
        padding: 10px;
    }
    .sidebar > .contents > ul > li > ul > li > a:hover {
        background: #F4DFE9;
        text-decoration: none;
        color: #383838;
    }
    .sidebar > .contents ul {
        padding-left: 0;
        margin-bottom: 26px;
    }
    .sidebar > .contents > ul > li {
        font-size: 1.3rem;
        font-weight: bold;
        text-align: center;
    }
    .sidebar > .contents > ul > li > ul > li {
        font-size: 1.1rem;
        background: rgba(0,0,0,0.05);
        border-bottom: 1px solid #CECECE;
        border-radius: 5px;
        margin-bottom: 5px;
    }
    .sidebar > .contents > ul > li > span {
        display: inline-block;
        padding: 15px 0;
    }
    .sidebar > .contents ul a.active {
        font-weight: bold;
    }
    .sidebar > .contents .btn {
        display: block;
        width: 100%;
        padding: 10px;
        font-size: 1.1rem!important;
    }
    .sidebar .mykeyid {
        background: rgba(0,0,0,0.4);
        color: #fff;
        font-size: 1.1rem;
        text-align: center;
        padding: 10px;
        width: 100%;
        border-radius: 5px;
        margin-bottom: 20px;
    }
    .sidebar .mykeyid::before {
        width: 21px;
        height: 21px;
        display: block;
        margin: 0 auto 5px;
    }
    .sidebar > .contents > ul > li.sidebar-get-mynapoint::before {
        width: 42px;
        height: 35px;
        background-size: contain;
        display: block;
        margin: 0 auto 10px;
    }
    .sidebar > .contents > ul > li.sidebar-use-mynapoint::before {
        width: 42px;
        height: 35px;
        background-size: contain;
        display: block;
        margin: 0 auto 10px;
    }
    .sidebar > .contents > ul > li.sidebar-check-card::before {
        width: 42px;
        height: 35px;
        background-size: contain;
        display: block;
        margin: 0 auto 10px;
    }
    .sidebar > .contents ul li > .btn:hover{
        background: #ffebf4;
    }
    .sidebar > .contents > .footer {
        border-top: 1px dashed #CECECE;
    }
    .sidebar > .contents > .footer > a {
        text-align: center;
        margin-bottom: 10px;
        width: 50%;
        font-size: 1.1rem;
    }
    .sidebar > .contents > .footer > button {
        text-align: center;
        margin-bottom: 10px;
        width: 50%;
        min-width: 9rem;
    }
    .sidebar > .contents > .footer button.btn-sidebar-setting::before {
        content: '';
        background: url(../images/layout-auth/icon_setting.svg) no-repeat;
        width: 19px;
        height: 17px;
        background-size: contain;
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
    }
    .sidebar > .contents > .footer button.btn-sidebar-infomation::before {
        content: '';
        background: url(../images/layout-auth/icon_infomation.svg) no-repeat;
        width: 19px;
        height: 17px;
        background-size: contain;
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
    }
    #btnSidebarWhatMynaPoint {
        display: block;
        text-align: center;
        text-decoration: none;
        background: #fff;
        border-radius: 5px;
        font-size: 1.1rem;
        color: #000;
        padding: 10px;
        font-weight: bold;
        margin: 20px 0;
    }
    #btnMenuClose {
        display: none;
    }
}
/**************************************************
 * メインエリア
 **************************************************/
.main {
    flex: 1;
}
.main > .row,
.main > .articles > .row {
    margin: 0;
}
.articles.w-75,
.articles.w-50,
.articles.w-25 {
    margin-right:   auto;
    margin-left:    auto;
}
@media (max-width: 768px) {
    .main {
        padding: 0;
    }
    .main,
    .main .breakdown-group {
        text-align: center;
    }
    .articles.w-75,
    .articles.w-50,
    .articles.w-25 {
        width: auto!important;
    }
}


/**************************************************
 * ヘッダエリア
 **************************************************/
.main > .header {
    color: #244456;
}
/* ページタイトル */
.main > .header .title {
    background: #FFEBF4;
    text-align: center;
    padding: 10px;
    border-bottom: 1px solid rgba(229, 0, 79, 0.5);
    margin: 0;
}
.main > .header h1.title {
    color: #e5004f;
    font-size: 2rem;
    line-height: 3.6rem;
    font-weight: bold;
}

@media (max-width: 768px) {
    .main>.header h1.title {
        font-size: 1.36rem;
        line-height: 2.4rem;
    }
}

.main > .header h2.title {
    font-size: 1.6rem;
}

/**************************************************
 * サブヘッダエリア
 **************************************************/
.main > .sub-header {
    margin: 3rem 0;
}
/* メッセージエリア */
.alert-group {
    margin: 0.4rem 0;
    padding: 0 0.4rem;
    max-height: none;
    font-size: 1.8rem;
    clear: both;    /* 右上ボタンの回り込みをメッセージ領域で解除させる */
    text-align: left;
}
.alert {
    padding-left:   3.7rem;
    border-radius:  0.5rem;
    white-space:    pre-wrap;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #CECECE;
    overflow: hidden;
    border-radius: 10px 10px 10px 10px;
    padding: 10px;
    font-weight: bold;
    font-size: 1.6rem;
    position: relative;
    padding-left: 40px;
}
.alert.text-center {
    padding-left:   0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.alert-danger {
    background: #FFEBF4;
    color: #000;
}
.alert-warning {
    background: #fff5d4;
}
.alert-info {
    background: #f2f2f2;
}
.alert-success {
    background:    #E5F9F5;
    border-color: #d8ebe7;
}
.alert-annotation {
    color:          #d01b1b;
    background:     #ffe5e8;
    border-color:   #f5d7da;
}
.alert-danger:before,
.alert-danger > dl > dt:before {
    background: url(../images/common/icon_info03.svg) no-repeat;
}
.alert-warning:before,
.alert-warning > dl > dt:before {
    background: url(../images/common/icon_info02.svg) no-repeat;
}
.alert-info:before,
.alert-info > dl > dt:before {
    background: url(../images/common/icon_info04.svg) no-repeat;
}
.alert-success:before,
.alert-success > dl > dt:before {
    background-image:url(../images/alert-success.png);
}
.alert-annotation:before,
.alert-annotation > dl > dt:before {
    background-image:url(../images/alert-annotation.png);
}
.alert:before,
.alert > dl > dt:before {
    content: '';
    width: 22px;
    display: inline-block;
    position: absolute;
    left: 0.8rem;
    top: 0;
    content: "";
    height: 100%;
    margin-right: 0.8rem;
    background-repeat: no-repeat;
    -moz-background-size: contain;
    background-size: 22px;
    background-position: center;
}
.alert.text-center:before {
    position: relative;
    display: inline-block;
    margin-right: 1.2rem;
    flex: 0 0 2.3rem;
}
/* サブメッセージ表示用 */
.alert > dl {
    position: relative;
    background: inherit;
    margin: -10px -10px -10px -40px;
}
.alert > dl > dt {
    padding: 10px;
    position: relative;
    padding-left: 40px;
    color: #000;
}
.alert > dl > dd {
    background-color: #fff;
    padding: 10px 20px;
    margin: 0;
    font-size: 1.4rem;
    font-weight: normal;
    color: #000;
}
.alert > dl > dd a{
    color: #e5004f;
    font-weight: bold;
    text-decoration: underline;
}
/* フッター内のメッセージは左端を合わせて小さめに */
.footer .alert-group {
    padding: 0;
    font-size: 94%;
}
@media (max-width: 768px) {
    .alert-group  {
        padding: 0;
    }
    .alert {
        margin: 20px 5px;
        font-size: 1.4rem;
    }
}

/**************************************************
 * メイン記事エリア
 **************************************************/
.article {
    display: inline;
    vertical-align: top;
    clear: both;
    padding: 1rem 0 2rem 0;
}
.article .title {
    font-size:    1.8rem;
    font-weight: bold;
    margin: 0;
    vertical-align: bottom;
    text-align: center;
}
.article > .title {
    text-indent: 0.8em;
}
.device-sp .article > .title > .icon {    /* スマホ用 */
    display: block;
    margin:    0 auto;
}
.article > .header,
.article > .contents {
    padding: 0;
    margin-bottom: 4px;
    overflow: visible; /* table-fixed-col用 */
}
.article > .contents.row {
    margin: 0;
}
.article .contents.border {
    margin:  8px;
    padding: 8px 10px;
}
.article > .contents > .title {
    font-weight: normal;
    margin: 2.4rem 0 0.3rem 0;
    padding-left: 1.0em;   /* beforeの●アイコン分をずらす */
    position: relative;
    text-align: left;
}
.article > .contents > .title:first-child {
	margin-top: 3px;
}
.article hr {
    height: 8px;
    margin: 16px 0 24px 0;
    border: none;
    background-color:    #fff;
    color:             #fff;
    border-radius: 36%;
}
.article.col-md-4,
.article.col-md-6 {
    display: flex;      /* 横並びの記事のフッターを下揃え */
    flex-direction: column;
}
.article.col-md-4 > .footer,
.article.col-md-6 > .footer {
    margin-top: auto;   /* 横並びの記事のフッターを下揃え */
}
/* 子記事 */
.article .article {
    position: relative;
    display: block;
    padding: 20px 15px 8.0rem 15px;    /* footer分底上げ */
    background: #EBF7F4;
    border: 3px solid #fff;
    margin-bottom: 8px;
}
.article .article > .title {
    text-align: left;
    text-indent: 0;
}
.article .article > .title:after {
    height:    0;
    margin-bottom: 0;
    background: none;
}
.article .article > .footer {
    position: absolute;
    left:   20px;
    right:  20px;
    bottom: 20px;
}
/* 検索 */
.article-search {
    padding-bottom: 5px;
}
.article-search:after {
    content: "";
    display: block;
    margin: 1rem 3.5rem 0 1.5rem;
    border-bottom: 1px solid #ccc;
}
/* サイドバー検索 */
.contents.row > .article-search {
    border: 1px solid #dee2e6;
    padding: 0;
    margin-bottom: 2.5rem;
    font-size: 90%;
}
.contents.row > .article-search:after {
    border: none;
    margin: 0;
}
.contents.row > .article-search > .title {
    background-color: #c6e7f6;
    padding: 10px 4px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: normal;
}
.contents.row > .article-search > .contents {
    padding: 14px 8px;
}
.contents.row > .article-search .form-group {
    display: block;
    margin-bottom: 12px;
}
.contents.row > .article-search .col-form-label,
.contents.row > .article-search .col-form-value {
    display: block;
    width: 100%;
    max-width: none;
    text-align: center;
}
.contents.row > .article-search .footer .btn {
    width: 90%;
    min-width: 4rem;
}
/* ページ送り */
.pagination-group > .title {
    text-align: center;
    font-weight: normal;
    font-size: 1.8rem;
    margin-bottom: 0.4rem;
}
.pagination-group .page-link {
    padding: 0.5rem 0;
}
/* お知らせ */
.article-information {
}
.article-information .article {
    padding: 0;
    background: #fff;
    border: 1px solid #CECECE;
    border-radius: 10px;
    max-width: 768px;
    margin: 10px auto;
}
.article-information .article > .title {
    font-weight: normal;
    background: #fffae6;
    border-radius: 10px 10px 0 0;
    padding: 15px 20px;
    font-weight: bold;
}
.article-information .text-hanging-indent::before {
    content: "・";
}
.article-information .article > .contents p {
    margin: 20px;
    word-break: break-all;
    white-space: pre-wrap;
}
.article-information .article > .footer {
    position: relative;
}
/* 結果 */
.article > .contents-result {
    position: relative;
    background-color:    #c5efed;
    padding: 38px 14px 30px 14px;
}
.article > .contents-result,
.article > .contents-result input {
    font-size: 140%;
}
.article > .contents-result:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    border-top:    20px solid #fff;
    border-right:    30px solid transparent;
    border-left:    30px solid transparent;
}
/* アイコン付き記事 */
.article.icon {
    padding-left: 80px;
}
.icon.icon-info:before {
    background: url(../images/common/icon_info.svg) no-repeat;
    width: 22px;
    height: 20px;
    margin-right: 5px;
}
.icon.icon-maintenance:before {
    background: url(../images/common/icon_maintenance.svg) no-repeat;
    width: 19px;
    height: 19px;
    margin-right: 5px;
}
.article.icon:before {
    width:  24px;
    height: 24px;
    position: absolute;
    left: 10px;
    top: calc(50% - 24px);
}
.article-information .article > .icon {
    position: relative; /* ここで指定しないとIE11で初期表示されない場合がある */
    margin-bottom: 6px;
    font-weight: bold;
}
.article-information .article > .icon:before {
    content:"";
    display:inline-block;
    background-size: contain;
}
@media (max-width: 768px) {
    .article {
        display: block;
        margin:    1.2rem 0;
    }
    .article > .title {
        text-indent: 0;
    }
    .article > .title:after {
        margin: 0.3rem 0;
    }
    .article > .contents {
        padding: 0.8rem 0px;
    }
    .article.icon:before {
        position: relative;
    }
    .article-information .article > .contents {
        padding: 0.8rem 1.2rem;
        text-align: left;
    }
    .article-information .article:first-child {
        margin: 0;
    }
    .article-information .article {
        padding: 2rem 5px 0.5rem 5px;
    }
    .article-information .article > .icon:before {
        left:   1.0rem;
    }
}


/**************************************************
 * アイコン
 **************************************************/
 /* 階段 */
.icon-step:before {
    content:"";
    background:url(../images/icon-step.png) no-repeat;
    display:inline-block;
    width:    3.2rem;
    height: 3.2rem;
    margin-right: 0.8rem;
    background-size:contain;
    background-position: left bottom;
}


/**************************************************
 * テーブル
 **************************************************/
.table {
    border-collapse: collapse;
    border-spacing: 0;
    padding: 0;
    color: #555;
    font-size: 1.4rem;
    font-weight: normal;
}
.table > caption {
    caption-side: top;
    font-size: 1.6rem;
    padding-left: 2rem;
    background-color: #fff;    /* Common.TableFixed使用時に透過させない為 */
}
.table tr {
    margin: 0;
    padding: 0;
}
.table thead th,
.table tbody td {
    vertical-align: middle;
    margin:0;
}
.table th {
    background-color: #c6e7f6;    /* ラベル背景色 */
    white-space: nowrap;
    font-weight: normal;
}
.table thead th {
    border-bottom: none;
}
/* ボーダー付きテーブル */
.table-bordered th {
    border:    1px solid #f2f6fa;
    border-right:  none;
    border-bottom: none;
}
.table-bordered td {
    border:    1px solid #dee2e6;
    border-right:  none;
    border-bottom: none;
}
.table-bordered.table-sm th,
.table-bordered.table-sm td {
    padding: 0.3rem 0.5rem; /* ボーダーに値がくっつきすぎないように */
}
/* ストライプテーブル */
.table-striped tbody tr:nth-child(odd) {    /* 奇数行 */
    background-color: #f9f9f9;    /* 値背景色 */
}
.table-striped tbody tr:nth-child(even) {    /* 偶数行 */
    background-color: #f6f6f6;    /* 値背景色2 */
}
/* マウスオーバーテーブル */
.table-hover tbody tr:hover {
    background-color: #f0f0f0;    /* 値背景色2 */
}
/* テーブルセル用タイトル */
.table td.title {
    vertical-align: middle;
    padding: 0.5rem 1.5rem;
    font-size: 1.6rem;
    background-color: #E5F9F5;
}
@media (max-width: 768px) {
    .table td {
        padding: 2.2rem 1rem;
    }
    /* スマホ幅で左ラベル表示テーブル */
    .table-left-label-sm {
        border: none;
        table-layout: fixed;    /* IE用(text-break) */
    }
    .table-left-label-sm thead {
        display: none;
    }
    .table-left-label-sm tr {
        margin-bottom: 2rem;
        display: block;
        border: 1px solid #dee2e6;
    }
    .table-left-label-sm td.title {
        vertical-align: middle;
    }
    .table-left-label-sm td {
        display: block;
        text-align: left;
        width: 100%;
        padding: 0.4rem 1rem;
        border: none;
    }
    .table-left-label-sm td.title {
        text-align: center;
        padding: 0.8rem;
        margin-bottom: 0.6rem;
        border-bottom: 1px solid #dee2e6;
    }
    .table-left-label-sm td[data-label]:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        width: 50%;
    }
    .table-left-label-sm td > span {
        width: 50%;
        display: inline-block;
    }
    .table-left-label-sm td.title > span {
        width: 100%;
        text-align: center;
    }
}
/**************************************************
 * テーブルエリア
 **************************************************/
.tablearea {
    resize: none;
    word-break: break-all;
    text-align: left;
}

@media (min-width: 769px) {
    .tablearea {
        height: 30rem !important;
        overflow: auto;
    }
}

/**************************************************
 * 画像
 **************************************************/
.img-thumbnail {
    margin: 2px 0;
}


/**************************************************
 * フォーム
 **************************************************/
.form-group {
    display: flex;
    margin-bottom: 4px;
}
.form-group > div {
    vertical-align: baseline;
}
.form-group-list > div > * {
    display: block;
}
.col-form-label {
    background-color: #fffae6;    /* ラベル背景色 */
    margin-left: 0.8rem;   /* 1行に複数項目ある場合の区切り */
}
.form-group .col-form-label:first-child {
    margin-left: 0;     /* 1行に複数項目ある場合の区切り */
}
.form-priority-low .col-form-label,
.form-priority-low.col-form-label {
    background-color: #adcbd9;    /* 優先度低のラベル背景色 */
}
.col-form-value {
    background-color: #f9f9f9;    /* 値背景色 */
}
.form-priority-low .col-form-value,
.form-priority-low.col-form-value {
    background-color: #ddd;    /* 優先度低の値背景色 */
}
.col-form-label,
.col-form-value {
    vertical-align: top;
    padding: 10px;
}
.form-group-sm > .col-form-label,
.form-group-sm > .col-form-value {
    padding: 6px 10px;
}
div.col-form-label {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
}
.form-group[class^="col-"],
.form-group[class*=" col-"],
.col-form-value > [class^="col-"],
.col-form-value > [class*=" col-"] {
    padding: 0 1px; /* col-*による幅指定時のパディング調整 */
}
.col-form-title {
    background-color: #fdeada;
    text-align: center;
    padding-top: 6px;
    padding-bottom: 6px;
    font-weight: bold;
}
.form-group > .col-form-title {
    flex-basis: 100%;
}
.checkbox,
.radio {
    position: relative;
    display: block;
    margin: 0 0 8px 0;
}
.form-control {
    display: inline-block;
    font-size: 1.8rem;
    border: 1px solid #4fabea;
    border-radius: 4px;
    padding: 2px 4px;
    height: auto;
    width:  auto;
}
.form-check {
    text-align: left;
    padding: 0;
    margin: 0.8rem 0.8rem 0.8rem 0;
}
.form-check > .form-check-input {
    /* キーボード操作可能にするために非表示ではなく隠す */
    filter: alpha(opacity=0);
    -moz-opacity:0;
    opacity:0;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
}
.form-check-label {
    cursor: pointer;
}
.form-check > .form-check-label {
    display: block;
    position: relative;
    padding: 10px 14px 10px 47px;
    border-radius: 4px;
    font-size: 1.6rem;
    font-weight: bold;
}
.form-check-inline > .form-check-label {
    white-space: nowrap;
}
.form-check-input:focus + .form-check-label::before {
    /* フォーカスデザイン適用 */
    border-color: #B5B5B5;
    outline: 0;
    box-shadow: 0 0 0 0.2rem #000;
}
.form-check-input:checked + .form-check-label {
}
.form-check > .form-check-label:empty {
    display: inline-block;
    border: none;
    background: none;
}
.form-check-input + .form-check-label::before {
    content: "";
    position: absolute;
    top:  1.0rem;
    left: 1.0rem;
    background: #FFF;
    border: 1px solid #858585;
    box-sizing: border-box;
}
.form-check-input + .form-check-label:empty::before {
    top:  0.6rem;
    left: calc(50% - 10px);
}
.form-check-input[type="checkbox"] + .form-check-label::before {
    width:  24px;
    height: 24px;
    border-radius: 2px;
    background: url(../images/common/check_off.svg) no-repeat;
    border: 0px;
}
.form-check-input[type="checkbox"]:checked + .form-check-label::before {
    background:url(../images/common/check_on.svg) no-repeat;
    background-size:contain;
    background-position: left bottom;
}
.form-check-input[type="radio"] + .form-check-label::before {
    width:  21px;
    height: 21px;
    border-radius: 50%;
}
.form-check-input[type="radio"]:checked + .form-check-label::before {
    -webkit-box-shadow: 0px 0px 0px 5px #ffffff inset;
    -moz-box-shadow:    0px 0px 0px 5px #ffffff inset;
    box-shadow:         0px 0px 0px 5px #ffffff inset;
    background: #3FA9F5;
}
.form-check-lg {
    padding-left: 2.5rem;
    margin: 1rem 0;
}
.form-check-lg > .form-check-input {
    margin-left: -2.5rem;
}
.form-check-lg > .form-check-label {
    font-size: 95%;
}
/* disabledチェック */
.form-check-input:disabled + .form-check-label {
    border: 1px solid #ccc;
    cursor: default;
}
.form-check-input:disabled + .form-check-label::before {
    border: none;
    background:url(../images/common/check_off_disabled.svg) no-repeat;
    background-color: #fff;
}
.form-check-input[type="checkbox"]:disabled:checked:checked + .form-check-label::before {
    background:url(../images/common/check_on_disabled.svg) no-repeat;
    background-size:contain;
    background-position: left bottom;
    border: none;
    background-color: #fff;
}
.form-check-input[type="radio"]:disabled:checked + .form-check-label::before {
    background: #aaa;
}
/* テーブル用チェック */
td.form-check {
    display: table-cell;
    width: 10%;
}
/* サイズ小 */
.form-sm .form-control {
    font-size: 1.6rem;
}
.form-sm .col-form-label {
    font-size: 1.2rem;
}
.form-sm .col-form-label,
.form-sm .col-form-value {
    padding: 6px 4px;
}
.form-sm .form-check {
    margin: 0.4rem 0.2rem;
}
.form-sm .form-check > .form-check-label {
    padding: 5px 1rem 5px 3.2rem;
}
.form-sm .form-check-input + .form-check-label::before {
    top:  0.5rem;
    left: 0.6rem;
}
/* スマホ用チェック(トグルボタン)(内訳表示は併用しないはずなのでafterを使っても良い) */
.device-sp .form-check-sp {
    margin-bottom: 2.5rem;
}
.device-sp .form-check-sp > .form-check-input + .form-check-label {
    padding:  0.4rem 8rem 0 1.6rem;
    border: none;
    background: none;
}
.device-sp .form-check-sp > .form-check-input + .form-check-label::before {
    content: "";
    position: absolute;
    top:   0; /* calc未対応ブラウザ用 */
    top:   calc(50% - 1.5rem);
    right: 1rem;
    left:  auto;
    width:  6.4rem;
    height: 3.0rem;
    border-radius: 1.5rem;
    background: #aaa;
    border: none;
    -webkit-box-shadow: none;
       -moz-box-shadow: none;
            box-shadow: none;
    -webkit-transition: background-color .2s ease-out;
            transition: background-color .2s ease-out;
}
.device-sp .form-check-sp > .form-check-input + .form-check-label::after {
    content: "";
    cursor: pointer;
    position: absolute;
    display: block;
    top:   0.33rem; /* calc未対応ブラウザ用 */
    top:   calc(50% - 1.5rem + 0.33rem);
    right: 4.7rem;
    width:  2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    z-index: 1;
    border: 1px solid #ddd;
    background-color: #fffffd;
    -webkit-transition: right .2s ease-out;
            transition: right .2s ease-out;
}
.device-sp .form-check-sp > .form-check-input:checked + .form-check-label::before {
    background-color: #e5004f;
}
.device-sp .form-check-sp > .form-check-input:checked + .form-check-label::after {
    right: 1.3rem;
}
.device-sp .form-check-sp > .form-check-input:disabled:checked + .form-check-label::before {
    background: #e5004f;
    opacity: 0.5;
}
.device-sp .form-check-sp > .form-check-input:disabled + .form-check-label::before {
    opacity: 0.5;
}
/* プレースホルダ */
.form-control::-webkit-input-placeholder {
    color: #ccc;
    font-size: 90%;
}
.form-control:-ms-input-placeholder {
    color: #ccc;
}
/* Chromeでスピンボタン、クリアボタン非表示 */
input::-webkit-inner-spin-button,
input::-webkit-clear-button {
    -webkit-appearance: none;
}

/* エラー項目 */
.error {
    background-color: #FF8888!important;
}
input[type="checkbox"].error,
input[type="radio"].error {
    box-shadow: 0 0 1px 2px #FF8888!important
}
/* リードオンリー */
.form-control[readonly] {
    background: transparent;
    border: none;
}
/* 入力グループ */
.input-group {
    flex-wrap: nowrap;
    display: -ms-inline-flexbox;    /* 中身依存の幅にしたいのでinline-flexとする */
    display: inline-flex;           /* 中身依存の幅にしたいのでinline-flexとする */
    width: auto;
}
@media (max-width: 768px) {
    div.form-group {
        display: block;
    }
    .col-form-label {
        padding: 5px 10px;
    }
    .col-form-label,
    .col-form-value {
        display: block;
        width: 100%;
        max-width: none;    /* col-*指定を打ち消す */
    }
    .form-control {
        width: 100%;
    }
    .input-group {
        width: 100%;
    }
}
/* 詳細表示 */
.form-detail .col-form-label,
.form-detail .col-form-value {
    text-align: left;
    background-color: transparent;
    font-size: 1.4rem;
    padding: 0.2rem 0.6rem 0.1rem 1.0rem;
}
.form-detail .col-form-label {
    font-weight: bold;
}
.form-detail .col-form-value {
    padding-left: 1.6rem;
}
/* 詳細表示(ラベルと値を1行表示) */
.form-detail-inline .col-form-label,
.form-detail-inline .col-form-value {
    text-align: left;
    background-color: transparent;
    font-size: 1.4rem;
    padding: 0.2rem 0.6rem 0.1rem 1.0rem;
}
.form-detail-inline .col-form-label {
    float: left;
    font-weight: bold;
    width: 50%;
}
.form-detail-inline .col-form-value > * {
    width: 100%;
}


/**************************************************
 * 表示用項目
 **************************************************/
.view-group {
    white-space: nowrap;
}


/**************************************************
 * テキスト
 **************************************************/
/* 種類別 - 説明 */
.text-description {
    font-size:    92%;
    margin: 8px 0;
    white-space: normal;
}
.text-description.w-75 {
    margin: 0 auto;
    max-width: 768px;
}
/* 種類別 - 注釈 */
.text-annotation {
    font-size:    88%;
    color: #737373;
    margin: 0 0;
}
.text-annotation > a {
    color: #555;
}
/* 種類別 - 注意事項 */
.text-attention {
    color: red;
    margin: 0;
}
/* 種類別 - お知らせ */
.box-notice *,
.text-notice {
    color: #999;
    font-weight: bold;
}
/* 種類別 - ヒント */
.text-hint {
    color: #ccc;
    font-weight: bold;
}
/* 配置 - 縦読み */
.text-vertical {
    white-space: nowrap;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
}
/* 配置 - ぶら下げインデント */
.text-hanging-indent {
    text-indent:  -1.0em;
    padding-left: 1.0em;
}
/* テキスト改行(bootstrapの同名クラスを上書き) */
.text-break {
    word-wrap:     break-word !important; /* IE用 */
    word-break:    break-all  !important; /* IE用 */
    word-break:    break-word !important; /* Chrome用 */
    overflow-wrap: break-word !important; /* Chrome用 */
}
span.text-break {
    display: inline-block; /* IE用 */
}
.col-form-value span.text-break {
    display: block; /* IE用 */
    text-align: inherit; /* スマホ時Center用 */
}
/* 改行 - pre表示 */
.text-pre {
    white-space: pre;
}
/* 改行 - pre表示、自動改行あり */
.text-pre-wrap {
    white-space: pre-wrap !important;
}
/* 改行 - 自動改行あり */
.text-wrap {
    white-space: wrap;
}
/* 改行 - 自動改行なし */
.text-nowrap {
    white-space: nowrap;
}
/* 装飾 - 太字 */
.text-strong,
.strong {
    font-weight: bold;
}
/* 装飾 - 取り消し線 */
.text-strike {
    text-decoration: line-through;
}
/* 装飾 - 下線 */
.text-underline {
    text-decoration: underline;
}
/* 文字サイズ - 大 */
.text-lg {
    font-size: 108%;
}
/* 文字サイズ - 小 */
.text-sm {
    font-size: 92%;
}
/* 文字サイズ - 極小 */
.text-xs {
    font-size: 84%;
}
@media (max-width: 768px) {
    /* article直下はマージンあり */
    .article > .text-description,
    .article > .text-annotation {
        margin-left:  0.7rem;
        margin-right: 0.7rem;
    }
    /* 文字は左寄せで要素は中央寄せ */
    .text-description,
    .text-annotation {
        text-align: left;
        line-height: 135%;
    }
    /* 種類別 - 注釈 */
    .text-annotation {
        margin: 0 1.5rem;
    }
}


/**************************************************
 * 種類別
 **************************************************/
 /* 英数字、数字 */
.type-string,
.type-string-num {
    white-space: normal;
    text-align: left;
    ime-mode: inactive; /* IEでのみ有効 */
}
 /* 日本語 */
.type-string-jp {
    white-space: normal;
    text-align: left;
    ime-mode: active;   /* IEでのみ有効 */
}
 /* 数値 */
.type-number {
    white-space: nowrap;
    text-align: right;
    ime-mode: inactive; /* IEでのみ有効 */
}
 /* 日付 */
.type-date {
    white-space: nowrap;
    ime-mode: inactive; /* IEでのみ有効 */
}
 /* パスワード */
.type-password {
    /* マスク処理 */
    white-space: nowrap;
    /* IE以外で有効 */
            text-security: disc;
    -webkit-text-security: disc;
       -moz-text-security: disc;
}
/* 単位項目 */
.type-unit {
    white-space: nowrap;
}
.type-unit:not(.input-group-text) {
    margin: 0 0.1rem;
}
/* 小計、合計 */
.type-subtotal > th,
.type-total > th {
    text-align: right;
}
tr.type-subtotal > * {
    border-bottom: 2px solid #d3d7db;
}
.type-subtotal {

}
.type-total th,
.type-total td {
    font-weight: bold;
}
/* 大きい幅画面でのテキスト幅 */
@media (min-width: 769px) {
    /* 英数字テキスト */
    input.type-string { width: 100%; }
    input.type-string[maxlength="1"] { max-width: 3.16rem; }
    input.type-string[maxlength="2"] { max-width: 4.92rem; }
    input.type-string[maxlength="3"] { max-width: 6.78rem; }
    input.type-string[maxlength="4"] { max-width: 8.54rem; }
    input.type-string[maxlength="5"] { max-width: 10.4rem; }
    input.type-string[maxlength="6"] { max-width: 12.16rem; }
    input.type-string[maxlength="7"] { max-width: 14.02rem; }
    input.type-string[maxlength="8"] { max-width: 15.78rem; }
    input.type-string[maxlength="9"] { max-width: 17.64rem; }
    input.type-string[maxlength="10"] { max-width: 19.4rem; }
    input.type-string[maxlength="11"] { max-width: 21.26rem; }
    input.type-string[maxlength="12"] { max-width: 23.02rem; }
    input.type-string[maxlength="13"] { max-width: 24.88rem; }
    input.type-string[maxlength="14"] { max-width: 26.64rem; }
    input.type-string[maxlength="15"] { max-width: 28.5rem; }
    input.type-string[maxlength="16"] { max-width: 30.26rem; }
    input.type-string[maxlength="17"] { max-width: 32.12rem; }
    input.type-string[maxlength="18"] { max-width: 33.88rem; }
    input.type-string[maxlength="19"] { max-width: 35.74rem; }
    input.type-string[maxlength="20"] { max-width: 37.5rem; }
    input.type-string[maxlength="21"] { max-width: 39.36rem; }
    input.type-string[maxlength="22"] { max-width: 41.12rem; }
    input.type-string[maxlength="23"] { max-width: 42.98rem; }
    input.type-string[maxlength="24"] { max-width: 44.74rem; }
    input.type-string[maxlength="25"] { max-width: 46.6rem; }
    input.type-string[maxlength="26"] { max-width: 48.36rem; }
    input.type-string[maxlength="27"] { max-width: 50.22rem; }
    input.type-string[maxlength="28"] { max-width: 51.98rem; }
    input.type-string[maxlength="29"] { max-width: 53.84rem; }
    input.type-string[maxlength="30"] { max-width: 55.6rem; }
    input.type-string[maxlength="31"] { max-width: 57.46rem; }
    input.type-string[maxlength="32"] { max-width: 59.22rem; }
    input.type-string[maxlength="33"] { max-width: 61.08rem; }
    input.type-string[maxlength="34"] { max-width: 63.04rem; }
    input.type-string[maxlength="35"] { max-width: 64.9rem; }
    input.type-string[maxlength="36"] { max-width: 66.66rem; }
    input.type-string[maxlength="37"] { max-width: 68.52rem; }
    input.type-string[maxlength="38"] { max-width: 70.28rem; }
    input.type-string[maxlength="39"] { max-width: 72.14rem; }
    input.type-string[maxlength="40"] { max-width: 73.9rem; }
    input.type-string[maxlength="41"] { max-width: 75.76rem; }
    input.type-string[maxlength="42"] { max-width: 77.52rem; }
    input.type-string[maxlength="43"] { max-width: 79.38rem; }
    input.type-string[maxlength="44"] { max-width: 81.14rem; }
    input.type-string[maxlength="45"] { max-width: 83rem; }
    input.type-string[maxlength="46"] { max-width: 84.76rem; }
    input.type-string[maxlength="47"] { max-width: 86.62rem; }
    input.type-string[maxlength="48"] { max-width: 88.38rem; }
    input.type-string[maxlength="49"] { max-width: 90.24rem; }
    input.type-string[maxlength="50"] { max-width: 92rem; }

    /* 数字テキスト */
    input.type-string-num { width: 100%; }
    input.type-string-num[maxlength="1"] { max-width: 2.2rem; }
    input.type-string-num[maxlength="2"] { max-width: 3.4rem; }
    input.type-string-num[maxlength="3"] { max-width: 4.5rem; }
    input.type-string-num[maxlength="4"] { max-width: 5.7rem; }
    input.type-string-num[maxlength="5"] { max-width: 6.9rem; }
    input.type-string-num[maxlength="6"] { max-width: 8rem; }
    input.type-string-num[maxlength="7"] { max-width: 9.2rem; }
    input.type-string-num[maxlength="8"] { max-width: 10.4rem; }
    input.type-string-num[maxlength="9"] { max-width: 11.5rem; }
    input.type-string-num[maxlength="10"] { max-width: 12.7rem; }
    input.type-string-num[maxlength="11"] { max-width: 13.9rem; }
    input.type-string-num[maxlength="12"] { max-width: 15rem; }
    input.type-string-num[maxlength="13"] { max-width: 16.2rem; }
    input.type-string-num[maxlength="14"] { max-width: 17.4rem; }
    input.type-string-num[maxlength="15"] { max-width: 18.5rem; }
    input.type-string-num[maxlength="16"] { max-width: 19.7rem; }
    input.type-string-num[maxlength="17"] { max-width: 20.9rem; }
    input.type-string-num[maxlength="18"] { max-width: 22rem; }
    input.type-string-num[maxlength="19"] { max-width: 23.2rem; }
    input.type-string-num[maxlength="20"] { max-width: 24.4rem; }
    input.type-string-num[maxlength="21"] { max-width: 25.5rem; }
    input.type-string-num[maxlength="22"] { max-width: 26.7rem; }
    input.type-string-num[maxlength="23"] { max-width: 27.9rem; }
    input.type-string-num[maxlength="24"] { max-width: 29rem; }
    input.type-string-num[maxlength="25"] { max-width: 30.2rem; }
    input.type-string-num[maxlength="26"] { max-width: 31.4rem; }
    input.type-string-num[maxlength="27"] { max-width: 32.5rem; }
    input.type-string-num[maxlength="28"] { max-width: 33.7rem; }
    input.type-string-num[maxlength="29"] { max-width: 34.9rem; }
    input.type-string-num[maxlength="30"] { max-width: 36rem; }
    input.type-string-num[maxlength="31"] { max-width: 37.2rem; }
    input.type-string-num[maxlength="32"] { max-width: 38.4rem; }
    input.type-string-num[maxlength="33"] { max-width: 39.5rem; }
    input.type-string-num[maxlength="34"] { max-width: 40.7rem; }
    input.type-string-num[maxlength="35"] { max-width: 41.9rem; }
    input.type-string-num[maxlength="36"] { max-width: 43rem; }
    input.type-string-num[maxlength="37"] { max-width: 44.2rem; }
    input.type-string-num[maxlength="38"] { max-width: 45.4rem; }
    input.type-string-num[maxlength="39"] { max-width: 46.5rem; }
    input.type-string-num[maxlength="40"] { max-width: 47.7rem; }
    input.type-string-num[maxlength="41"] { max-width: 48.9rem; }
    input.type-string-num[maxlength="42"] { max-width: 50rem; }
    input.type-string-num[maxlength="43"] { max-width: 51.2rem; }
    input.type-string-num[maxlength="44"] { max-width: 52.4rem; }
    input.type-string-num[maxlength="45"] { max-width: 53.5rem; }
    input.type-string-num[maxlength="46"] { max-width: 54.7rem; }
    input.type-string-num[maxlength="47"] { max-width: 55.9rem; }
    input.type-string-num[maxlength="48"] { max-width: 57rem; }
    input.type-string-num[maxlength="49"] { max-width: 58.2rem; }
    input.type-string-num[maxlength="50"] { max-width: 59.4rem; }
    input.type-string-num[maxlength="51"] { max-width: 60.5rem; }
    input.type-string-num[maxlength="52"] { max-width: 61.7rem; }
    input.type-string-num[maxlength="53"] { max-width: 62.9rem; }
    input.type-string-num[maxlength="54"] { max-width: 64rem; }
    input.type-string-num[maxlength="55"] { max-width: 65.2rem; }
    input.type-string-num[maxlength="56"] { max-width: 66.4rem; }
    input.type-string-num[maxlength="57"] { max-width: 67.5rem; }
    input.type-string-num[maxlength="58"] { max-width: 68.7rem; }
    input.type-string-num[maxlength="59"] { max-width: 69.9rem; }
    input.type-string-num[maxlength="60"] { max-width: 71rem; }
    input.type-string-num[maxlength="61"] { max-width: 72.2rem; }
    input.type-string-num[maxlength="62"] { max-width: 73.4rem; }
    input.type-string-num[maxlength="63"] { max-width: 74.5rem; }
    input.type-string-num[maxlength="64"] { max-width: 75.7rem; }
    input.type-string-num[maxlength="65"] { max-width: 76.9rem; }
    input.type-string-num[maxlength="66"] { max-width: 78rem; }
    input.type-string-num[maxlength="67"] { max-width: 79.2rem; }
    input.type-string-num[maxlength="68"] { max-width: 80.4rem; }
    input.type-string-num[maxlength="69"] { max-width: 81.5rem; }
    input.type-string-num[maxlength="70"] { max-width: 82.7rem; }

    /* 日本語テキスト */
    input.type-string-jp { width: 100%; }
    input.type-string-jp[maxlength="1"] { max-width: 3.6rem; }
    input.type-string-jp[maxlength="2"] { max-width: 5.4rem; }
    input.type-string-jp[maxlength="3"] { max-width: 7.2rem; }
    input.type-string-jp[maxlength="4"] { max-width: 9rem; }
    input.type-string-jp[maxlength="5"] { max-width: 10.8rem; }
    input.type-string-jp[maxlength="6"] { max-width: 12.6rem; }
    input.type-string-jp[maxlength="7"] { max-width: 14.4rem; }
    input.type-string-jp[maxlength="8"] { max-width: 16.2rem; }
    input.type-string-jp[maxlength="9"] { max-width: 18rem; }
    input.type-string-jp[maxlength="10"] { max-width: 19.8rem; }
    input.type-string-jp[maxlength="11"] { max-width: 21.7rem; }
    input.type-string-jp[maxlength="12"] { max-width: 23.5rem; }
    input.type-string-jp[maxlength="13"] { max-width: 25.3rem; }
    input.type-string-jp[maxlength="14"] { max-width: 27.1rem; }
    input.type-string-jp[maxlength="15"] { max-width: 28.9rem; }
    input.type-string-jp[maxlength="16"] { max-width: 30.7rem; }
    input.type-string-jp[maxlength="17"] { max-width: 32.5rem; }
    input.type-string-jp[maxlength="18"] { max-width: 34.3rem; }
    input.type-string-jp[maxlength="19"] { max-width: 36.1rem; }
    input.type-string-jp[maxlength="20"] { max-width: 37.9rem; }
    input.type-string-jp[maxlength="21"] { max-width: 39.8rem; }
    input.type-string-jp[maxlength="22"] { max-width: 41.6rem; }
    input.type-string-jp[maxlength="23"] { max-width: 43.4rem; }
    input.type-string-jp[maxlength="24"] { max-width: 45.2rem; }
    input.type-string-jp[maxlength="25"] { max-width: 47rem; }
    input.type-string-jp[maxlength="26"] { max-width: 48.8rem; }
    input.type-string-jp[maxlength="27"] { max-width: 50.6rem; }
    input.type-string-jp[maxlength="28"] { max-width: 52.4rem; }
    input.type-string-jp[maxlength="29"] { max-width: 54.2rem; }
    input.type-string-jp[maxlength="30"] { max-width: 56rem; }
    input.type-string-jp[maxlength="31"] { max-width: 57.9rem; }
    input.type-string-jp[maxlength="32"] { max-width: 59.7rem; }
    input.type-string-jp[maxlength="33"] { max-width: 61.5rem; }
    input.type-string-jp[maxlength="34"] { max-width: 63.3rem; }
    input.type-string-jp[maxlength="35"] { max-width: 65.1rem; }
    input.type-string-jp[maxlength="36"] { max-width: 66.9rem; }
    input.type-string-jp[maxlength="37"] { max-width: 68.7rem; }
    input.type-string-jp[maxlength="38"] { max-width: 70.5rem; }
    input.type-string-jp[maxlength="39"] { max-width: 72.3rem; }
    input.type-string-jp[maxlength="40"] { max-width: 74.1rem; }

    /* 数値テキスト */
    input.type-number { width: 100%; }
    input.type-number[maxlength="1"] { max-width: 4.6rem; }
    input.type-number[maxlength="2"] { max-width: 5.7rem; }
    input.type-number[maxlength="3"] { max-width: 6.8rem; }
    input.type-number[maxlength="4"] { max-width: 7.9rem; }
    input.type-number[maxlength="5"] { max-width: 9rem; }
    input.type-number[maxlength="6"] { max-width: 10.1rem; }
    input.type-number[maxlength="7"] { max-width: 11.2rem; }
    input.type-number[maxlength="8"] { max-width: 12.3rem; }
    input.type-number[maxlength="9"] { max-width: 13.4rem; }
    input.type-number[maxlength="10"] { max-width: 14.5rem; }
    input.type-number[maxlength="11"] { max-width: 15.6rem; }
    input.type-number[maxlength="12"] { max-width: 16.7rem; }
    input.type-number[maxlength="13"] { max-width: 17.8rem; }
    input.type-number[maxlength="14"] { max-width: 18.9rem; }
    input.type-number[maxlength="15"] { max-width: 20rem; }
    input.type-number[maxlength="16"] { max-width: 21.1rem; }
    input.type-number[maxlength="17"] { max-width: 22.2rem; }
    input.type-number[maxlength="18"] { max-width: 23.3rem; }
    input.type-number[maxlength="19"] { max-width: 24.4rem; }
    input.type-number[maxlength="20"] { max-width: 25.5rem; }

    /* 日付 */
    input.type-date {
        min-width: 15.3rem;
        max-width: 15.3rem;
    }
}
@media (max-width: 768px) {
    input.type-number,
    select.type-number,
    input.type-date,
    select.type-date {
        width: 100%!important;
        flex: 1 1 auto!important;  /* input-group内用 */
    }
    .input-group {
        width: 100%;
    }
}


/**************************************************
 * ボタン
 **************************************************/
/* ボタン全般 */
.btn {
    border: none;
    cursor: pointer;
    white-space: nowrap;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    font-weight: bold;
    font-size: 1.6rem;
    margin: 0 auto;
    padding: 2.5rem 6rem;
}
.btn,
.btn-secondary,
.btn-secondary:hover {
    padding: 12px 50px;
    border-radius: 0.5rem;
    font-size: 1.6rem;
    background: #EDEDED;
    color: #000 !important;
    background-image: none;
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px 17px;
    max-width: 300px;
    width: 100%;
}
.btn-info {
    border-radius: 6px;
    background: #e5004f;
    color: #fff;
    background-image: url(../images/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px 17px;
}
.btn-primary,
.btn-primary:hover {
    background: #e5004f;
    color: #fff !important;
    background-image: url(../images/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 10px 17px;
}
.btn-primary.disabled, .btn-primary:disabled {
    background: #e5004f;
    color: #fff !important;
}
.btn-warning {
    background: linear-gradient(45deg, #f66464, #fe2626);
}
.btn-danger {
    background: #FF1815 !important;
}
.btn-reset {
    background: #fff;
    color: #e5004f !important;
    border: 2px solid #e5004f;
    border-radius: 5px;
}
.btn,
.btn:hover,
.btn:disabled {
    color: #000;
}
.btn-warning,
.btn-warning:hover,
.btn-warning:disabled,
.btn-danger,
.btn-danger:hover,
.btn-danger:disabled {
    color: #fff;
}
.btn:disabled {
    cursor: not-allowed; /* 禁止カーソル */
    opacity: 0.5 ;
}
.btn-xs {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 1.2rem;
}
.btn-sm {
    padding: 8px 30px;
    border-radius: 6px;
    font-size: 1.3rem;
}
.btn-sm-select {
    padding: 25px 0;
    border-radius: 6px;
    font-size: 1.3rem;
}
.btn-lg {
    padding: 20px 80px;
    border-radius: 10px;
    font-size: 1.6rem;
}
/* input-groupのボタン */
.input-group-append .btn {
    padding: 0.375rem 0.75rem;
    margin: 0;
    border: 1px solid #4fabea;
}
/* サイドメニューのボタン */
.sidebar .btn {
    color: #383838!important;
    text-decoration: none;
    background-color: transparent;
}
/* フッターのボタン領域 */
.footer {
    display: flex;
    -webkit-flex-flow: row-reverse wrap;
    flex-flow:         row-reverse wrap;
    justify-content: center;
    margin-top: 0.4rem;
    clear: both;
}
.footer.row {
    -webkit-flex-flow: row wrap;
    flex-flow:         row wrap;
}
.footer .btn {
    padding: 2.5rem 0;
    border-radius:  8px;
    min-width:      22rem;
}
.footer .btn-sm {
    border-radius:  6px;
    height:         4rem;
}
.footer a.btn-sm {
    line-height:    4rem;
}
.footer.row-reverse-none {
    -webkit-flex-flow: row wrap;
    flex-flow:         row wrap;
}
@media (max-width: 768px) {
    .footer {
        -webkit-flex-flow: column wrap;
        flex-flow:         column wrap;
    }
    .main > .footer {
        margin-top: 3.0rem;
    }
    .footer .btn {
        margin: 6px auto;
        width: 90%;
        min-width: 16rem;
    }
    .footer .btn-lg {
        height: 7rem;
    }
    .footer a.btn-lg {
        line-height: 7rem;
    }
}
/* ナビゲーションスキップリンク */
#lnkNavSkip {
    position: absolute;
    display: block;
    background: #fff;
    text-align: center;
    height: 1px;
    width: 100%;
    overflow: hidden;
    z-index: 1000;
}
/* TOPボタン */
#btn-top {
    width:  5.0rem;
    height: 5.0rem;
    position: fixed;
    right:  1.0rem;
    bottom: 1.0rem;
    background: #000;
    opacity: 0.6;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    display: none;  /* 初期非表示 */
    text-align: center;
    z-index: 1030;  /* サイドバーよりは上に */
}
#btn-top::before{
    content:"";
    background:url(../images/icon-arrow-simple-top-white.png) no-repeat;
    display: block;
    width:  2.0rem;
    height: 2.0rem;
    margin: 0.2rem auto -0.2rem auto;
    background-size:contain;
    background-position: left bottom;
}


/**************************************************
 * リンク
 **************************************************/
.link {
    cursor: pointer;
    text-decoration: underline;
    color: #e5004f;
}
a.link-image, a.link-image:hover {
    text-decoration: none;
    display: inline-block;
}
a.link-image.disabled {
    opacity: .3;
}


/**************************************************
 * バッジ
 **************************************************/
.badge-important {
    color: #fff;
    background-color: #dc3545;
}


/**************************************************
 * 内訳表示
 **************************************************/
 /* 内訳表示の開閉ボタン */
div.breakdown-open,
div.breakdown-close {
    cursor: pointer;
}
div.breakdown-open > .breakdown-text::after {
    content: "▼";
}
div.breakdown-close > .breakdown-text::after {
    content: "▲";
}
div.breakdown-open::after {
    content: "内訳▼";
}
div.breakdown-close::after {
    content: "内訳▲";
}
input.breakdown-open ~ label::after {
    content: "▼";
}
input.breakdown-close ~ label::after {
    content: "▲";
}
.breakdown-text,
div.breakdown-open::after,
div.breakdown-close::after {
    color: #0000de; /* リンク色 */
}
.breakdown-text,
div.breakdown-open::after,
div.breakdown-close::after,
input.breakdown-open ~ label::after,
input.breakdown-close ~ label::after {
    display: inline-block;
    vertical-align: baseline;
    font-size: 75%;
    margin-left: 5px;
}
div.breakdown-open.has-breakdown-text::after,
div.breakdown-close.has-breakdown-text::after {
    content: "";
    display: block;
    margin-left: 0;
}
div.breakdown-open > .btn-link {
    background: rgba(237,237,237,0.9);
    text-align: center;
    display: block;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2rem;
    padding: 5px;
    color: #e5004f;
    margin: 5px;
    border: 1px transparent;
    width: 98%;
}
div.breakdown-open > .btn-link::before {
    content:"";
    background-image: url(../images/common/icon__more.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left bottom;
    display: inline-block;
    width:1.2rem;
    height:1.2rem;
}
div.breakdown-open > .btn-link::after {
    content:" すべて表示";
}
div.breakdown-open > .btn-link:focus {
    box-shadow: 0 0 0 0.2rem #000;
    outline: 0;
}
 /* 内訳表示エリア */
.breakdown-group {
    padding: 10px 14px 5px 10px;
    font-size: 90%;
    background: #fff;
    border-radius: 4px;
    border: 1px solid #ccc;
    box-shadow:         inset 2px 2px 2px #ddd;
    -moz-box-shadow:    inset 2px 2px 2px #ddd;
    -webkit-box-shadow: inset 2px 2px 2px #ddd;
    -o-box-shadow:      inset 2px 2px 2px #ddd;
}
.form-priority-low .breakdown-group {
    background-color: #f0f0f0;    /* 優先度低の内訳表示背景色 */
}


/**************************************************
 * 詳細折りたたみ要素
 **************************************************/
details > summary.summary{
    background: rgba(237,237,237,0.9);
    border-radius: 10px;
    padding: 3px;
    width: 93%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
}


/**************************************************
 * プログレストラッカー
 **************************************************/
.progress-tracker {
    counter-reset: progress_tracker_counter;
    margin-bottom: 4.0rem;
    margin-top: 4.0rem;
}

.progress-tracker ol {
    display: flex;
    justify-content: center;
}

.progress-tracker ol li {
    font-size: 1.2rem;
    text-align: center;
    width: 10.1rem;
    opacity: 0.3;
    position: relative;
    list-style-type: none;
}

.progress-tracker ol li:last-child::after {
    content: none;
}

.progress-tracker ol li::after {
    content: '';
    height: 0.2rem;
    width: 6.0rem;
    background: #E5004F;
    display: block;
    position: absolute;
    top: 2.0rem;
    left: calc(50% + 2.1rem);
    z-index: 1;
}

.progress-tracker ol li.actived {
    opacity: 1;
}

.progress-tracker ol li.actived::after {
    background: #E5004F;
}

.progress-tracker ol li.active {
    opacity: 1;
}

.progress-tracker ol li.active::after {
    opacity: 0.3;
}

.progress-tracker ol li.active::before {
    background: #E5004F;
    color: #fff;
}

.progress-tracker ol li::before {
    display: block;
    width: 4.2rem;
    height: 4.2rem;
    border: 0.2rem solid #E5004F;
    border-radius: 50%;
    background: #fff;
    margin: 0 auto 1.0rem;
    padding-top: 0.5rem;
    z-index: 200;
    vertical-align: middle;
    counter-increment: progress_tracker_counter;
    content: counter(progress_tracker_counter);
    font-weight: bold;
    font-size: 2.0rem;
    color: #E5004F;
}

@media (max-width: 768px) {
    .progress-tracker {
        counter-reset: progress_tracker_counter;
        margin-bottom: 4.0rem;
        margin-top: 4.0rem;
    }
    .progress-tracker ol {
        display: flex;
        justify-content: center;
        padding: 0rem;
    }
    .progress-tracker ol li {
        text-align: center;
        opacity: 0.3;
        position: relative;
        font-size: 1.1rem;
        width: 9.0rem;
        list-style-type: none;
    }
    .progress-tracker ol li:last-child::after {
        content: none;
    }
    .progress-tracker ol li::after {
        content: '';
        height: 0.2rem;
        background: #E5004F;
        display: block;
        position: absolute;
        z-index: 1;
        width: 5.3rem;
        top: 1.6rem;
        left: calc(50% + 1.8rem);
    }
    .progress-tracker ol li.actived {
        opacity: 1;
    }
    .progress-tracker ol li.actived::after {
        background: #E5004F;
    }
    .progress-tracker ol li.active {
        opacity: 1;
    }
    .progress-tracker ol li.active::before {
        background: #E5004F;
        color: #fff;
    }
    .progress-tracker ol li::before {
        display: block;
        width: 3.6rem;
        height: 3.6rem;
        border: 0.2rem solid #E5004F;
        border-radius: 50%;
        background: #fff;
        margin: 0 auto 1.0rem;
        padding-top: 0.4rem;
        z-index: 200;
        vertical-align: middle;
        counter-increment: progress_tracker_counter;
        content: counter(progress_tracker_counter);
        font-weight: bold;
        font-size: 1.7rem;
        color: #E5004F;
    }
}


/**************************************************
 * 二段プログレストラッカー
 **************************************************/
.first-row {
    counter-reset: second_progress_tracker_counter;
    margin-top: 4.0rem;
}
.first-row ol {
    display: flex;
    justify-content: center;
}
.first-row ol li {
    font-size: 1.2rem;
    text-align: center;
    width: 10rem;
    opacity: 0.3;
    position: relative;
    list-style-type: none;
}
.first-row ol li:last-child::after {
    content: none;
}
.first-row ol li::after {
    content: '';
    height: 0.2rem;
    width: 7.0rem;
    background: #E5004F;
    display: block;
    position: absolute;
    top: 1.5rem;
    left: calc(50% + 1.5rem);
    z-index: 1;
}
.first-row ol li.actived {
    opacity: 1;
}
.first-row ol li.actived::after {
    background: #E5004F;
}
.first-row ol li.active {
    opacity: 1;
}
.first-row ol li.active::after {
    opacity: 0.3;
}
.first-row ol li.active::before {
    background: #007bff;
    color: #fff;
    border: 0.2rem solid #007bff;
}
.first-row ol li::before {
    display: block;
    width: 3.0rem;
    height: 3.0rem;
    border: 0.2rem solid #E5004F;
    border-radius: 50%;
    background: #fff;
    margin: 0 auto 1rem;
    padding-top: 0.2rem;
    z-index: 200;
    vertical-align: middle;
    counter-increment: second_progress_tracker_counter;
    content: counters(second_progress_tracker_counter,"-");
    font-weight: bold;
    font-size: 1.7rem;
    color: #E5004F;
}
.second-row {
    margin-bottom: 4.0rem;
    margin-top: -1rem;
}
.second-row ol {
    counter-reset: second_row_counter;
}
.second-row ol li::before {
    counter-increment: second_row_counter;
    content: counters(second_row_counter,"-");
}
.second-row ol.ol-lv1 {
    padding:0;
}
.second-row ol li.not-display {
    height:0;
}
.second-row ol li.li-lv1::marker {
    font-size:0;
}
.second-row ol li.li-lv1::before {
    font-size:0;
}
.second-row ol.ol-lv2 {
    display: flex;
    justify-content: center;
}
.second-row ol li.li-lv2 {
    font-size: 1.2rem;
    text-align: center;
    width: 10.1rem;
    opacity: 0.3;
    position: relative;
    list-style-type: none;
}
.second-row ol li.li-lv2:last-child::after {
    content: none;
}
.second-row ol li.li-lv2::after {
    content: '';
    height: 0.2rem;
    width: 6.0rem;
    background: #007bff;
    display: block;
    position: absolute;
    top: 2.0rem;
    left: calc(50% + 2.1rem);
    z-index: 1;
}
.second-row ol li.li-lv2.actived {
    opacity: 1;
}
.second-row ol li.li-lv2.actived::after {
    background: #007bff;
}
.second-row ol li.li-lv2.active {
    opacity: 1;
}
.second-row ol li.li-lv2.active::after {
    opacity: 0.3;
}
.second-row ol li.li-lv2.active::before {
    background: #007bff;
    color: #fff;
}
.second-row ol li.li-lv2::before {
    display: block;
    width: 4.2rem;
    height: 4.2rem;
    border: 0.2rem solid #007bff;
    border-radius: 50%;
    margin: 0 auto 1.0rem;
    padding-top: 0.8rem;
    z-index: 200;
    vertical-align: middle;
    counter-increment: second_row_counter;
    content: counters(second_row_counter,"-");
    font-weight: bold;
    font-size: 1.7rem;
    color: #007bff;
}

@media (max-width: 768px) {
    .first-row ol {
        padding: 0rem;
    }
    .first-row ol li {
        font-size: 1.1rem;
        width: 9.0rem;
    }
    .first-row ol li::after {
        width: 6.3rem;
        top: 1.3rem;
        left: calc(50% + 1.3rem);
    }
    .first-row ol li::before {
        width: 2.7rem;
        height: 2.7rem;
        padding-top: 0.1rem;
        font-size: 1.4rem;
    }
    .second-row {
        margin-top: -1.5rem;
    }
    .second-row ol {
        padding: 0rem;
    }
    .second-row ol li.li-lv2 {
        font-size: 1.1rem;
        width: 9.0rem;
    }
    .second-row ol li.li-lv2::after {
        width: 5.4rem;
        top: 1.6rem;
        left: calc(50% + 1.8rem);
    }
    .second-row ol li.li-lv2.actived::after {
        background: #007bff;
    }
    .second-row ol li.li-lv2::before {
        width: 3.6rem;
        height: 3.6rem;
        padding-top: 0.6rem;
        font-size: 1.4rem;
    }
}

/**************************************************
 * jquery-ui
 **************************************************/
/* カレンダダイアログボタン */
.ui-datepicker-trigger {
    margin-left: -1px;
}
.ui-datepicker-trigger img {
    width:  20px;
    height: 20px;
}


/**************************************************
 * 汎用
 **************************************************/
/* タイトル */
.title {
    white-space: normal;
    clear: both;
}
/* clear, clearfix */
.clear {
    clear: both;
}
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}
/* 表示･非表示 */
.visible {
    display: inline-block;
}
.article.visible {
    display: block;
}
.hidden,
.hide {
    display: none;
}
/* display */
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.flex {
    display: flex;
}
/* float */
.pull-left {
    float: left;
}
.pull-right {
    float: right;
}
/* スクロール時に位置固定(IE11では未対応) */
@supports ((position: -webkit-sticky) or (position: sticky)) {
  .sticky-left {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
  }
}
.common-separator {
    height: 2rem;
    background: rgba(0, 0, 0, 0.05);
    display: block;
    border: none
}

/**************************************************
 * レスポンシブ対応
 **************************************************/
/* 画面幅用(大) */
@media (min-width: 769px) {
    .visible-sm {
        display: none;
    }
}
/* 画面幅用(小) */
@media (max-width: 768px) {
    .visible-sm {
        display: inline-block;
    }
    .visible-sm.block {
        display: block;
    }
    .hidden-sm {
        display: none;
    }
    .hidden-sm.disabled {
        display: none;
    }
}


/**************************************************
 * スイートアラート用
 **************************************************/
.swal2-modal {
    font-size: 1.6rem;
}
.swal2-content {
    text-align: center;
    white-space: pre-wrap;
}


/**************************************************
 * 番号付きリスト
 **************************************************/
.ol-steps {
    counter-reset: ol_steps_counter;
}
.ol-steps > li:before {
    counter-increment: ol_steps_counter;
    content: counter(ol_steps_counter);
    margin-left: -4rem;
    margin-right: 1.5rem;
    border: 1px solid #E5004F;
    border-radius: 5px;
    position: relative;
    color: #E5004F;
    font-size: 1.7rem;
    font-weight: bold;
    padding: 0 8px;
}
.ol-steps > li {
    font-weight: bold;
    font-size: 1.6rem;
    border-bottom: 1px dashed #CECECE;
    margin-bottom: 20px;
    padding: 0 10px 20px 5rem;
    list-style-type: none;
}

/**************************************************
 * ページネーションエリア
 **************************************************/
.footer-pagination {
    padding: 20px 0px 20px 0px;
}

/**************************************************
 * 新しい表仕様
 **************************************************/
.article .sc-title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 30px;
}

.sc-section {
    padding: 0px;
}

.wrapper.column .contents .sc-section-inner {
    padding: 0 10px;
}

.sc-section-inner {
    max-width: 768px;
    margin: 0 auto;
}

.sc-table.-bdbn {
    border-bottom: none;
}

.sc-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #CECECE;
    border-bottom: 1px solid #CECECE;
}

.sc-table caption {
    background: rgba(0, 0, 0, 0.05);
    text-align: center;
    font-size: 1.6rem;
    border-top: 1px solid #CECECE;
    font-weight: bold;
    padding: 10px;
    caption-side: top;
    color: #000;
}

.sc-table tr th, .sc-table tr td {
    border-bottom: 1px dashed #CECECE;
    padding: 20px 15px;
    font-size: 1.4rem;
}

.sc-table tr th {
    text-align: left;
    font-weight: bold;
    background: #FFFAE6;
    width: 150px;
}

.sc-table.-bdbn tr:last-child th, .sc-table.-bdbn tr:last-child td {
    border-bottom: none;
}

.sc-link {
    margin: 30px 0;
    text-align: center;
    text-decoration: underline;
}

.sc-link a {
    font-size: 1.4rem;
    font-weight: bold;
    color: #e5004f;
    background-color: transparent;
}

.-ext::after {
    content: '';
    background: url(../images/common/icon_ext.svg) no-repeat;
    background-size: contain;
    width: 12px;
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

.sc-mail-setting-area {
    margin: 30px 0 50px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    padding: 30px;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
}

.sc-mail-setting-area p {
    max-width: 560px;
    margin: 0 auto 25px;
    position: relative;
    padding-left: 50px;
}

.sc-mail-setting-area p::before {
    content: '';
    background: url(../images/common/icon_info04.svg) no-repeat;
    width: 30px;
    height: 30px;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.sc-mail-setting-area div {
    text-align: center;
}

.sc-mail-setting-area div a {
    background: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.6rem;
    display: inline-block;
    border-radius: 5px;
    padding: 10px 20px;
    color: #e5004f;
}

@media (max-width: 768px) {
    .sc-mail-setting-area {
        text-align: left;
        max-width: 95%;
    }
}

.sc-footer-btn-area {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    margin-top: 50px;
}

.sc-btn-primary {
    display: block;
    background: #e5004f;
    border-radius: 10px;
    text-align: center;
    color: #fff!important;
    max-width: 300px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.6rem;
    margin: 0 auto;
    padding: 20px 0;
    margin-bottom: 20px;
}

.footer .sc-btn-secondary {
    background-image: url(../images/common/icon_back_black.svg);
    background-repeat: no-repeat;
    background-position: left 15px top 50%;
    background-size: 10px 17px;
    margin-bottom: 70px;
    display: block;
}

.sc-btn-fatal {
    background: #fff;
    color: #000!important;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #e5004f;
    border-color: #e5004f;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
    color: #000;
    background-color: #EDEDED;;
    border-color: #EDEDED;
}
.sc-btn-primary:hover {
    background-image: none;
}
@media (max-width: 768px) {
    .article .sc-title {
        font-size: 1.4rem;
        margin: 0 15px 20px;
    }
    .sc-mail-setting-area {
        text-align: left;
        max-width: 95%;
    }
    .sc-table caption {
        font-size: 1.5rem;
    }
    .sc-table tr th, .sc-table tr td {
        text-align: left;
        padding: 10px 5px;
        font-size: 1.1rem;
    }
    .sc-table tr th {
        width: 110px;
    }
    .sc-link {
        margin: 20px 0;
    }
    .sc-link a {
        font-size: 1.3rem;
    }
    .sc-mail-setting-area {
        margin: 20px 5px;
        padding: 10px 15px 10px 10px;
        margin-right: 5px;
        margin-left: 5px;
        max-width: unset;
    }
    .sc-mail-setting-area p {
        margin: 0 auto 15px;
        padding-left: 40px;
        font-size: 1.2rem;
    }
    .sc-mail-setting-area p::before {
        width: 20px;
        height: 20px;
        top: 0;
        left: 10px;
    }
    .sc-mail-setting-area div a {
        background: #fff;
        text-decoration: none;
        font-weight: bold;
        font-size: 1.4rem;
        display: inline-block;
        border-radius: 5px;
        padding: 5px 20px;
    }
    .sc-footer-btn-area {
        margin-top: 20px;
    }
    .sc-btn-primary {
        width: 240px;
        font-size: 1.4rem;
        padding: 15px 0 !important;
        max-width: 280px;
        height: auto !important;
    }
    .footer .sc-btn-secondary {
        font-size: 1.4rem;
        padding: 15px 0;
        max-width: 280px;
    }
    .footer .sc-btn-fatal {
        font-size: 1.4rem;
        padding: 15px 0;
        max-width: 280px;
    }
    .sc-footer-bottom {
        margin-bottom: 7.0rem;
    }
}

/****************************************************************************************************
 * 完了メッセージ
****************************************************************************************************/
@media (max-width: 768px) {
  .complete-sectionInner {
    font-size: 1.3rem;
  }
}
.complete-sectionInner {
    max-width: 768px;
    padding: 0 15px;
    margin: 0 auto;
}
.complete-info {
    background: #ffebf4;
    border-radius: 10px;
    padding: 40px;
    text-align: center;
    margin-bottom: 50px;
}
@media (max-width: 768px) {
  .complete-info {
    margin-bottom: 0px;
    padding: 30px 15px;
  }
}
.complete-info dl {
    margin-bottom: 0;
}
.complete-info dl dt {
    font-size: 2rem;
    font-weight: bold;
    color: #e5004f;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
  .complete-info dl dt {
      font-size: 1.5rem;
      margin-bottom: 30px;
  }
}
.complete-info dl dd {
    font-size: 1.8rem;
}
@media (max-width: 768px) {
  .complete-info dl dd {
      font-size: 1.3rem;
  }
}
.complete-info dl dd a {
    font-weight: bold;
    font-size: inherit;
}
.complete-info dl::before {
    content: '';
    background: url(../images/common/icon_info05.svg) no-repeat;
    width: 74px;
    height: 74px;
    background-size: contain;
    margin: 0 auto;
    display: block;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
  .complete-info dl::before {
      width: 52px;
      height: 52px;
  }
}

.complete-info a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
    color: #e5004f;
    text-decoration: underline;
}
.complete-info ul {
    background: #fff;
    padding: 15px;
    text-align: left;
    margin-top: 40px;
    margin-bottom: 0;
}
.complete-info ul li {
    font-size: 1.2rem;
    list-style-type: none;
}

/****************************************************************************************************
 * 確認ダイアログボタン
****************************************************************************************************/
.swal2-styled.swal2-cancel {
    color: #000;
}
.swal2-actions:not(.swal2-loading) .swal2-styled:hover {
    background-image: none
}
/****************************************************************************************************
 * 入力項目フォーカス時
****************************************************************************************************/
.form-control:focus {
    background-color: initial;
    border-color: initial;
    outline: auto;
    box-shadow: initial;
}
[type="button"]:focus {
    box-shadow: 0 0 0 0.2rem #000;
}
[type="button"]:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0 0.2rem #000;
}
.link:focus, .btn:focus {
    box-shadow: 0 0 0 0.2rem #000;
}
/****************************************************************************************************
 * タイトルエリアの戻るボタン
****************************************************************************************************/
@media (max-width: 768px) {
    .title-area-back-btn {
        display: block;
        text-indent: -9999px;
        width: 10px;
        height: 19px;
        display: block;
        background: url(../images/common/icon_arrow_back.svg) no-repeat;
        background-size: contain;
        position: absolute;
        left: 15px;
        top: 58px;
    }
}

/****************************************************************************************************
 * ページネーション仕様
****************************************************************************************************/
.page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #e5004f;
    border-color: #e5004f;
}
.page-link {
    color: #e5004f;
    height: 40px;
    width: 40px;
}

.page-link:hover {
    z-index: 2;
    color: #e5004f;
    text-decoration: none;
    background-color: #fff;
    border-color: #dee2e6;
}

/****************************************************************************************************
 * 入力エリア
****************************************************************************************************/
.input-area {
    border: 1px solid #CECECE;
    border-radius: 10px;
    margin: 20px 0;
    background: #fff;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
}

.input-area-title {
    padding: 15px 20px;
    position: relative;
    background: #FFFAE6;
    border-radius: 10px 10px 0 0;
    text-align: center;
}

.input-area-title h3 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 0px;
}

.input-area-content {
    padding: 20px;
}

.input-area-content-inner {
    max-width: 644px;
    margin: 0 auto;
}

.input-area-content-note {
    padding-top: 20px;
    margin-bottom: 0;
    font-size: 1.2rem;
    text-align: left;
}

@media (max-width: 768px) {
    .input-area {
        margin: 20px 5px;
    }
    .input-area-title {
        padding: 5px;
        text-align: center;
    }
    .input-area-title h3 {
        font-size: 1.2rem;
    }
}

/****************************************************************************************************
 * プルダウン
****************************************************************************************************/
.input-item-pulldown-group {
    max-width: 100%;
    padding-right: 13px;
    padding-left: 13px;
}

.input-item-pulldown {
    margin-bottom: 10px;
    border: 1px solid #CECECE;
    border-radius: 5px;
    width: 100%;
    font-size: 1.6rem;
    padding: 13px 60px 13px 13px;
    background: url(../images/common/icon_pulldown.svg) no-repeat top 50%
        right 40px;
    background-size: 18px 10px;
}

select {
    -webkit-appearance: none;
}

@media (max-width: 768px) {
    .input-item-pulldown {
        background: url(../images/common/icon_pulldown.svg) no-repeat top 50%
            right 10px;
        background-size: 18px 10px;
    }
}

/****************************************************************************************************
 * 情報ブロック
****************************************************************************************************/
.info-block-background {
    background: rgba(0, 0, 0, 0.05);
    padding: 30px 0 30px 0 !important;
    margin-top: 30px;
    margin-bottom: 0 !important;
}

.article .info-block-title {
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .article .info-block-title {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }
}

.info-block-title-area {
    padding: 15px 20px;
    position: relative;
    text-align: left;
}

.info-block-title-area span {
    font-size: 1.8rem;
    font-weight: bold;
}

.info-block-title-area .info-block-title-area-btn {
    display: inline-block;
    background: #e5004f;
    color: #fff !important;
    text-decoration: none;
    padding: 5px 30px;
    border-radius: 5px;
    max-width: 100px;
    float: right;
    margin: -4px 0 0;
}

.info-block-footer {
    border-top: 1px solid #CECECE;
    padding: 20px;
}

.info-block-footer p {
    text-align: left;
    font-size: 1.4rem;
}

@media (max-width: 768px) {
    .info-block-title-area .info-block-title-area-btn {
        font-size: 1.3rem;
        padding: 5px 20px;
        font-weight: unset;
        line-height: 2.0;
        max-width: 85px;
        margin: -7px 0 0;
    }
    .info-block-title-area span {
        font-size: 1.5rem;
    }
    .info-block-footer p {
        font-size: 1.3rem;
    }
    .form-check>.form-check-label {
        font-size: 1.6rem !important;
    }
    .info-block-background.none-top-margin {
        margin-top: 0px;
    }
}

/****************************************************************************************************
 * 必須マック
****************************************************************************************************/
.badge-danger {
    background: #FF0000;
    color: #fff;
    display: inline-block;
    font-size: 1.3rem;
    padding: 1px 10px;
    margin-left: 10px;
    line-height: 2;
    border-radius: 0;
}
@media (max-width: 768px) {
    .badge-danger {
        font-size: 1.1rem;
    }
}
/****************************************************************************************************
 * 確認エリア
****************************************************************************************************/
.confirm-area {
    border-top: 1px solid #CECECE;
    border-bottom: 1px solid #CECECE;
    background: #fff;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
}

.confirm-area.bdbn {
    border-bottom: none;
}

.confirm-area-title {
    padding: 10px 20px;
    position: relative;
    background: #FFFAE6;
    text-align: center;
}

.confirm-area-title h3 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 0px;
}

.confirm-area-content {
    padding: 20px;
}

.confirm-area-content-inner {
    max-width: 644px;
    margin: 0 auto;
    text-align: center;
}

.confirm-area-content-inner span {
    font-size: 1.6rem;
}

@media (max-width: 768px) {
    .confirm-area-title {
        padding: 5px;
        text-align: center;
    }
    .confirm-area-title h3 {
        font-size: 1.4rem;
    }
}
/****************************************************************************************************
 * チェックボックスエリア
****************************************************************************************************/
.checkbox-area {
    background-color: rgba(0, 0, 0, 0.05);
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
}

.checkbox-area .form-check .form-check-label {
    font-weight: normal;
    border: 0px;
    color: #000;
}

.checkbox-area .form-check {
    padding: 10px;
}

.checkbox-area .form-check-input:disabled+.form-check-label::before {
    border: 0px;
}
@media (max-width: 768px) {
    .checkbox-area .form-check {
        padding: 0px;
    }
}

/****************************************************************************************************
 * 検索条件エリア
****************************************************************************************************/
.search-condition-block-title {
    background: #E5004F;
    color: #fff;
    text-align: center;
    border-radius: 10px 10px 0 0;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px;
}

.search-condition-title-background {
    max-width: 768px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.search-condition-title-background::before {
    content: '';
    display: inline-block;
    background: url(../images/common/icon_search.svg) no-repeat;
    width: 15px;
    height: 15px;
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
}

.search-condition-block-border {
    border: 1px solid #CECECE;
    border-top: none;
    border-radius: 0 0 10px 10px;
    margin: 0px;
    width: 100%;
}

.search-condition-block-contents-area {
    max-width: 768px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

.search-condition-block-contents-area-inner {
    background-color: #FFFFFF;
    padding: 0px;
    width: 100%;
    display: block;
    flex: 0 0 100%;
    max-width: 100%;
    border-top: none;
    border-radius: 0 0 10px 10px;
    padding-top: 30px;
}

.search-condition-item-group {
    margin: 0;
    padding: 0 1em 1em 1em;
    border-radius: 10px;
    display: block;
}

.search-condition-item-group-title {
    font-weight: bold;
    font-size: 1.3rem !important;
}

.search-condition-block-footer {
    border-top: 1px solid #CECECE;
    padding-top: 20px;
}

.footer .search-condition-block-btn-primary {
    background: #E5004F;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
    width: 280px;
    padding: 10px;
    border-radius: 5px;
    min-width: 280px;
    margin: 10px 10px 25px 10px;
    color: #fff !important;
}
.footer .search-condition-block-btn-primary:not(:disabled):not(.disabled):active {
    background: #E5004F;
    border-color: #E5004F;
    color: #fff;
}
.footer .search-condition-block-btn-secondary {
    background: #ededed;
    border-radius: 5px;
    text-align: center;
    font-size: 1.6rem;
    width: 100px;
    padding: 10px;
    min-width: 100px;
    margin: 10px 10px 25px 10px;
    font-weight: normal;
}
.footer .search-condition-block-btn-secondary:not(:disabled):not(.disabled):active {
    background: #ededed;
    border-color: #ededed;
    color: #000;
}

.form-group .col-form-label:first-child {
    max-width: 100%;
    padding: 13px 60px 13px 13px;
}

.search-condition-block-input-group {
    max-width: 100%;
    padding-right: 13px;
    padding-left: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-condition-block-input-text {
    border: 1px solid #CECECE;
    border-radius: 5px;
    width: 100%;
    font-size: 1.6rem;
    padding: 13px 60px 13px 13px;
}

@media (max-width: 768px) {
    .search-condition-title-background {
        max-width: 95%;
        font-size: 1.2rem;
        padding: 5px;
    }
    .search-condition-block-contents-area {
        max-width: 95%;
    }
    .search-condition-block-contents-area-inner {
        padding-top: 0px;
    }
    .search-condition-item-group {
        padding: 0 0 1em 0;
    }
    .search-condition-block-footer {
        flex-flow: row-reverse wrap;
        padding-top: 5px;
    }
    .footer .search-condition-block-btn-primary {
        line-height: 1.5;
        height: 44px;
        width: 50%;
        min-width: unset;
        font-size: 1.3rem;
    }
    .footer .search-condition-block-btn-secondary {
        font-size: 1.3rem;
    }
    .form-group .col-form-label:first-child {
        font-weight: bold;
        font-size: 1.2rem !important;
        margin-bottom: 5px;
        padding: 13px 60px 0px 13px;
    }
}

/****************************************************************************************************
 * 検索結果エリア
****************************************************************************************************/
.search-result-block-contents-area {
    max-width: 768px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

.search-result-area {
    background: rgba(0, 0, 0, 0.05);
    padding: 50px 0px 0px 0px;
}

.search-result-area-title {
    margin-bottom: 5px !important;
}

.search-result-area-subtitle {
    text-align: center;
}

@media (max-width: 768px) {
    .search-result-block-contents-area {
        max-width: 95%;
    }
    .search-result-area-subtitle {
        font-size: 1.3rem;
    }
    .search-result-area-title {
        font-size: 1.5rem !important;
    }
}

.search-result-content {
    flex: 0 0 100%;
    max-width: 100%;
    background: none;
    padding: 10px 0px;
}

.search-condition-change-message {
    text-align: center;
}
/****************************************************************************************************
 * 入力画面確認事項エリア
****************************************************************************************************/
.alert-info-area {
    border: 1px solid #ff0000;
    background: #fff;
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
}

.alert-info-area-title {
    padding: 10px 20px;
    position: relative;
    background: #ff0000;
    text-align: center;
}

.alert-info-area-title h3:before {
    content: "";
    background: url(../images/common/icon_info06.svg) no-repeat;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-position: left;
    vertical-align: middle;
    margin-right: 10px;
}

.alert-info-area-title h3 {
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0px;
    display: inline-flex;
    line-height: normal;
}

.alert-info-area-content {
    padding: 10px;
}

.alert-info-area-content-inner {
    font-weight: bold;
    text-align: left;
    font-size: 1.4rem;
}

@media (max-width: 768px) {
    .alert-info-area-title {
        padding: 5px;
        text-align: center;
    }
    .alert-info-area-content-inner {
        font-size: 1.4rem;
    }
    .alert-info-area {
        margin-left: 5px;
        margin-right: 5px;
    }
}
/****************************************************************************************************
 * 決済サービス情報表示
****************************************************************************************************/
.pay-service-info-contents {
    max-width: 768px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .pay-service-info-contents {
        max-width: 95%;
    }
}

.pay-service-info-area {
    padding: 2px 16px 1px 16px !important;
    border: 1px;
    border-color: #bfbfbf;
    border-style: solid;
    border-radius: 10px;
    background-color: #fff !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.pay-service-info-contents tr th, .pay-service-info-contents tr td {
    text-align: left;
}

/****************************************************************************************************
 * 決済サービス情報入力
****************************************************************************************************/
.info-section-inner {
    max-width: 768px;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .info-section-inner {
        max-width: 95%;
    }
}
.info-section-inner div.form-group {
    display: block;
}
.info-section-inner .col-form-label,
.info-section-inner .col-form-value {
    display: block;
    width: 100%;
    max-width: none;
}
.info-section-inner .form-control {
    width: 100%;
}
.info-section-inner input.type-string-jp{
    font-size: 1.6rem;
    padding: 13px;
}
.info-section-inner .form-control{
    border: 1px solid #CECECE;
}
.info-section-inner .col-form-label  {
    background: #fffae6;
    text-align: center;
    font-weight: bold;
    font-size: 1.6rem;
}
.info-section-inner .col-form-value {
    background: #fff;
    text-align: center;
    padding: 20px;
}
.info-section-inner .form-group .col-form-label {
    padding: 10px !important;
}
.info-section-inner .form-group:first-of-type {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #CECECE;
    border-bottom: 0;
}
.info-section-inner .form-group:first-of-type > label {

    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.info-section-inner .form-group {
    border: 2px solid #CECECE;
    border-bottom: 0;
}
.info-section-inner .form-group:last-of-type {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border: 2px solid #CECECE;
}
.info-section-inner .form-group:last-of-type > div.col-form-value {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.info-section-inner .form-group {
    margin-bottom: 0;
}
.info-section-inner .btn {
    padding: 10px;
}
.info-section-inner:first-of-type {
    margin-bottom: 25px;
}
@media (max-width: 768px) {
    .info-section-inner:first-of-type {
        margin-bottom: 10px;
    }
}
.info-section-inner .form-group .col-form-value span {
    font-size: 1.6rem;
}
@media (max-width: 768px) {
    .info-section-inner .form-group .col-form-label:first-child {
        margin-bottom: 0;
   }
}
@media (min-width: 769px) {
    .info-section-inner input.type-string-jp[maxlength="10"] {
        max-width: 580px !important;
    }
    .info-section-inner input.type-string-jp {
        max-width: 580px;
        width: 100%;
    }
}

/****************************************************************************************************
 * 利用者カード登録状況
****************************************************************************************************/
.reg-info-block {
    border: 1px solid #CECECE;
    border-radius: 10px;
    background: #fff;
    max-width: 768px;
    margin: 0 auto 20px;
}
.reg-info-block-title {
    background: #e5e5e5;
    padding: 10px 15px;
    font-size: 1.4rem;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    text-align: center;
}

/****************************************************************************************************
 * IEレイアウト対策
****************************************************************************************************/
.ie-layout-fix-footer {
    justify-content: flex-start;
}