/*不要な要素の削除*/
.mktoGutter.mktoHasWidth,
.mktoOffset.mktoHasWidth,
.mktoClear,
.mktoOffset,
.mktoAsterix {
    display: none !important;
}

/* フォーム全体 */
.mktoForm {
    font-size: 2rem !important;
    width: 100% !important;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 768px) {
    .mktoForm {
        font-size: 1.6rem !important;
        padding: 0px !important;
    }
}

/* フォーム項目 */
.mktoFormItem {
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .mktoFormItem {
        flex-direction: column;
    }
}

/* label */
.mktoFormLabel {
    width: 290px;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    position: relative;
    display: flex;
    align-items: flex-start;
    vertical-align: top;
    border-bottom: 1px solid #ec6618;
}
.mktoFormLabel>div>div {
    width: inherit !important;
    padding: 1.2rem 0;
}
@media screen and (max-width: 768px) {
    .mktoFormLabel {
        width: inherit;
        align-items: center;
        padding: 0 0 1.06667vw 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid #ccc;
    }
}

/* 必須マーク */
.mktoFormLabel::after {
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    padding: 4px 9px;
    content: "必須";
    color: #ffffff;
    border-radius: 4px;
    background-color: #cf4000;
    position: absolute;
    right: 0;
}
@media screen and (max-width: 768px) {
    .mktoFormLabel::after {
        display: block;
        position: inherit;
    }
}

/* description */
.mktoFormItem>.mktoFieldDescriptor {
    flex: 1;
    display: flex;
    align-items: center;
    padding-left: 7%;
    padding-right: 7%;
    border-bottom: 1px solid #cccccc;
    width: 100%;
}
.mktoFormItem>.mktoFieldDescriptor>div {
    width: 100% !important;
}
@media screen and (max-width: 768px) {
    .mktoFormItem>.mktoFieldDescriptor  {
        border: none;
        padding: 0;
    }
}

/* 担当者名(姓)の余白調整*/
.mktoFormItem:nth-child(3)>.mktoFieldDescriptor:nth-child(2) {
    padding-left: 7%;
    padding-right: 3.5%;
}
/* 担当者名(名)の余白調整*/
.mktoFormItem:nth-child(3)>.mktoFieldDescriptor:nth-child(3) {
    padding-left: 3.5%;
    padding-right: 7%;
}
@media screen and (max-width: 768px) {
    .mktoFormItem:nth-child(3)>.mktoFieldDescriptor:nth-child(2),
    .mktoFormItem:nth-child(3)>.mktoFieldDescriptor:nth-child(3) {
        padding: 0;
    }
}

/* input, textarea, select */
.mktoFormItem>.mktoFieldDescriptor>div>input,
.mktoFormItem>.mktoFieldDescriptor>div>select,
.mktoFormItem>.mktoFieldDescriptor>div>textarea {
    font-size: 2rem !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 0.6em !important;
    margin: 2em 0;
    border: none !important;
    border-radius: 8px !important;
    background-color: #dedede !important;
}
.mktoFormItem>.mktoFieldDescriptor>div>textarea {
    resize: vertical !important;
}
@media screen and (max-width: 768px) {
    .mktoFormItem>.mktoFieldDescriptor>div>input,
    .mktoFormItem>.mktoFieldDescriptor>div>select,
    .mktoFormItem>.mktoFieldDescriptor>div>textarea {
        font-size: 1.6rem !important;
        padding: 1.2em !important;
        margin: .5em 0;
    }
    .mktoFormItem>.mktoFieldDescriptor>div>select {
        padding: .5em 1em !important;
    }
    .mktoFormItem>.mktoFieldDescriptor>div>textarea {
        height: inherit;
    }
}

/* ご提供いただく個人情報のお取り扱いに同意する */
.mktoFormAgreement {
    margin-top: 2em !important;
    display: flex;
    justify-content: center;
}
.mktoFormAgreement>div>div {
    float: none !important;
}
.mktoFormAgreement>div>div>div {
    width: 100% !important;
    display: flex;
    justify-content: center;
}
#agreement {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 22px !important;
    height: 22px;
    content: "";
    border: 1px solid #cccccc;
    -webkit-box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.2);
    margin-top: 5px;
}
#Lblagreement {
    margin-left: 0.5rem !important;
}

/* 個人情報のお取り扱い方針についてはこちらをご覧ください */
.mktoFormPolicy {
    margin-bottom: 2em !important;
    display: flex;
    justify-content: center;
}
.mktoFormPolicy>div>div>div {
    width: 100% !important;
    text-align: center;
}

/* コチラ */
.policy_link {
    position: relative;
    color: #d04000;
}
.policy_link:hover::before {
    opacity: 0;
}
.policy_link::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    height: 1px;
    margin: auto;
    content: "";
    border-bottom: 1px solid #d04000;
}
@media screen and (max-width: 768px) {
    .policy_link {
        padding: 0px !important;
    }
}

/* cvボタン領域 */
.mktoButtonRow {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mktoButtonRow>div {
    margin-left: 0 !important;
    width: 100%;
}

/* cvボタン領域 */
.mktoButton {
    font-size: 2.4rem !important;
    line-height: 1.2 !important;
    display: block !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 575px !important;
    margin: 0 auto !important;
    padding: 1.3em !important;
    cursor: pointer !important;
    -webkit-transition: 0.3s !important;
    transition: 0.3s !important;
    letter-spacing: 0.12em !important;
    color: #ffffff !important;
    border: 1px solid #d04000 !important;
    border-radius: 10px !important;
    background: #f69209 !important;
    background: -webkit-gradient(linear, left top, right top, from(#f69209), to(#ff7d00)) !important;
    background: -webkit-linear-gradient(left, #f69209 0%, #ff7d00 100%) !important;
    background: linear-gradient(90deg, #f69209 0%, #ff7d00 100%) !important;
    -webkit-box-shadow: 5px 5px 12px 0px rgba(0, 0, 0, 0.2) !important;
    box-shadow: 5px 5px 12px 0px rgba(0, 0, 0, 0.2) !important;
}
.mktoButton:hover {
    opacity: 0.7;
}

/*改行用クラス*/
@media screen and (min-width: 768px) {
    .sp {
        display: none !important;
    }
}

/*謎の余白を削除*/
@media screen and (min-width: 767px) {
    body {
        padding-bottom: 110px;
    }
}
