@charset "UTF-8"; @media screen and (min-width: 768px),print {
    /* ==========================================================================================================
  共通
=========================================================================================================== */main {
        width: 100% !important;
    }

    #campaign {
        font-feature-settings: "palt";
    }

    #campaign #con01 {
        margin-top: -30px;
    }

    #campaign .inner {
        width: 1100px;
        margin: 0 auto;
        font-feature-settings: normal;
    }

    #campaign .cpn-h2 {
        font-size: 32px;
        font-weight: bold;
        letter-spacing: 0.172em;
        line-height: 62px;
        text-align: center;
        color: #202020;
        font-feature-settings: normal;
    }

    #campaign .cpn-em {
        color: #dd5e00;
        font-weight: 700;
    }

    /* ==========================================================================================================
  con01  メインビジュアル／リード／ご成約・着工特典
=========================================================================================================== */
    #con01 {
        background: #fffef6;
        padding-bottom: 69px;
    }

    #con01 .cpn-mv {
        line-height: 0;
    }

    #con01 .cpn-mv img {
        width: 100%;
        height: auto;
    }

    #con01 .cpn-lead {
        position: relative;
        z-index: 2;
        width: 960px;
        margin: -60px auto 0;
        padding: 54px 0 52px;
        background: #fff;
        text-align: center;
        box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.16);
    }

    #con01 .cpn-lead-ttl {
        font-size: 24px;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 40px;
        margin-bottom: 20px;
        color: #dd5e00;
        font-feature-settings: normal;
    }

    #con01 .cpn-lead-txt {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        color: #202020;
        font-feature-settings: normal;
    }

    #con01 .cpn-sub {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        margin-top: 94px;
        margin-bottom: -2px;
        text-align: center;
        color: #202020;
        font-feature-settings: normal;
    }

    #con01 .cpn-gift {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 45px;
    }

    #con01 .cpn-gift li {
        width: 460px;
        line-height: 0;
    }

    #con01 .cpn-gift li:first-child {
        margin-right: 40px;
    }

    #con01 .cpn-gift li img {
        width: 100%;
        height: auto;
    }

    #con01 .cpn-note {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        margin-top: 21px;
        text-align: center;
        color: #202020;
        font-feature-settings: normal;
    }

    /* ==========================================================================================================
  con02  ご紹介の３ステップ（方眼紙背景）
=========================================================================================================== */
    #con02 {
        padding-top: 94px;
        padding-bottom: 110px;
        background-color: #fff;
        background-image: linear-gradient(#f7f6f2 1px, transparent 1px), linear-gradient(90deg, #f7f6f2 1px, transparent 1px), linear-gradient(#f7f6f2 3px, transparent 3px), linear-gradient(90deg, #f7f6f2 3px, transparent 3px);
        background-size: 10px 10px, 10px 10px, 100px 100px, 100px 100px;
        background-position: 0 0;
    }

    #con02 .cpn-step {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 45px;
        /* font-feature-settings: normal; */
    }

    #con02 .cpn-step li {
        position: relative;
        width: 320px;
        padding: 37px 25px 30px;
        background: #fff;
        border: 1px solid #707070;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.16);
    }

    #con02 .cpn-step li + li::before {
        content: '';
        position: absolute;
        top: 197px;
        left: -43px;
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 14px solid #c4c4c4;
    }

    #con02 .cpn-step-pic {
        line-height: 0;
    }

    #con02 .cpn-step-pic img {
        width: 270px;
        height: auto;
    }

    #con02 .cpn-step h3 {
        font-size: 22px;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 43px;
        margin-top: 10px;
        color: #202020;
    }

    #con02 .cpn-step p {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        margin-top: 4px;
        color: #202020;
    }

    /* ==========================================================================================================
  con03  オーナーの皆様へ
=========================================================================================================== */
    #con03 {
        height: 668px;
        padding-top: 115px;
        background: url(../images/campaign/c3-bg.png) no-repeat top center;
        background-size: cover;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-feature-settings: normal;
    }

    #con03 .cpn-owner-ttl {
        font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-size: 42px;
        font-weight: 600;
        letter-spacing: 0.15em;
        line-height: 56px;
        text-align: center;
        color: #fff;
        margin-bottom: -7px;
    }

    #con03 .cpn-owner-txt {
        width: 800px;
        margin: 32px auto 0;
    }

    #con03 .cpn-owner-txt p {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        color: #fff;
    }

    #con03 .cpn-owner-txt p + p {
        margin-top: 30px;
    }

    /* ==========================================================================================================
  con04  ご紹介制度 利用規約
=========================================================================================================== */
    #con04 {
        padding-top: 120px;
    }

    #con04 .cpn-terms {
        border: 1px solid #707070;
        background: #fff;
    }

    #con04 .cpn-terms-head {
        position: relative;
        height: 120px;
        padding: 0 60px;
        background: #eaeaea;
        font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-size: 30px;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 120px;
        text-align: center;
        color: #202020;
        cursor: pointer;
    }

    #con04 .cpn-terms-arrow {
        position: absolute;
        top: 50%;
        right: 98px;
        display: block;
        width: 22px;
        height: 13px;
        margin-top: -7px;
        line-height: 0;
    }

    #con04 .cpn-terms-arrow img {
        display: block;
        width: 22px;
        height: auto;
        -webkit-transition: transform .3s;
        transition: transform .3s;
    }

    #con04 .cpn-terms:not(.is-open) .cpn-terms-arrow img {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    #con04 .cpn-terms-body {
        padding: 51px 75px;
    }

    #con04 .cpn-terms-body dt {
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        color: #202020;
    }

    #con04 .cpn-terms-body dd {
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        color: #202020;
    }

    #con04 .cpn-terms-body dd + dt {
        margin-top: 30px;
    }

    /* ==========================================================================================================
  form  ご紹介申し込みフォーム
=========================================================================================================== */
    #campaign .form-Box {
        width: 1100px;
        margin: 95px auto 0;
        line-height: 1.6;
    }

    #campaign .cpn-form-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-bottom: 12px;
        border-bottom: 2px solid #ebdc91;
        font-feature-settings: normal;
    }

    #campaign .cpn-form-label {
        display: block;
        width: 144px;
        height: 34px;
        margin-right: 12px;
        border: 1px solid #707070;
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0.172em;
        line-height: 32px;
        text-align: center;
        color: #202020;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #campaign .cpn-form-ttl {
        font-size: 32px;
        font-weight: bold;
        letter-spacing: 0.15em;
        line-height: 44px;
        color: #202020;
    }

    #campaign #form .list {
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 30px;
        margin-top: 21px;
        margin-bottom: 44px;
        color: #202020;
        margin-left: 0px;
        font-feature-settings: normal;
    }

    #campaign .cpn-req-mark {
        /* background: #ebdc91; */
    }

    #campaign .cpn-group-ttl {
        font-size: 22px;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 34px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: 2px solid #ebdc91;
        color: #202020;
    }

    #campaign .cpn-group-ttl + table {
        margin-bottom: 60px;
    }

    #campaign table + .cpn-group-ttl {
        margin-top: 0;
    }

    #campaign .form-Box table {
        font-size: 16px;
        width: 100%;
        margin-bottom: 60px;
        border-collapse: collapse;
        border-left: 1px solid #c3c3c3;
        border-right: 1px solid #c3c3c3;
    }

    #campaign .form-Box tr {
        font-size: 16px;
        font-weight: 500;
        line-height: 30px;
        letter-spacing: 0.05em;
        border-bottom: 1px solid #c3c3c3;
    }

    #campaign .form-Box tr:nth-child(1) {
        border-top: 1px solid #c3c3c3;
    }

    #campaign .form-Box th {
        position: relative;
        width: 300px;
        padding: 20px 20px 20px 66px;
        /* font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif; */
        /* font-weight: 600; */
        text-align: left;
        vertical-align: middle;
        background-color: #fffef6;
        border-right: 1px solid #c3c3c3;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #campaign .form-Box td {
        width: auto;
        padding: 15px 20px;
        text-align: left;
        vertical-align: middle;
        background-color: #fff;
    }

    #campaign .required::before {
        top: 50%;
        left: 20px;
        margin-top: -10px;
    }

    #campaign .form-Box input[type="text"],#campaign .form-Box input[type="email"],#campaign .form-Box input[type="tel"],#campaign .form-Box textarea {
        font-size: 16px;
        padding: 8px 10px;
        border: 1px solid #707070;
        border-radius: 4px;
        background: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #campaign .form-Box input[type="text"],#campaign .form-Box input[type="email"],#campaign .form-Box input[type="tel"] {
        width: 380px;
        height: 40px;
    }

    #campaign .form-Box textarea {
        width: 100%;
        min-height: 120px;
    }

    #campaign .priv-text {
        height: 180px;
        margin-bottom: 70px;
        padding: 30px 40px;
        border: none;
        background: #f2f2f2;
    }

    #campaign .priv {
        margin-bottom: 50px;
    }

    #campaign .btn-confirm {
        margin-bottom: 50px;
        text-align: center;
    }

    #campaign .btn-send {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 948px;
        margin: 0 auto;
    }

    #campaign .btn-type02,#campaign .btn-type03 {
        width: 460px;
        height: 80px;
        background-size: 460px 80px;
    }
}

@media screen and (max-width: 767px) {
    /* ==========================================================================================================
  sp  共通
=========================================================================================================== */#campaign {
        font-feature-settings: "palt";
    }

    #campaign #con01 {
        margin-top: -6vw;
    }

    #campaign .inner {
        width: 100%;
        margin: 0 auto;
    }

    #campaign .cpn-h2 {
        font-size: 5.797vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 9.662vw;
        text-align: center;
        font-feature-settings: normal;
        color: #202020;
    }

    #campaign .cpn-em {
        color: #dd5e00;
    }

    /* ==========================================================================================================
  sp  con01
=========================================================================================================== */
    #con01 {
        background: #fffef6;
        padding-bottom: 7.729vw;
    }

    #con01 .cpn-mv {
        line-height: 0;
    }

    #con01 .cpn-mv img {
        width: 100%;
        height: auto;
    }

    #con01 .cpn-lead {
        position: relative;
        z-index: 2;
        width: 91.787vw;
        margin: -14.493vw auto -1.449vw;
        padding: 8.696vw 4.106vw 10.386vw;
        background: #fff;
        text-align: center;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.16);
    }

    #con01 .cpn-lead-ttl {
        font-size: 4.831vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 7.246vw;
        margin-bottom: 4.106vw;
        color: #dd5e00;
        font-feature-settings: normal;
    }

    #con01 .cpn-lead-txt {
        font-size: 3.865vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 7.246vw;
        text-align: left;
        color: #202020;
        font-feature-settings: normal;
    }

    #con01 .cpn-sub {
        font-size: 3.865vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 7.246vw;
        margin-top: 12.077vw;
        text-align: center;
        color: #202020;
        font-feature-settings: normal;
        margin-bottom: 1.208vw;
    }

    #con01 .cpn-gift {
        margin-top: 4.106vw;
        margin-bottom: -0.725vw;
    }

    #con01 .cpn-gift li {
        width: 91.787vw;
        margin: 0 auto;
        line-height: 0;
    }

    #con01 .cpn-gift li + li {
        margin-top: 4.831vw;
    }

    #con01 .cpn-gift li img {
        width: 100%;
        height: auto;
    }

    #con01 .cpn-note {
        font-size: 3.382vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 5.797vw;
        margin-top: 4.831vw;
        text-align: center;
        color: #202020;
        font-feature-settings: normal;
    }

    /* ==========================================================================================================
  sp  con02
=========================================================================================================== */
    #con02 {
        padding-top: 16.425vw;
        padding-bottom: 16.908vw;
        background-color: #fff;
        background-image: linear-gradient(#f7f6f2 1px, transparent 1px), linear-gradient(90deg, #f7f6f2 1px, transparent 1px), linear-gradient(#f7f6f2 3px, transparent 3px), linear-gradient(90deg, #f7f6f2 3px, transparent 3px);
        background-size: 10px 10px, 10px 10px, 100px 100px, 100px 100px;
        background-position: 0 0;
    }

    #con02 .cpn-step {
        margin-top: 7.729vw;
    }

    #con02 .cpn-step li {
        position: relative;
        width: 77.295vw;
        margin: 0 auto;
        padding: 9.662vw 6.039vw 9.903vw 5.797vw;
        background: #fff;
        border: 1px solid #707070;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.16));
    }

    #con02 .cpn-step li + li {
        margin-top: 13.043vw;
    }

    #con02 .cpn-step li + li::before {
        content: '';
        position: absolute;
        top: -8.454vw;
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -2.174vw;
        border-left: 2.174vw solid transparent;
        border-right: 2.174vw solid transparent;
        border-top: 3.382vw solid #c4c4c4;
    }

    #con02 .cpn-step-pic {
        line-height: 0;
    }

    #con02 .cpn-step-pic img {
        width: 65.217vw;
        height: auto;
    }

    #con02 .cpn-step h3 {
        font-size: 5.314vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 10.386vw;
        margin-top: 2.415vw;
        color: #202020;
        margin-bottom: -1.691vw;
    }

    #con02 .cpn-step p {
        font-size: 3.865vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 7.246vw;
        margin-top: 2.174vw;
        color: #202020;
        font-feature-settings: normal;
    }

    /* ==========================================================================================================
  sp  con03
=========================================================================================================== */
    #con03 {
        padding: 18.116vw 8.213vw 17.15vw;
        background: url(../images/campaign/sp-c3-bg.png) no-repeat top center;
        background-size: cover;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-feature-settings: normal;
    }

    #con03 .cpn-owner-ttl {
        font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-size: 7.246vw;
        font-weight: 600;
        letter-spacing: 0.15em;
        line-height: 9.903vw;
        text-align: center;
        color: #fff;
        margin-bottom: -0.966vw;
    }

    #con03 .cpn-owner-txt {
        width: 100%;
        margin: 5.797vw auto 0;
    }

    #con03 .cpn-owner-txt p {
        font-size: 3.865vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 7.246vw;
        color: #fff;
    }

    #con03 .cpn-owner-txt p + p {
        margin-top: 7.246vw;
    }

    /* ==========================================================================================================
  sp  con04
=========================================================================================================== */
    #con04 {
        padding-top: 19.324vw;
    }

    #con04 .cpn-terms {
        width: 91.787vw;
        margin: 0 auto;
        border: 1px solid #707070;
        background: #fff;
    }

    #con04 .cpn-terms-head {
        position: relative;
        height: 14.493vw;
        padding: 0 8.696vw;
        background: #eaeaea;
        font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
        font-size: 4.831vw;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 14.493vw;
        text-align: center;
        color: #202020;
        cursor: pointer;
    }

    #con04 .cpn-terms-arrow {
        position: absolute;
        top: 50%;
        right: 6.763vw;
        display: block;
        width: 3.965vw;
        height: 2.324vw;
        margin-top: -1.162vw;
        line-height: 0;
    }

    #con04 .cpn-terms-arrow img {
        display: block;
        width: 3.965vw;
        height: auto;
        -webkit-transition: transform .3s;
        transition: transform .3s;
    }

    #con04 .cpn-terms:not(.is-open) .cpn-terms-arrow img {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    #con04 .cpn-terms-body {
        padding: 5.797vw 4.106vw;
        font-feature-settings: normal;
    }

    #con04 .cpn-terms-body dt {
        font-size: 3.14vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 5.556vw;
        color: #202020;
    }

    #con04 .cpn-terms-body dd {
        font-size: 3.14vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 5.556vw;
        color: #202020;
    }

    #con04 .cpn-terms-body dd + dt {
        margin-top: 5.556vw;
    }

    /* ==========================================================================================================
  sp  form
=========================================================================================================== */
    #campaign .form-Box {
        width: 83.575vw;
        margin: 14.493vw auto 0;
        line-height: 1.6;
    }

    #campaign .cpn-form-label {
        display: block;
        width: 26.57vw;
        height: 5.797vw;
        border: 1px solid #707070;
        font-size: 3.865vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 5.556vw;
        text-align: center;
        color: #202020;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-feature-settings: normal;
        margin-bottom: -1.449vw;
    }

    #campaign .cpn-form-ttl {
        font-size: 5.797vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 9.179vw;
        margin-top: 2.415vw;
        color: #202020;
        font-feature-settings: normal;
        border-bottom: 2px solid #ebdc91;
    }

    #campaign #form .list {
        font-size: 3.14vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 5.556vw;
        margin-top: 6.28vw;
        margin-bottom: 9.662vw;
        color: #202020;
        font-feature-settings: normal;
    }

    #campaign .cpn-req-mark {
        /* background: #ebdc91; */
    }

    #campaign .cpn-group-ttl {
        font-size: 4.348vw;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 7.246vw;
        margin-bottom: 3.865vw;
        padding-bottom: 2.415vw;
        border-bottom: 2px solid #ebdc91;
        color: #202020;
    }

    #campaign .cpn-group-ttl + table {
        margin-bottom: 12.077vw;
    }

    #campaign .form-Box table {
        width: 100%;
        margin-bottom: 12.077vw;
    }

    #campaign .form-Box tr {
        border-bottom: 0;
    }

    #campaign .form-Box tr:nth-child(1) {
        border-top: 0;
    }

    #campaign .form-Box th {
        display: block;
        width: 100%;
        padding: 2.415vw 2.415vw 2.415vw 11.111vw;
        /* font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif; */
        font-size: 4.348vw;
        /* font-weight: 600; */
        line-height: 7.246vw;
        background-color: #fffef6;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-top: 14px;
    }

    #campaign .form-Box td {
        display: block;
        width: 100%;
        padding: 4.348vw 2.415vw;
        background-color: #f9f9f9;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #campaign .form-Box input[type="text"],#campaign .form-Box input[type="email"],#campaign .form-Box input[type="tel"],#campaign .form-Box textarea {
        font-size: 3.865vw !important;
        width: 100%;
        margin-bottom: 0;
        padding: 2.415vw;
        border: 1px solid #707070;
        border-radius: 4px;
        background: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #campaign .form-Box textarea {
        min-height: 24.155vw;
    }

    #campaign .priv-text {
        height: 27.295vw;
        margin-bottom: 12.077vw;
        padding: 4.106vw;
        border: none;
        background: #f2f2f2;
    }

    #campaign .priv {
        margin-bottom: 9.662vw;
    }

    #campaign .btn-box {
        width: 77.295vw;
        margin: 0 auto;
    }

    #campaign .btn-confirm {
        margin-bottom: 4.831vw;
        text-align: center;
    }

    #campaign .btn-send {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    #campaign .btn-send .btn-item {
        display: block;
        margin-bottom: 4.831vw;
    }
}
