/*
*
*/

* { 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;}*/
.centering { width: 100%; }
#main div.hspace20:last-child { display: none;}

input.xl, textarea.xl { width: 100%; }
table p { margin: 0; min-height:1rem; }
select { padding: 5px 0;}
.txr {
	text-align: right;
}

.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;}

.demo_dock {
	z-index: 200;
}

#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: 80px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}
.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;
}

#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: #007bbb;
    color: #fff;
}
.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-top: 20px;
}
#footer .footer_left {
    text-align: left;
}
#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: #007bbb;
    background-color: #fff;
}

#footer .footer_right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
#footer .footer_logo_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
#footer .foolter_logo_name {
    font-size: 24px;
    text-align: left;
    line-height: 1.0em;
}
#footer .foolter_logo_name span{
    font-size: 14px;
}

#footer .foolter_logo_mark {
    border:solid 1px #ffffff;
    border-radius: 5px;
}
#footer .copyright {
    text-align: right;
    font-size: 14px;
}

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

/*************************************************
*** ナビメニュー
**************************************************/
.navbar {
    display: flex;
    align-items: center;
}
.collapse {
    display: flex;
    flex-grow: 1;
}
.navbar-nav {
    display: flex;
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
	padding-inline-start: 10px;
}
.ms-auto {
    margin-left: auto;
}
.navbar-toggler { /*レスポンシブのボタン*/
    border: solid 1px #007bbb;
    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 {  display: none;}


/* ロゴ */
#header .navbar-brand {
	display: flex;
	/* align-items: flex-end; */
	align-items: center;
}
#header .navbar-brand img { height: 50px;}
#header .navbar-brand span {
    border: solid 1px #007bbb;
    border-radius: 5px;
    color:#007bbb;
    font-size: 18px;
    font-weight: bold;
    padding: 0 10px;
    margin-left: 10px;
}
#header a.navbar-brand {
    text-decoration: none;
}
@media (max-width: 767px) { /*mobile*/
    #header .navbar-brand span { display: none;}
}

/* ログインページ、ユーザ登録画面でのナビメニュー */
#navbarNav .nav-link {
    text-decoration: none;
}
#navbarNav .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: #007bbb;
}
#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: #007bbb;
    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: #007bbb;
    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;
    padding: 10px 0 0 0;
}

/* pc */
@media (min-width: 851px) {
    #header .navbarNav-toggler { display:  none;}
    #main { padding: 0px 50px!important; }
    #header  { padding: 20px 50px; }
}
/* mobile */
@media (max-width: 850px) {
    #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;
        text-align: left;
    }
    #navbarNav .nav-link {
        border-right: none;
        padding-right: 10px;
    }
}


/* マイページでのナビメニュー */
#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;
	width: 115px;
}
#navbarMypage .nav-link::before {
	/* display: block;
	content: "";
	width: 40px;
	height: 40px;
	background-color: #007bbb;
	mask-repeat: no-repeat;
	mask-position: left center;
	position: absolute;
	top: 0;
	left: 0; */

	display: block;
	content: "";
	width: 115px;  /* SVGのviewBoxサイズに合わせる */
	height: 30px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-color: transparent;
	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'); */
	background-image: url(../img/nav_mypage.svg);

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

	#navbarMypage .nav-item .menu12{
        display: none;	/* 入りきらないので非表示にする */
    }
}

/*************************************************
*** メイン
**************************************************/
#AOFmain {
    background-color: #ffffff;
    min-height: calc(100vh - 240px);
}
.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: #007bbb; /*点の色*/
}
#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;
}
#AOFsidebar .nav-link::before{
    content: "";
    background-color: #007bbb;
    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: #007bbb;
}
#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: #007bbb;
    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: 100px;
    }
    #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: 950;
        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: 180px;}
    #AOFmain.user_form_page table th { width: 300px;}
	#AOFmain .list_table th {
		width: auto;
	}
}
@media (max-width: 767px) { /*mobile*/
    #AOFmain table  {
        width: 100%;
    }
    #AOFmain table td , #AOFmain table th {
        display: block;
        width: 100% !important;
		padding: 15px 10px 15px 30px;
    }
    #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 #007bbb;
    padding-left: 50px;
}
@media (max-width: 767px) { /*mobile*/
    .form_title {
        padding-left: 10px;
    }
}

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

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

.form_koumoku {
	color: #3580CA;
	font-size: 18px;
	font-weight: bold;
	margin: 0px;
	padding: 10px 0;
	text-align: left;
	background: none;
}

#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; */
    min-width:150px;
}

#AOFmain table.form th {
    border-top: none;
    color: #007bbb;
    background-color: #f7f7f7;
    font-weight: bold;
    padding: 10px 20px;
    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;
}

@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: 12px;
    }
    #AOFmain.page02_form table.form td, #AOFmain.page03_edit table.form td {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

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

#AOFmain table.form td .num {
    text-align: right;
}

#AOFmain .blue {
    color: #007bbb;
}
#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 #007bbb;
}
#AOFmain input[type="text"].readonly { background-color: #eee; }
#AOFmain select.readonly { background-color: #eee; }
#AOFmain textarea.readonly { background-color: #eee; }
#AOFmain input[type="text"].dsp_age {
    width:50px;
    text-align:center;
    border:none;background: inherit;
}

#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:#007bbb;
    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 #007bbb;
}
#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:#007bbb;
    font-weight: bold;
    padding-right: 1rem;
}
#AOFmain .zip_root {
    display: flex;
}
#AOFmain .zip_root .zip{
    display: flex;
    align-items: center;
    border-bottom: solid 2px #007bbb;
}
#AOFmain .zip_root .zipline{
    display: flex;
    align-items: center;
    margin-left: 1rem;
    margin-right: 1rem;
    color: #007bbb;
}

.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;
		margin-bottom: 30px;
    }
}

.btn_area .btn {
    background-repeat: no-repeat;
    background-position: left 30px 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: #007bbb;
    background-image: url('../img/btn_commit_wh.png');
}
#btn_regist {
    background-color: #007bbb;
    background-image: url('../img/btn_login_wh.png');
}

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

#btn_modify {
    background-color: #f7931e;
    background-image: url('../img/btn_login_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: #f00;
    background-image: url('../img/btn_login_wh.png');
}
#btn_modify {
    background-color: #f00;
    background-image: url('../img/btn_login_wh.png');
}

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


.timeout_comment {
    background-color: #007bbb;
    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: #007bbb;
    font-size: 20px;
    margin-bottom: 20px;
}
.program_header .program_name span{
    font-size: 28px;
    font-weight: bold;
    margin-right: 30px;
}
.program_header .program_period {
    border: solid 2px #007bbb;
    border-radius: 20px;
    font-size: 12px;
    display: flex;
    padding-right: 20px;
    max-width: 400px;
}
.program_header .program_period span{
    padding: 5px 20px;
    background: #007bbb;
    color: #fff;
    border: solid 2px #007bbb;
	border-radius: 13px 0 0 13px;
    font-weight: bold;
    font-size: 12px;
    margin-right: 20px;
    width: 135px;
}

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


/* 編集可能な場合のみ表示 */
.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: #007bbb;
    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%;
	margin: 0;
	background: #fff;
	border: solid 1px #ccc;
}
#AOFmain .enter_program table.program_table {
	width:100%;
	margin: 0;
	background: #fff;
	border: solid 1px #ccc;
	border-top: none;
}
#AOFmain  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 a.enter_program {
    display: block;
    text-decoration: none;
}
#AOFmain a.enter_program:first-of-type {
	border-top: solid 1px #ccc;
}
#AOFmain a.enter_program:hover {
    background-color: #f7f7f7;
}

#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: 20px;
    text-align: center;
    vertical-align: middle;
    width: 140px;
}
#AOFmain table.information_table td.category span {
    color: #007bbb;
    border: solid 1px #007bbb;
    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 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: #007bbb;
    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: #007bbb;
    padding: 5px 10px;
    font-weight: bold;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.information_title:after {
    border-top: solid 1px #007bbb;
    content: "";
    flex-grow: 1;
    margin-left: 20px;
}

@media (max-width: 767px) { /*mobile*/
	#AOFmain table.information_table td {
		padding: 15px 30px 15px 10px;
	}

	#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 .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: #007bbb; }
#AOFmain .progtable_app .empty_program { color: #b3aa2d; }

#AOFmain.toppage .progtable_supp .form_title { border-color: #007bbb; }
#AOFmain.toppage .progtable_supp .form_title span { border-color: #007bbb; background-color:#007bbb; 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  table.program_table:hover { opacity: 0.5;}


#AOFmain.toppage .progtable_supp table.program_table span.category {
    border-color: #007bbb;
    color: #007bbb;
}
#AOFmain.toppage .progtable_supp table.program_table span.nendo {
    border-color: #007bbb;
    color: #007bbb;
}
#AOFmain.toppage .progtable_supp table.program_table div.arrow {
    background-color: #007bbb;
    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: #007bbb; }
#AOFmain.page03 .progtable_supp .form_title span { border-color: #007bbb; background-color:#007bbb; color: #ffffff;}
#AOFmain.page03 .progtable_supp table.program_table span.category {
    border-color: #007bbb;
    color: #007bbb;
}
#AOFmain.page03 .progtable_supp table.program_table span.nendo {
    border-color: #007bbb;
    color: #007bbb;
}
#AOFmain.page03 .progtable_supp table.program_table div.arrow {
    background-color: #007bbb;
}
#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;
}
#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: #007bbb;
    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: #007bbb;
}
#AOFmain.user_form_page .page_title span{
    font-size: 14px;
}

#AOFmain.user_form_page table td input.readonly, #AOFmain.user_form_page table td input.disabled {
    background: #F0F0F0;
}

#AOFmain input[type="text"].disabled , #AOFmain input[type="tel"].disabled {
    background: #F0F0F0;
}


#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: #007bbb;
    vertical-align: middle;
    /* width: 200px; */
	width: 150px;
}

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



#AOFmain .upload_comment {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#AOFmain .upload_comment_text {
    color: #007bbb;
    font-size: 18px;
}
#AOFmain .upload_step{
    border: solid 2px #ccc;
    border-radius: 5px;
    padding: 5px 10px;
}
#AOFmain .form_upload {
    padding: 10px 0;
}
#AOFmain .form_upload .upload_title {
    color: #4d4d4d;
    font-size: 18px;
    font-weight: bold;
    padding: 5px 0;
}
#AOFmain .form_upload .upload_title .upload_ext{
    color: #007bbb;
}
#AOFmain .form_upload .upload_title .AOFerrmsg {
    font-size: 14px;
}

#AOFmain .form_upload .inputfile_root {
    padding: 5px 0px;
    border-bottom: solid 3px #007bbb;
    border-radius: 0 0 0 20px;
}
#AOFmain .form_upload .inputfile_label {
    padding: 5px 20px 5px 45px;
    color: #ffffff;
    background: #007bbb;
    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;
}
#AOFmain .form_upload .delete_line {
    display: flex;
    align-items: center;
    border: solid 1px #4d4d4d;
    border-radius: 20px;
    padding-left: 20px;
    background-color: #ffffff;
}
#AOFmain .form_upload .delete_line span{
    padding-right: 30px;
    background-image: url('../img/btn_tri_blue.png');
    background-repeat: no-repeat;
    background-position: right 10px center;
}
#AOFmain .form_upload .delete_line a.uploaded_link{
    color: #007bbb;
    font-weight: bold;
    text-decoration: none;
    padding: 5px 0;
}
#AOFmain .form_upload .delete_line .btn_delete{
    margin-left: auto;
    border-radius: 0 20px 20px 0;
}

.upload_left {
	float: left;
	width: calc(100% - 230px);
}
.upload_right {
	float: right;
}


#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: #007bbb;
    background-image: url('../img/btn_upload_wh.png');
}
#AOFmain .form_upload a.btn_delete {
    background-color: #4d4d4d;
    background-image: url('../img/btn_back_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.hide{
    display: none;
}

#AOFmain .table_upload .tbl_header{
	/* 様式ダウンロードが必要な場合はこのコメントアウトを解除すること */
    /* flex-basis: 130px; */
    flex-basis: 160px;
}
#AOFmain .table_upload .tbl_body{
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding: 10px 5px;
}
#AOFmain .table_upload .upload_title {
    text-align: center;
    background-color: #80bddd;
    border: solid 1px #ccc;
    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; */
    /* flex-grow: 1; */
    padding: 0 5px;
}
#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: #007bbb;
    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: #007bbb;
    font-weight: bold;
}
#AOFmain .table_upload .status_none {
    display: inline-block;
    color: #c1272d;
    font-weight: bold;
}

@media (max-width: 767px) { /*mobile*/
	/* user_form*/
	#AOFmain.user_form_page .user_form_inner {
		padding: 0px;
	}

	#AOFmain.user_form_page .page_icon{
		min-width: 45px;
	}

	#consent_doc_wrapper {
		padding: 20px 0;
	}


	/* user_form以外 */
	#AOFmain .table_upload {
        display: block;
		width: 100%;
    }

	#AOFmain .upload_left {
		float: none;
        display: block;
		width: 100%;
    }

	#AOFmain .upload_right {
		float: none;
        display: block;
		width: 100%;
    }

	#AOFmain .upload_all_button {
		text-align: center;
		margin: 15px 0;
	}

	#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;
    }
}

#AOF_custom_sidebar {
    padding: 20px 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: 767px) { /*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;} */

/* 国内研修の場合 */
.dsp1 .dspgrp2, .dsp1 .dspgrp3, .dsp1 .dspgrp4, .dsp1 .dspgrp5, .dsp1 .dspgrp6, .dsp1 .dspgrp7 { display: none;}
.dsp2 .dspgrp3, .dsp2 .dspgrp4, .dsp2 .dspgrp5, .dsp2 .dspgrp6, .dsp2 .dspgrp7 { display: none;}
.dsp3 .dspgrp4, .dsp3 .dspgrp5, .dsp3 .dspgrp6, .dsp3 .dspgrp7 { display: none;}
.dsp4 .dspgrp5, .dsp4 .dspgrp6, .dsp4 .dspgrp7 { display: none;}
.dsp5 .dspgrp6, .dsp5 .dspgrp7 { display: none;}
.dsp6 .dspgrp7 { display: none;}

/*さらに行を表示する*/
.addlink  {
    position: relative;
    padding-bottom: 40px;
	margin-top: 10px;
}
.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;

}


/* 履歴書・支出内訳用 */
.caution {
	margin: 15px 0;
	color: #F00;
}


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


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

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

#AOFmain .list_table .sub_root .sub:first-child {
	max-width: 270px;
}

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

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

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

/*mobile*/
/* @media (max-width: 767px) {
    #AOFmain .list_table .sub_root {
		display: grid;
		width: 100% !important;
    }
    #AOFmain .list_table .sub_root .sub_line{
        display: block;
        width: 100% !important;
		margin: 15px 0;
    }
	#AOFmain .list_table .sub_root .sub:first-child {
		max-width: 100%;
		margin-right: 0;
	}
} */

/* 費目別内訳用テーブルのタイトル部分 */
.uchiwake_title_box {
	border-bottom: 1px solid #e2e2e2;
	width: 100%;
}
.uchiwake_title {
	color: #007bbb;
	background-color: #f7f7f7;
	padding: 10px 20px;
	border-radius: 10px 10px 0 0;
	width: 180px;
	font-weight: bold;
}

/* 費目別内訳用テーブル */
#AOFmain .list_table {
	border: 0px;
}
/*#AOFmain .list_table th {
	border: 0;
	min-width: 180px;
	width: 100%;
}*/
#AOFmain .list_table th {
	border: 0;
	/* min-width: 180px;
	width: 100%; */
	max-width: none;
	min-width: auto;
	width: auto;
}
#AOFmain table.list_table th {
    border-top: none;
    color: #007bbb;
    font-weight: normal;
    padding: 7px 7px 0;
    vertical-align: top;
    background-color: #ffffff;
}

#AOFmain .list_table th:nth-child(1) {
	/* max-width: 10%; */
	max-width: none;
	min-width: auto;
}
#AOFmain .list_table th:nth-child(2) {
	/* max-width: 10%;
	min-width: 155px; */
	max-width: none;
	min-width: auto;
}
#AOFmain .list_table th:nth-child(3) {
	/* max-width: 10%;
	min-width: 155px; */
	max-width: none;
	min-width: auto;
}
#AOFmain .list_table th:nth-child(4) {
	/* max-width: 50%; */
	max-width: none;
	min-width: auto;
}
#AOFmain .list_table .sub_title {
	display: none;
}

#AOFmain .list_table .select_contents {
	margin-top: 8px;
	color: #666;
	font-size: 0.9em;
}
#AOFmain .list_table .select_excluded {
	margin-top: 8px;
	color: #c00;
	font-size: 0.9em;
}


#AOFmain .list_table.income th:nth-child(1) {
	max-width: 30%;
}
#AOFmain .list_table.income th:nth-child(2) {
	max-width: 10%;
	min-width: 130px;
}
#AOFmain .list_table.income th:nth-child(3) {
	max-width: 60%;
	min-width: 130px;
}

#AOFmain table.list_table td {
	position: relative;
	padding: 5px 5px 10px;
	vertical-align: baseline;
}

/* 注意書き */
.comment_list {
	margin-left: 47px;
}

.list_item {
	text-indent: -20px;
	padding-left: 15px;
}

.item_note {
	text-indent: -15px;
	padding-left: 15px;
}


@media (max-width: 767px) { /*mobile*/
	.uchiwake_title_box {
		border-bottom: none;
	}
	.uchiwake_title {
		padding: 12px;
		border-radius: 0;
		width: 100%;
	}

	#AOFmain .list_table th {
		display: none;
	}
	#AOFmain .list_table .sub_title {
		display: block;
		color: #007bbb;
		width: 100%;
		min-width: 100%;
	}

	#AOFmain.page02_form table.list_table td, #AOFmain.page03_edit table.list_table td {
		border: none;
		padding: 5px 5px;
	}

	#AOFmain table.list_table td:last-child {
		border-bottom: 1px solid #e2e2e2;
	}

	.comment_list {
		margin-left: 18px;
	}
}

/* 共同研究者用 */
#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 #007bbb;
}

#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:#007bbb;
    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: #007bbb;}
#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;
}

/****
* 収支内訳
*****/
#AOFmain .appmoneytbl th {
	text-align: center;
    vertical-align: middle;
}

#AOFmain .appmoneytbl td:nth-child(1) {
	width: 30%;
	min-width: 150px;
}

#AOFmain .appmoneytbl td:nth-child(2) {
	width: 60%;
	min-width: 150px;
}

#AOFmain .appmoneytbl td:nth-child(3) {
	/* width: 10%; */
    min-width: 140px;
}

#AOFmain .appmoneytbl input {
	width: 100%;
}

#AOFmain .appmoneytbl .appmoney_value , #AOFmain .appmoneytbl .income_value, #AOFmain .appmoneytbl .expenditure_value {
	width: 90px;
}

#AOFmain input.appmoney {
    text-align: right;
	width: 100px;
}

#AOFmain .appmoney_sum, #AOFmain .income_sum, #AOFmain .expenditure_sum, #AOFmain .difference {
    background: #F0F0F0;
    border: 1px solid #bbbbbb;
    display: inline-block;
    color: #000000;
    padding: 4px 2px;
    width: 100px;
    text-align: right;
}

#AOFmain.page02_form table.appmoneytbl .appmoney_sum_title {
	text-align: center;
	color: #007bbb;
    background-color: #f7f7f7;
    font-weight: bold;
}

#AOFmain table.list_table .appmoney_sum_title {
	/* text-align: right; */
	text-align: left;
	color: #007bbb;
    font-weight: bold;
	border: none;
	vertical-align: bottom;
}

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

.appmoney_sum_waku {
	border-bottom: solid 2px #007bbb;
    float: right;
    /* padding-right: 20px; */
	margin: 10px 0 0px;
}

.appmoney_total_title {
	display: inline;
}

.appmoney_subtotal_title {
	display: flex;
	justify-content: end;
}

.total_comment {
	font-weight: normal;
	text-align: right;
}

/* 事業種類のチェックボックス */
.sikaku div {
	display: inline-block;
	width: 24%;
	min-width: 200px;
	padding: 2px 0;
}

/* 事業種類のチェックボックス */
.jigyo div {
	display: inline-block;
	width: 24%;
	min-width: 200px;
	padding: 2px 0;
}

#AOFmain .top_comment {
    border: solid 2px red;
    border-radius: 5px;
    padding: 5px 10px;
    max-width: 500px;
}



/*レスポンシブ用*/
.rps_on {
	display: none;
}

.kaigyo {
	display: block;
}

@media (max-width: 767px) { /*mobile*/
	.kaigyo {
		display: inline-block;
	}

		#AOFmain .list_table .sub_root .sub {
		margin-right: 0;
	}
	#AOFmain.page02_form table.appmoneytbl td, #AOFmain.page03_edit table.appmoneytbl td {
		border-bottom: none;
		padding: 5px 0;
	}
	#AOFmain.page02_form table.appmoneytbl td:nth-child(3) {
		border-bottom: 2px solid #e2e2e2;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	#AOFmain.page02_form table.appmoneytbl .appmoney_sum_title {
		text-align: left;
		background-color: #ffffff;
	}
	.rps_on {
		display: block;
	}
	.appmoney_sum_title {
		text-align: left;
	}

	.appmoney_sum_waku {
		border-bottom: solid 2px #007bbb;
		max-width: 280px;
		float: none;
		padding-right: 0;
		margin: 15px 0;
	}

	.total_comment {
			text-align: left;
	}

	.flex-container {
		display: flex; /* Flexboxコンテナにする */
		justify-content: space-between; /* 子要素を両端に配置 */
		align-items: center; /* 垂直方向の中央揃え (必要であれば) */
	}

}


@media print {
	/* 印刷時のスタイル調整	*/

	/*
	* これを設定しないと2ページ目以降もヘッダーを印刷しようとするので、
	* 画面の内容にかぶってしまう
	*/
	#header {
		position: absolute;
	}

	/*
	* 印刷時のオプションで「背景のグラフィック」にチェックが入っていない人でも
	* ハンバーガーメニューの三本線が印刷されるようにする
	*/
	.navbar-toggler-icon {
		background-image: none !important;
		content: url("../img/btn_menu1.svg");
	}
}