.mainVisualArea.__child {
    position: relative;
    padding: 296px 0 0 0
}

@media screen and (max-width: 768px) {
    .mainVisualArea.__child {
        padding: 177px 0 0 0
    }
}

.mainVisualArea.__child .head {
    margin: 0 0 0 10.4166666667vw;
    color: #303030
}

@media screen and (min-width: 1441px) {
    .mainVisualArea.__child .head {
        margin: 0 0 0 150px
    }
}

@media screen and (max-width: 768px) {
    .mainVisualArea.__child .head {
        margin: 0 0 0 8vw
    }
}

.mainVisualArea.__child h1 .text {
    font-size: clamp(2.625rem, -1.375rem + 8.3333vw, 6.125rem);
    line-height: clamp(3.125rem, -1.6607rem + 9.9702vw, 7.3125rem);
    letter-spacing: .06em;
    text-transform: uppercase
}

.mainVisualArea.__child .subTitle .text {
    font-size: clamp(2.1875rem, 1.8304rem + .744vw, 2.5rem);
    line-height: clamp(2.625rem, 2.1964rem + .8929vw, 3rem);
    letter-spacing: .06em;
    text-transform: uppercase
}

.mainVisualArea.__child .sub .text {
    margin: .9722222222vw 0 0 0;
    font-size: clamp(.875rem, .7321rem + .2976vw, 1rem);
    line-height: clamp(1.25rem, 1.0357rem + .4464vw, 1.4375rem);
    letter-spacing: .2em
}

@media screen and (min-width: 1441px) {
    .mainVisualArea.__child .sub .text {
        margin: 14px 0 0 0
    }
}

@media screen and (max-width: 768px) {
    .mainVisualArea.__child .sub .text {
        margin: 2.6666666667vw 0 0 0
    }
}

.mainVisualArea.__child .img {
    position: relative;
    width: calc(100% - 70px);
    height: 423px;
    margin: 170px auto 0
}

@media screen and (max-width: 768px) {
    .mainVisualArea.__child .img {
        width: calc(100% - 30px);
        height: 220px;
        margin: 18.1333333333vw auto 0
    }
}

.inqueryArea {
    max-width: 1140px;
    width: 100%;
    margin: 142px auto 0
}

@media screen and (max-width: 1200px) {
    .inqueryArea {
        max-width: 850px
    }
}

@media screen and (max-width: 1200px)and (max-width: 1000px) {
    .inqueryArea {
        max-width: none;
        width: auto;
        margin: 142px 4.1666666667vw 0
    }
}

@media screen and (max-width: 1200px)and (max-width: 1000px)and (max-width: 768px) {
    .inqueryArea {
        margin: 72px 8vw 0
    }
}

.inqueryArea.partner .innerBlock {
    max-width: 810px;
    width: 100%;
    margin: auto
}

.inqueryArea.partner h2 {
    font-size: 25px;
    font-weight: 700;
    color: #303030;
    text-align: center;
    padding: 147px 0 119px;
    letter-spacing: .04em;
    line-height: 1.5
}

.inqueryArea.partner p {
    line-height: normal;
    font-size: 15px;
    color: #303030
}

.inqueryArea.partner p:not(:last-child) {
    margin-bottom: 1.5em
}

.inqueryArea.partner p.--right {
    text-align: right
}

.inqueryArea.partner .head {
    margin-bottom: 26px
}

.inqueryArea.partner .contents {
    height: 300px;
    padding: 32px 24px;
    overflow-y: scroll;
    background: #fff
}

.inqueryArea.partner .contents h3 {
    margin-bottom: 6px;
    font-size: 18px;
    font-weight: bold;
    text-align: center
}

.inqueryArea.partner .contents h4 {
    margin-top: 34px;
    margin-bottom: .6em;
    text-align: center;
    font-weight: bold;
    font-size: 16px
}

.inqueryArea.partner .contents .caption {
    margin-bottom: 1.5em;
    text-align: center
}

.inqueryArea.partner .left {
    max-width: 280px
}

.inqueryArea.partner .left .status {
    margin: 0 24px 0 0;
    word-break: keep-all
}

.inqueryArea.partner .right input {
    width: 100%
}

.inqueryArea.partner .form .mw_wp_form {
    margin-top: 40px
}

.inqueryArea.partner .form .input-common.--text input::placeholder {
    color: rgba(48, 48, 48, .2)
}

.inqueryArea.partner .form .input-common.--radio {
    margin-bottom: 70px;
    justify-content: center;
    text-align: center
}

.inqueryArea.partner .form .confirmBtn input {
    width: 100%;
    padding: 14px 0;
    font-size: 14px;
    line-height: 180%;
    color: #fff;
    text-align: center;
    border: 1px solid #303030;
    box-sizing: border-box;
    background: #303030;
    transition: .3s ease-in-out
}

.inqueryArea.partner .form .confirmBtn input:hover {
    color: #303030;
    background: #fff
}

input:focus,
textarea:focus {
    outline: none
}

.mw_wp_form {
    margin: 147px 0 0
}

@media screen and (max-width: 768px) {
    .mw_wp_form {
        margin: 54px 0 0
    }
}

.mw_wp_form .horizontal-item {
    display: inline-block;
    margin: 0 30px 0 0 !important
}

.mw_wp_form .horizontal-item input {
    display: none
}

.mw_wp_form .horizontal-item input:checked+.mwform-radio-field-text::after {
    left: 4px;
    width: 10px;
    height: 10px;
    background: #c4c4c4
}

.mw_wp_form .horizontal-item input:checked+.mwform-checkbox-field-text::after {
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    background: url(../../dist/images/contact/img_icon_checked.svg) no-repeat;
    background-size: contain
}

.mw_wp_form .horizontal-item .mwform-radio-field-text {
    position: relative;
    padding: 0 0 0 22px
}

.mw_wp_form .horizontal-item .mwform-radio-field-text::before,
.mw_wp_form .horizontal-item .mwform-radio-field-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-radius: 100%;
    background: #fff
}

.mw_wp_form .horizontal-item .mwform-radio-field-text::before {
    width: 18px;
    height: 18px;
    border: 1px solid #c4c4c4
}

.mw_wp_form .horizontal-item .mwform-checkbox-field-text {
    position: relative;
    padding: 0 0 0 22px
}

.mw_wp_form .horizontal-item .mwform-checkbox-field-text::before,
.mw_wp_form .horizontal-item .mwform-checkbox-field-text::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #fff
}

.mw_wp_form .horizontal-item .mwform-checkbox-field-text::before {
    width: 14px;
    height: 14px;
    border: 1px solid #c4c4c4
}

.mw_wp_form .confirmBtn {
    width: 238px;
    margin: 44px auto 0
}

.mw_wp_form .confirmBtn button,
.mw_wp_form .confirmBtn .returnBtn {
    width: 100%;
    padding: 14px 0;
    font-size: 14px;
    line-height: 180%;
    color: #fff;
    text-align: center;
    border: 1px solid #303030;
    box-sizing: border-box;
    background: #303030;
    transition: .3s ease-in-out
}

@media screen and (min-width: 768px) {

    .mw_wp_form .confirmBtn button:hover,
    .mw_wp_form .confirmBtn .returnBtn:hover {
        color: #303030;
        background: #fff
    }
}

.input-common {
    display: flex;
    align-items: center
}

@media screen and (max-width: 1000px) {
    .input-common {
        display: block
    }
}

.input-common .error {
    font-family: noto-sans-cjk-jp, sans-serif;
    font-style: normal;
    font-weight: 500
}

/* ファイル添付 */
.input-common.--file {
    align-items: flex-start;
}

.input-common.--file+.input-common.--file {
    margin-top: 22px;
}

.input-common.--file .left {
    padding-top: 6px;
}

.input-common.--file .right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.input-common.--file .right .error {
    width: 100%;
    order: 4;
    margin-left: 0;
}

.input-common.--file input[type="file"] {
    width: 170px;
}

/* ファイル添付のファイル名 */
.input-common.--file input[type="file"] {
    font-size: 16px;
}

/* 「アップロードしました」のリンク表示を非表示（hidden inputは残るので送信には影響なし） */
.mw-wp-form_file {
    display: none;
}

/* ネイティブの「選択されていません」の文字を透明にして見えなくする（ボタンの見た目には影響しません） */
.input-common.--file input[type="file"] {
    color: transparent;
}

/* 自作のファイル名表示用テキスト */
.input-common.--file .custom-filename {
    width: calc(100% - 200px);
    margin-left: 8px;
    font-size: 16px;
    color: #333;
    display: inline-block;
}

/* ファイル添付のボタン */
.input-common.--file input[type="file"]::file-selector-button {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    width: 170px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #333;
    border: 1px solid #333;
    cursor: pointer;
    margin-right: 10px;
}

/* ファイル添付のボタン Safari等の古い実装への対応 */
.input-common.--file input[type="file"]::-webkit-file-upload-button {
    color: #fff;
    font-size: 16px;
    background-color: #333;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    margin-right: 10px;
}

.input-common.--file .text.--annotation-bottom {
    margin-top: 3px;
    margin-left: 0;
    width: 100%;
}


/* ラジオボタン */
.input-common.--radio .mwform-radio-field label {
    cursor: pointer;
    display: flex
}

@media screen and (max-width: 1200px) {
    .input-common.--radio .right {
        width: 500px
    }

    .input-common.--radio .right .horizontal-item {
        margin-top: 10px !important
    }
}

@media screen and (max-width: 1200px)and (max-width: 1000px) {
    .input-common.--radio .right {
        width: auto
    }
}

/* チェックボックス */
@media screen and (max-width: 768px) {
    .input-common.--checkbox .right {
        width: auto
    }

    .input-common.--checkbox .right .horizontal-item {
        margin-top: 10px !important
    }
}

.input-common.--textarea {
    align-items: flex-start
}

.input-common.--textarea .error {
    margin: 0 !important
}

.input-common.--agree {
    display: block;
    margin: 117px 0 0 !important
}

@media screen and (max-width: 768px) {
    .input-common.--agree {
        margin: 80px 0 0 !important
    }
}

.input-common.--agree .text {
    color: #303030
}

.input-common.--agree .title .text {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: .1em
}

.input-common.--agree .detail {
    margin: 4px 0 0
}

.input-common.--agree .detail .text {
    font-size: 14px;
    line-height: 180%
}

.input-common.--agree .contents {
    height: 280px;
    margin: 23px 0 0;
    padding: 45px 55px;
    background: #fff;
    overflow: auto
}

@media screen and (max-width: 768px) {
    .input-common.--agree .contents {
        margin: 40px 0 0;
        padding: 45px 27px
    }
}

.input-common.--agree .contents .text.--r {
    font-size: 14px;
    line-height: 180%
}

.input-common.--agree .contents .text.--h {
    margin: 47px 0 0;
    font-size: 14px;
    line-height: 180%
}

.input-common.--agree .contents .text.--h.m-top {
    margin-top: 20px
}

.input-common.--agree .contents .title.m-top {
    margin-top: 100px
}

.input-common.--agree .contents .title.text.--r {
    font-size: 18px;
    line-height: 27px;
    letter-spacing: .1em
}

.input-common.--agree .agreeCheck {
    margin: 60px 0 0
}

.input-common.--agree .agreeCheck .horizontal-item {
    cursor: pointer;
    display: block;
    width: fit-content;
    margin: 0 auto 0 !important
}

.input-common.--agree .agreeCheck .mwform-checkbox-field-text {
    padding-left: 26px
}

.input-common.--agree .agreeCheck .mwform-checkbox-field-text::before {
    width: 18px;
    height: 18px;
    border-color: #000
}

.input-common.--agree .agreeCheck .horizontal-item input:checked+.mwform-checkbox-field-text::after {
    top: 0;
    left: 6px;
    width: 6px;
    height: 11px;
    background: none;
    border: solid #303030;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.input-common.--agree .agreeCheck .error {
    text-align: center
}

.input-common+.input-common {
    margin: 26px 0 0
}

.input-common .left {
    max-width: 246px;
    width: 100%;
    display: flex;
    align-items: center
}

.input-common .left.--top {
    align-items: flex-start;
}

.input-common .left.--start {
    align-items: flex-start
}

.input-common .left .status {
    padding: 2px 8px;
    font-size: 12px;
    line-height: 180%;
    color: #fff;
    white-space: nowrap;
}

.input-common .left .status.--required {
    background: #000
}

.input-common .left .status.--any {
    background: #c4c4c4
}

.input-common .left .title {
    margin: 0 0 0 24px;
    font-size: 14px;
    line-height: 180%;
    color: #303030
}

.input-common .left .text.--annotation {
    margin-left: 24px
}

.input-common .right {
    width: 850px;
    margin: 0 0 0 43px
}

@media screen and (max-width: 1000px) {
    .input-common .right {
        width: auto;
        margin: 8px 0 0
    }
}

/* MW WP Formのテキスト系入力欄のプレースホルダー色を変更 */
.mw_wp_form input[type="text"]::placeholder,
.mw_wp_form input[type="email"]::placeholder,
.mw_wp_form input[type="tel"]::placeholder,
.mw_wp_form textarea::placeholder {
    color: #c4c4c4;
}

/* Firefox対応 */
.mw_wp_form input[type="text"]::-moz-placeholder,
.mw_wp_form textarea::-moz-placeholder {
    color: #c4c4c4;
    opacity: 1;
}

.input-common .right textarea {
    width: 850px;
    height: 120px;
    padding: 10px;
    background: #fff;
    resize: vertical
}

@media screen and (max-width: 1200px) {
    .input-common .right textarea {
        width: 100%
    }
}

.input-common .right .error {
    margin: 0 0 0 8px;
    font-size: 12px;
    line-height: 180%;
    word-break: keep-all
}

.input-common.--text .right {
    display: flex;
    align-items: flex-end
}

.input-common.--text .right input,
.input-common.--select .right select,
.input-common.--schedule .right input,
.input-common.--schedule .right select,
.custom-select__trigger {
    height: 40px;
    padding: 10px;
    background: #fff
}


/* --schedule */
.custom-datetime__input::-webkit-datetime-edit-fields-wrapper,
.custom-datetime__input::-webkit-datetime-edit-text,
.custom-datetime__input::-webkit-datetime-edit-month-field,
.custom-datetime__input::-webkit-datetime-edit-day-field,
.custom-datetime__input::-webkit-datetime-edit-year-field,
.custom-datetime__input::-webkit-datetime-edit-hour-field,
.custom-datetime__input::-webkit-datetime-edit-minute-field {
    -webkit-text-fill-color: #303030 !important;
    color: #303030;
}

.input-common.--schedule .right input {
    width: 425px
}

@media screen and (max-width: 1200px) {
    .input-common.--schedule .right input {
        width: 70%
    }
}

@media screen and (max-width: 768px) {
    .input-common.--schedule .right input {
        width: 100%
    }
}

/* --select */
.custom-select {
    position: relative;
    width: 425px;
    color: #C4C4C4;
    user-select: none;
}

@media screen and (max-width: 1200px) {
    .custom-select {
        width: 70%
    }
}

@media screen and (max-width: 768px) {
    .custom-select {
        width: 100%
    }
}

.custom-select__trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    color: #C4C4C4;
    cursor: pointer;
}

/* 選択済みになったら黒字に */
.custom-select__trigger.has-value {
    color: #303030;
}

.custom-select__trigger::after {
    content: '';
    width: 12px;
    height: 8px;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23C4C4C4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
    position: relative;
    z-index: 12;
}

/* 開いているときは上向きに反転 */
.custom-select.is-open .custom-select__trigger::after {
    transform: rotate(180deg);
}

.custom-select__options {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #303030;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 300px;
    overflow-y: auto;
    z-index: 10;
}

.custom-select.is-open .custom-select__options {
    display: block;
}

.custom-select__options li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #303030;
    height: 40px;
    padding: 0 10px;
    cursor: pointer;
    box-sizing: border-box;
}

/* チェックマーク（borderで形を作る） */
.custom-select__options li::after {
    content: '';
    width: 6px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -3px;
    opacity: 0;
    flex-shrink: 0;
}

.custom-select__options li:hover {
    background: #303030;
    color: #fff;
}

.custom-select__options li.is-selected {
    background: #303030;
    color: #fff;
}

/* is-selected の時だけチェックマークを表示 */
.custom-select__options li.is-selected::after {
    opacity: 1;
}

/* 選択してください */
.custom-select__options li:first-of-type {
    color: #C4C4C4;
}

.custom-select__options li:first-of-type:hover {
    color: #C4C4C4;
    background-color: #fff;
}

.custom-select__options li:first-of-type.is-selected {
    background-color: #fff;
    color: #C4C4C4;
}

.custom-select__options li:first-of-type.is-selected::after {
    display: none;
}


/* テキスト */
.input-common.--text .right input.--w-425 {
    width: 425px
}

@media screen and (max-width: 1200px) {
    .input-common.--text .right input.--w-425 {
        width: 100%
    }
}

@media screen and (max-width: 1200px) {
    .input-common.--text .right input.--w-425.--middle {
        width: 70%
    }
}

@media screen and (max-width: 1200px)and (max-width: 768px) {
    .input-common.--text .right input.--w-425.--middle {
        width: 100%
    }
}

.input-common.--text .right input.--w-850 {
    width: 850px
}

@media screen and (max-width: 1200px) {
    .input-common.--text .right input.--w-850 {
        width: 100%
    }
}

.input-common .text.--annotation {
    margin: 0 0 0 8px;
    font-size: 12px;
    line-height: 180%;
    color: #303030
}

.input-common .text .mail,
.input-common .text .tel {
    display: inline;
    text-decoration: underline;
    transition: .2s ease-in-out
}

@media screen and (min-width: 768px) {

    .input-common .text .mail:hover,
    .input-common .text .tel:hover {
        opacity: .6
    }
}

.mw_wp_form_confirm .confirm-none,
.mw_wp_form_complete .confirm-none {
    display: none !important
}

.mw_wp_form_confirm .input-common .left .title,
.mw_wp_form_complete .input-common .left .title {
    margin: 0
}

.mw_wp_form_confirm .btnBlock,
.mw_wp_form_complete .btnBlock {
    display: flex
}

@media screen and (max-width: 768px) {

    .mw_wp_form_confirm .btnBlock,
    .mw_wp_form_complete .btnBlock {
        display: block
    }
}

.mw_wp_form_confirm .confirmBtn,
.mw_wp_form_complete .confirmBtn {
    width: 476px
}

@media screen and (max-width: 768px) {

    .mw_wp_form_confirm .confirmBtn,
    .mw_wp_form_complete .confirmBtn {
        width: 238px
    }
}

.mw_wp_form_confirm .confirmBtn .submitBtn,
.mw_wp_form_complete .confirmBtn .submitBtn {
    margin-left: 10px
}

@media screen and (max-width: 768px) {

    .mw_wp_form_confirm .confirmBtn .submitBtn,
    .mw_wp_form_complete .confirmBtn .submitBtn {
        margin: 10px 0 0 0
    }
}

.messageBlock h2 {
    margin-bottom: 70px;
    font-size: 27px;
    line-height: 200%;
    text-align: center;
    letter-spacing: .1em;
    color: #454545
}

@media screen and (max-width: 768px) {
    .messageBlock h2 {
        margin-bottom: 53px
    }
}

.messageBlock p.text {
    font-size: 14px;
    line-height: 180%;
    color: #454545
}

.messageBlock p.text.tel {
    margin-top: 30px
}

.messageBlock .returnBtn {
    width: fit-content;
    margin: 97px auto 0 0;
    border: 1px solid #303030;
    box-sizing: border-box;
    background: #303030;
    transition: .3s ease-in-out
}

@media screen and (max-width: 768px) {
    .messageBlock .returnBtn {
        margin: 70px auto 0 0
    }
}

.messageBlock .returnBtn .text {
    padding: 14px 84px;
    font-size: clamp(.875rem, .875rem + 0vw, .875rem);
    line-height: 180%;
    color: #fff;
    transition: .3s ease-in-out
}

@media screen and (min-width: 768px) {
    .messageBlock .returnBtn:hover {
        background: #fff
    }

    .messageBlock .returnBtn:hover .text {
        color: #303030
    }
}

.messageBlock.__partner {
    padding: 247px 0 119px
}

@media screen and (max-width: 768px) {
    .messageBlock.__partner h2 {
        font-size: 20px
    }
}

.messageBlock.__partner .returnBtn {
    margin: auto
}
