body {
	font-family: sans-serif;
	background-image: url("/pics/haikei1.png");
	color: #121212;
	line-height: 1.8;
    hyphens: auto;
    font-feature-settings: "palt";
}

p {
	font-family: serif;
	line-height: 1.9;
	text-indent: 1em;
    text-align: justify;
    text-justify: auto;
}

header {
	background-color: #282828;
	text-align: center;
	padding-top: 3px;
	padding-bottom: 2px;
	margin-bottom: 2%;
	margin-right: auto;
	margin-left: auto;
	width: 92%;
	border-radius: 3px;
	color: #cfcfcf;
}

aside {
	border-radius: 3px;
	width: 14%;
	margin-left: auto;
	text-align: center;
	color: #dddddd;
}

.asidemenu {
	margin-right: 2%;
	margin-left: 2%;
	width: 96%;
}

.artwork_picspace {
	width: 50%;
	margin-right: 3px;
}

.artwork_picture {
	width: 90%;
	border: 2px solid white;
}
.artwork_explaination {
	margin-left: 6px;
	flex-grow: 1;
}
.artwork_space {
	border-bottom: 3px solid white;
	padding: 2px;
	margin: 2px;
}

.artwork_space_flex {
	display: flex;
	justify-content: space-between;
	padding: 3px 1px;
}

article {
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 3px;
	width: 50%;
	margin-left: 2em;
	margin-right: auto;
	padding: 1.5em
}

.bold {
	font-family: "Yu Gothic", "Hiragino Gothic", "MS Gothic", sans-serif;
	font-style: bold;
}

.diary_article {
	border-top: 1px solid #222222;
	padding-top: 2px;
}

main {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

footer{
	text-align: center;
	margin-left: 7%; margin-right: 7%;
	color: #cfcfcf;
}

.flexbox {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 3px 1px;
}

.italic  {
	font-style: italic;
}

.ue_button {
	position: fixed;
	bottom: 4%;
	right: 1%;
	width: 5%;
}
.distributed_emoji {
    width: 20%;
}

ul {
	list-style-type: circle;
}

/* 予定表テーブルのスタイル */
#schedule_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    border: 1px solid #333;
}

#schedule_table tr {
    background-color: #d3d3d3;
    border: 1px solid #ccc;
}

#schedule_table th.month_label {
    width: 80px;
    text-align: left;
    padding: 10px 5px;
    font-weight: bold;
    border-right: 2px solid #282828;
    vertical-align: middle;
}

#schedule_table td {
    padding: 10px;
    vertical-align: middle;

    border: 1px solid #ccc;
	background-color: #ddd;
}

/* 予定項目の並び（td内） */
.entries_area {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.schedule_entry {
    display: inline-block;
    white-space: nowrap;
}

.day_italic {
    font-style: italic;
    font-weight: bold;
}

.content_initial {
    font-size: 0.75em;
    margin-left: 2px;
}

/* 凡例のスタイル */
#legend {
    margin-top: 20px;
    border-collapse: collapse;
    font-size: 0.9em;
    width: 100%;
}

#legend th {
    width: 60px;
    text-align: left;
    vertical-align: top;
    padding: 5px;
    background-color: #d3d3d3;
    border: 1px solid #ccc;
}

#legend td {
    padding: 5px;
    border: 1px solid #ccc;
	background-color: #ddd;
}

/* 重要なお知らせ（caution）エリアのスタイル */
ul.caution {
    padding: 0;
    margin: 24px 0;

    background-color: #fffbe6; 
    border-left: 5px solid #f0ad4e; 
    border-radius: 4px; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); 
    overflow: hidden; 
}

ul.caution li {
    padding: 16px 20px;
    color: #5a4a00;
}

ul.caution li p {
    margin: 0;
    line-height: 1.7;
}

/*
ul.caution.alert {
    background-color: #fbeaea; 
    border-left-color: #d9534f;
}
ul.caution.alert li {
    color: #843534;
}
*/

@media screen and (max-width: 768px) {

    main {
        flex-direction: column;
    }

    header {
        width: 96%;
        margin-bottom: 10px;
        padding: 10px 0;
    }

    aside {
        width: 94%;
        margin: 0 auto 20px auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center; 
        background-color: rgba(40, 40, 40, 0.5); 
        padding: 10px;
    }

    .asidemenu {
        width: auto;     
        height: 40px;     
        margin: 5px;      
    }
    
    aside a {
        display: inline-block;
    }

    article {
        width: 92%;       
        margin: 0 auto;   
        padding: 10px 3%; 
    }

    img {
        max-width: 100%;
        height: auto;
    }

    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        width: 100%;
    }
    
    p {
        text-align: justify;
        text-justify: auto;
        text-indent: 1em;   
        font-size: 16px;  
    }

    .ue_button {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
        opacity: 0.8; 
    }
    
    form input[type="text"] {
        width: 100% !important; 
        margin-bottom: 5px;
        box-sizing: border-box; 
    }

	.distributed_emoji {
    	width: 100px;
	}
}


