@charset 'UTF-8';
/*
*
*/

* { box-sizing: border-box ;}

body , td , th {
    font-size: 14px;
}
button { background: none;}
input[type="button"]{ max-width:100%;  white-space: normal; margin-top: 10px;}

/*************************************************
*** 既存のスタイルを上書き
**************************************************/
body {
    width: 100% !important;
    min-width: 100% !important;
    background: none;
}
body.navi_off#color01 { background-image: none;}
body.navi_on#color01 { background-image: none;}
html:\66irst-child body {
    font-size: 14px;
}
.demo_dock { z-index: 900; background-color: #fff !important; color: blue !important; }
.centering { width: 100%; }
#main div.hspace20:last-child { display: none;}

input[disabled] { background-color: #efefef !important;}
input.xl , textarea.xl{ width: 100%; }
input.l { width: 100%; max-width: 400px;}
input.m { width: 100%; max-width: 250px;}
table p { margin: 0; min-height:1rem; }
select { padding: 5px 0;}

.money {
    text-align: right;
}
.hide { display: none;}
.nowrap {white-space:nowrap;}

.ui-datepicker-buttonpane button[data-handler="today"] { display: none; }
.ui-datepicker .ui-datepicker-title select { float: none !important; margin-right:5px; }
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { width:60px;}
.ui-datepicker .ui-datepicker-title select.ui-datepicker-month { width:60px;}

/*外部リンク*/
a.website{
    text-decoration: underline!important;
    color: #003473;
}
a.website::after {
    content: "";
    width: 16px;
    height: 16px;
    display: inline-block;
    background-color: #003473;
    mask-image: url('../img/mark_website.svg');
    mask-repeat: no-repeat;
    mask-position: right center;
    mask-size:cover;
}
a.website:hover {
    color: #f96233;
}
a.website:hover::after {
    background-color: #f96233;
}



#message {
    width: 90% !important;
    max-width: 800px;
    margin: 30px auto;
    background: #fff;
    min-height: calc(100vh - 300px);
}

#wrapper { padding-top: 0 !important; }
#main {
    float: unset;
    display: block;
    width: 100% !important;
    /*max-width: 1000px !important;*/
    margin: 0 auto;
    background-color: #ffffff;
}



#header  {
    width: 100% !important;
    height: auto;
    min-height: 70px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}
.page_anchor{
    padding-top: 80px;
    margin-top: -80px;
}

#container {
    width: 100% !important;
    background-image: none;
    /*background-color: #F7F7F7;*/
}

#inner  {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
}

#inner #wrapper #title { display: none;}
#inner #aside { display: none;}

.navi_off #inner { padding-top: 80px;}
.navi_on #inner  { padding-top: 80px;}

#footer {
    width: 100% !important;
    padding: 20px 0;
    background-color: #003473;
    color: #fff;
    height: auto !important;
}
.navi_off #footer {
    height: auto;
}
#footer .f_wrapper {
    text-align: center;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
#footer .footer_left {
    text-align: left;
    margin-bottom: 20px;
}
#footer .footer_left a.footer_link{
    border: solid 1px #ffffff;
    border-radius: 15px;
    padding: 0 15px;
    margin-right: 10px;
    color: #ffffff;
    text-decoration: none;
}
#footer .footer_left a.footer_link:last-child{
    margin-right: 0;
}
#footer .footer_left a.footer_link:hover{
    color: #003473;
    background-color: #fff;
}

#footer .footer_right {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
    order: 2;
}
#footer .footer_logo_area {
    display: flex;
}
#footer .foolter_logo_name {
    font-size: 16px;
    text-align: right;
}
#footer .foolter_logo_name span{
    font-size: 14px;
}
#footer .foolter_logo_name font{
    font-size: 24px;
}

#footer .foolter_logo_mark {
    border:solid 1px #ffffff;
    border-radius: 5px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
}
#footer .copyright {
    text-align: center;
    font-size: 14px;
}

@media (max-width: 767px) { /*mobile*/
    #footer .f_wrapper { display: block; }
}

/*************************************************
*** ナビメニュー
**************************************************/
.navbar {
    display: flex;
    align-items: center;
}
.collapse {
    display: flex;
    margin-left: auto;
}
.navbar-nav {
    display: flex;
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
}
.ms-auto {
    margin-left: auto;
}
.navbar-toggler { /*レスポンシブのボタン*/
    border: solid 1px #003473;
    border-radius: 5px;
    padding: 5px;
}
.navbar-toggler-icon {
    width: 20px;
    height: 20px;
    display: block;
    background-image: url("../img/btn_menu1.svg");
}
.navbar-toggler.btnClose { /*閉じるボタン*/
    border: none;
}
.btnClose .navbar-toggler-icon {
    background-image: url("../img/btn_close.svg");
}

.sub-item-menu{
    padding-inline-start: 25px;
    list-style: none;
}
.navbar-nav .nav-item .btn_collapse { float: right; margin-right: 10px;}
.navbar-nav .nav-item .btn_expand {  float: right; margin-right: 10px;}
.navbar-nav .nav-item.active .btn_expand {  display: none;}
.navbar-nav .nav-item:not(.active) .btn_collapse { display: none; float: right;}
.navbar-nav .nav-item:not(.active) .sub-item-menu:not(.active) {  display: none;}
.navbar-nav .nav-item .nav-item-text { padding-left: 30px; }

/* ロゴ */
#header .navbar-brand { display: flex; align-items: flex-end;}
@media (max-width: 770px) { /*mobile*/
    #header .navbar-brand { flex-wrap: wrap;}
}

#header .navbar-brand img { max-width: 500px; width:100%; }
#header .navbar-brand span {
    border: solid 1px #003473;
    border-radius: 5px;
    color:#003473;
    font-size: 16px;
    font-weight: bold;
    padding: 0 10px;
    margin-left: 10px;
    margin-bottom: 5px;
}
#header a.navbar-brand {
    text-decoration: none;
}

/* ログインページ、ユーザ登録画面でのナビメニュー */
#navbarNav .nav-link {
    text-decoration: none;
}
#navbarNav a.nav-link:hover {
    opacity: 0.5;
}
#navbarNav .nav-link {
    padding: 0 20px 0 40px;
    /*background-repeat: no-repeat;
    background-position: left 10px center;*/
    color: #4d4d4d;
    border-right: solid 2px #4d4d4d;
    font-size: 14px;
    font-weight: normal;
    position: relative;
}
#navbarNav .active .nav-link {
    color: #003473;
}
#navbarNav .nav-item:last-child .nav-link {
    border-right: none;
    padding-right: 0;
}
#navbarNav .menu1::before,#navbarNav .menu2::before,#navbarNav .menu3::before {
    display: block;
    content: "";
    width: 25px;
    height: 25px;
    position: absolute;
    top: -2px;
    left: 10px;
    background-color: #4d4d4d;
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size:cover;
}
#navbarNav .menu1::before {
    /*background-image: url('../img/btn_login_bk.png');*/
    mask-image: url('../img/btn_login.svg');
}
#navbarNav .active .menu1::before {
    /*background-image: url('../img/btn_login_bl.png');*/
    background-color: #003473;
    mask-image: url('../img/btn_login.svg');
}
#navbarNav .menu2::before {
    /*background-image: url('../img/btn_step_bk.png');*/
    mask-image: url('../img/btn_step.svg');
}
#navbarNav .active .menu2::before {
    /*background-image: url('../img/btn_step_bl.png');*/
    background-color: #003473;
    mask-image: url('../img/btn_step.svg');
}
#navbarNav .menu3::before {
    /*background-image: url('../img/btn_return_bk.png');*/
    mask-image: url('../img/btn_return.svg');
}

/* header での名前表示*/
#header .member_name {
    text-align:right;
    color: #000;
}

/* pc */
@media (min-width: 1051px) {
    #header .navbarNav-toggler { display:  none;}
    #main { padding: 0px 50px!important; }
    #header  { padding: 10px 50px; }
}
/* mobile */
@media (max-width: 1050px) {
    #main { padding: 0 20px!important; }
    #header  { padding: 15px 5px; }
    #header .navbarNav-toggler { z-index: 960;}
    #navbarNav.navbar-collapse {display: none;}
    #navbarNav.navbar-collapse.show {
        display:block;
        position: fixed;
        top: 0;
        right: 0;
        padding-top: 80px;
        height: 100vh; /*calc(100vh - 30px);*/
        overflow-y: auto;
        z-index: 950;
        background: #f7f7f7;
    }
    #header .navbarNav-expand {
        justify-content: space-between;
    }
    #navbarNav.navbar-collapse .navbar-nav {
        display: block;
    }
    #navbarNav .nav-item {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}


/* マイページでのナビメニュー */
#navbarMypage .nav-item {
    padding: 0 10px;
}
#navbarMypage .nav-item:last-child {
    padding-right: 0;
}
#navbarMypage .nav-link {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 40px;
    margin: 10px 0;
    position: relative;
}
#navbarMypage .nav-link::before {
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    background-color: #003473;
    mask-repeat: no-repeat;
    mask-position: left center;
    position: absolute;
    top: 0;
    left: 0;
}

#navbarMypage .nav-link:hover {
    opacity: 0.5;
}
#navbarMypage .nav-link.menu11::before {
    mask-image: url('../img/nav_chat.svg');
}
#navbarMypage .nav-link.menu12::before {
    mask-image: url('../img/nav_mypage.svg');
}
#navbarMypage .nav-link.menu13::before {
    mask-image: url('../img/nav_logout.svg');
}
@media (max-width: 400px) { /*狭い場合*/
    #navbarMypage .nav-item {
        padding: 0 3px;
    }
}

/*************************************************
*** メイン
**************************************************/
#AOFmain {
    background-color: #ffffff;
    min-height: calc(100vh - 286px);
}
.AOFmain_wrapper {
    padding: 20px 0 20px 50px;
}

/*************************************************
*** サイドバー
**************************************************/
#AOFsidebar {
    background: #ebebeb;
    padding: 30px 0px 0px 0px;
}
#AOFsidebar ul.menu {
    padding-inline-start: 3rem;
    margin-top: 1rem;
}
#AOFsidebar ul.menu li{
    list-style-type: none;
    position: relative;
    padding-left: 1rem;
    font-weight: bold;
}
#AOFsidebar ul.menu li:before {
    border-radius: 50%; /*丸くする*/
    width: 5px; /*点の幅*/
    height: 5px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.6em; /*点の位置*/
    content: "";
    background: #003473; /*点の色*/
}
#AOFsidebar .msg {
    color: #666666;
}

/*  サイドバーのナビメニュー */
#AOFsidebar .navbar-nav {
    flex-flow: column;
    padding-inline-start: 0;
    margin-left: 0;
    width: 100%;
}
#AOFsidebar .nav-link {
    display: block;
    padding: 7px 0px 7px 55px;
    color: #4d4d4d;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
    position: relative;
    text-align: left;
}
#AOFsidebar .nav-link::before{
    content: "";
    background-color: #003473;
    mask-repeat: no-repeat;
    mask-position: center center;
    display: inline-block;
    width: 26px;
    height: 26px;
    position: absolute;
    top: 3px;
    left: 30px;
}
#AOFsidebar .active .nav-link {
    color: #003473;
}
#AOFsidebar .nav-link:hover {
    font-weight: bold;
    color: #666666;
}
#AOFsidebar .sub-item-menu .nav-link {
    padding-top: 5px;
    padding-bottom: 5px;
    color: #4d4d4d;
}
/**
#AOFsidebar .menu0 {
    background-image: url('../img/btn_home_wh.png');
}
*/
#AOFsidebar .nav-link.menu0::before {
    mask-image: url('../img/btn_home.svg');
}
#AOFsidebar .nav-link.menu1::before {
    mask-image: url('../img/btn_dot.svg');
}
#AOFsidebar .nav-link.menu2::before {
    mask-image: url('../img/btn_app.svg');
}
#AOFsidebar .nav-link.menu3::before {
    mask-image: url('../img/btn_history.svg');
}
#AOFsidebar .nav-link.menu4::before {
    mask-image: url('../img/btn_mypage.svg');
}
#AOFsidebar .nav-link.menu5::before {
    mask-image: url('../img/btn_step.svg');
}
#AOFsidebar .nav-link.menu6::before {
    mask-image: url('../img/btn_qa.svg');
}
#AOFsidebar .nav-link.menu7::before {
    mask-image: url('../img/btn_mail.svg');
}
#AOFsidebar .nav-link.menu8::before {
    mask-image: url('../img/btn_regist.svg');
}
#AOFsidebar .linkHome {
    display: block;
    padding: 15px 0px 15px 55px;
    background-repeat: no-repeat;
    background-position: left 25px center;
    background-color: #003473;
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
}
/* pc */
@media (min-width: 1140px) {
    #main.AOFroot {
        display: flex;
        width: 100% !important;
    }
    #AOFsidebar {
        flex-basis: 25%;
        max-width: 350px;
    }
    #AOFmain {
        flex-basis: 75%;
        min-width: 800px;
        padding-bottom: 50px;
    }
    #AOFmain.user_form_page {
        flex-basis: 100%;
    }
    #AOFsidebar .side_sticky {
        position: sticky;
        top: 20px;
    }
    #AOFsidebar .msg {
        padding: 0 10%;
    }

    #header .navbarSide-toggler { display:  none;}
    #AOFsidebar .navbar-toggler { display:  none;}

    #AOFmain .AOFmain_message { padding-top: 150px; padding-bottom: 150px; }
}

#AOFmain .AOFmain_message p { text-align: center;}

/* mobile サイドバーを非表示にして、ハンバーガーメニューを表示 */
@media (max-width: 1139px) {
    #AOFmain {
        padding-left: 0px;
        padding-right: 0px;
    }
    .AOFmain_wrapper {
        padding-left: 0px;
        padding-right: 0px;
    }
    #AOFsidebar {
        padding-top: 0;
    }
    #AOFsidebar .msg {
        padding: 10px 30px;
    }
    #consent_doc_wrapper {
        padding-left: 0;
        padding-right: 0;
    }
    #header .navbarSide-toggler { z-index: 960; margin-right:15px; }
    #AOFsidebar .navbar-toggler { display: none;}
    #AOFsidebar .navbar-toggler.btnClose {
        z-index: 960;
        margin-right:15px;
        display: inline-block;
        position: absolute;
        top: 45px;
        left: 15px;
    }
    #AOFsidebar .navbar-collapse {display: none;}
    #AOFsidebar .navbar-collapse.show {
        display:block;
        position: fixed;
        top: 0;
        left: 0;
        padding-top: 80px;
        height: 100vh;  /*calc(100vh - 30px);*/
        overflow-y: auto;
        z-index: 1050;
        background: #f7f7f7;
        padding-left: 0px;
        padding-right: 0pxx;
    }
    #AOFsidebar .navbar-expand-md { justify-content: space-between;  }
    #AOFsidebar .navbar-collapse .navbar-nav { display: block;  }
    #AOFsidebar .nav-item {
        padding-top: 5px;
        padding-bottom: 5px;
    }
    #AOFsidebar .nav-link {
        padding-right: 10px;
    }
}
/* mobile テーブルの見出しを左から100%に変更 */
@media (min-width: 768px) { /* pc */
    #AOFmain table th { width: 220px;}
    #AOFmain table th.w2 { width: 310px;}
}
@media (max-width: 767px) { /*mobile*/
    #AOFmain table:not(.rep_up_tbl):not(.culture_yosan_table)  {
        width: 100%;
    }
    #AOFmain table:not(.rep_up_tbl):not(.culture_yosan_table) td , #AOFmain table:not(.rep_up_tbl):not(.culture_yosan_table) th {
        display: block;
        width: 100% !important;
    }
    #AOFmain table th { padding-bottom: 5px; }
    #AOFmain table td { padding-top: 5px; }
}


/* バッジ chatの未読数表示 */
#menuChat {
    position: relative;
}
#menuChat::after{
    color: #fff;
    background-color: #000;
    position: absolute;
    top: -5px;
    right: -5px;
    border-radius: 10px;
    width: 20px;
    height: 20px;
    font-size: 12px;
}


.form_title {
    border-bottom: solid 1px #003473;
    padding-left: 50px;
}
@media (max-width: 767px) { /*mobile*/
    .form_title {
        padding-left: 10px;
    }
}

.form_title span {
    display: inline-block;
    color: #003473;
    padding: 5px 20px;
    font-weight: bold;
    font-size: 18px;
    border: solid 1px #003473;
    border-bottom: none;
    border-radius: 5px 5px 0 0;
    width: 100%;
    max-width: 300px;
}

.table_title {
    color: #ffffff;
    background-color: #003473;
    border-left: solid 10px #aaaaaa;
    font-weight: bold;
    font-size: 18px;
    padding: 5px 10px;
}
.table_title .caution{
    color: #ffff00;
}

#AOFmain table.form {
    width: 100%;
    border: none;
    margin-top: 0;
    margin-bottom: 0;
}
#AOFmain table.form caption{
    background-color: #fff;
    text-align: left;
    padding: 5px 0 0 0;
    border-bottom: solid 1px #4d4d4d;
    border-radius: 0 0 0 3px;
}
#AOFmain table.form caption span{
    background-color: #4d4d4d;
    border-radius: 3px;
    color: #fff;
    padding: 0 10px;
}

#AOFmain table.form td {
    border-top: none;
    padding: 10px 5px;
    position: relative;
}
#AOFmain table.form td.tdmsg {
    padding-bottom: 5px;
}
#AOFmain table.form td.td_address {
    padding:0px;
}
#AOFmain table.form td.td_address table.normal th{
    min-width:175px;
}
#AOFmain table.form tr.upper_line td {
    border-top: solid 3px #ccc;
}
#AOFmain table.form th {
    border-top: none;
    color: #003473;
    background-color: #f7f7f7;
    font-weight: bold;
    padding: 10px;
    vertical-align: top;
}
#AOFmain table.form th .noReq {
    color: #808080;
}
#AOFmain.page02_form, #AOFmain.page03_edit { padding-top:0; padding-left: 0;}
#AOFmain.page02_form table.form th, #AOFmain.page03_edit table.form th { vertical-align:  top;}

#AOFmain table.form td.noline {
    border-bottom: none !important;
    padding-bottom: 0px !important
}

#AOFmain table.form td p {
    margin: 5px 0;
}

#AOFmain table.form td p.indent1 {
    text-indent: -1em;
}

@media (max-width: 767px) { /*mobile*/
    #AOFmain table.form th { padding-bottom: 5px; border-bottom: none; }
    #AOFmain table.form td { padding-top: 5px; padding-bottom: 5px;}

    #AOFmain.page02_form table.form th, #AOFmain.page03_edit table.form th {
        padding-top: 20px;
    }
    #AOFmain.page02_form table.form td, #AOFmain.page03_edit table.form td {
        padding-top: 0px;
        padding-bottom: 5px;
    }
    #AOFmain.page02_form .additional_file_container table.form th { padding-top: 10px; }
}
#AOFmain.page02_form .additional_file_container table.form  { margin-bottom: 40px;}

#AOFmain table.form td input[type="button"] {
    margin: 0;
}

#AOFmain .blue {
    color: #003473;
}
#AOFmain input[type="text"],#AOFmain input[type="password"],#AOFmain input[type="tel"],#AOFmain input[type="email"] ,#AOFmain select{
    background: #ffffff;
    font-size: 14px;
    padding: 10px 5px;
    border-top: solid 1px #000;
    border-left: solid 1px #000;
    border-right: solid 1px #000;
    border-bottom: solid 2px #003473;
}
#AOFmain input[type="text"].readonly { background-color: #eee; }
#AOFmain input[type="text"].dsp_age {
    width:50px;
    text-align:center;
    border:none;background: inherit;
}
#AOFmain input[type="text"].input_age {
    width:50px;
    text-align:center;
}

#AOFmain .msg {
    color: #666666;
    font-size: 12px;
}

#AOFmain .mail_root {
    display: flex;
}
#AOFmain .mail_root span:first-child{
    flex-basis: 25%;
}
#AOFmain .mail_root span:nth-child(2){
    flex-basis: 1rem;
}
#AOFmain .mail_root span:last-child{
    flex-grow: 1;
}

#AOFmain .name_data .sub_root input[type="text"] {
    border-bottom: none;
}

#AOFmain .name_data .sub_root .sub span {
    color:#003473;
    font-weight: bold;
    padding-right: 1rem;
    width: 4rem;
}

#AOFmain .name_data .sub_root {
    display: flex;
}
#AOFmain .name_data .sub_root .sub{
    display: flex;
    align-items: center;
    border-bottom: solid 2px #003473;
}
#AOFmain .name_data .sub_root .sub{
    margin-right: 2rem;
}
#AOFmain .name_data .sub_root .sub:last-child{
    margin-right: 0;
}

#AOFmain .zip_root .zip input {
    border-bottom: none;
}

#AOFmain .zip_root .zip span {
    color:#003473;
    font-weight: bold;
    padding-right: 1rem;
}
#AOFmain .zip_root {
    display: flex;
}
#AOFmain .zip_root .zip{
    display: flex;
    align-items: center;
    border-bottom: solid 2px #003473;
}
#AOFmain .zip_root .zipline{
    display: flex;
    align-items: center;
    margin-left: 1rem;
    margin-right: 1rem;
    color: #003473;
}

.btn_area {
    display: flex;
    justify-content: center;
    padding: 15px 0;
}
.btn_area.btn_right_area {  justify-content: flex-end;}
@media (max-width: 767px) { /*mobile*/
    .btn_area {
        flex-direction: column;
        align-items: center;
    }
}

.btn_area .btn {
    background-repeat: no-repeat;
    background-position: left 15px center;
    color: #fff;
    display: inline-block;
    border-radius: 20px;
    text-align: center;
    width: 300px;
    padding: 10px 0;
    text-decoration: none;
    margin: 10px;
    border: none;
}
.btn_area .btn:hover {
    opacity: 0.5;
}
#btn_commit {
    background-color: #003473;
    background-image: url('../img/btn_commit_wh.png');
}
#btn_regist {
    background-color: #003473;
    background-image: url('../img/btn_login_wh.png');
}
#btn_user_regist {
    background-color: #003473;
    background-image: url('../img/btn_login_wh.png');
    width: 400px;
}
@media (max-width: 500px) { /*mobile*/
    #btn_user_regist {
        width: 100%;
        max-width: 400px;
        background-image: none;
    }
}
#btn_back {
    background-color: #4d4d4d;
    background-image: url('../img/btn_back_wh.png');
}

#btn_close {
    background-color: #666666;
    background-image: none;
}

#btn_save {
    background-color: #4d4d4d;
    background-image: url('../img/btn_save_wh.png');
}

#btn_modify {
    background-color: #8f576c;
    background-image: url('../img/btn_login_wh.png');
}

#btn_cancel {
    background-color: #ff0000;
    background-image: url('../img/btn_cancel_wh.png');
}

#btnProgs1 {
    background-color: #007dff;
    background-image: url('../img/btn_login_wh.png');
}
#btnProgs2 {
    background-color: #7bb200;
    background-image: url('../img/btn_login_wh.png');
}
#btnProgs3 {
    background-color: #ff6600;
    background-image: url('../img/btn_login_wh.png');
}
#btnProgs4 {
    background-color: #ff0099;
    background-image: url('../img/btn_login_wh.png');
}

.progs_window_page .progs_window_title {
    font-size: 18px;
    font-weight: bold;
    color: #003473;
    text-align: center;
    padding: 30px 0 10px;
}
.progs_window_page .progs_window_caution {
    text-align: center;
    color: #c00000;
    font-weight: bold;
}

#consent_doc {
    width: 100%;
    overflow-x: auto;
}
#consent_doc_wrapper {
    padding: 20px;
}


.timeout_comment {
    background-color: #003473;
    color: #fff;
}
.timeout_comment .AOFmain_wrapper{
    display: flex;
    align-items: center;
}
.timeout_comment .text{
    text-align: left;
    flex-grow: 1;
}
.timeout_comment .mark{
    padding: 0 10px;
}

.program_header .program_name {
    color: #003473;
    font-size: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.program_header .program_name span{
    font-size: 28px;
    font-weight: bold;
    margin-right: 30px;
}
.program_header .program_period {
    border: solid 2px #003473;
    border-radius: 20px;
    font-size: 12px;
    display: flex;
    padding-right: 20px;
    max-width: 435px;
}
.program_header .program_period span{
    padding: 5px 20px;
    background: #003473;
    color: #fff;
    border: solid 2px #003473;
    border-radius: 20px 0 0 20px;
    font-weight: bold;
    font-size: 12px;
    margin-right: 20px;
    width: 135px;
}
.program_header .program_description {
    padding: 5px 10px;
}

/* 狭い場合 */
@media (min-width: 400px) { /* 日付が２行になる場合 */
    .program_header .program_period { align-items: center;}
}


/* 編集可能な場合のみ表示 */
.dis_btn .editable_only { display: none;}

/*メールアドレス変更などシステムの機能を使う場合*/
#main.singlePane {
    background-color: #fff;
    padding: 30px 50px !important;
}
#main.singlePane table{
    width: 100% !important;
}
#main.singlePane table td{
    padding: 20px 0;
}
#main.singlePane table td input.l{
    width: 100% !important;
}

#main.singlePane table th{
    border-top: none;
    background-color: #fff;
    color: #003473;
    font-weight: bold;
    padding: 20px 0px;
    vertical-align: top;
}
#main.singlePane #chk_output01 { width: 100% !important;}
#main.singlePane #chgmail03{ display: none;}
#main.singlePane #chgpass03{ display: none;}

@media (min-width: 768px) { /* pc */
    #main.singlePane {
        width: 100% !important;
        max-width: 1000px;
        margin: 0px auto;
    }
    #main.singlePane table th {
        min-width: 160px;
        width: 30%;
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 767px) { /*mobile*/
    #main.singlePane table  {
        width: 100%;
        border: none !important;
    }
    #main.singlePane table td , #main.singlePane table th {
        display: block;
        width: 100% !important;
        border: none !important;
    }
}


/* プログラム一覧 */
#AOFmain table.program_table { width:100%; border: solid 1px #ccc; margin: 0; background: #fff;}
#AOFmain a.enter_program table.program_table:hover { opacity: 0.5;}
#AOFmain table.program_table td {padding: 10px 0 10px 15px; border:none;}
#AOFmain table.program_table span.category {
    display: inline-block;
    padding: 3px 20px;
    border-radius: 20px 0 0 20px;
    border: solid 1px #000;
    color: #000;
    font-size: 14px;
}
#AOFmain table.program_table span.nendo {
    display: inline-block;
    padding: 3px 20px;
    border-radius: 0 20px 20px 0;
    border: solid 1px #000;
    border-left: none;
    color: #000;
    font-size: 14px;
}
#AOFmain table.program_table .program {
    display: inline-block;
    padding: 5px 0 5px 30px;
    background-image: url('../img/mark_upload_bk.png');
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: left;
    text-decoration: none;
    color: #000;
    font-weight: bold;
}
#AOFmain table.program_table td .supp_number {
    color: #000;
    font-size: 14px;
    font-weight: normal;
    white-space: nowrap;
}
#AOFmain table.program_table td .date {
    color: #808080;
    font-size: 14px;
    font-weight: normal;
}
#AOFmain table.program_table td { position: relative; }
#AOFmain table.program_table td.arrow_box {
    width: 70px;
    height: 20px;
    vertical-align:middle;
    text-align: center;
    padding: 0;
}
#AOFmain table.program_table td .arrow {
    display: block;
    width: 26px;
    height: 20px;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    mask-image: url('../img/btn_arrow.svg');
    mask-repeat: no-repeat;
    background-color: #808080;
}
#AOFmain .enter_program {
    display: block;
    text-decoration: none;
}
#AOFmain a.enter_program:hover {
    background-color: #f7f7f7;
}
#AOFmain .empty_category {
    text-align: center;
    padding: 30px 0;
    border: solid 1px #ccc;
}
#AOFmain .enter_program .comment{
    color: #808080;
}

#AOFmain .information_item {
    border-bottom: solid 1px #ccc;
}
#AOFmain table.information_table {
    width:100%;
    border: none;
    margin: 0;
}
#AOFmain table.information_table td {padding: 15px 10px; border:none;}
#AOFmain table.information_table td.category {
    padding-left: 10px;
    text-align: center;
    vertical-align: middle;
    width: 140px;
}
#AOFmain table.information_table td.category span {
    color: #003473;
    border: solid 1px #003473;
    border-radius: 5px;
    padding: 3px 15px;
    position: relative;
}
#AOFmain table.information_table td.category span.new::after {
    content: "";
    background-color: #b3aa2d;
    width: 14px;
    height: 14px;
    border-radius: 7px;
    display: block;
    position: absolute;
    top: -7px;
    left: -7px;
}

#AOFmain table.information_table td.program .red {
    color: #c00000;
}
#AOFmain table.information_table td.program .date {
    font-size: 14px;
    font-weight: normal;
}
#AOFmain table.information_table td.program .btn01 {
    color: #fff;
    background-color: #8f576c;
    border: solid 1px #8f576c;
    border-radius: 15px;
    padding: 0 10px ;
    font-size: 12px;
    font-weight: normal;
}

#AOFmain a.information_program {
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
    font-weight: bold;
    position: relative;
}
#AOFmain a.information_program::before {
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    background-color: #003473;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    mask-image: url('../img/btn_arrow.svg');
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size:cover;
}
#AOFmain a.information_program:hover{
    opacity: 0.5;
}
.information_title {
    color: #003473;
    padding: 5px 10px;
    font-weight: bold;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.information_title:after {
    border-top: solid 1px #003473;
    content: "";
    flex-grow: 1;
    margin-left: 20px;
}

@media (max-width: 767px) { /*mobile*/
    #AOFmain table.information_table td.category {
        padding-left: 10px;
        text-align: left;
    }
    #AOFmain table.information_table td.program a {
        background-position: right center;
    }

}


/* toppage */
#AOFmain.toppage .progtable_root { margin-top: 20px; }
#AOFmain.toppage .information_root { margin-bottom: 20px; }
#AOFmain.toppage .information_root .no_information_title{ padding-left: 10px; }
#AOFmain.toppage .form_title { margin-bottom: 0px; padding-left: 0;}
#AOFmain.toppage .progtable_root table.program_table{
    border-top: none;
}
#AOFmain.toppage .information_root table.information_table{
    border-top: none;
}
#AOFmain .empty_program {
    background: #ffffff;
    padding: 30px;
    border: solid 1px #ccc;
    text-align: center;

}
#AOFmain .progtable_supp .empty_program { color: #003473; }
#AOFmain .progtable_app .empty_program { color: #b3aa2d; }

#AOFmain.toppage .progtable_supp .form_title { border-color: #003473; }
#AOFmain.toppage .progtable_supp .form_title span { border-color: #003473; background-color:#003473; color: #ffffff;}
#AOFmain.toppage .progtable_app .form_title { border-color: #b3aa2d; }
#AOFmain.toppage .progtable_app .form_title span { border-color: #b3aa2d; background-color:#b3aa2d; color: #ffffff;}
#AOFmain.toppage .progtable_save .form_title { border-color: #808080; }
#AOFmain.toppage .progtable_save .form_title span { border-color: #808080; background-color:#808080; color: #ffffff;}

#AOFmain.toppage .progtable_supp table.program_table span.category {
    border-color: #003473;
    color: #003473;
}
#AOFmain.toppage .progtable_supp table.program_table span.nendo {
    border-color: #003473;
    color: #003473;
}
#AOFmain.toppage .progtable_supp table.program_table div.arrow {
    background-color: #003473;
    mask-image: url('../img/topbtn_supp.svg');
    width: 70px;
}
#AOFmain.toppage .progtable_app table.program_table span.category {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.toppage .progtable_app table.program_table span.nendo {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.toppage .progtable_save table.program_table span.category {
    border-color: #4d4d4d;
    color: #4d4d4d;
}
#AOFmain.toppage .progtable_save table.program_table span.nendo {
    border-color: #4d4d4d;
    color: #4d4d4d;
}
#AOFmain.toppage .progtable_save table.program_table div.arrow {
    background-color: #808080;
    mask-image: url('../img/topbtn_restart.svg');
    width: 70px;
}



/* page02 , page03 */
#AOFmain.page02 .form_title { margin-bottom: 0px; padding-left: 0;}
#AOFmain.page02 .form_title { border-color: #b3aa2d; }
#AOFmain.page02 .form_title span { border-color: #b3aa2d; background-color:#b3aa2d; color: #ffffff;}
#AOFmain.page02 table.program_table span.category {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page02 table.program_table span.nendo {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page02 table.program_table div.arrow {
    background-color: #b3aa2d;
}

#AOFmain.page03 .form_title { margin-bottom: 0px; padding-left: 0;}

#AOFmain.page03 .progtable_supp .form_title { border-color: #003473; }
#AOFmain.page03 .progtable_supp .form_title span { border-color: #003473; background-color:#003473; color: #ffffff;}
#AOFmain.page03 .progtable_supp table.program_table span.category {
    border-color: #003473;
    color: #003473;
}
#AOFmain.page03 .progtable_supp table.program_table span.nendo {
    border-color: #003473;
    color: #003473;
}
#AOFmain.page03 .progtable_supp table.program_table div.arrow {
    background-color: #003473;
}
#AOFmain.page03 .progtable_app .form_title { border-color: #b3aa2d; }
#AOFmain.page03 .progtable_app .form_title span { border-color: #b3aa2d; background-color:#b3aa2d; color: #ffffff;}
#AOFmain.page03 .progtable_app table.program_table span.category {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page03 .progtable_app table.program_table span.nendo {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page03 .progtable_app table.program_table div.arrow {
    background-color: #b3aa2d;
}

#AOFmain.page03_edit .progtable_app table.program_table span.category {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page03_edit .progtable_app table.program_table span.nendo {
    border-color: #b3aa2d;
    color: #b3aa2d;
}
#AOFmain.page03 .progtable_app table.program_table div.arrow {
    display: none;
}

/* password 再発行*/
#wrapper.singlePane { /* #mainがない場合 */
    padding-left: 10px;
    padding-right: 10px;
    min-height: calc( 100vh - 242px );
}
#passforget02 { padding-left: 0; margin-right: 0;}
@media (max-width: 767px) { /*mobile*/
    #wrapper.singlePane .singlePaneButton {
        display: block;
        width: 100% !important;
    }
}

#message #modal-content {
    width: calc( 100vw - 30px);
    max-width: 800px;
    top: 100px;
    max-height: calc( 100vh - 120px );
    overflow: auto;
    left: 50%;
    transform:translateX(-50%) ;
}
#modal-content #sec_main {
    width: 100%;
    max-width: 780px;
}
#modal-content .sec_text_area01 {
    width: 100%;
    max-width: 590px;
    padding-left: 5px;
    padding-right: 5px;
}
#modal-content .sec_input_area {
    width: 100%;
    max-width: 720px;
}
#modal-content .sec_input_table {
    width: 100%;
    max-width: 600px;
}
@media (max-width: 767px) { /*mobile*/
    #modal-content #sec_main > img{
        width: 80px;
        height:80px;
    }
    #modal-content .sec_text_area01 {
        padding-top: 10px;
    }
    #modal-content .sec_input_area {
        padding-left: 10px;
        padding-right: 10px;
    }
    #modal-content .sec_input_table th {
        display: block;
    }
    #modal-content .sec_input_table td {
        display: block;
    }
}


#AOFmain.user_form_page .AOFinner {
    padding: 0 50px;
}
@media (max-width: 1139px) { /*mobile*/
    #AOFmain.user_form_page .AOFinner {
        padding: 0 20px;
    }
}

/* user_form*/
#AOFmain.user_form_page .user_form_inner {
    padding: 0 50px;
}
/* mobile */
@media (max-width: 850px) {
    #AOFmain.user_form_page .user_form_inner {
        padding: 0 20px;
    }
}
#AOFmain.user_form_page .page_title_wrapper{
    display: flex;
    align-items: center;
}
#AOFmain.user_form_page .page_icon{
    width: 50px;
    height: 50px;
    margin-right:10px;
    background-color: #003473;
    mask-image: url('../../AOF/img/btn_user_form.svg');
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size:cover;
}
#AOFmain.user_form_page .page_title{
    font-size: 32px;
    line-height: 1.0em;
    color: #003473;
}
#AOFmain.user_form_page .page_title span{
    font-size: 14px;
}

#AOFmain .addr_kokunai table.normal{ width: 100%;}
#AOFmain .addr_kokunai table.normal td ,  #AOFmain .addr_kokunai table.normal th {
    padding: 10px;
}

#AOFmain .addr_kokunai table.normal th {
    color: #003473;
    vertical-align: middle;
    width: 200px;
}

#AOFmain .addr_kokunai .btn_org_search {
    background-color: #003473;
    border: solid 1px #003473;
    border-radius: 5px;
    color: #ffffff;
    padding: 5px 20px;
}

#AOFmain .upload_title_comment {
    margin-bottom: 20px;
}
#AOFmain .upload_title_comment p , #AOFmain .upload_file_comment p{
    margin: 0;
    text-indent: -1em;
    margin-left: 1em;
}
#AOFmain .upload_title_comment p , #AOFmain .upload_file_comment dd{
    margin-inline-start: 0;
}


#AOFmain .upload_comment {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#AOFmain .upload_comment_text {
    color: #003473;
    font-size: 18px;
}
#AOFmain .upload_step{
    border: solid 2px #ccc;
    border-radius: 5px;
    padding: 5px 10px;
}
#AOFmain .form_upload {
    padding: 10px 0;
    margin-bottom: 20px;
}
#AOFmain .additional_file_container .form_upload {
    margin-bottom: 0;
}
#AOFmain .form_upload .upload_title {
    color: #ffffff;
    background-color: #003473;
    border-left: solid 6px #aaa;
    font-size: 18px;
    font-weight: bold;
    padding: 5px 10px;
    margin-bottom: 5px;
}
#AOFmain .form_upload .upload_title .upload_ext{
    color: #ffffff;
}
#AOFmain .form_upload .upload_title .AOFerrmsg {
    font-size: 14px;
}

#AOFmain .form_upload .inputfile_root {
    padding: 5px 0px;
    border-bottom: solid 3px #003473;
    border-radius: 0 0 0 20px;
}
#AOFmain .form_upload .inputfile_label {
    padding: 5px 20px 5px 45px;
    color: #ffffff;
    background: #003473;
    cursor:pointer;
    position: relative;
    border-radius: 20px;
}
#AOFmain .form_upload .inputfile_label::before {
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    background-color: #ffffff;
    position: absolute;
    top: 2px;
    left: 10px;
    mask-image: url('../img/btn_clip.svg');
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size:cover;
}

#AOFmain .form_upload .inputfile_input { display:none; }

#AOFmain .form_upload .upload_line {
    display: flex;
    padding: 15px 0;
    align-items:center;
}
#AOFmain .form_upload .inputfile_root {
    margin-left: 10px;
    flex-grow: 1;
}
@media (max-width: 800px) { /*mobile*/
    #AOFmain .form_upload .upload_line {
        flex-direction: column;
    }
    #AOFmain .form_upload .inputfile_root {
        width: 100%;
        margin-bottom: 10px;
    }
    #AOFmain .form_upload .delete_line {
        flex-direction: column;
    }
}

#AOFmain .form_upload .delete_line {
    display: flex;
    align-items: center;
    border: solid 1px #4d4d4d;
    border-radius: 20px;
    padding-left: 20px;
    background-color: #ffffff;
    margin-bottom: 15px;
}
#AOFmain .form_upload .delete_line a.uploaded_link{
    color: #003473;
    font-weight: bold;
    text-decoration: none;
    padding: 5px 0 5px 30px;
    background-image: url('../img/btn_tri_blue.svg');
    background-repeat: no-repeat;
    background-position: left 10px top 7px;
}
#AOFmain .form_upload .delete_line .btn_delete{
    margin-left: auto;
    border-radius: 0 20px 20px 0;
}
@media (max-width: 800px) { /*mobile*/
    #AOFmain .form_upload .delete_line .btn_delete{
        margin-right: auto;
        border-radius: 20px;
    }
}



#AOFmain .form_upload .btn{
    background-repeat: no-repeat;
    background-position: left 10px center;
    color: #fff;
    display: inline-block;
    border-radius: 20px;
    text-align: center;
    max-width: 200px;
    width: 100%;
    padding: 5px 0;
    text-decoration: none;
    border: none;
}
#AOFmain .form_upload .btn:hover{
    opacity: 0.5;
}

#AOFmain .form_upload a.btn_upload_all {
    background-color: #b3aa2d;
    background-image: url('../img/btn_upload_wh.png');
}
#AOFmain .form_upload a.btn_upload {
    background-color: #003473;
    background-image: url('../img/btn_upload_wh.png');
}
#AOFmain .form_upload a.btn_delete {
    background-color: #4d4d4d;
    background-image: url('../img/btn_delete_wh.png');
}

#AOFmain .form_upload a.btn_template {
    color: #4d4d4d;
    background-color: #ffffff;
    border: solid 1px #4d4d4d;
    background-image: url('../img/btn_download_gray.png');
}

#AOFmain .form_upload span.btn_template {
    display: inline-block;
    width: 300px;
}

#AOFmain .table_upload {
    border: solid 1px #ccc;
    width: 100%;
    display: flex;
}
#AOFmain .table_upload .tbl_header{
    flex-basis: 130px;
}
#AOFmain .table_upload .tbl_body{
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding: 10px 5px;
}
#AOFmain .table_upload .upload_title {
    text-align: center;
    color: #003473;
    background-color: #f7f7f7;
    border: solid 1px #f7f7f7;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#AOFmain .table_upload .yoshiki_link {
    flex-basis: 150px;
    text-align: center;
}
#AOFmain .table_upload .input_file {
    flex-basis: 200px;
    padding: 0 5px;
    flex-grow: 1;
}
#AOFmain .table_upload .upload_link {
    flex-basis: 150px;
    text-align: center;
}
#AOFmain .table_upload .upload_status {
    flex-basis: 60px;
    text-align: center;
}
#AOFmain .table_upload .download_link {
    flex-basis: 40px;
    text-align: center;
}
#AOFmain .table_upload .download_link a{
    display: block;
    height: 30px;
}
#AOFmain .table_upload .download_link img{
    width: 30px;
}
#AOFmain .table_upload .delete_link   {
    flex-basis: 80px;
    text-align: center;
}
#AOFmain .table_upload .delete_link  a {
    display: block;
    height: 30px;
    text-decoration: none;
    color: #666666;
}

#AOFmain .table_upload .delete_link img{
    width: 30px;
}

#AOFmain .table_upload .upload_line{
    display: flex;
    align-items: center;
}
#AOFmain .table_upload .btn{
    display: inline-block;
    width: 100%;
    padding: 5px 0px;
    text-decoration: none;
    border: solid 1px #ccc;
}
#AOFmain .table_upload .btn_template{
    color: #000;
    background-color: #80bddd;
}
#AOFmain .table_upload .btn_upload{
    color: #ffffff;
    background-color: #003473;
    background-image: url("../img/file_upload.png");
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 15px;
}
#AOFmain .table_upload .status_uploaded {
    display: inline-block;
    color: #003473;
    font-weight: bold;
}
#AOFmain .table_upload .status_none {
    display: inline-block;
    color: #c1272d;
    font-weight: bold;
}

@media (max-width: 767px) { /*mobile*/
    #AOFmain .table_upload {
        display: block;
    }
    #AOFmain .table_upload .tbl_body{
        display: block;
    }
    #AOFmain .table_upload .yoshiki_link {
        max-width: 150px;
        margin: 0 auto;
    }
    #AOFmain .table_upload .input_file {
        text-align: center;
        padding: 10px 0px;
    }
    #AOFmain .table_upload .upload_link {
        max-width: 150px;
        margin: 0 auto;
    }
    #AOFmain .table_upload .upload_status {
        margin-top: 10px;
        text-align: center;
    }
    #AOFmain .table_upload .download_link {
        margin: 0px auto;
    }
    #AOFmain .table_upload .delete_link   {
        margin: 10px auto;
    }
}

.active_custom_sidebar {
    padding: 30px 25px;
}
#sidebar_save {
    color: #fff;
    background-color: #4d4d4d;
    background-image: url('../img/btn_save_wh.png');
    background-repeat: no-repeat;
    background-position: left 10px center;
    display: block;
    border: solid 1px #4d4d4d;
    border-radius: 20px;
    text-align: center;
    width: 100%;
    padding: 5px 0;
    text-decoration: none;
    cursor: pointer;
}
#sidebar_save:hover {
    opacity: 0.5;
}
#sidebar_preview {
    color: #ffffff;
    background-color: #c00000;
    background-image: url('../img/btn_view_wh.png');
    background-repeat: no-repeat;
    background-position: left 10px center;
    display: block;
    border: solid 1px #c00000;
    border-radius: 20px;
    text-align: center;
    width: 100%;
    padding: 5px 0;
    text-decoration: none;
    margin: 10px 0;
    cursor: pointer;
}
#sidebar_preview:hover {
    opacity: 0.5;
}

#AOFsidebar .sidebar_msg {
    padding: 0 20px;
    font-size: 12px;
}

@media (max-width: 1139px) { /*mobile*/
    #sidebar_save, #sidebar_preview , #AOFsidebar .sidebar_msg{ max-width: 250px; }
}
@media (max-width: 1230px) { /*PC*/
    #sidebar_preview { background-image: none;}
    #sidebar_save { background-image: none;}
}


/*共同研究者*/
.dsp1 .dspgrp2, .dsp1 .dspgrp3, .dsp1 .dspgrp4, .dsp1 .dspgrp5 { display: none;}
.dsp2 .dspgrp3, .dsp2 .dspgrp4, .dsp2 .dspgrp5 { display: none;}
.dsp3 .dspgrp4, .dsp3 .dspgrp5 { display: none;}
.dsp4 .dspgrp5 { display: none;}

/*さらに行を表示する*/
.addlink  {
    position: relative;
    padding-bottom: 40px;
}
.addlink a {
    position: absolute;
    right: 5px;
    top:0;
    padding: 10px 50px 10px 0;
    display: block;
    text-decoration: none;
    color: #000;
}
.addlink a::after{
    content: "";
    mask-image: url('../img/btn_add.svg');
    mask-repeat: no-repeat;
    background-color: #b3aa2d;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 40px;
    height: 40px;

}

#AOFmain .coworker_table {
    margin-bottom: 20px;
}


#AOFmain .coworker_table .sub_root {
    display: flex;
    align-items: flex-end;
}
#AOFmain .coworker_table .sub_root .sub{
    flex-basis: 50%;
    margin-right: 2rem;
}
#AOFmain .coworker_table .sub_root .sub:last-child{
    margin-right: 0;
}

#AOFmain .coworker_table .sub_root .sub_line{
    display: flex;
    align-items: center;
    border-bottom: solid 2px #003473;
}

#AOFmain .coworker_table .sub_root .sub_data input[type="text"] , #AOFmain .coworker_table .sub_root .sub_data select{
    border-bottom: none;
}

#AOFmain .coworker_table .sub_root .sub_line div.sub_value {
    width: 100%;
}

#AOFmain .coworker_table .sub_root .sub_line span.sub_title {
    color:#003473;
    padding-right: 0;
    font-weight: normal;
    width: 4rem;
    line-break: loose;
    line-height: 14px;
}
#AOFmain .coworker_table .sub_root .sub_line span.sub_data {
    flex-grow: 1;
}
#AOFmain .coworker_table .coworker_birthday {
    width:100px;
    text-align:center;
}
#AOFmain .coworker_table .sub_root .sub_data input.coworker_age[type="text"] {
    width:30px;
    text-align:center;
    border: none;
    background: inherit;
}
#AOFmain .coworker_table .dsp_kiten , #AOFmain .coworker_confirm .dsp_kiten {
    font-size: 10px;
}

@media (max-width: 767px) { /*mobile*/
    #AOFmain .coworker_table .sub_root {
        display: block;
        width: 100% !important;
    }
    #AOFmain .coworker_table .sub_root .sub_line{
        display: block;
        width: 100% !important;
    }
}

#AOFmain .coworker_confirm .sub_root { display: flex; align-items: flex-end;}
#AOFmain .coworker_confirm .sub_root .sub { flex-basis: 50%; padding: 5px 10px;}
#AOFmain .coworker_confirm .sub_root .sub_line {     display: flex;    align-items: center; }
#AOFmain .coworker_confirm .sub_root .sub_line span {  width: 4rem; color: #003473;}
#AOFmain .coworker_confirm .sub_root .sub_line p { word-break: break-all;  margin: 0; flex:1 ;}
#AOFmain .coworker_confirm .sub_root .sub:first-child { padding-right: 10px;}
#AOFmain .coworker_confirm .sub_root .sub:last-child { padding-left: 10px;}
@media (max-width: 767px) { /*mobile*/
    #AOFmain .coworker_confirm .sub_root {
        display: block;
        width: 100% !important;
    }
    #AOFmain .coworker_confirm .sub_root .sub_line{
        display: block;
        width: 100% !important;
    }
    #AOFmain .coworker_table .sub_root .sub_line span.sub_title {
        display: block;
        width: 100% !important;
        padding-top: 10px;
    }
    #AOFmain .coworker_table .sub_root .sub_line span.sub_data select {
        width:100%;
    }

}

/****
* 修正期限表示
*****/
.deadline_comment{
    margin-bottom: 10px;
    padding: 10px 0;
    text-align: center;
    color: white;
    font-size: 120%;
    background-color: red;
}

.page03_kigen{
    color: red;
    text-align:center;
    border:solid 2px red;
    font-size:120%;
    font-weight:bold;
    padding:20px;
    margin:10px auto;
    max-width: 680px;
}

.page03_kigen_title {
    margin:10px auto;
    max-width: 680px;
}

.address_wrapper {
    display: flex;
}
.address_wrapper select{
    margin-right: 10px;
}
.address_wrapper input[type="text"]{
    flex-grow: 1;
}
@media (max-width: 600px) { /*selectとinputが横並びでは狭い時*/
    .address_wrapper {
        flex-wrap: wrap;
    }
    .address_wrapper select{
        max-width: 100%;
    }
    .address_wrapper input[type="text"]{
        margin-top: 10px;
    }
}


/****
* 個人or団体での見出しの切替
*****/
.user_dantai .item_kojin  { display: none; }
.user_kojin  .item_dantai { display: none; }

/** 所属機関住所　任意の表示 */
.syozoku_nini { float: right; font-size: 80%;}

/* 芸術・文化　助成金の種類 */
.culture_type_container {
  display: inline-grid;                 /* 中身の幅にぴったり */
  grid-template-columns: auto max-content; /* 各列はその列の最大幅 */
  column-gap: 5px;                      /* 列の間のすき間（任意） */
}
.culture_type_container .culture_type_item {
  padding: 4px 8px;
  /*white-space: nowrap;*/                  /* 要素内で改行しないなら */
  text-indent: -20px;
  margin-left: 20px;
}

/* 芸術・文化　企画の種類 */
.culture_kikaku_container {
    display: flex;
    flex-wrap: wrap;
}
.culture_kikaku_container .culture_kikaku_item{
    display: inline-flex;
    min-width: 50%;
    align-items: center;
}
@media (max-width: 767px) { /*mobile*/
    .culture_kikaku_container .culture_kikaku_item{
        display: inline-block;
        min-width: 100%;
        width: 100%;
    }
}
@media (min-width: 768px) { /*PC*/
    .culture_kikaku_container .culture_kikaku_item label{
        white-space: nowrap;
    }
}
#AOFmain .culture_kikaku_container .culture_kikaku_item.other_root {
    display: flex;
    align-items: center;
}
#AOFmain .culture_kikaku_container .culture_kikaku_item.other_root .other_input{
    width: auto;
    flex-grow: 1;
    padding: 5px;
}


/* 右端に「確定」のチェックボックスを表示する */
.culture_kakutei_container {
    display: flex;
    align-items: center;
}
.culture_kakutei_container .xl {
    width: auto;
    flex-grow: 1;
    margin-right: 10px;
}
.culture_kakutei_container .culture_kakutei_text {
    display: flex;
    align-items: center;
}
.culture_kakutei_container .culture_kakutei_box {
    display: flex;
    flex-direction: column;
}
/** テキストアリア用　タイトル*/
div.textarea_container  {
    margin: 50px 0 20px;
}
.textarea_container  .textarea_title {
    padding: 10px 20px;
    color: #003473;
    font-weight: bold;
    background-color: #f7f7f7;
    border-top: solid 1px #e2e2e2;
    border-bottom: solid 1px #e2e2e2;
}
.textarea_container .textarea_counter {
    display: flex;
    justify-content: space-between;
}

/*　略歴・実績 */
.culture_ryakureki_container {
    margin: 10px 0 20px;
}
.culture_ryakureki_btn {
    padding: 10px 20px;
    border: solid 1px #cccccc;
    border-radius: 5px;
    cursor: pointer;
}
.culture_ryakureki_title {
    margin-bottom: 10px;
    padding: 10px 20px;
    color: #fff;
    background: #003473;
    font-weight: bold;
    border-top: solid 1px #e2e2e2;
    border-bottom: solid 1px #e2e2e2;
}
.culture_ryakureki_header {
    display: flex;
}
.culture_ryakureki_date {
    width: 80px;
    min-width: 80px;
    margin-right:  10px;
}
.culture_ryakureki_date input{
    text-align: center;
}
.culture_ryakureki_text {
    flex-grow: 1;
}
.culture_ryakureki_box {
    display: flex;
    padding: 5px 0;
}


/* 予算 */
.culture_yosan_container {
    margin: 30px 0;
}
.culture_yosan_title {
    margin-bottom: 10px;
    padding: 10px 20px;
    color: #fff;
    background: #003473;
    font-weight: bold;
    border-top: solid 1px #e2e2e2;
    border-bottom: solid 1px #e2e2e2;
}
#AOFmain table.culture_yosan_table th:first-child{
    width: 30%;
}
#AOFmain table.culture_yosan_table th:nth-child(2){
    width: 95px;
}
#AOFmain table.culture_yosan_table th:last-child{
    width: auto;
}
#AOFmain table.culture_yosan_table td input.money{
    width: 50px !important;
}
#AOFmain table.culture_yosan_table td span.money{
    width: 50px !important;
    display: inline-block;
}

/** 高さ　自動調整*/
textarea.autoHeight { overflow: hidden; }

/** placeholder */
#AOFmain .blank_gray:placeholder-shown {
    background: #ccc;
}
#AOFmain .blank_gray::placeholder {
    color: #fff;
}

/*コメント*/
#AOFmain table.form td .comment , .textarea_comment{
    color: #F00;
    font-size: smaller;
}


/* シンポジウム　modal*/
#sympoModalOverlay{
    z-index:100001;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba(0,0,0,0.50);
}
#sympoModalProgress{
    width:124px;
    top:calc(50% - 124px/2);
    left:calc(50% - 124px/2);
    padding:0;
    z-index:100002;
    position:fixed;
}
#sympoModalContent {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    z-index:100002;
}
#sympoModalSuccessMsg {
    padding: 20px 0;
    color: #000;
    text-align: center;
}
#sympoModalErrorMsg {
    padding: 20px 0;
    color: red;
    text-align: center;
}
.sympoModalFooter {
    padding: 20px 0;
    text-align: center;
}
.sympoModalPanel {
    background-color: #fff;
    width: 50%;
    max-width: 450px;
    border-radius: 5px;
}
.sympoModalWrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 80%;
    justify-content: center;
}