@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

body {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    background-color: #f4f4f4;
    color:#333;
    margin:0;
    padding:0;
    position: relative;
    height: 100vh;
    overflow-x: hidden;
    overflow-wrap: anywhere; /* 収まらない場合に折り返す */
    word-break: normal; /* 単語の分割はデフォルトに依存 */
    line-break: strict; /* 禁則処理を厳格に適用 */
}

/* リセットCSS */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: bottom;
    background: transparent;
    list-style: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

.text-white{
    color:#FFF;
}

a{
    text-decoration: none;
    display: block; 
    align-items: center;
    cursor: pointer;
}

.bold{
    font-weight: bold;
}

.font-s1{
    font-size:1.1rem;
}

.w-80{
    width:80px !important;
}

.w-120{
    width:120px !important;
}

/*　ボタン系　*/
button{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    font-size:1.0rem;
}

.cancel{
    width: 100px;
    display: inline-block;
    background-color: #999;
    border: 1px solid #999;
    color: #fff;
    padding: 10px 0;
    border-radius: 0.375rem;
    text-align: center;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px;
    transition: all 0.3s;
}

.cancel:hover{
    background-color:#666;
    border: 1px solid #666;
    transition: all 0.3s;
}

.cancel a{
    color:#fff !important;
}

.delete{
    width:100px;
    display:inline-block;
    background-color:#F44336;
    border:1px solid #F44336;
    color:#fff !important;
    padding:10px 0;
    border-radius:0.375rem;
    text-align:center;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px;
    transition: all 0.3s;
}
.delete:hover{
    background-color:#c3352b;
    border: 1px solid #c3352b;
    cursor: pointer;
}

.btn-green{
    width:100px;
    background-color:#00A78D;
    border:1px solid #00A78D;
    color:#FFF;
    font-size:1em;
    padding:10px;
    border-radius:0.375rem;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px;
    transition: all 0.3s;
    text-align:center;
}

.btn-green a{
    color:#fff;
    text-align:center;
    display: block;
}

.btn-green:hover{
    background-color:#29C4A0;
    border:1px solid #29C4A0;
    color:#FFF;
}

.btn-orange {
    background-color: #FFA500;
    border: 1px solid #FFA500;
    padding: 10px;
    width:150px;
    text-align:center;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.14) 0px 2px 2px 0px, rgba(0, 0, 0, 0.12) 0px 1px 5px 0px;
    border-radius: 0.375rem;
    cursor:pointer;
    transition: all 0.3s;
}
.btn-orange:hover{
    background-color: #FFC107;
    border: 1px solid #FFC107;
}
.btn-orange a{
    color:#fff;
}

.error-text {
    color: red;
    font-family: Arial, sans-serif;
}

/* モーダル関連のス��イル */
.modal-backdrop {
    z-index: 1040 !important;
}
.modal-content {
    z-index: 1100 !important;
}
.modal-open {
    overflow: auto !important;
    padding-right: 0 !important;
}
body {
    padding-right: 0 !important;
}

/* モーダルのサイズ調整 */
.modal-dialog {
    max-width: 400px;
}

/* ボタンのスタイル統一 */
.modal-footer .btn {
    width: 120px;
    white-space: nowrap;
    padding: 10px 0;
    font-size: 1rem;
    margin: 0; /* マージンをリセット */
}

/* キャンセルボタンのスタイル */
.modal-footer .btn-secondary {
    background-color: #999;
    border-color: #999;
    color: #fff;
}

.modal-footer .btn-secondary:hover {
    background-color: #666;
    border-color: #666;
}

/* 削除ボタンのスタイル */
.modal-footer .btn-danger {
    background-color: #F44336;
    border-color: #F44336;
}

.modal-footer .btn-danger:hover {
    background-color: #c3352b;
    border-color: #c3352b;
}

/* モーダルフッターのスタイル調整 */
.modal-footer {
    justify-content: center;
    gap: 10px;
}

/* ボタンのスタイル調整 */
.modal-footer .btn {
    width: 120px;
    white-space: nowrap;
    padding: 10px 0;
    font-size: 1rem;
    margin: 0; /* マージンをリセット */
}