.contact_container
{
    max-width: 1120.00px;
    margin: 164.00px auto 0;
    padding: 0 16.00px 80.00px;
}

.news_title span
{
    font-family: 'Noto Serif JP', serif;
    font-size: 24.00px;
    font-weight: 400;
    line-height: 1em;

    text-align: left;
    letter-spacing: .04em;

    color: #c20116;
}

.news_title
{
    font-family: 'Noto Serif JP', serif;
    font-size: 64.80px;
    font-weight: 600;
    line-height: 1.2;

    text-align: left;
    letter-spacing: .04em;

    color: #c20116;
}

.contact_form
{
    max-width: 720.00px;
    margin: 57.60px auto 0;
}

form
{
    margin: 0 auto;
}

.label
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    display: block;

    width: 187.20px;

    text-align: left;
    letter-spacing: .03em;

    color: #333;
}

.label span
{
    color: #c20116;
}

.item
{
    display: flex;

    padding: 24.00px 0;

    border-bottom: #858585 solid .40px;
}

.item:first-child
{
    border-top: #858585 solid .40px;
}

.inputs
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 400;
    line-height: 2.5em;
    /* max? */

    width: calc(100% - 187.20px);
    padding: 0 16.00px;

    text-align: left;
    letter-spacing: .03em;

    color: #9f9f9f;
    background-color: #eee;
}



.checkbox
{
    width: 320.00px;
    margin: 64.00px auto 0;
}

.opt01
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    letter-spacing: .03em;

    color: #333;
}

.opt01 span
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    letter-spacing: .03em;

    color: #c20116;
    border-bottom: #c20116 solid .80px;
}

.form_btn
{
    font-family: 'Noto Serif JP', serif;
    font-size: 16.00px;
    font-weight: 500;

    position: relative;

    display: block;

    width: 202.27px;
    margin: 64.00px auto 0;
    margin-bottom: 120.00px;
    padding: 16.00px 8.00px 16.00px 40.00px;

    letter-spacing: .3em;

    color: #c20116;
    border: #c20116 solid .80px;
    border-radius: 40.00px;
}

.form_btn::after
{
    position: absolute;
    top: 45%;
    left: 75%;

    display: block;

    width: 14.40px;
    height: 9.60px;

    content: '';

    background-image: url(../img/News_btnafter.png);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .contact_container
    {
        margin: 80.00px auto 0;
    }
    .news_title
    {
        font-size: 32.00px;
    }
    .news_title span
    {
        font-size: 16.00px;
    }
    .contact_form
    {
        margin: 32.00px auto 0;
    }
}

/* cf7__list */

.cf7
{
    border-top: #858585 solid .40px;
}

.cf7__list
{
    display: flex;

    padding: 24.00px 0;

    border-bottom: #858585 solid .40px;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2)
{
    margin-top: 24.00px;
}

.cf7__list dt
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    display: block;

    width: 187.20px;
    padding-top: 12.00px;

    text-align: left;
    letter-spacing: .03em;

    color: #333;
}

.cf7__list dd
{
    width: calc(100% - 187.20px);
}

/* 必須・任意 */

.cf7__required,
.cf7__optional
{
    color: #c20116;
}

.cf7__required
{
    color: #c20116;
}

.cf7__optional
{
    color: #c20116;
}

/* input・textarea */

.cf7__list dd input[type='text'],
.cf7__list dd input[type='tel'],
.cf7__list dd input[type='email'],
.cf7__list dd textarea
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 400;
    line-height: 2.5em;

    width: 100%;
    /* color: #9F9F9F; */
    padding: 0 16.00px;

    text-align: left;
    letter-spacing: .03em;

    background-color: #eee;
}

textarea.wpcf7-form-control.wpcf7-textarea
{
    height: 228.80px;
}

/* ドロップダウンメニュー */

.cf7__select
{
    position: relative;
}

.cf7__select:before
{
    position: absolute;
    z-index: 10;
    top: 50%;
    right: 16.00px;

    width: 0;
    height: 0;

    content: '';
    transform: translateY(-50%);
    pointer-events: none;

    border-top: 6.40px solid #000;
    border-right: 4.80px solid transparent;
    border-left: 4.80px solid transparent;
}

.cf7__select select
{
    width: 100%;
    padding: 15.20px 16.00px;

    color: #a5a5a5;
    background: #f4f4f4;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* チェックボックス・ラジオボタン */

.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio
{
    display: block;

    padding: 12.00px 0 8.00px;
}

/* 縦並び（チェックボックス・ラジオボタン） */

.cf7__list dd .wpcf7-list-item
{
    display: block;

    margin: 0;
}

.radio_box .wpcf7-list-item
{
    margin: 0;
}

.cf7__list dd .wpcf7-list-item:nth-child(n + 2)
{
    margin-top: 14.40px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */

.cf7__list dd .wpcf7-list-item label
{
    cursor: pointer;
}

/* チェックボックス・ラジオボタン */

input[type='checkbox'],
input[type='radio']
{
    position: absolute;

    width: 14.40px;
    height: 14.40px;
    margin-right: 6.40px;

    cursor: pointer;
    vertical-align: -2.40px;

    border: .80px solid #bcbcbc;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* チェックボックス */

input[type='checkbox']:checked
{
    border: .80px solid #000;
    background: #000;
}

input[type='checkbox']:checked:before
{
    position: absolute;
    top: 1.60px;
    left: 4.00px;

    width: 4.80px;
    height: 8.00px;

    content: '';
    transform: rotate(50deg);

    border-right: 1.60px solid #fff;
    border-bottom: 1.60px solid #fff;
}

/* ラジオボタン */

input[type='radio']
{
    border-radius: 50%;
}

input[type='radio']:checked:before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 7.20px;
    height: 7.20px;

    content: '';
    transform: translate(-50%, -50%);

    border-radius: 50%;
    background: #000;
}

/* プレースホルダー */

/* Google Chrome / Safari / Mozilla Firefox / Opera */

.cf7__list dd input[type='text']::placeholder,
.cf7__list dd input[type='tel']::placeholder,
.cf7__list dd input[type='email']::placeholder,
.cf7__list dd textarea::placeholder
{
    color: #a5a5a5;
}

/* Microsoft Edge */

.cf7__list dd input[type='text']::-ms-input-placeholder,
.cf7__list dd input[type='tel']::-ms-input-placeholder,
.cf7__list dd input[type='email']::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder
{
    color: #a5a5a5;
}

/* Internet Explorer */

.cf7__list dd input[type='text']:-ms-input-placeholder,
.cf7__list dd input[type='tel']:-ms-input-placeholder,
.cf7__list dd input[type='email']:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder
{
    color: #a5a5a5;
}

/* 送信ボタン */

.cf7__button
{
    text-align: center;
}

input[type='submit']:hover
{
    opacity: .6;
}

/* ajax-loader */

.wpcf7-spinner
{
    vertical-align: middle;
}

.wpcf7-list-item-label
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    letter-spacing: .03em;

    color: #333;
}

.wpcf7-list-item-label a
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16.00px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    letter-spacing: .03em;

    color: #c20116;
    border-bottom: #c20116 solid .80px;
}

.radio_box .wpcf7-form-control-wrap
{
    display: table;

    margin: 64.00px auto 0;
}

input[type=checkbox] + span.wpcf7-list-item-label
{
    position: relative;

    padding-left: 28.00px;

    cursor: pointer;
}

input[type=checkbox] + span.wpcf7-list-item-label::before
{
    position: absolute;
    top: 3.20px;
    left: 0;

    display: block;

    box-sizing: border-box;
    width: 1.24em;
    height: 1.24em;

    content: '';

    border: .80px solid #c4bbb8;
    border-radius: 3.20px;
    background-color: #fefefe;
}

input[type=checkbox] + span.wpcf7-list-item-label::after
{
    position: absolute;
    top: 4.80px;
    left: 6.40px;

    display: block;

    box-sizing: border-box;
    width: .4em;
    height: .8em;

    content: '';
    transition: opacity .25s ease;
    transform: rotate(40deg);

    opacity: 0;
    border-right: 3.20px solid #000;
    border-bottom: 3.20px solid #000;
}

input[type=checkbox]:checked + span.wpcf7-list-item-label::after
{
    opacity: 1;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner
{
    font-family: 'Noto Serif JP', serif;
    font-size: 16.00px;
    font-weight: 500;

    position: relative;

    display: block;

    width: 202.27px;
    margin: 0 auto;
    padding: 16.00px 8.00px 16.00px 40.00px;

    text-align: left;
    letter-spacing: .3em;

    color: #c20116;
    border: #c20116 solid .80px;
    border-radius: 40.00px;
}

.cf7__button
{
    display: table;

    margin: 64.00px auto 0;
}

.cf7__button p
{
    position: relative;

    display: table;
}

.cf7__button p::after
{
    position: absolute;
    top: 34%;
    left: 75%;

    display: block;

    width: 14.40px;
    height: 9.60px;

    content: '';
    pointer-events: none;

    background-image: url(../img/News_btnafter.png);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (max-width: 767px)
{
    .cf7__list dt
    {
        width: 100%;
        margin-bottom: 12.00px;
        padding-top: 0;
    }
    .cf7__list dd
    {
        width: 100%;
    }
    .cf7__list dd:nth-of-type(n + 2)
    {
        margin-top: 0;
    }
    .cf7__list dd .wpcf7-checkbox,
    .cf7__list dd .wpcf7-radio
    {
        padding: 12.00px 0 0;
    }
    /* 送信ボタン */
    input[type='submit']
    {
        width: 144.00px;
        height: 44.80px;
    }
}

@media screen and (max-width: 767px)
{
    .cf7__list
    {
        display: block;

        padding: 8.00px 0;
    }
    .cf7__list dt
    {
        font-size: 12.80px;
    }
    .cf7__list dd
    {
        font-size: 12.80px;
    }
    .cf7__list dd input[type='text'],
    .cf7__list dd input[type='tel'],
    .cf7__list dd input[type='email'],
    .cf7__list dd textarea
    {
        font-size: 12.80px;
        line-height: 2.5em;

        padding: 0 8.00px;
    }
    .wpcf7-list-item-label
    {
        font-size: 12.80px;
    }
    .wpcf7-list-item-label a
    {
        font-size: 12.80px;
    }
    input[type=checkbox] + span.wpcf7-list-item-label::after
    {
        top: 5.60px;
    }
    input.wpcf7-form-control.wpcf7-submit.has-spinner
    {
        padding: 0 8.00px 0 40.00px;
    }
}
