#Mainbody {
    width: 100%;
    margin: 0 auto;
}

.TextRed {
    color: var(--color-LtRed);
}

p.Indent1em {
    margin-left: 1em;
    text-indent: -1em;
}

#inquiryMessage {
    width: calc(100vw * (1200 / 1440));
    max-width: 1200px;
    margin: 0 auto;
}

#inputBox {
    width: 100%;
    margin-bottom: 20px;
}

#inputBlock {
    border: solid 2px var(--color-Blue);
    margin: auto 1em auto 1em;
    border-radius: 20px;
    margin-bottom: 20px;
    padding: 1.5rem 0;
}

#inputBlock h2 {
    margin-top: 1rem;
    width: 100%;
}

#inputBlock dl {
    width: 95%;
    margin: 15px auto;
}

#inputBlock dt {
    font-size: 100%;
    line-height: 200%;
}

#inputBlock dd {
    font-size: 100%;
    line-height: 100%;
    margin-bottom: 0em;
    width: 100%;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: wrap;
    gap: 0.5rem 1rem;
}

#inputBlock #inputCheck {
    width: 20em;
    margin: 1rem auto 1rem 0;
}

input::placeholder {
    color: var(--color-LtBlue);
}

.halfClass {
    width: calc( 50% - 0.5rem);
    border: solid 1px var(--color-Blue);
    padding: 0.5em 1em;
    font-size: 100%;
    border-radius: 4px;
}

.half {
    display: inline-block;
    _display: inline;
    width: calc( 50% - 0.5rem);
    border-radius: 4px;
}

.maxClass {
    width: 100%;
    border: solid 1px var(--color-Blue);
    padding: 0.5em 1em;
    font-size: 100%;
    border-radius: 4px;
}

textarea {
    width: 100%;
    height: 200px;
    resize: vertical;
    border: solid 1px var(--color-Blue);
    padding: 0.5em 1em;
    font-size: 100%;
    border-radius: 4px;
}

.IndexMessage {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100vw * (1200 / 1440));
    max-width: 1200px;
    margin: 1em auto;
}

.IndexMessage div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: wrap;
    gap: 1em;
}

.IndexMessage a.BtnBlue {
    width: 20em;
}

#Porycy {
    width: 100%;
    margin: 0px auto 20px 0px;
}

#PorycyBlock {
    border: solid 2px var(--color-Blue);
    margin: 15px auto;
    border-radius: 1rem;
    width: 100%;
    padding: 1rem;
}

#PorycyBlocks {
    width: 100%;
    margin: 15px auto 15px auto;
}

#PorycyText {
    width: 95%;
    margin: 5px auto;
}

.ToiawaseBtn {
    display: inline-block;
    border-radius: 25px;
    font-size: 100%;
    line-height: 100%;
    text-align: center;
    cursor: pointer;
    padding: 0.5em 2em;
    background: var(--color-Blue);
    color: #ffffff;
    border: none;
}

.ToiawaseBtn:disabled {
    display: inline-block;
    border-radius: 25px;
    font-size: 100%;
    line-height: 100%;
    text-align: center;
    cursor: pointer;
    padding: 0.5em 2em;
    background: #c0c0c0;
    color: #ffffff;
    border: none;
}

.g-recaptcha {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    width: 300px;
}

#BoxDiv {
    vertical-align: middle;
}

#Member_Class {
    width: 98%;
    border: solid 1px #cccccc;
    padding: 0.5em 1em;
    font-size: 100%;
}

#Prefecture_Code {
    width: 98%;
    border: solid 1px #cccccc;
    padding: 0.5em 1em;
    font-size: 100%;
}

#Gender {
    width: 98%;
    border: solid 1px #cccccc;
    padding: 0.5em 1em;
    font-size: 100%;
}

#MemberBody {
    width: 95%;
    margin: 0 auto 0 auto;
    text-align: left;
}

p.Member {
    margin-top: 10px;
    width: 100%;
    display: block;
}

a.Btnwidth {
    width: 100%;
}

a.Btnwidth:hover {
    width: 100%;
    color: #F29600;
}

#InfoDivMeber {
    display: block;
    font-size: 1.1em;
    text-align: left;
    width: 100%;
}

#InfoDiv {
    margin-left: auto;
    font-size: 1.1em;
    white-space: nowrap;
}

.noChange {
    background-color: var(--color-PaleBlue);
}

.Filelabel {
    padding: 5px 20px;
    color: #ffffff;
    background-color: var(--color-Orange);
    cursor: pointer;
    border-radius: 25px;
    transition: .3s;
    display: inline-block;
    margin-bottom: 10px;
}

.UploadFile {
    display: none;
}

.FileArea {
    width: 95%;
    margin: 15px auto 15px auto;
}

.Fitem {
    display: inline-block;
}

.fileButton {
    ertical-align: middle;
}

.fileName {
    margin-right: 8px;
    font-size: 1em;
}

.fileSize {
    margin-right: 5px;
    color: #C0C0C0;
    font-size: 0.8em;
}

#fileitem {
    margin: 10px 0 0 0;
    background-clip: padding-box;
    background-color: #E9F1FA;
    border: solid 2px var(--color-Blue);
    padding: 2px 6px 2px;
    display: inline-block;
    vertical-align: middle;
    border-radius: 15px;
    display: inline-block;
}

.filecontents {
    display: inline-block;
    margin: 0 10px 0 0;
}

#MemberEdit {
    width: 95%;
    margin: 20px auto 0 auto;
}

.DeleteBtn {
    color: white;
    background-color: var(--color-Blue);
    border: solid 1px var(--color-Blue);
    border-radius: 10px;
}

input:disabled + label {
    color: #ccc;
    background-color: #C0C0C0;
}

#fullOverlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2147483647;
}

#Btn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    gap: 0.5rem;
    width: calc(100vw * (1200 / 1440));
    max-width: 1200px;
    margin: 1em auto;
}

.hide {
    display: none;
}

@media screen and (max-width: 767px) {
    /* 767px以下に適用されるCSS（スマホ用） */
    /*#BtnBox {
        width: 93%;
        margin: auto;
    }
    #MemberInfo {
        width: 100%;
    }*/
}

@media screen and (min-width: 768px) {
    /* 768px以上に適用されるCSS（pc） */
    .flex {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }
    /*#BtnBox {
        width: 20%;
    }*/
    #MemberInfo {
        width: 80%;
    }
}

#tabBlock,
#Toiawase {
    width: calc(100vw * (1200 / 1440));
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    /* gap: 0 10px; */
}

#tabBlock > .tabs {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .6em 1em;
    background-color: #ebebeb;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
    border-left: 2px solid var(--color-Blue);
    z-index: 1;
    border-bottom: 2px solid var(--color-Blue);
    border-top: 2px solid var(--color-Blue);
}

#tabBlock .tabs input {
    display: none;
}

#tabBlock > div {
    display: none;
    width: 100%;
    background-color: #fff;
}

#tabBlock .tabs:has(:checked) {
    border-bottom: 0;
    background: white;
    font-weight: bold;
}

#tabBlock .tabs:has(:checked) + div {
    display: block;
}

#tabBlock #inputBlock {
    border-radius: 0 0 1rem 1rem;
    margin: 0;
    border-top: 0;
    background-color: var(--color-white);
}

#tabBlock .tabs.tab-1 {
    border-radius: 1rem 0 0 0;
}

#tabBlock .tabs.tab-2 {
    border-radius: 0 1rem 0 0;
    border-right: 2px solid var(--color-Blue);
}

dd label input[name="NouyakuForm.Inquiry_Type"] {
    vertical-align: sub;
}

#tabBlock .tabs.tab-only {
    border-radius: 20px 20px 0 0;
    border-right: 2px solid var(--color-Blue);
}

.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}

.radio-group label {
    white-space: nowrap;
}
/*スマホ*/
@media screen and (max-width: 767px) {
    #inquiryMessage {
        width: calc(100vw * (312 / 360));
        max-width: calc(100vw * (312 / 360));
    }

    .IndexMessage {
        justify-content: center;
        align-items: center;
        flex-flow: column;
        width: calc(100vw * (312 / 360));
        max-width: calc(100vw * (312 / 360));
    }

    .IndexMessage div {
        justify-content: center;
        align-items: center;
        flex-flow: column;
    }

    #InfoDiv {
        margin-left: auto;
        font-size: 1.1em;
        white-space: nowrap;
        margin: 1rem;
    }

    #tabBlock > .tabs {
        font-size: 80%;
        line-height: 125%;
    }

    #Btn {
        width: calc(100vw * (312 / 360));
        max-width: calc(100vw * (312 / 360));
    }

    #Btn p {
        font-size: 80%;
        line-height: 125%;
    }
}
