@charset 'utf-8';

:root {
    --width-ratio-1240: 1px / 1;
}
@media screen and (max-width: 1240px) {
    :root {
        --width-ratio-1240: 100vw / 1240;
    }
}
@media screen and (max-width: 767px) {
    :root {
        --width-ratio-1240: 100vw / 767;
    }
}

.one-column #main:has(.entry-content) {
    max-width: none;
    width: 100%;
    font-family: source-han-sans-japanese, "游ゴシック", "Yu Gothic",
        "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3",
        "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, sans-serif;
}

.wpcf7 .contact_item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    column-gap: calc(30 * var(--width-ratio-1240));
    border-bottom: #000 1px solid;
    padding: calc(18 * var(--width-ratio-1240)) 0;
}
.wpcf7 .contact_item.no-border {
    border-bottom: none;
}
.wpcf7 .contact_ttl {
    width: calc(300 * var(--width-ratio-1240));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    font-size: calc(18 * var(--width-ratio-1240));
    font-weight: 700;
    letter-spacing: 0.08em;
}
.wpcf7 .contact_ttl > p {
    display: flex;
    align-items: center;
}
.wpcf7 .contact_ttl + br {
    display: none;
}
.wpcf7 .contact_main {
    width: 100%;
    flex-grow: 1;
}
.wpcf7 .contact_ttl > p,
.wpcf7 .contact_main > p {
    margin-bottom: 0;
}
.wpcf7 .contact_not_required,
.wpcf7 .contact_required {
    display: inline-block;
    font-size: calc(12 * var(--width-ratio-1240));
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6;
    color: #fff;
    background-color: #fe5b45;
    border-radius: 1em;
    padding: 0.2em 0.7em;
    margin-left: 1em;
    margin-right: 1em;
}
.wpcf7 .contact_not_required {
    background-color: #777;
}
.wpcf7 .contact_main .wpcf7-list-item:has(input[type="radio"]) {
    cursor: pointer;
    padding: 0.2em;
}
.wpcf7 .contact_main .wpcf7-list-item:has(input[type="radio"]):hover {
    background-color: #ddd;
}
.wpcf7 .contact_main input[type="radio"] {
    cursor: pointer;
}
.wpcf7 .contact_main input[type="radio"] + span {
    font-weight: 700;
    cursor: pointer;
}
.wpcf7 .contact_main input[type="radio"]:checked + span {
    color: #329bd2;
}
.wpcf7 .name_box {
    display: flex;
    column-gap: calc(10 * var(--width-ratio-1240));
}
.wpcf7 input[name="text-name1"],
.wpcf7 input[name="text-name-2"],
.wpcf7 input[name="text-kana-name1"],
.wpcf7 input[name="text-kana-name2"] {
    width: calc(250 * var(--width-ratio-1240));
    background-color: transparent;
    border: #000 1px solid;
    border-radius: calc(30 * var(--width-ratio-1240));
    padding: 0.55em 1em;
    margin-bottom: 0;
}
.wpcf7 input[name="your-email"],
.wpcf7 input[name="your-email-confirm"],
.wpcf7 input[name="your-tel"],
.wpcf7 input[name="your-ssid"] {
    width: calc(510 * var(--width-ratio-1240));
    background-color: transparent;
    border: #000 1px solid;
    border-radius: calc(30 * var(--width-ratio-1240));
    padding: 0.55em 1em;
}
.wpcf7 textarea {
    background-color: transparent;
    border: #000 1px solid;
    border-radius: calc(30 * var(--width-ratio-1240));
    padding: 0.55em 1em;
}
.wpcf7 input[name="your-ssid"] {
    margin-bottom: 0;
}
.wpcf7 label:has(input[name="your-ssid"]) + br,
.wpcf7 label:has(input[name="your-ssid"]) > br {
    display: none;
}
.wpcf7 p:has(input[name="your-ssid"]) small {
    display: block;
    margin-top: calc(5 * var(--width-ratio-1240));
}
p:has(input[name="checkbox-accept[]"]) {
    cursor: pointer;
    margin-bottom: 0;
}
p:has(input[name="checkbox-accept[]"]) .wpcf7-list-item-label {
    font-size: calc(16 * var(--width-ratio-1240));
    font-weight: 700;
    cursor: pointer;
}
.entry-content p.privacy_comment {
    display: block;
    font-size: calc(16 * var(--width-ratio-1240));
    margin-left: 2.3em;
}
.wpcf7 input[type="submit"] {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(24 * var(--width-ratio-1240));
    font-weight: 600;
    color: #fff;
    background: linear-gradient(to top, #e46715, #f0a15b);
    border: #fff calc(3 * var(--width-ratio-1240)) solid;
    border-radius: calc(10 * var(--width-ratio-1240));
    box-shadow: 6px 6px 9px rgba(57, 100, 142, 0.46);
    padding: 0.5em 3em;
    margin: calc(30 * var(--width-ratio-1240)) auto 0;
    cursor: pointer;
    transition: 0.4s;
}
.wpcf7 input[type="submit"]:hover {
    transform: translateY(10px);
}

@media screen and (max-width: 768px) {
    .wpcf7 .contact_item {
        flex-direction: column;
        justify-content: flex-start;
        column-gap: unset;
        border-bottom: #000 1px solid;
        padding: calc(30 * var(--width-ratio-1240)) 0
            calc(40 * var(--width-ratio-1240));
    }
    .wpcf7 .contact_ttl {
        width: 100%;
        font-size: calc(30 * var(--width-ratio-1240));
        font-weight: 700;
        letter-spacing: 0.08em;
        margin-bottom: calc(16 * var(--width-ratio-1240));
    }
    .wpcf7 .contact_not_required,
    .wpcf7 .contact_required {
        font-size: calc(20 * var(--width-ratio-1240));
    }
    .wpcf7 .name_box {
    }
    .wpcf7 input[name="text-name1"],
    .wpcf7 input[name="text-name-2"],
    .wpcf7 input[name="text-kana-name1"],
    .wpcf7 input[name="text-kana-name2"] {
        width: 100%;
    }
    .wpcf7 input[name="your-email"],
    .wpcf7 input[name="your-email-confirm"],
    .wpcf7 input[name="your-tel"],
    .wpcf7 input[name="your-ssid"] {
        width: 100%;
    }
    .wpcf7 input[type="submit"] {
        font-size: calc(38 * var(--width-ratio-1240));
        padding: 0.5em 3em;
    }
    p:has(input[name="checkbox-accept[]"]) .wpcf7-list-item-label {
        font-size: calc(28 * var(--width-ratio-1240));
    }
    .entry-content p.privacy_comment {
        font-size: calc(28 * var(--width-ratio-1240));
    }
}
