html{
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    background-color: rgb(218, 240, 245);
}

.login{
    max-width: 400px;
    padding: 50px;
    background-color: #e0e0e0;
    margin: 200px auto;
    border-radius: 10px;
    box-shadow: 3px 3px 5px #555;
}

.login h2{
    text-align: center;
}

.login form{
    width: fit-content;
    margin: auto;
}

.login input{
    border: none;
    height: 25px;
}

.login_btn{
    display: block;
    padding: 5px 30px;
    height: 50px!important;
    border-radius: 25px;
    background-color: #555;
    color: white;
    margin: 20px auto;
    cursor: pointer;
}

.admin_box{
    position: fixed;
    right: 10px;
    bottom:10px;
    padding: 20px;
}

.admin_box h2{
    text-align: center;
    margin: 20px;
    font-size: 1.2em;
}

.admin_box form{
    text-align: right;
}

.wrap {
    display: flex;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.wrap.header{
    align-items: center;
}

.wrap.header p{
    margin-left:30px;
}

.wrap main {
    width: 80%;
    background-color: #fff;
    padding: 10px;
    min-height: 100vh;
}

.wrap menu {
    width: 20%;
    background-color: #fff;
    margin: 0;
    padding: 10px;
    min-height: 100vh;
    
}

header {
    background-color: rgb(81, 110, 197);
    color: #fff;
}


ul{
    list-style: none;
}

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

.main_top .info{
    font-size: 1.05em;
    font-weight: bolder;
    margin-right: 30px;
}



/* タブのスタイル */
.tab {
    /* display: flex; */
}

.tab button {
    text-align: left;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    padding: 10px 15px;
    width:210px;
    height: 60px;
    cursor: pointer;
}

.tab button.active {
    background-color: #ccc;
}


.info_upload{
    font-size: 0.9em;
    border: #f25f5f 1px solid;
    padding: 10px;
    margin: 20px 0;
}


/* コンテンツのスタイル */
.tabcontent {
    display: none;
    padding: 20px;
    border: 1px solid #ccc;
}

.tabcontent.active {
    display: block;
}

.col2-a {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.col3-a {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.col3-b {
    display: grid;
    grid-template-columns: 1fr 2px 1fr;
    gap: 10px;
}

.col3-b li{
    padding:20px;
}

.col3-b .border{
    background-color: #ccc;
    height: 100%;
    margin: 0;
    padding: 0;
}

.col4-a {
    display: grid;
    grid-template-columns:1fr  1fr 1fr 1fr;
    gap: 10px;
}

.check{
    position: fixed;
    top:30px;
    right: -50vw;
    width:45vw;
    background-color: #fff;
    border: 1px solid #ccc;
    padding:20px;
    transition: 0.5s;
}

#error2{
    margin: auto;
    color:#ff0000;
}

.widthtypeA input {
    width:100px;
}

.widthtypeA .typeA2 {
    width:60px;
}

.border_left{
    border-left:#ccc ;
}

.notion{
    color: #676767;
    font-size: 10px;
    margin: 5px 0;
}

.Required{
    font-size: 10px;
    color:#FF0000;
}

.under_line hr{
    width: 80%;
    margin: 20px 0 30px;
    display: block;
}

.toTop{
    position: fixed;
    bottom: 20px;
    right: calc(50vw - 600px);
    padding: 10px 20px;
    border: #676767;
    color:#000;
    background-color: #ccc;
    transition: 0.5s;
}

.toTop:hover{
    opacity: 0.7;
}

.typeB{
    width:30px;
}

textarea{
    width:500px;
    height: 200px;
}

#tab7 ul li {
    margin-bottom: 30px;
    border-bottom:#ccc 2px solid;
    padding-bottom: 20px;
}

.info_s{
    font-size: 12px;
}