/* commons */

*{
    box-sizing: border-box;
}

body{ 
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #f4f4f4;
}

h2{
    font-size: 18px;
    background-color: transparent;
    font-weight: bold;
    color: #000;
    margin: 0 auto;
    border-left: 10px solid #000;
    padding-left: 10px;
    text-align: left;
    line-height: 34px;
    margin-bottom:10px;
}

h3{
    margin:0 0 12px 10px;
}

.pc{display:block;}
.sp{display:none;}
@media screen and (max-width: 600px){
    .pc{display:none;}
    .sp{display:block;}
}

.pc-table{display:table-cell;}
.sp-table{display:none;}
@media screen and (max-width: 600px){
    .pc-table{display:none;}
    .sp-table{display:table-cell;}
}

div{line-height: 1.2;}
p{line-height: 1.2;margin-bottom:8px;}

span.r{/*error*/
    color:red;
    font-size:12px;
    margin-bottom:6px;
}

/* 汎用ボタン */
.btn{
    text-align: center;
    background-color: #29a2c6;
    max-width:360px;
    color: #fff;
    margin: 0 auto;
    padding: 12px 20px;
    border:0;
}

.flex-box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom:20px;
}

section.block {
    background: #fff;
    /*padding: 10px 0 5px;*/
    padding:20px;
    width: calc(100% - 60px);
    margin: 30px auto;
    z-index: 0;
    /*max-width: 1260px;*/
    max-width:2000px;
    min-width: 800px;
}

@media screen and (max-width: 600px){
    section.block {
        width: 90%;
        padding: 10px;
        max-width: none;
        min-width: auto;
    }
}

section.block .l_button,
section.block .l_button0,
section.block .l_button1,
section.block .l_button2,
section.block .l_button3,
section.block .l_button4,
section.block .l_button4r,
section.block .l_button5,
section.block .l_button6,
section.block .l_button7,
section.block .l_button11,
section.block .l_button12,
section.block .l_button13,
section.block .l_button14,
section.block .l_button21,
section.block .l_button22,
section.block .l_button999{
	width:100%;
	margin:10px 3px;
	text-align:left;
	text-indent: 1em;
	display:block;
	text-decoration:none;
	color:#fff;
	padding: 10px 30px 10px 14px;
	border-radius: 4px;
	position:relative;
    text-indent: inherit;
}

section.block .l_button{background-color: #29a2c6;}
section.block .l_button0{background-color: #29a2c6;}
section.block .l_button1{background-color: #2165B5;}
section.block .l_button2{background-color: #E3258B;}
section.block .l_button3{background-color: #B78C44;}
section.block .l_button4{background-color: #29a2c6;}
section.block .l_button4r{background-color: #1c728d;}
section.block .l_button5{background-color: #5CA361;}
section.block .l_button6{background-color: #7D7D7D;}
section.block .l_button7{background-color: #706Dff;}
section.block .l_button11{background-color: #DD7C3A;}
section.block .l_button12{background-color: #7A8F45;}
section.block .l_button13{background-color: #109B46;}
section.block .l_button14{background-color: #29a2c6;}
section.block .l_button21{background-color: #DD7C3A;}
section.block .l_button22{background-color: #DC3AD7;}
section.block .l_button999{background-color: #706090;}


section.block .l_button:after,
section.block .l_button0:after,
section.block .l_button1:after,
section.block .l_button2:after,
section.block .l_button3:after,
section.block .l_button4:after,
section.block .l_button4r:after,
section.block .l_button5:after,
section.block .l_button6:after,
section.block .l_button7:after,
section.block .l_button11:after,
section.block .l_button12:after,
section.block .l_button13:after,
section.block .l_button14:after,
section.block .l_button21:after,
section.block .l_button22:after,
section.block .l_button999:after{
	content:"＞";
	display:block;
	position: absolute;
	top:28%;
	right:10px;
}

section.block h3 {
    border-left: 5px solid #333;
    padding: 0 0 0 10px;
    color: #333;
    font-size: 16px;
    margin: 15px 0 20px 0;
    line-height: 1.2;
}

.pan{
    font-size:14px;
    margin:0 12px 10px;
    line-height: 1.5;
}

.mpaging{
    margin:0 12px 10px;
}

.mpaging p{
    display:inline-block;
}

.mpaging p.ym{
    display:block;
    color:#29a2c6;
    font-weight:bold;
    margin-bottom:10px;
}

.mpaging a{
    display:inline-block;
    background-color:#29a2c6;
    color:#fff;
    text-decoration: none;
    border-radius:4px;
    padding:10px;
    text-align: center;
}

/* ===== login ===== */
body#login{
    background-color: #f4f4f4;
}

#login h1 {
    /*margin: 120px auto 20px;*/
    margin:60px auto 20px;
    text-align: center;
    color: #29a2c6;
    font-family: "Noto Sans JP";
    font-size: 26px;
}

#login.admin h1 {
    color: #db7093;
}

@media screen and (max-width: 600px){
    #login h1 {
        margin: 20px auto;
    }
    
}

#login .conteiner {
    width: 383px;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    margin: 0 auto;
}

@media screen and (max-width: 600px){
    #login .conteiner {
        width: 80%;
    }
}

#login form {
    text-align: center;
}

#login .box {
    margin: 15px auto 10px;
}

#login .box .ttl p {
    color: #29a2c6;
    text-align: left;
    margin-bottom: 10px;
}

#login.admin .box .ttl p {
    color: #db7093;
}

#login .box input[type="text"], #login .box input[type="password"] {
    width: 100%;
    background-color: #fff !important;
    background-position: 97.5% center;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border: 1px solid #dddddd;
    padding: 10px 11px !important;
    font-size: 14px;
    outline: none;
    margin: 4px 0 12px;
    height: 41px;
    box-sizing: border-box;
}

#login input[type="submit"].login_btn {
    width: 220px;
    color: #FFF;
    background-color: #29a2c6;
    cursor: pointer;
    margin: 20px 0 6px 0;
    padding: 16px 0;
}

#login.admin input[type="submit"].login_btn {
    background-color: #db7093;
}

#login .explanation{
    color:#333333;
    margin-bottom:6px;
    line-height: 1.6;
}

#login .explanation span{
    display:block;
    font-size:12px;
}

/* login(児童クリック) */
#login .kids_btn{
    background: #3AA1C5;
    color: #fff;
    margin: 5px;
    padding: 12px 0;
    cursor: pointer;
}

/* common header */

body.loggedin #bg_img,
body.loggedin #bg_img0,
body.loggedin #bg_img1,
body.loggedin #bg_img2,
body.loggedin #bg_img3,
body.loggedin #bg_img4,
body.loggedin #bg_img5,
body.loggedin #bg_img6,
body.loggedin #bg_img7,
body.loggedin #bg_img8,
body.loggedin #bg_img11,
body.loggedin #bg_img12,
body.loggedin #bg_img13,
body.loggedin #bg_img14,
body.loggedin #bg_img21,
body.loggedin #bg_img22,
body.loggedin #bg_img999{
	height: 53px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 5;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: center;
	padding:0 11px;
}

body.loggedin #bg_img {background-color: #29a2c6;}
body.loggedin #bg_img0{background-color: #29a2c6;}
body.loggedin #bg_img1{background-color: #2165B5;}
body.loggedin #bg_img2{background-color: #E3258B;}
body.loggedin #bg_img3{background-color: #B78C44;}
body.loggedin #bg_img4{background-color: #29a2c6;}
body.loggedin #bg_img5{background-color: #5CA361;}
body.loggedin #bg_img6{background-color: #7D7D7D;}
body.loggedin #bg_img7{background-color: #706Dff;}
body.loggedin #bg_img8{background-color: #706Dff;}
body.loggedin #bg_img11{background-color: #DD7C3A;}
body.loggedin #bg_img12{background-color: #7A8F45;}
body.loggedin #bg_img13{background-color: #109B46;}
body.loggedin #bg_img14{background-color: #29a2c6;}
body.loggedin #bg_img21{background-color: #DD7C3A;}
body.loggedin #bg_img22{background-color: #DC3AD7;}
body.loggedin #bg_img999{background-color: #706090;}




body.loggedin #bg_img.admin {
    background-color:#db7093;
}

header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    min-width: 600px;
    background: transparent;
    padding: 0;
    line-height: 1.5;
}

header h1{
    color:#fff;
}

@media screen and (max-width: 600px){
    header h1{
        font-size:14px;
    }
}

header a {
    color: #fff;
    text-decoration: none;
}

body.loggedin {
    padding: 60px 0 0 0;
    box-sizing: border-box;
}

header #greeting {
    color: #fff;
    font-size: 12px;
    /*border-left: 1px solid rgba(255, 255, 255, 0.5);*/
    /*height: 30px;*/
    /*padding: 6px 10px;*/
    box-sizing: border-box;
}

header .logout {
    margin: 0 0 0 6px;
}

/* form */
body.loggedin form .box{
    margin-top:15px;
    margin-bottom:12px;
}

body.loggedin form .box .ttl{
    color:#29a2c6;
    font-size:14px;
    margin-bottom:10px;
}

body.loggedin.admin form .box .ttl{
    color:#db7093;
}

body.loggedin form .box .input.radio{
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}

body.loggedin form .box .input.radio label{
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

body.loggedin form .box .input.radio label::before,
body.loggedin form .box .input.radio label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}

body.loggedin form .box .input.radio label::before {
    width: 18px;
    height: 18px;
    background-color: #e6edf3;
}

body.loggedin form .box .input.radio label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color: #29a2c6;
    animation: anim-radio-001 .3s linear;
}

body.loggedin.admin form .box .input.radio label:has(:checked)::after{
    background-color:#db7093;
}

@keyframes anim-radio-001 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #29a2c633;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

body.loggedin form .box .input.radio input {
    display: none;
}


body.loggedin form select,
#login .box select {
    width: 100%;
    background-position: 97.5% center;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border: 1px solid #e5e5e5;
    padding: 10px 28px 10px 11px !important;
    font-size: 14px;
    outline: none;
    height: 46px;
    background: url(../images/arrow.png) 97% 50% no-repeat;
    box-sizing: border-box;
}

body.loggedin.admin form select {
    background: url(../images/arrow2.png) 97% 50% no-repeat;
}

body.loggedin form input[type="text"],
body.loggedin form input[type="number"],
body.loggedin form input[type="password"] {
    width: 100%;
    background-position: 97.5% center;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border: 1px solid #e5e5e5;
    padding: 10px 11px;
    font-size: 14px;
    outline: none;
    height: 41px;
    box-sizing: border-box;
}

/*body.loggedin form input[name="c_date"]{
    background: url(../images/cal.png) 97% 50% no-repeat;
    height: 46px;
}*/

form input.hasDatepicker{
    background: url(../images/cal.png) 97% 50% no-repeat;
    height: 46px;
}



body.loggedin form input[name="d1"],
body.loggedin form input[name="d2"]{
    /*width:50%;*/
    width:110px;
}

body.loggedin form input[name="c1"],
body.loggedin form input[name="c2"]{
    width:110px;
}

body.loggedin form input[type="text"].short{
    width:90%;
    margin-right:6px;
}

body.loggedin form .form_d{
    text-align: center;
}

body.loggedin form .form_d input[type="submit"]{
    text-align: center;
    background-color:#29a2c6;
    width:200px;
    color:#fff;
    margin:0 auto;
    padding:12px 0;
}

body.loggedin form .form_d input[type="submit"].del{
    background-color:#d60000;
}

body.loggedin form .form_d input[type="submit"]:not(:first-child){
    margin-left:12px;
}

@media screen and (max-width: 484px){
    body.loggedin form .form_d input[type="submit"]:first-child{
        margin-bottom:12px;
    }
    body.loggedin form .form_d input[type="submit"]:not(:first-child){
        margin-left:0;
    }
}

body.loggedin form .previewBox{
    width:200px;
    margin:12px 0;
    position: relative;
}

@media screen and (max-width: 600px){
    body.loggedin form .previewBox{
        width:100%;
        margin:12px auto;
    }
}

body.loggedin form .previewBox p{
    color:#29a2c6;
    position:absolute;
    width:200px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

body.loggedin form #preview{
    max-width:200px;
    width:200px;
    background-color: #e7e7e7;
}

@media screen and (max-width: 600px){
    body.loggedin form #preview{
        max-width:none;
        width:100%;
        height:auto;
    }
}

body.loggedin form .delBtn{
    display:none;
    width:200px;
    background-color:#29a2c6;
    color:#fff;
    text-align: center;
    padding:6px;
    font-size:14px;
    cursor: pointer;
    vertical-align: middle;
    margin:10px 0 40px;
    border-radius: 6px;
}

@media screen and (max-width: 600px){
    body.loggedin form .delBtn{
        width:100%;
    }
}

body.loggedin form img.photo{
    width:300px;
    height:300px;
}

@media screen and (max-width: 600px){
    body.loggedin form img.photo{
        width:100%;
        height:auto;
    }
}

body.loggedin.admin form .form_d input[type="submit"]{
    background-color:#db7093;
}


.ui-datepicker-trigger{
    display:none;
}

/* 帳簿一覧 */

select.search_month {
    width: auto;
    margin: 0 12px 10px;
    background-color:#fff;
    background-position: 97.5% center;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border: 1px solid #e5e5e5;
    padding: 10px 28px 10px 11px !important;
    font-size: 14px;
    outline: none;
    height: 46px;
    background: url(../images/arrow.png) 97% 50% no-repeat #fff;
    box-sizing: border-box;
}

.search_ym{
    margin:0 0 10px;
}

.search_ym select.search_month {
    margin: 0;
    width: auto;
    background-color: #fff;
}

.search_ym input[type="submit"]{
    display: inline-block;
    background-color: #29a2c6;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    padding: 10px;
    text-align: center;
}

section.block.report{
    margin:0 auto 30px;
}

.reportTab{
    width: calc(100% - 60px);
    margin:0 auto;
    max-width: 1260px;
    min-width: 1050px;
}

@media screen and (max-width: 600px){
    .reportTab{
        width: 90%;
        max-width: none;
        min-width: auto;
    }
}

.reportTab a{
    display:inline-block;
    border:1px solid #eeaa19;
    border-radius: 6px 6px 0 0;
    padding:10px;
    color:#eeaa19;
    text-decoration: none;
    background-color:#fff;
}

.reportTab a.active{
    background-color:#eeaa19;
    color:#fff;
}

section.block .listBox{
    width:100%;
    margin:0 auto;
    border:1px solid #ccc;
    border-radius: 4px;
    background-color: #f4f4f4;
    margin-bottom:12px;
}

section.block .listBox .top{
    display:flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom:6px;
}

section.block .listBox .top .type{
    background-color:#29a2c6;
    color:#fff;
    padding:6px;
    text-align: center;
    font-size:14px;
}
section.block .listBox .top .type.income{
    background-color:#29a2c6;
}
section.block .listBox .top .type.spending{
    background-color:#c6293b;
}

section.block .listBox .top .date{
    font-size:14px;
    margin-left:8px;
}

section.block .listBox .price{
    font-size:20px;
    font-weight:bold;
    /*text-align: right;*/
    padding:0 10px;
    margin-bottom:6px;
}

section.block .listBox .price span{
    font-weight: normal;
    display:inline-block;
    font-size:12px;
    margin-right:6px;
}

section.block .listBox .price a{
    color:#000;
}

section.block .listBox .bottom{
    font-size:14px;
    padding:0 10px 10px;
}

section.block .listBox .bottom .subject{
    font-size:16px;
    margin-bottom:6px;
}

section.block .total{
    /*align-items: center;*/
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

@media screen and (max-width: 600px){
    section.block .total{
        display:block;
    }
}

section.block .total p{
    margin-right:4px;
}

@media screen and (max-width: 600px){
    section.block .total p{
        margin-right:4px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-bottom:6px;
    }
}


section.block .total span{
    font-size:12px;
    color:#fff;
    padding:6px;
    display:block;
    text-align: center;
}

@media screen and (max-width: 600px){
    section.block .total span{
        width:50%;
    }
}
section.block .total span.block{
    color:#000;
    width:auto;
    display:inline;
    text-align: right;
    padding:0;
    font-size:16px;
}
section.block .total span.income{
    background-color:#29a2c6;
}
section.block .total span.spending{
    background-color:#c6293b;
}
section.block .total span.total{
    background-color:#000;
}
#total_none{
    margin-bottom:12px;
}
section.block .total span#kakaku0_none,
section.block .total span#kakaku1_none,
section.block .total span#kakaku2_none,
section.block .total span#kakaku3_none{
    font-size:16px;
    color:#000;
    display:inline;
    padding:0;
}



/* 月次科目 */

table.list{
    word-break: break-all;
    table-layout: fixed;
    width: 100%;
}

table.list th{
    width: 100%;
    background-color: #29a2c6;
    padding:10px;
    color:#fff;
}
table.list th.th0{background-color: #29a2c6;}
table.list th.th1{background-color: #2165B5;}
table.list th.th2{background-color: #E3258B;}
table.list th.th3{background-color: #B78C44;}
table.list th.th4{background-color: #29a2c6;}
table.list th.th4r{background-color: #1c728d;}
table.list th.th5{background-color: #5CA361;}
table.list th.th6{background-color: #7D7D7D;}
table.list th.th7{background-color: #706Dff;}
table.list th.th11{background-color: #DD7C3A;}
table.list th.th12{background-color: #7A8F45;}
table.list th.th13{background-color: #109B46;}
table.list th.th14{background-color: #29a2c6;}
table.list th.th21{background-color: #DD7C3A;}
table.list th.th22{background-color: #DC3AD7;}
table.list th.th999{background-color: #706090;}




table.list th.pc{
    display:table-cell;
}

@media screen and (max-width: 600px){
    table.list th.pc{
        display:none;
    }
}

.admin table.list th{
    background-color: #db7093;
}

table.list td{
    padding:10px;
    text-align: center;
    vertical-align: top;
}

table.list.contact{
    border:1px solid #b3b3b3;
}

table.list.contact td,
table.list.contact th{
    border:1px solid #b3b3b3;
}

table.list.contact td.admin_color{
    background-color:#29a2c6;
}

table.list.contact th{
    border:1px solid #00759b;
}

table.list tr:nth-child(2n){
    background-color: #f4f4f4;
}

table.list.contact tr
{
    background-color: #d9f6ff;
}

table.list.account tr.space{
    border: 1px solid transparent;
}

table.list.account tr.space td{
    border:0;
    background-color:#fff;
}

.sumBox{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}

@media screen and (max-width: 600px){
    .sumBox{
        width: 100%;
        display:block;
    }
}

.sumBox .inner{
    width:33.3%;
}

@media screen and (max-width: 600px){
    .sumBox .inner{
        width: 100%;
        margin-bottom:12px;
    }
}

.sumBox h4{
    width:100%;
    background-color: #29a2c6;
    padding:10px;
    text-align: center;
    margin-bottom:12px;
    color:#fff;
}

.sumBox .inner p{
    text-align: center;
}


.ydivision{
    margin: 0 12px 20px;
}

.ydivision h4{
    margin-bottom:6px;
    color: #29a2c6;
}

.ydivision a{
    color:#000;
}

/* 年次集計 */
table.list.kamoku{
    table-layout: auto;
}

@media screen and (max-width: 600px){
    table.list.kamoku{
        /*font-size:3vw;*/
    }
}

table.list.kamoku td:first-child,
table.list.kamoku td:nth-child(3),
table.list.kamoku td:nth-child(5){
    width:1%;
}
table.list.kamoku td:nth-child(2n){
    width:30.3%;
}

/* 勘定科目一覧 */

form .box2{
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom:12px;
}

/* 科目設定のみ表示を変更 */
form .box2.kamoku{
    align-items: end;
}

form .box2.kamoku .k_name{
    width:68%;
}

form .box2 .code{
    width:14%;
}

form .box2 .code p{
    text-align: center;
    font-size:12px;
    margin-bottom:2px;
}

form .box2 a{
    padding: 6px;
    display: block;
    font-size: 14px;
    color: #fff;
    background-color: #29a2c6;
    border-radius: 6px;
    text-decoration: none;
    margin-top:2px;
}

body.loggedin form .box2 input[name="k_cd1"],
body.loggedin form .box2 input[name="k_cd2"],
body.loggedin form .box2 input[name="k_cd3"]{
    padding:0;
    text-align: center;
    width:100%;
}

form .box2 .fix input[type="submit"]{
    padding:10px;
    color: #fff;
    background-color: #29a2c6;
}

/* アカウント一覧 */

table.list.account{
    table-layout: auto;
}

@media screen and (max-width: 600px){
    table.list.account{
        table-layout:fixed;
    }
}

/* カレンダー用 */
/*table.list.account.cal{
    width:1220px;
}*/

table.list.account th{
    width:auto;
}

@media screen and (max-width: 600px){
    table.list.account th{
        width:100%;
    }
}

/* アカウントのメインサブアイコン */
.name_status{
    display:inline-block;
    padding:6px;
    width:100%;
    max-width:50px;
    color:#fff;
    font-size:12px;
    text-align: center;
    margin-right:6px;
}

.name_status.main{
    background-color:#cf0200;
}

.name_status.sub{
    background-color:#e06900;
}

/* パスワード未設定 */
table.list.account span.pass_not_set{
    color: red;
    font-size: 12px;
}


/* テーブルのレスポンシブ調整 パターン1 縦並び
(テキストが多くflexで調整できない場合のみ 基本はdiv.sumBoxを使用) */
@media screen and (max-width: 640px) {
    table.list.account.resp_table tr:first-child{
        display: none;
    }
    table.list.account.resp_table tr,
    table.list.account.resp_table td{
        display: block;
        width: 100%;
        position: relative;
    }

    table.list.account.resp_table td::before{
        background: #29a2c6;
        box-sizing: border-box;
        color: #fff;
        font-weight: bold;
        padding: 10px;
        margin-bottom:12px;
        display: block;
        width: 100%;
    }
    
    .tbl-r04 tr {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 640px) {
    /* => 繰り越し表*/
    table.list.account.resp_table.kurikosi td:first-child:before {
        content: "繰越対象児童数";
    }
    table.list.account.resp_table.kurikosi td:nth-child(2):before {
        content: "全児童数";
    }
    table.list.account.resp_table.kurikosi td:nth-child(3):before {
        white-space: pre;
        content: "繰越非対象\A新規登録承認待ち";
    }
    table.list.account.resp_table.kurikosi td:nth-child(4):before {
        white-space: pre;
        content: "繰越非対象\A次学年更新申請承認待ち";
    }
    table.list.account.resp_table.kurikosi td:nth-child(5):before {
        white-space: pre;
        content: "繰越非対象\Aクラス未設定";
    }
    table.list.account.resp_table.resp_table.kurikosi td:nth-child(6):before {
        white-space: pre;
        content: "繰越非対象\A卒業";
    }
}

/* テーブルのレスポンシブ調整 パターン2 横スクロール */
.scr_txt{
    font-size:12px;
    margin-top:12px;
    /* 横スクロールできる旨を記載する */
}
@media screen and (max-width: 640px) {
    .scr_table{
        overflow-x: scroll;
    }
    .scr_table table.list{
        width: 100%;
        border-collapse: collapse;
        white-space: nowrap;
        table-layout: auto;   
    }
    .scr_table table.list .table th,
    .scr_table table.list .table td {
        border: 2px solid #eee;
        padding: 4px 8px;
    }
}

/* PCでも横スクロールが必要な場合はこちらを利用 */
.scr_table_all{
    overflow-x: scroll;
}
.scr_table_all table.list{
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
    table-layout: auto;   
}
.scr_table_all table.list .table th,
.scr_table_all table.list .table td {
    border: 2px solid #eee;
    padding: 4px 8px;
}

.scrollbar{
    width: 100%;
    max-width:1220px;
    height: 20px;
    overflow-x: scroll;
    overflow-y: hidden;
}
.s-inner{
    height: 1px;
    width: 150%;
}

/* テーブルの最初の縦軸をスクロールしても固定する */
.list.account.fixed th:first-child,
.list.account.fixed td:first-child{
    position: sticky;
    left: 0;
    background-color:#fff;
}

.list.account.fixed th:first-child{
    background-color:#29a2c6;
}

.list.account.fixed tr:nth-child(2n) td:first-child{
    background-color: #f4f4f4;
}

.list.account.fixed td:first-child:before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
}

/* カレンダー用の調整 */
table.list.account.cal td{
    width: 150px;
    height: 100px;
}

/* テーブル内アコーディオンボタン */
table.list.account .group_ac{
    background:#E87F45;
    padding:12px;
    text-align:center;
    cursor: pointer;
    color:#fff;
}

table.list.account .group_ac_window{
    padding:20px 0;
    padding: 20px 0;
    text-align: left;
    width: 100%;
    max-width: 150px;
    margin: 0 auto;
}

table.list.account .group_ac_window label:not(:last-of-type){
    margin-bottom:10px;
    display:block;
}

/* テーブル内の改行の余白設定 */
table.list.account tr td p.pmr{
    margin-bottom:10px;
}

table.list.account tr td p.pmr:last-of-type{
    margin-bottom:0;
}

/* class設定できない$date_inの<br>にmarginを設定 */
table.list.account tr td.date_in br{
    content:"";
    display:block;
    margin-bottom:10px;
}

/* ===== テーブル内リンクボタン ===== */

table.list.account tr td p.setting{
    text-align: center;
    background-color: #29a2c6;
    width:100%;
    min-width:150px;
    color: #fff;
    margin: 0 auto 8px;
}

table.list.account tr td .cal_btn_box{
    display:flex;
    flex-wrap:wrap;
    align-items: center;
}

table.list.account tr td p.setting.cal{
    /* カレンダー用にミニボタン */
    display: block;
    min-width:auto;
    width: 100%;
    margin: 10px 0;
}
table.list.account tr td p.setting.cal:not(:first-child){
    margin:0 0 10px;
}

/* ボタンカラー設定用 */
/*
内容確認・文章設定・添付設定・条件設定・確認/配信テスト・削除・配信内容・配信ログ確認/配信テスト
*/
table.list.account tr td p.setting.del{
    background-color: #d60000;
}

table.list.account tr td p.setting a{
    display:block;
    padding: 12px 0;
    color: #fff;
    text-decoration: none;
}

table.list.account tr td p.setting.cal a{
    /* カレンダー用にミニボタン */
    padding: 6px 0;
    font-size:12px;
}

/* ===== お知らせ ===== */

/* メールステータス */
/* 下書き */
span.mail_status{
    display:inline-block;
    color:#fff;
    padding:6px;
    text-align: center;
}

span.mail_status.draft{
    background-color:#555555;
}
span.mail_status.ok{
    background-color:#46b453;
}

/* 色付きタイトルの場合にCSSを適応 */
.colored{
    text-decoration: none;
    padding: 8px 14px;
    display: inline-block;
    text-align: center;
    color: #000;
}

/* お気に入りアイコン */
img.fav{
    vertical-align: middle;
    margin-left:6px;
}
img.fav._colored{
    vertical-align: baseline;
}

/* ==== DLと表示ボタン ==== */

.file_title{
    margin-bottom:16px;
}

.flex-box.dl{
    justify-content: flex-start;
}

@media screen and (max-width: 600px){
    .flex-box.dl{
        display:block;
    }
}

/*表示ボタン*/
.flex-box.dl .display,
.flex-box.dl .download{
    border-radius:6px;
    width:30%;
}

@media screen and (max-width: 600px){
    .flex-box.dl .display,
    .flex-box.dl .download{
        width:100%;
    }
}

.flex-box.dl .download{
    margin-left:10px;
}

@media screen and (max-width: 600px){
    .flex-box.dl .download{
        margin-left:0;
    }
}

.flex-box.dl .display{
    background-color:#7A8F45;
}
.flex-box.dl .download{
    background-color:#536624;
}

.flex-box.dl .display a,
.flex-box.dl .download a{
    color:#fff;
    text-align: center;
    display:block;
    width:100%;
    padding:10px 0;
    text-decoration: none;
}

/* ===== 役員お問い合わせ ===== */
/* 検索セクション */
.block.contact .search{
    border:1px solid #29a2c6;
    padding:20px;
    margin-bottom:20px;
}

/* 戻るボタン */
.back_btn{
    background-color:#29a2c6;
    border-radius: 6px;
    max-width:240px;
}

.back_btn a{
    color:#fff;
    text-decoration: none;
    padding:12px 0;
    text-align: center;
    display:block;
    width:100%;
}

/* 問合せ詳細 */
.block.contact .box{
    margin-bottom:20px;
}

.block.contact .box .ttl{
    color:#29a2c6;
    font-size:14px;
    margin-bottom:10px;
}

.block.contact .box .input{
    line-height: 1.5;
}

.block.contact .box .close{
    color:red;
}

/*tabの形状*/
.tab{
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    border-bottom:2px solid #29a2c6;
}
.tab li a{
    display: block;
    background:#ddd;
    margin:0 2px;
    padding:10px 20px;
    color:#000;
    text-decoration: none;
}
.tab li.active a{
    background:#29a2c6;
    color:#fff;
}
  
.area{
    display: none;
    background: #fff;
    padding:50px 20px;
}
  
.area.is-active {
    display: block;/*表示*/
}


ul.tab-btn{
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin-bottom:20px;
}

ul.tab-btn li{
    margin-right:10px;
}

ul.tab-btn li a{
    border:1px solid #5CA361;
    position:relative;
    display: block;
    margin:0 2px;
    padding:10px 20px;
    text-decoration: none;
    color:#000;
}
  
ul.tab-btn li.active a{
    background:#5CA361;
    color:#fff;
}

.tab-btn-area{
    padding:20px;
    border:1px solid #ddd;
    background-color:#f4f4f4;
}

/* ===== スケジュール ===== */
.flex {
    display: flex;
}

#input_bbs.nop h2, .project_content.nop h2 {
    padding: 8px 15px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    margin: 0 0 20px;
}

.wrapper_tab {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin: 10px 0px;
}

.wrapper_tab .obj {
    padding: 0 10px 5px;
}

.wrapper_tab .active {
    color: #f7931e;
    font-weight: bold;
    border-bottom: 4px solid #f7931e;
}

@media screen and (max-width: 900px) {
    .flex div, .flex li {
        min-width: unset;
    }
}

.wrapper_tab .active a {
    color: #f7931e;
    font-weight: bold;
}

.wrapper_tab a {
    color: #333;
}

.page_controller {
    margin: 10px 0 -10px;
    text-align: center;
}

.page_controller a {
    color: #333;
    font-size: 12px;
}

span.partition {
    color: rgba(0, 0, 0, 0.3);
    margin: 0 2px;
}

table.default {
    background: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
    margin: 20px auto;
    width: 100%;
}

@media screen and (max-width: 600px){
    table.default {
        margin: auto;
    }
}

#input_bbs.nop table, .project_content.nop table {
    box-shadow: unset;
}

table.calendar {
    width: 100%;
}

table.calendar tr, table.meetingroom tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

table.calendar.schedule th, table.meetingroom.schedule th {
    color: #333;
}
table.calendar th {
    background: #EEEEEE;
    border: 1px solid #CCCCCC;
    text-align: center;
    padding: 5px;
}
table.calendar td, table.calendar th, table.meetingroom td, table.meetingroom th {
    vertical-align: middle;
}

table.list.calendar th,table.list.holiday th{
    width:auto;
}

table.calendar td,table.holiday td{
    position:relative;
}
table.calendar th, table.meetingroom th {
    background: #808080;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    padding: 2px;
    font-size: 12px;
}
caption, th {
    text-align: left;
}

td .add {
    display: none;
}
td:hover .add {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 100;
    box-shadow: 0 0 7px rgba(247, 147, 30, 0.5); }
  

.add a, .delete a {
    font-size: 12px;
    color: #fff;
    background: #f7931e;
    padding: 1px 7px;
    border-radius: 50px;
}

.block_change {
    padding: 0 15px 10px;
}

.wrapper_control .flex {
    flex-wrap: wrap;
}

.flex#shift li, .flex#month li {
    min-width: 4.3em;
}

ul.wrapper_tab{
    list-style-type: none;
    padding:0 20px 10px;
    flex-wrap: wrap;
}

ul.wrapper_tab a {
    display: block;
    padding-top: 10px;
}

span.circle_num {
    background: #333;
    padding: 1px 4px;
    line-height: 14px;
    border-radius: 50px;
    min-width: 16px;
    display: inline-block;
    font-size: 11px;
    min-height: 14px;
    position: relative;
    top: -2px;
    margin: 0 0 0 2px;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

a span.circle_num {
    background: #f7931e;
}

span.str_day {
    display: block;
    font-size: 30px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.6);
}

#schedule{
    border-collapse: inherit;
    border-spacing: 0;
    border-spacing: 0 20px;
}

#schedule select{
    width:auto;
}

