.elementor-19081 .elementor-element.elementor-element-1497822 > .elementor-container{min-height:40px;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-19081 .elementor-element.elementor-element-819a960{--spacer-size:40px;}.elementor-19081 .elementor-element.elementor-element-ced1891 > .elementor-container{min-height:40px;}.elementor-19081 .elementor-element.elementor-element-fee1e9a{--spacer-size:40px;}.elementor-19081 .elementor-element.elementor-element-2fb802d .elementor-heading-title{font-family:"brandon-grotesque", Sans-serif;font-size:47px;font-weight:400;letter-spacing:4px;color:#09131D;}.elementor-19081 .elementor-element.elementor-element-6061602 .elementor-heading-title{font-size:16px;font-weight:300;letter-spacing:3px;color:var( --e-global-color-b6f030b );}.elementor-19081 .elementor-element.elementor-element-4402c56{--spacer-size:50px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-19081 .elementor-element.elementor-element-291d9c5{--divider-border-style:solid;--divider-color:#D1D1D1;--divider-border-width:1px;}.elementor-19081 .elementor-element.elementor-element-291d9c5 .elementor-divider-separator{width:100%;}.elementor-19081 .elementor-element.elementor-element-291d9c5 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-19081 .elementor-element.elementor-element-a03b032{--spacer-size:120px;}.elementor-19081 .elementor-element.elementor-element-871bf83{text-align:center;}.elementor-19081 .elementor-element.elementor-element-871bf83 .elementor-heading-title{font-size:18px;font-weight:200;line-height:2em;color:#666666;}.elementor-19081 .elementor-element.elementor-element-cc1b50f{text-align:center;}.elementor-19081 .elementor-element.elementor-element-cc1b50f .elementor-heading-title{font-size:18px;font-weight:200;line-height:2em;color:#666666;}.elementor-19081 .elementor-element.elementor-element-c8c042b{--spacer-size:180px;}.elementor-19081 .elementor-element.elementor-element-1c27e8a{--spacer-size:100px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-19081 .elementor-element.elementor-element-cc58421{padding:0px 16px 0px 16px;}.elementor-19081 .elementor-element.elementor-element-bffee41{padding:0px 16px 0px 16px;}.elementor-19081 .elementor-element.elementor-element-06f600d{padding:0px 16px 0px 16px;}.elementor-19081 .elementor-element.elementor-element-bd9cc0d > .elementor-widget-container{margin:0em 1em 0em 1em;}}@media(max-width:767px){.elementor-19081 .elementor-element.elementor-element-bd9cc0d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for heading, class: .elementor-element-f55ef1e */.elementor-19081 .elementor-element.elementor-element-f55ef1e {
position: absolute;
left: -9999px;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-bd9cc0d *//* --- ① レイアウトの基本設定 --- */
.flex-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 0;
}

.flex-item1 {
    flex: 0 0 250px;
    max-width: 100%;
}

.flex-item2,
.flex-item2--select,
.flex-item2--radio {
    flex: 1;
    min-width: 300px;
}

/* --- ② 全入力項目の共通スタイル --- */
.address-container,
.address-container span,
.address-container input,
.flex-container label,
.flex-container input,
.flex-container select,
.flex-container textarea {
    font-family: "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 18px;
    color: rgb(102, 102, 102);
    line-height: 1.5;
    box-sizing: border-box;
}

/* 入力欄の幅と枠線 */
.flex-item2 input,
.flex-item2 textarea,
.flex-item2--select select {
    width: 100%;
    border: 1px solid #D1D1D1;
    padding: 10px;
}

/* --- ③ セレクトボックス --- */
.flex-item2--select select {
    appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="rgb(102, 102, 102)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>');
    background-repeat: no-repeat;
    background-size: 28px;
    background-position: calc(100% - 20px) center;
    padding-right: 60px;
    cursor: pointer;
}

.flex-item2--select select::-ms-expand {
    display: none;
}

/* --- ④ 住所エリア --- */
.address-container {
    padding-left: 40px;
}

.address-container .flex-item1,
.address-container .flex-item1--plus {
    flex: 0 0 220px;
}

.address-container .flex-item2 {
    min-width: 200px;
}

.address-title-area {
    width: 100%;
    margin-left: -40px;
    margin-bottom: 10px;
}

.address-container .address-main {
    display: block;
}

/* 「ご住所」の見出しエリア */
.address-title-area {
    width: 100%;
    margin-left: -40px; /* address-container の padding-left 分を相殺 */
    margin-bottom: 10px;
}

.address-container .address-main {
    display: block;
    font-weight: 400;
    margin-bottom: 5px;
}

.address-container .address-sub {
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: -40px;
    margin-left: 260px;
}

/* --- ⑤ 区切り線・その他 --- */
.s-line-top {
    border-top: 1px solid #D1D1D1;
    padding-top: 40px;
}

.flex-container.s-line-top:first-of-type {
    border-top: none;
}

.forms-required {
    font-size: 14px;
    margin-left: 8px;
    color: #e23e3e;
}

/* 郵便番号自動入力ボタン（CF7対策でID指定） */
#autozip {
    background-color: #FDC107 !important;
    color: #E71E79 !important;
    border: none !important;
    font-family: "Yu Gothic Medium", "Yu Gothic", sans-serif !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    display: inline-block !important;
    margin-left: -22px !important;
    margin-top: 20px !important;
    vertical-align: middle !important;
}


/* --- ⑥ スマホ対応 --- */
@media screen and (max-width: 767px) {
    .address-container {
        padding-left: 10px;
    }

    .address-title-area {
        margin-left: 0;
    }

    .flex-item1,
    .address-container .flex-item1--plus {
        flex: 0 0 100%;
        margin-bottom: 8px;
    }

    .flex-item2 {
        min-width: 100%;
    }
}

/* --- ⑦ プライバシーポリシーエリア --- */
.privacypolicy-check-area {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #D1D1D1;
    text-align: center;
}

.policy-text {
    display: block;
    font-size: 16px;
    color: rgb(102, 102, 102);
    line-height: 1.8;
    margin-bottom: 25px;
}

/* CF7生成タグ対策：labelを起点に指定 */
.privacypolicy-check-area label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 10px;
}

.privacypolicy-check-area input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}

.doui {
    font-size: 16px;
    font-weight: 400;
    color: rgb(102, 102, 102);
}

.privacypolicy-check-area .forms-required {
    font-size: 14px;
    color: #e23e3e;
    margin-left: 5px;
}

/* --- ⑧ 送信ボタンエリア --- */
.item2 {
    margin: 50px 0;
    text-align: center;
    width: 100%;         /* 親要素の幅を100%に強制固定 */
    box-sizing: border-box;
}

/* CF7が生成するボタンを囲むspan要素をインラインブロック化 */
.item2 .wpcf7-form-control-wrap,
.item2 .wpcf7-submit-wrapper {
    display: inline-block;
    width: auto;
}

.item2 input.wpcf7-submit {
    appearance: none;
    display: block;       /* block化してmarginで中央寄せ */
    margin: 0 auto;       /* 左右を自動余白にして確実に画面中央へ */
    width: 180px;
    max-width: 100%;
    padding: 8px 0;

    background-color: #fff;
    color: rgb(102, 102, 102);
    border: 1px solid rgb(102, 102, 102);

    font-family: "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 20px;
    font-weight: bold;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.item2 input.wpcf7-submit:hover {
    background-color: #fff;
    color: #F8D95C;
    border-color: #F8D95C;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* 送信時に出るぐるぐるマーク（スピナー）がボタンの位置を狂わせないように位置調整 */
.item2 .wpcf7-spinner {
    position: absolute;
    margin: 10px 0 0 10px;
}
/* --- スマホ時、郵便番号の注釈が縦になるのを直す --- */
@media screen and (max-width: 767px) {
    .address-container .address-sub {
        margin-left: 0 !important;    /* 左側の大きな余白を消す */
        margin-bottom: 10px !important; /* 下の入力欄との間隔を調整 */
        display: block !important;
        width: 100% !important;
        font-size: 13px !important;    /* スマホで見やすいサイズに */
    }
}/* End custom CSS */