@charset "utf-8";

/* paddingやmarginを枠内に含む処理 */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* フォーム共通CSS */
#form #header {background-image: url(../img/header/main-visual_02.png); height: 400px;}
#form_conte_main {width: 1000px; height: auto; margin: 0 auto 100px; padding: 24px 0 0;}
#contentTable2 {width: 100%; background: #fff; padding:30px 50px; border-right:1px solid #BFBFBF; border-left:1px solid #BFBFBF;}
.tableBox {margin: 0 auto 50px;}
.tableBox .formH1 {color: #fff; font-size: 20px; font-weight: bold; padding: 15px 30px; background: #73c8bb; letter-spacing: 0.3em; border-radius:0px; background:linear-gradient(to right, #3D9EA0, #3D638F);}
.tableBox .formH2 {color: #333; font-size: 20px; font-weight: bold; letter-spacing: 0.2em; margin-bottom: 10px; color:#505050;}
.tableBox .formH3 {color: #333; font-size: 20px; font-weight: 500; letter-spacing: 0.2em; margin-bottom: 10px; color:#000000;}
.tableBox .formH2 img {height:100%; padding:5px 0 0 10px;}
.copy-box2{max-width:1000px; margin: 0 auto; padding: 70px 0 50px; text-align: center;}


/* 入力項目 */
.contentTable3 label {padding: 10px 20px; border: 1px solid #AEAFAE; font-size:18px;}
.contentTable3 select {padding: 10px 20px; border: 1px solid #AEAFAE; font-size:18px; width:50%;}
.contentTable3 input[type="checkbox"] { cursor: pointer; margin-right:10px;}
.contentTable3 input[type="text"] {padding: 10px 20px; border: 1px solid #AEAFAE; font-size:18px; width:70%; background:#f9f9f9;}
.contentTable3 textarea {width:70%; height:150px; padding: 10px 20px; font-size:18px;}
.contentTable3 li{display:flex;}
#modal_w li{display:flex; float: left; width: 100%;}
.contentTable3 ul{margin:0 0 30px;}
#modal_w {margin:0 0 30px; width: 50%; float: left;}

.contentTable3 input[type="radio"] { cursor: pointer; margin-right:10px;}
.radio {padding: 10px 20px; font-size:18px;}
.radio label{display: block; cursor: pointer;}
.radio .li{float:left; display:block; width:48%; margin:0 1% 1% 0;}

.checkbox label{display: block; cursor: pointer;}
.checkbox .li{float:left; display:block; width:48%; margin:0 1% 1% 0;}

.red1 {color: #e66e6e; font-size:17px; margin-left:20px; padding-top: 3px;}




/* チェックボックスデザイン */
.radio{display: none;}
.icon{padding-left: 20px; position:relative; margin-right: 20px;}
.icon::before{content: ""; display: block; position: absolute; top: 4px; left: 0; width: 15px; height: 15px; border: 1px solid #999; border-radius: 4px;}
.radio:checked + .icon{color: #009a9a;}
.radio:checked + .icon::after{content: ""; display: block; position: absolute; top: -0px; left: 5px; width: 7px; height: 14px; transform: rotate(40deg); border-bottom: 3px solid #009a9a; border-right: 3px solid #009a9a;}


/* 次のページへ進むボタン共通 */
.actionBtn1 {background: linear-gradient(45deg,#3D9EA0,#3D638F); border-radius: 45px; width: 50%; padding:2px; margin:0 auto;}
.actionBtn2{background: #FFF; border-radius: 45px; padding:15px 30px; color: #3D638F; font-size: 1.7em; font-weight: bold; letter-spacing: 0.2em; text-indent: 0.5em; transition: all .5s; cursor: pointer; width: 100%; border:0;}
.actionBtn2:hover {background: linear-gradient(45deg,#3D9EA0,#3D638F); color:#fff;}


/* 入力内容確認ボタン */
.actionBtn3{background: linear-gradient(45deg,#3D9EA0,#3D638F); border-radius: 45px; width: 50%; padding:2px; margin:0 auto;}
.actionBtn4{background: #FFF; color: #3D638F; border-radius: 45px; padding:5px 30px; font-size: 1.2em; font-weight: bold; letter-spacing: 0.2em; text-indent: 0.5em; transition: all .5s; cursor: pointer; width: 100%; border:0;}
.actionBtn4:hover {background: #d5d5d5; color: #3D638F;}

.actionBtn5{background: #FFF; border-radius: 45px; color: #3D638F; font-size: 1em; font-weight: bold; letter-spacing: 0.2em; text-indent: 0.5em; transition: all .5s; cursor: pointer; width: 100%; border:0; text-align:center;}
.actionBtn5:hover{background: linear-gradient(45deg,#3D9EA0,#3D638F); color:#fff;}
.actionBtn5 a:hover{color:#fff;}
.actionBtn5 a{color: #3D638F; display:block; padding:15px 30px;}

/* SSLエリア */
#ssL {border: 3px solid #B5B5B5 !important; height: auto !important; margin: 0 auto !important; width: 100% !important;	padding:20px !important;}
.ssL_l {display: inline !important; float: left !important; margin: 15px 0 15px 30px !important; width:auto !important;}
.ssL_r {float: right !important; display:inline !important; font-size:16px !important; width: 80% !important; line-height:2em !important; margin:0px !important;}
#reDText {color: #D20000 !important; font-size: 20px !important; font-weight: bold !important; margin: 60px auto 0 !important; width: 100% !important; text-align: center;}
.haBa_Btm{padding:0 0 20px !important;}
.fr{float:right;}


/* メルマガエリア */
#mailmzA {width:400px !important; padding-bottom: 0 !important; margin:8px 0 !important; float:right;}
#mailmzA .tooltipP a { cursor: pointer; }
#pageBottom2 #mailmzA #tooltip { top: -98px !important; left: 377px !important; }
#cnf-mail #mailmzA{text-align:center; margin:8px auto !important; float:none;}


/* フッター固定CTA（業者選択ページのみ） */
#pageBottom2 {width: 100%; background: rgba(250,250,250,1); border-top: 2px solid #ccc; border-bottom: 2px solid #ccc;}
.sticky2 {position: -webkit-fixed;/* safari対応 */ position: sticky; bottom: 0; right: 0;/* 固定位置 */}
.cv_box {padding: 15px 10%;}
.cv_botan2 {height: auto;}
.otoiawase_bt6 {position: absolute;}
.otoiawase_bt6 input {background: #f9e561; padding: 10px; border: none; border-radius: 5px; box-shadow: 0 3px 3px #777; color: #333; font-size: 1.5em; font-weight: bold; text-indent: .9em; letter-spacing: .2em; transition: all .5s; cursor: pointer;}
.otoiawase_bt6 input:hover {opacity: 0.7; transition: all .5s;}
.cv_botan_bk {background: linear-gradient(45deg,#3D9EA0,#3D638F);}

.wrapper {
  height: 100vh;
  width: 100vw;
}


/* エラーページ専用 */
.errorBox {background: #fd5353; color: #fff; padding-bottom: 10px; border-radius: 5px; margin: 0 auto; width: 100%;}
.errorBox .errorMidashi {background: #f00; border-radius: 5px; font-size: 18px; font-weight: bold; color: #fff; padding: 8px; text-align: center; margin: 0 auto;}
.errorBox .errorMidashi2 {margin: 10px auto; text-align: center; font-size: 16px;}
.errorBox .seikyu_err {margin-bottom: 8px; font-size: 1.2em; text-indent: 1em;}
.err_red {background-color: #FF5454; width: auto; height: auto; padding: 10px; border-radius: 5px; margin-top: 0;}



/* 業者選択ページ　業者選択時に色を付けるやつ */
#sortNew input[type="checkbox"].my_check {display: none;}
#sortNew input[type="checkbox"].my_check + label {display: inline-block; cursor: pointer; margin: 0px; width: 100%;}
#sortNew input[type="checkbox"].my_check + label::before {width: 30px; height: 30px; line-height: 26px; font-size: 35px; display: inline-block; vertical-align: middle; text-align: center; content: "\2713"; color: transparent; margin: 0; padding: 0; border-radius: 5px; border: 3px solid #dddddd; background: #f0f0f0; -webkit-transition: .1s; transition: .1s; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
#sortNew input[type="checkbox"].my_check + label:hover{color: #808080;}
#sortNew input[type="checkbox"].my_check + label:hover::before{background-color: #fff;}
#sortNew input[type="checkbox"].my_check:checked + label{color: #15c; background: #f6ce44;}
#sortNew input[type="checkbox"].my_check:checked + label::before{font-size: 25px; background: #fff !important; border-color: #15c !important; color: #15c !important;}
#sortNew label span { margin-left: 5px;}



/* 入力内容確認ページ */
.confirmTable th{background:#ccc; padding:10px 20px; width:30%;}
.confirmTable td{padding:10px 20px;}



/* 送信完了ページ */
#form .mail p{font-size:20px; font-weight:bold;}
#form .mail .title{color: #3B7393; font-size: 30px; text-align: center;}



/* 業者選択ページ専用 */
#contentTable2 table { border: 1px solid #AFAFAF; margin: 0 auto; width: 100%; }
#contentTable2 table .td_1 { background-color: #aaa; height: 32px; padding-left: 0px; text-align: left; width: 100%; font-weight: bold; }
#contentTable2 table .td_2 { padding: 15px 20px 15px  15px; }
#contentTable2 table .td_3 { font-size: 15px; line-height: 1.5; padding: 15px 20px 15px 0; width: 100%; }
#contentTable2 table .td_4 { position: relative; width: 84px; }
#contentTable2 table .td_4 a { display: block; width: 84px; }
#contentTable2 table .td_4 a img { position: absolute; bottom: 5px; right: 5px; }



/* corpフォームSSL用 */
.sslcss{
	position: fixed!important;
    bottom: 0!important;
}


.sslbox{
	    width: 1000px;
    height: auto;
    margin: 0 auto 100px;
    padding: 24px 0 0;
}