/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 共通スタイル
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.display-flex {
    display: flex;
    justify-content: center;
    justify-items: center;
    align-items: center;
}
.flex-left {
    justify-content: flex-start;
}
.flex-top {
    align-items: flex-start;
}

/* 余白 */
.mt1 {
    margin-top: 1rem;
}
.mt2 {
    margin-top: 2rem;
}

/* 横幅 */
.w80 {
    width: 80%;
    margin: 0 auto;
}

/* ボタン */
input[type="submit"],
input[type="button"],
button[type="submit"]  {
    display: block;
    border: 1px solid #1268ca;
    background-color: #ffffff;
    color: #1268ca;
    padding: .5rem 1.5rem;
    cursor: pointer;
    margin: 2rem 1rem;
    text-align: center;
}
input[type="submit"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover,
.selimagebtn:hover {
    background-color: #1268ca;
    color: #ffffff;
    border: 1px solid #ffffff;
}

label {
    cursor: pointer;
}

/* コピーボタン */
.copybtn {
    display: block;
    border: 1px solid #1268ca;
    background-color: #ffffff;
    color: #1268ca;
    padding: .5rem 1rem;
    cursor: pointer;
    margin: .2rem 0 .2rem auto;
    text-align: center;
    border-radius: 5rem;
}
.copybtn:hover {
    background-color: #1268ca;
    color: #ffffff;
    border: 1px solid #ffffff;
}

/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 標準 
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
 /* タイトル */
.title_band {
    padding: .5rem .2rem;
    background-color: #1268ca;
}
.title_band h1 {
    color: #ffffff;
    text-align: center;
    font-size: 2.5rem;
    letter-spacing: 0.3rem;
}

/* アップロード写真 */
.photo_box {
    width: 50%;
    padding: .5rem;
}
.photo_box > div.img {
    width: 100%;
    height: 350px;
}
.upload_photo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* ファイル選択ボタン */
.selimagebtn {
    display: inline-block;
    padding: .5rem 1rem;
    margin: .2rem .5rem;
    border: 1px solid #1268ca;
    background-color: #ffffff;
    color: #1268ca;
    border-radius: 1rem;
    cursor: pointer;
}
.selimagebtn input[type="file"] {
    display: none;
    width: 100%;
    height: 100%;
}

/* 写真から自動取得できるデータ */
.photo_info {
    width: 50%;
    padding: .5rem;
}
.photo_info_tbl,
.edit_tbl {
    width: 100%;
    padding: 0.5rem;
    table-layout: fixed;
    border-collapse: collapse;
    word-wrap: break-word;
}
.photo_info_tbl th.hr,
.edit_tbl th.hr {
    width: 30%;
    border-right: 1px dashed #1268ca;
}
.photo_info_tbl th,
.photo_info_tbl tr:last-child {
    border-bottom: 2px solid #1268ca;
}
.photo_info_tbl td.hr {
    border-right: 1px dashed #1268ca;
}
.photo_info_tbl td,
.edit_tbl tr {
    border-bottom: 1px solid #1268ca;
}
.photo_info_tbl th,
.photo_info_tbl td,
.edit_tbl th,
.edit_tbl td {
    padding: 0.2rem;
}

/* 入力情報 */
.edittxt_box {
    width: 50%;
    padding: .5rem;
}
.edit_tbl input {
    border: none;
    border-bottom: 1px dashed #1268ca;
}
.edit_tbl textarea {
    width: 100%;
    min-height: 100px;
    border: none;
    border-bottom: 1px dashed #1268ca;
    resize: vertical;
}

/* 結果欄 */
.resultTextbox {
    width: 45%;
    min-height: 100px;
    padding: 0.5rem;
    background-color: rgb(220, 247, 255);
    border-radius: .5rem;
    margin-bottom: 2rem;
    margin-right: auto;
}

/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 PC
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
@media screen and (min-width: 768px) {
    .pc-noshow {
        display: none !important;
    }
}

/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 スマホ
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
@media screen and (max-width: 767px) {
    .sp-noshow {
        display: none !important;
    }
    .w80 {
        width: 100%;
        padding: 0 5%;
    }
    /* .flex1, .flex2 {
        display: block;
    } */
    .photo_box,
    .photo_info,
    .resultTextbox,
    .edittxt_box {
        width: 100%;
    }
    .photo_box > div.img {
        height: 250px;
    }
    .selimagebtn {
        width: 100%;
        margin: .5rem 0;
        text-align: center;
    }
    #filename {
        width: 100%;
        text-align: left;
    }
    .flex1 {
        flex-direction: column;
    }
    .flex2 {
        flex-direction: column-reverse;
    }
    input[type="submit"],
    button[type="submit"],
    input[type="button"] {
        margin: .5rem 1rem 2rem;
    }
    /* input[type="button"] {
        margin: 1rem auto;
    } */
    .resultTextbox {
        margin-top: 0 !important;
    }
}