@charset 'utf-8';

/* ----- HTML再定義 ------------------------------------ */

* {
    margin: 0px;
    padding: 0px;

    font-size: 13px;
    font-style: normal;
    font-family: 'ＭＳ Ｐゴシック', 'MS UI Gothic', Osaka, sans-serif;
    text-align: left;
}

body {
    padding: 0px;

    background-color: #F7F7F7;

    text-align: center;
}
p, li, dt, dd, address {
    color: #444444;

    line-height: 1.4;
}
p {
    margin-bottom: 15px;
}
ul {
    margin: 0px 0px 20px 20px;
}
ul li ol li {
    margin: 0px 20px 0px 25px;
}
ul li ol {
    margin-bottom: 10px;
}
em {
    font-weight: bold;
}
img {
    margin-right: 10px;
    margin-bottom: 5px;
    border: 0px;
}
object {
    margin-left: 10px;
}

pre {
    width: 430px;

    margin: 10px;
    padding: 5px;
    border: 1px solid #EEEEEE;

    overflow: auto;
}
code, var, kbd {
    color: #000080;

    font-family: 'ＭＳ ゴシック', monospace;
    line-height: 1.2;
}
blockquote {
    margin: 10px;
    border-left: 2px solid #7777AA;
}
blockquote p {
    color: #999999;
}

form fieldset {
    border: 0px solid #000000;
}
form legend {
    display: none;
}
form input, form select {
    margin-right: 1px;
    padding: 1px;

    font-size: 90%;
}
@media screen {
    form input, form select {
        font-family: Verdana, Arial, sans-serif;
    }
}
form select {
    margin-top: 1px;
}
form p input {
    text-align: center;
}
form textarea {
    padding: 1px;

    font-family: 'ＭＳ ゴシック', Osaka, monospace;
    line-height: 1.2;
}

table {
    margin-bottom: 10px;
    border: 1px solid #666680;
    border-collapse: collapse;
}
table tr th {
    padding: 5px;
    border: 1px solid #AAAAAA;

    background-color: #EEEEEE;

    text-align: center;
}
table tr td {
    padding: 5px;
    border: 1px solid #AAAAAA;
}
table tr td input {
    margin: -2px;
}

a:link, a:visited {
    color: #999;

    text-decoration: none;
}
a:active, a:hover {
    color: #666;

    text-decoration: underline;
}

/* ----- 基本構造 -------------------------------------- */

div#container {
    width: 900px;

    margin: 0px auto;
    border-left: 1px solid #444444;
    border-right: 1px solid #444444;

    background-color: #FFFFFF;
}

div#header {
    float: none;
    clear: both;

    height: 120px;

    background-color: #000;
}
div#menu {
    float: none;
    clear: both;

    margin-bottom: 10px;

    background-color: #999;
}

div#navigation {
    width: 220px;

    float: right;
}
div#logs {
    float: left;
}
div#diary, div#comment, div#trackback {
    margin: 0px 15px;
}

div#page, div#navi, div#contents, div#work, div#form, div#canvas, div#env, div#status {
    float: none;
    clear: both;

    padding: 0px 15px;
}
div#footer {
    float: none;
    clear: both;
}

/* ----- ヘッダー -------------------------------------- */

div#header h1 {
    padding: 15px 15px 10px 15px;
    font-weight:normal;
}
div#header h1 a {
    color: #cccc99;

    font-size: 25px;
    text-decoration: none;
}

    div#header h1 a {
        font-family: Verdana, Arial, sans-serif;
    }


div#header p {
    margin: 0px 15px;
    color: #fff;
    font-size: 12px;
}

/* ----- メニュー -------------------------------------- */

div#menu h2 {
    display: none;
}

div#menu ul {
    padding: 5px 0px;
}
div#menu ul li {
    display: inline;

    margin-right: 10px;
}

div#menu a:link, div#menu a:visited {
    color: #FFFFFF;
}
div#menu a:active, div#menu a:hover {
    color: #000000;
}

/* ----- ナビゲーション -------------------------------- */

div#navigation h2 {
    margin: 7px 7px 17px 7px;
    padding: 5px;

    color: #FFFFFF;

    background-color: #999;
}

div#navigation ul {
    margin: 0px 10px 0px 12px;
}
div#navigation ul li {
    margin: 0px 0px 0px 0px;

    list-style-type: none;
}
div#navigation ul li ul {
    margin: 0px 0px 0px 20px;
}

div#navigation dl {
    margin: 0px 10px 0px 12px;
}
div#navigation dl dt {
}
div#navigation dl dd {
}

div#navigation form dl {
}
div#navigation form dl dt {
    display: none;
}
div#navigation form dl dd {
}
div#navigation form p {
    margin-left: 12px;
    margin-bottom: 0px;
}

div#navigation table {
    width: 180px;

    margin: -2px 0px 7px 7px;
    border: 0px solid #AAAAAA;
}
@media screen {
    div#navigation table {
            margin: -2px auto 7px auto;
        }
}
div#navigation table tr th {
    padding: 5px;
    border: 0px solid #AAAAAA;

    background-color: #FFFFFF;

    text-align: left;
}
div#navigation table tr td {
    padding: 3px;
    border: 0px solid #AAAAAA;

    text-align: center;
}
@media screen {
    div#navigation table tr td {
            padding: 5px;
        }
}

div#navigation .day {
    color: #444444;
}
div#navigation .satday {
    color: #333;
}
div#navigation .sunday {
    color: #cc6666;
}
div#navigation .today {
    background-color: #EEEEEE;
}

div#navigation .calender {
    margin: 2px 10px;
}
div#navigation .calender li {
    display: inline;

    margin-right: 10px;
}

div#navigation .block {
    margin-right: 15px;
    margin-bottom: 10px;
    padding-bottom: 20px;

    border: 1px solid #777777;

    text-align: center;
}

/* ----- 記事一覧 (Logs) -------------------------------------- */

div#logs {
    width: 678px;
}
html>body div#logs {
    /*! width: 680px; */
}

div#diary .diary {
    margin-bottom: 10px;
    padding: 2px;
    border: 1px solid #777777;
}

div#diary h2 {
    display: none;
}
div#diary h3 {
    margin: 5px 5px 20px 5px;
    padding: 5px;

    color: #FFFFFF;
    font-weight:normal;

    background-color: #999;
}
div#diary h4 {
    margin: 10px;
}

div#diary .text * {
    font-size: x-small;
    color: #666;
}
html>body div#diary .text * {
    font-size: small;
    color: #666;
}
div#diary .text p {
    margin: 15px 10px;
}
div#diary .text ul {
    margin: 15px 30px;
}
div#diary .text ol {
    margin: 15px 40px;
}

div#diary .info {
    margin: 5px 10px;

    text-align: right;
}
div#diary .info * {
    font-size: 10px;
}
div#diary .info li {
    display: inline;

    margin-left: 5px;
}

div#diary .list {
    border: 1px solid #AAAAAA;
    margin: 0px 0px 10px 20px;
    padding: 5px 10px;
}
div#diary .list h4 {
    border-bottom: 1px solid #CCCCCC;
    margin: 0px 0px 15px 0px;
    padding: 3px 5px;

    color: #444444;
    background-color: #FFFFFF;
}
div#diary .list ul {
    margin: 0px 0px 10px 20px;
}
div#diary .list dl dt {
    margin: 0px 5px;
        font-weight: bold;
}
div#diary .list dl dd {
    margin: 10px 10px 0px 15px;
}

/* ----- レスポンシブデザイン (スマホ対応) ---------------- */

@media (max-width: 100%) {
    /* Logs 部分优化 */
    div#logs {
        width: 100%;
        float: none;
        padding: 10px;
        box-sizing: border-box;
    }

    div#diary .diary {
        margin-bottom: 15px;
        padding: 10px;
        border: 1px solid #ccc;
    }

    div#diary h3 {
        font-size: 18px;
        margin: 10px;
        padding: 10px;
    }

    div#diary .text * {
        font-size: 14px;
        line-height: 1.6;
    }

    div#diary .text p {
        margin: 10px;
    }

    div#diary .text ul, div#diary .text ol {
        margin: 10px 20px;
    }

    div#diary .info {
        margin: 10px;
        font-size: 12px;
    }

    div#diary .list {
        margin: 10px;
        padding: 10px;
    }

    div#diary .list h4 {
        font-size: 16px;
        margin: 10px 0;
    }

    /* 图片优化 */
    div#diary img {
        max-width: 100%;
        height: auto;
        margin: 10px 0;
    }

    /* 表格优化 */
    div#diary table {
        width: 100%;
        display: block;
        overflow-x: auto;
        margin: 10px 0;
    }

    div#diary table tr th, div#diary table tr td {
        padding: 8px;
        font-size: 14px;
    }
}

/* ----- ページ移動 ------------------------------------ */

div#page h2 {
    display: none;
}

div#page ul {
    margin: 0px;
}
div#page ul li {
    display: inline;

    margin-right: 10px;
}

/* ----- ナビゲーション -------------------------------- */

div#navi h2 {
    display: none;
}

div#navi ul {
    margin: 5px 0px;

    text-align: right;
}
div#navi ul li {
    display: inline;

    margin-left: 5px;
}

div#navi form dl {
}
div#navi form dl dt {
    display: none;
}
div#navi form dl dd {
    float: left;
}
div#navi form input {
    padding: 0px;
}

/* ----- コンテンツ ------------------------------------ */

div#contents h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}
div#contents h3 {
    margin-bottom: 15px;
    padding: 3px 0px;
    border-bottom: 1px double #999999;
}
div#contents h4 {
    margin-bottom: 10px;
}

div#contents dl {
    margin-bottom: 20px;
}
div#contents dl dt {
    margin-top: 10px;
}
div#contents dl dd {
    margin-left: 30px;
}

/* ----- 処理選択 -------------------------------------- */

div#work h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}

div#work form {
    margin: 10px 0px;
}
div#work form dl dt {
    display: none;
}
div#work form dl dd {
    float: left;
}
div#work form input {
    padding: 0px;
}

/* ----- フォーム -------------------------------------- */

div#form h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}

div#form form {
    margin-bottom: 10px;
}
div#form form dl {
    margin-bottom: 20px;
}
div#form form dl dt {
    float: left;
    clear: left;
    width: 5em;
}
div#form form dl dd {
}
div#form form dl dd textarea {
    margin-top: 2px;
}
div#form form ul {
    margin: 0px 0px 20px 0px;
}
div#form form ul li {
    list-style-type: none;
}

/* ----- 環境設定 -------------------------------------- */

div#env h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}
div#env h3 {
    margin-bottom: 15px;
    padding: 5px;

    background-color: #EEEEEE;
}

div#env dl {
    margin-bottom: 20px;
}
div#env dl dd {
    margin-bottom: 10px;
}

div#env form {
    margin-bottom: 20px;
}
div#env form p {
    margin-bottom: 20px;
}

/* ----- キャンバス ------------------------------------ */

div#canvas h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}
div#canvas applet {
    margin-bottom: 15px;
}

/* ----- ステータス ------------------------------------ */

div#status h2 {
    margin-bottom: 15px;
    padding: 5px;
    border-top: 3px double #999999;
    border-bottom: 3px double #999999;
}
div#status h3 {
    margin-bottom: 15px;
    padding: 3px 0px;
    border-bottom: 1px double #999999;
}
div#status h4 {
    margin-bottom: 10px;
}

div#status dl {
    margin-bottom: 20px;
}
div#status dl dt {
    float: left;
    clear: left;
    width: 10em;
}
div#status dl dd {
}

/* ----- フッター -------------------------------------- */

div#footer address {
    padding: 10px 15px 20px 15px;

    color: #FFFFFF;

    background-color: #999;
}

div#footer a:link, div#footer a:visited {
    color: #FFFFFF;
}
div#footer a:active, div#footer a:hover {
    color: #000000;
}

/* ----- 個別指定 -------------------------------------- */

.new {
    color: #cc6666;
    font-weight:normal;
}

/* ----- レスポンシブデザイン (スマホ対応) ---------------- */

@media (max-width: 768px) {
    /* コンテナの幅を調整 */
    div#container {
        width: 100%;
        margin: 0;
        border: none;
    }

    /* ヘッダーの高さとフォントサイズを調整 */
    div#header {
        height: auto;
        padding: 10px;
    }
    div#header h1 a {
        font-size: 20px;
    }

    /* メニューのレイアウトをスタックに変更 */
    div#menu ul li {
        display: block;
        margin: 5px 0;
    }

    /* ナビゲーションの幅をフルに */
    div#navigation {
        width: 100%;
        float: none;
    }
    div#navigation table {
        width: 100%;
    }

    /* ログの幅をフルに */
    div#logs {
        width: 100%;
        float: none;
    }

    /* フォーム要素のサイズを調整 */
    form input, form select, form textarea {
        width: 100%;
        margin: 5px 0;
    }

    /* テーブルのレスポンシブ化 */
    table {
        display: block;
        overflow-x: auto;
    }

    /* フッターの調整 */
    div#footer address {
        padding: 10px;
        text-align: center;
    }
}
/* ----- 菜单 (Menu) -------------------------------------- */

div#menu {
    float: none;
    clear: both;

    margin-bottom: 10px;

    background-color: #999;
}

div#menu h2 {
    display: none;
}

div#menu ul {
    padding: 5px 0px;
    list-style: none; /* 移除默认列表样式 */
}

div#menu ul li {
    display: inline;

    margin-right: 10px;
}

div#menu a:link, div#menu a:visited {
    color: #FFFFFF;
    text-decoration: none;
}

div#menu a:active, div#menu a:hover {
    color: #000000;
}

/* 菜单按钮样式 */
.menu-button {
    display: none; /* 默认隐藏按钮 */
    background: #333;
    color: #fff;
    border: none;
    padding: 10px;
    font-size: 18px;
    cursor: pointer;
}

/* 响应式设计：手机端菜单折叠 */
@media (max-width: 768px) {
    /* 显示菜单按钮 */
    .menu-button {
        display: block;
        width: 100%;
        text-align: left;
        padding: 15px;
    }

    /* 隐藏菜单内容 */
    div#menu ul {
        display: none; /* 默认隐藏 */
        flex-direction: column; /* 垂直排列菜单项 */
    }

    /* 展开菜单时的样式 */
    div#menu ul.show {
        display: flex; /* 显示菜单 */
    }
}