@charset 'utf-8';

/* header */

.header-primary {
    display: flex;
    width: 820px;
    margin: 0 auto;
    justify-content: space-between;
}
div#header:not(:target) {
    padding-bottom: 5px;
    padding-top: 25px;
}
div#header.contact {
    /* background-image: url(img_request.jpg); */
    background-repeat: no-repeat;
    background-size: 180%;
    background-position: left;
}
#header .header_logo {
    margin: 0;
    width: auto;
}
#header h1.headtext {
    color: #ffffff;
    font-size: 12px;
    margin: 0;
    text-align: right;
    width: auto;
    height: auto;
}
#header .headtext-en {
    font-size: 64px;
    font-weight: normal;
}

@media screen and (max-width: 767px) {
    .header-primary {
        display: block;
        width: auto;
    }
    #header .headtext-en {
        text-align: center;
        margin: 20px 0;
        font-size: 18px;
        display: none;
    }
    div#header.contact {
        padding: 16px 0;
    }
    #header {
        .header_logo {
            position: absolute;
            width: 72px;
            margin: 0;
            top: -12px;

            img {
                width: 100%;
            }
        }
        .header-text {
            text-align: center;
            width: 100%;
            padding: 0 0 0;
        }
        h1.headtext {
            color: #ffffff;
            font-size: 18px;
            margin: 0;
            text-align: center;
            width: auto;
            height: auto;
            font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
            font-weight: normal;
        }
    }
}

div#main {
    float: none;
    width: 760px;
    padding-left: 0;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    div#main {
        width: 100%;
    }
    div#content {
        padding: 20px 5% 0;
    }
}

/* outline */

.outline-box {
    /* display: flex; */
    padding-top: 40px;
    /* justify-content: space-between; */
    /* align-items: anchor-center; */
}
.outline-box .text {
    color: #919191;
}
.outline-box .image {
    width: 420px;
    margin: 7px 0 0px;
    order: 2;
}
.outline-list {
    order: 1;

    p {
        line-height: 1.5;
        font-size: 18px;
        padding: 3px 0 0;
        font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    }
}
.outline {
    margin-bottom: 20px;

    .label {
        position: relative;
        display: inline-block;
        font-size: 12px;
        margin-bottom: 5px;
        padding: 7px 12px;
        line-height: 1;
        color: #ccc;
        border: 1px solid #555;
    }
}
.outline .title {
    font-size: 26px;
    margin: 0 0 10px;
}

@media screen and (max-width: 767px) {
    .outline-box {
        display: block;
        padding-top: 0;
    }
    .outline-box .text {
        font-size: 12px;
    }
    .outline-box .image {
        margin: 0 0 10px;
        text-align: center;
        width: 100%;
        max-width: 480px;
    }
    .outline-list {
        p {
            font-size: 16px;
            margin: 0;
            padding: 0;
            line-height: 1.6;
        }
    }
    .outline {
        display: flex;
        margin-bottom: 10px;
        gap: 0px 10px;
        align-items: center;
        display: flex;

        .label {
            font-size: 13px;
            padding: 4px 8px;
            top: 3px;
            width: 65px;
            text-align: center;
            line-height: 1.4;
            color: #aaa;
        }
        br {
            display: none;
        }
    }
}

/* form */

ol.cf-ol {
    padding: 30px 0pt 0pt !important;
}
ol.cf-ol li {
    width: auto;
    float: none;
    margin: 0 0 20px !important;
}
.cf-ol dl {
    width: 760px;
    float: none;
    display: flex;
    margin: 5px 0px 0px 0px;
}
.cf-ol dl dt {
    position: relative;
    width: 240px;
    float: none;
    display: flex;
    padding: 9px 0 0;
}
.cf-ol dl dd {
    width: 580px;
    float: none;
    position: relative;
}
.cf-ol dl dd input {
    width: 100%;
    box-sizing: border-box;
}
.cf-ol dl dd input::placeholder {
    color: #aaa;
}
.cf-ol dl dd input,
.cf-ol dl dd textarea {
    padding: 7px !important;
}
.cf-ol dl dd select {
    width: 240px;
}
.cf-ol dl dd input[type='checkbox'] {
    display: inline-block;
    width: auto;
    float: none;
    margin: 0 5px 10px 0;
}
.seminar_name {
    font-size: 22px;
    line-height: 1.5;
    font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    margin: 0 0 20px;
    color: #FFF;
    border-bottom: 1px solid rgb(60 60 60);
    padding: 0 0 13px;
}
.require:after {
    display: block;
    content: '必須';
    color: #ee0000;
    position: absolute;
    right: 30px;
}

@media screen and (max-width: 767px) {
    form {
        margin: 18px -20px 0;
        background: #222;
        padding: 10px 20px;
        border-top: 1px solid #313131;
    }
    ol.cf-ol {
        padding: 0 !important;
    }
    ol.cf-ol li {
        margin: 0 0 13px !important;
    }
    .cf-ol dl {
        display: block;
        width: 100%;
    }
    .cf-ol li:first-child dl dt {
        margin-top: 0 !important;
    }
    .cf-ol dl dt {
        width: 100%;
        margin: 18px 0 5px !important;
        letter-spacing: 0;
        padding: 0;
        display: block;
        font-size: 16px;
    }
    .cf-ol dl dd {
        width: 100%;
    }
    .cf-ol dl dd label {
        display: inline-block;
    }
    .cf-ol dl dd input {
        padding: 12px 13px !important;
    }
    .cf-ol dl dd input,
    .cf-ol dl dd select {
        border-radius: 0px;
        border: none;
        font-size: 16px;
        /* appearance: none; */
        /* outline: none; */
    }
    .cf-ol dl dd .select,
    .cf-ol dl dd select {
        width: 100%;
    }
    .cf-ol dl dd textarea {
        width: 100%;
        box-sizing: border-box;
        border-radius: 0px;
        font-size: 16px;
        padding: 12px 13px !important;
    }
    .seminar_name {
        font-size: 18px;
        padding: 0 0 13px;
        margin: 0 0 13px;
    }
    .require:after {
        display: inline-block;
        content: '必須';
        background: #a50000;
        position: relative;
        right: 0;
        margin-left: 7px;
        color: #fff;
        padding: 1px 5px 1px;
        font-size: 12px;
        top: -1px;
    }
}

.BUTTON {
    text-align: center;
    margin: 0 auto 0;
    padding: 20px 0 0;
    float: none;
    /* width: 260px; */
}
.BUTTON input {
    width: 400px;
    height: auto;
    float: none;
    /* clear: both; */
    margin: 0;
    font-size: 15px;
    font-weight: bold;
    background-color: #917d5b;
    background-image: url(icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: center right 16px;
    background-size: 7px auto;
    color: #fff;
    padding: 12px 13px !important;
    border: none;
}
.PRIVACY {
    margin: 20px 0 60px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .BUTTON {
        padding: 0 0 0;
        margin: 40px 0 0;

        input {
            width: 100%;
            height: auto;
            margin: 0;
            padding: 14px 13px !important;
            border-radius: 0px;
            font-size: 16px;
        }
    }
    .PRIVACY {
        margin: 40px 0 40px;
    }
}

/* FORM_CONFIRM */

.FORM_CONFIRM {
    padding: 0 0 0;
    margin: 40px 0 20px;
}
.FORM_CONFIRM_BOX {
    width: 100%;
    float: none;
    padding: 30px;
    margin: 0;
    box-sizing: border-box;
}
.FORM_CONFIRM_BOX hr {
    width: 100%;
    display: none;
}
.BACK {
    text-align: center;
    margin: 0 auto;
    display: block;
    padding: 40px 0;
    width: 200px;
}
.BUTTON a {
    float: none;
}
@media screen and (max-width: 767px) {
    .BACK {
        padding: 0;
        width: auto;
    }
    .BUTTON a {
        float: none !important;
    }
}

/* validate */

.formError {
    top: 1px !important;
    width: 100% !important;
}
.formError .formErrorContent,
.formError .formErrorArrow div {
    /* background: #e00509 !important; */
}
.formError .formErrorContent {
    font-size: 12px !important;
    color: #ff6161 !important;
    min-width: auto !important;
    padding: 4px 10px 0 0 !important;
    border-radius: 0 !important;
    letter-spacing: 0;
    box-sizing: border-box;
    width: auto;
    display: inline-block;
    background: none;
}
.is-invalid {
    border: 1px solid #d32f2f !important;
}
.is-valid {
    border: 1px solid #4caf50 !important;
}
.is-zip {
    /* width: 100px !important; */
}

@media screen and (max-width: 767px) {
    .formError .formErrorContent {
        font-size: 14px !important;
    }
}

.field {
    position: relative;
} /* 念のため */

.formError.inline-error {
    position: static; /* 絶対配置→通常フローへ */
    display: block;
    margin-top: 6px;
}

.formError.inline-error .formErrorContent {
    background: none; /* 吹き出し背景を消す */
    border: 0;
    box-shadow: none;
    padding: 0;
    color: #d32f2f; /* お好みで */
    font-size: 0.9rem;
}

.formError.inline-error .formErrorArrow {
    display: none;
}

/*===================================
    select
===================================*/

.select {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}
.select::after {
    display: block;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    content: '▼';
    position: absolute;
    top: 11px;
    bottom: 0;
    right: 10px;
    height: 10px;
    font-size: 14px;
    pointer-events: none;
    color: #000;
}
.select select {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #999;
    padding: 7px 30px 7px 7px !important;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.5;
    outline: none;
    background-color: #fff;
    color: #000;
}

@media screen and (max-width: 767px) {
    .select select {
        padding: 12px 30px 12px 13px !important;
    }
    .select::after {
        display: block;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        content: '▼';
        position: absolute;
        top: 16px;
    }
}
