/* スマートフォン用のレスポンシブデザイン */
@media only screen and (max-width: 500px) {
    body p {
        font-size: 14px;
    }

  
    .header-background {
        height: 80px;
    }

    .logo {
        font-size: 2em;
        line-height: 80px;
    }

    nav {
        flex-direction: column;
        display: none;
    }

    nav a {
        font-size: 14px;
        padding: 10px;
        text-align: center;
        border-bottom: 1px solid #ccc;
    }



/* ハンバーガーメニューのスタイル */
.hamburger-menu {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 1000;
}

.hamburger-menu div {
    width: 30px;
    height: 3px;
    background-color: black;
    margin: 5px;
    transition: 0.4s;
}
.hamburger-nav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    background-color: #000;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

.hamburger-nav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #fff;
    display: block;
    transition: 0.3s;
    border-bottom: 1px solid #fff;
}

.hamburger-nav a:hover {
    color: #f1f1f1;
}

.hamburger-nav .close-btn {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
    text-decoration: none; /* アンダーバーを削除 */
    border-bottom: none; /* border-bottomを適用しない */
}

.hamburger-nav .menu-title {
    font-size: 36px;
    color: #fff;
    padding-left: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
}

    .hero-image img,
    .hero-second-image img {
        height: 200px;
    }

    .shoshin-title {
        font-size: 20px;
    }

    .container {
        padding: 10px;
    }

    .certificate-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .certificate-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }

    .news-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .news-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }

    .zyukou-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .zyukou-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }


    section .container .content {
        flex-direction: column;
    }

    section .container .content .content-left,
    section .container .content .content-right {
        line-height: 1.8; /* 行間を調整 */
        font-size: 14px;
        font-weight: 400;
        max-width: 100%;
        margin: 0;
        padding: 10px;
    }

    section .container .content .content-right {
        padding: 10px;
        margin: 0; /* 追加の余白を削除 */
    }

    section .container .content .content-right img {
        max-width: 100%; /* スマートフォンサイズに対応 */
        max-height: auto; /* 高さを自動調整 */
        width: 100%; /* 幅を親要素に合わせる */
        height: auto; /* 高さを自動調整 */
    }

    .certificate-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .certificate-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }

    section .container .content img {
        width: 100%;
    }

    .moushikomi-form form {
        width: 100%;
    }

    .moushikomi-form label,
    .moushikomi-form input,
    .moushikomi-form textarea {
        width: 100%;
    }

    .digital-shoshin-item img {
        width: 100%;
    }

    .digital-shoshin-toc ul li a {
        font-size: 14px;
    }

    .cover-image img {
        max-width: 100%;
    }

    .accordion,
    .panel,
    .seiseki-list table {
        width: 100%;
    }

    .modal-content {
        width: 90%;
    }

    .container-kanri {
        padding: 10px;
    }

    .card-container {
        flex-direction: column;
    }

    .issue-item {
        max-width: 100%;
        min-width: 100%;
    }

    .thumbnail img {
        max-width: 100px;
    }

    .button-container {
        flex-direction: column;
        align-items: center;
    }

    .scroll-top-button {
        font-size: 14px;
        padding: 10px;
    }
}

/* タブレット用のレスポンシブデザイン */
@media only screen and (max-width: 768px) {
    body p {
        font-size: 15px;
    }
    
    .header-background {
        height: 100px;
    }

    .logo {
        font-size: 2.5em;
        line-height: 100px;
    }

    nav {
        flex-direction: column;
    }

    nav a {
        font-size: 16px;
        padding: 15px;
        text-align: center;
        border-bottom: 1px solid #ccc;
    }

    .hero-image img,
    .hero-second-image img {
        height: 250px;
    }

    .shoshin-title {
        font-size: 24px;
    }

    .container {
        padding: 15px;
    }

    .certificate-item {
        width: 100%;
        margin-bottom: 15px;
    }

    .certificate-item img {
        max-width: 100%;
    }

    section .container .content {
        flex-direction: column;
    }

    section .container .content .content-left,
    section .container .content .content-right {
        max-width: 100%;
        margin: 0;
        padding: 15px;
    }

    section .container .content .content-right img {
        display: block;
        margin: 0 auto;
        max-width: 100%; /* スマートフォンサイズに対応 */
        max-height: auto; /* 高さを自動調整 */
        width: 100%; /* 幅を親要素に合わせる */
        height: auto; /* 高さを自動調整 */
    }

    section .container .content img {
        width: 100%;
    }

    .certificate-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .certificate-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }
    .news-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .news-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }


    .zyukou-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .zyukou-item img {
        max-width: 100%;
        height: auto;
        display: inline-block; /* インラインブロック要素として扱う */
    }

    .moushikomi-form form {
        width: 100%;
    }

    .moushikomi-form label,
    .moushikomi-form input,
    .moushikomi-form textarea {
        width: 100%;
    }

    .digital-shoshin-item img {
        width: 100%;
    }

    .digital-shoshin-toc ul li a {
        font-size: 16px;
    }

    .cover-image img {
        max-width: 100%;
    }

    .accordion,
    .panel,
    .seiseki-list table {
        width: 100%;
    }

    .modal-content {
        width: 95%;
    }

    .container-kanri {
        padding: 15px;
    }

    .card-container {
        flex-direction: column;
    }

    .issue-item {
        max-width: 100%;
        min-width: 100%;
    }

    .thumbnail img {
        max-width: 150px;
    }

    .button-container {
        flex-direction: column;
        align-items: center;
    }

    .scroll-top-button {
        font-size: 16px;
        padding: 15px;
    }
    .edit-side {
        display: none;
    }

    .edit-body {
        margin: 0 auto;
        width: 90%;
    }
    .container-search input[type="text"] {
        width: 100%; /* テキストボックスの幅を50%に設定 */
        padding: 10px;
        margin: 5px;
        font-size: 16px;
        display: inline-block; /* インラインブロックに設定 */
    }
    
    .container-search button {
        padding: 10px 80px;
        margin: 20px 0; /* 左側に20pxのマージンを追加 */
        font-size: 16px;
        display: inline-block; /* インラインブロックに設定 */
    }
    
    

    .digital-shoshin-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .digital-shoshin-item {
        width: 100%;
        margin-bottom: 10px;
    }

    .button-container {
        text-align: center;
    }

    .button-container button,
    .button-container a {
        display: inline-block;
        width: 100%;
        text-align: center;
    }

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

    .mfp-figure {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: 100vh;
    }
}
 @media only screen and (min-width: 501px) {
            .hamburger-nav {
                display: none;
            }

        }