@charset "utf-8";

.secContact{
    padding: 100px 0 155px;
    background: #ebecea;
}
.secContact .secTit{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1.5px;
    margin-top: 23px;
    text-align: center;
    color: #2b8bbd;
}
.secContact .tit{
    font-size: 32px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 2px;
}
.secContact .tabBox{
    display: flex;
    justify-content: center;
    margin: 49px auto 0;
}
.secContact .tab{
    position: relative;
    width: 232px;
    height: 60px;
    background: #fff;
    border: 1px solid #212329;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
}
.secContact .tab::after{
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #212329; 
    border-right: 1px solid #212329;
    transform: rotate(45deg);
    top: calc(50% - 4px);
    right: -18px;
}
.secContact .tabBox .tab:last-child::after{
    display: none;
}
.secContact .tabBox .tab:nth-child(2){
    margin: 0 32px;
}
.secContact .tab.active{
    background: #2b8bbd;
    border-color: #2b8bbd;
    color: #fff;
    font-weight: bold;
    padding-top: 4px;
}
.secCmnBack{
    padding: 80px 0 150px;
    margin-top: 0;
    width: 100%;
    height: auto;
}
.secCmnBack .btn{
    margin-top: 0!important;
}
.secContact + .secCmnBack{
    background: #ebecea;
}
@media only screen and (max-width:767px){
    .secContact{
        position: relative;
        margin-top: 60px;
        padding: 59px 0 0;
    }
    .secContact .contactTop{
        position: relative;
        padding: 0;
    }
    .secContact .secTit{
        font-size: 14px;
        letter-spacing: 1px;
        margin-top: 14px;
    }
    .secContact .tit{
        font-size: 20px;
        letter-spacing: 1.5px;
    }
    .secContact .tabBox{
        justify-content: space-between;
        margin: 30px auto 0;
    }
    .secContact .tab{
        width: 31.885%;
        height: 48px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .secContact .tab::after{
        display: none;
    }
    .secContact .tabBox .tab:nth-child(2){
        margin: 0;
    }
    .secContact .tab.active{
        padding-top: 2px;
    }
    
.secCmnBack{
    padding: 40px 0 80px;
}
}
@media only screen and (max-width:359px){
    .secContact .tit{
        letter-spacing: 0;
    }
}
/* secFormTable */
.secFormTable{
    margin-top: -30px;
    background: #fff;
    padding-bottom: 80px;
}
.secFormTable .boxTable{
    width: 1100px;
    margin: 0 auto;
    padding: 48px 0 0;
}
.secFormTable table{
    display: block;
}
.secFormTable tbody{
    display: block;
}
.secFormTable tr{
    display: flex;
    width: 100%;
    border-bottom: 1px solid #dcdcdc;
}
.secFormTable tr th{
    width: 235px;
    display: flex;
    padding-top: 50px;
    letter-spacing: 3px;
    line-height: 1.86;
}
.secFormTable .radi{
    padding-top: 25px;
}
.secFormTable .mustTit{
    font-size: 15px;
    letter-spacing: 2px;
    margin-top: -1px;
}
.isDesktopIpad .secFormTable .mustTit{
    margin-top: -6px;
}
.secFormTable tr td{
    font-size: 15px;
    min-height: 60px;
    font-weight: 500;
    letter-spacing: 1px;
    width: calc(100% - 235px);
    padding: 31px 0 28px;
    vertical-align: top;
    position: relative;
}
.secFormTable .second{
    padding: 28px 0 31px;
}
.secFormTable .small{
    padding: 31px 0 0;
}
.secFormTable .must{
    width: 46px;
    height: 24px;
    background: #ff4200;
    color: #fff;
    font-size: 11px;
    text-align: center;
    padding-top: 7px;
    margin-right: 14px;
    letter-spacing: 1px;
    line-height: 1;
    flex-shrink: 0;
}
.isDesktopIpad .secFormTable .must{
    padding-top: 5px;
}
.secFormTable .nomust{
    width: 46px;
    height: 24px;
    background: #c4c3c2;
    color: #fff;
    font-size: 11px;
    text-align: center;
    padding-top: 7px;
    margin-right: 14px;
    line-height: 1;
    letter-spacing: 1px;
    flex-shrink: 0;
}
.isDesktopIpad .secFormTable .nomust{
    padding-top: 5px;
}
.secFormTable .oldBox{
    margin-left: 15px;
    margin-right: 10px;
}
.secFormTable .oldTxt{
    font-size: 17px;
    font-weight: 500;
}
.secFormTable .formSubTxt{
    font-size: 13px;
    line-height: 2.15;
    margin-top: 40px;
    background: #f8f8f8;
    padding: 32px 40px;
}
.secFormTable .e_txtbox{
    margin-top: 44px;
    background: #fbfbfb;
    height: 252px;
    padding: 35px 40px;
    overflow: scroll;
}
.secFormTable .e_txt{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
}
.secFormTable .e_txt a{
    display: inline-block;
    color: #000;
}
.secFormTable .cmnBtn{
    margin: 60px auto 0;
}
.secFormTable tr.hide{
    display: none;
}
.secForm td .flexbox{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.secForm td .flexbox.bot{
    margin-top: 10px;
}
.secForm td .days{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.secForm td .flexbox .time{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding-left: 56px;
}
.secForm .ml10{
    margin-left: 10px;
}
.secForm td .boxAddress{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 12px;
}
.secForm td .boxAddress .mr7{
    font-size: 16px;
    line-height: 46px;  
    margin-right: 13px;
}
.secForm td .boxAddress .zipbtn{
    font-size: 12px;
    line-height:1.8;
    padding: 11px 0px 8px;
    color: #fff;
    text-decoration: none;
    background: #212329;
    text-align: center;
    display: block;
    width: 130px;
    border-radius: 30px;
    margin-left: 15px;
}
.secForm td .boxAddress02{
    padding-left: 10px;
}
.secFormTable .privacy{
    display: inline-block;
    color: #006699;
    text-decoration: none;
    border-bottom: 1px solid #006699;
}
.secFormTable .txtTdSub{
    font-size: 13px;
    line-height: 2;
    margin-top: 9px;
    letter-spacing: 0.2px;
    margin-bottom: -5px;
}
.secFormTable .txtTdSub.bot{
    line-height: 1;
}
.secFormTable .redTxt{
    color: #9f0209;
}
.secFormTable .redTxt02{
    color: #dc0101;
}
.secFormTable .txtTdSub.brack{
    color: #333;
}
.secFormTable .minw500{
    min-width: 500px;
}
.secCmnBack .btn{
    text-decoration: none;
    margin: 80px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 381px;
    height: 80px;
    box-shadow: inset 0px -5px 0px 0px rgba(1, 1, 1, 0.08);
    border-radius: 40px;
    background: #212329;
    font-size: 18px;
    letter-spacing: 2px;
    font-weight: bold;
    color: #fff;
}
.secFormTable .private th{
    padding-top: 20px;
}
.secFormTable .private td{
    padding: 20px 0;
}
@media only screen and (max-width:767px){
    .secFormTable{
        margin-top: -24px;
        padding-bottom: 40px;
    }
    .secFormTable .wrapper1280{
        border-bottom: none;
    }
    .secFormTable table{
        display: block;
    }
    .secFormTable tbody{
        display: block;
    }
    .secFormTable .boxTable{
        width: 92%;
        padding: 44px 0 0;
    }
    .secFormTable tr{
        display: block;
    }
    .secFormTable table tr:first-child th{
        padding: 20px 0px 0;
    }
    .secFormTable tr th{
        width: 100%;
        flex-direction: row-reverse;
        justify-content: space-between;
        padding: 25px 0 0;
    }
    .secFormTable .timetxt{
        flex-shrink: 0;
    }
    .secFormTable .small{
        padding: 20px 0 0;
    }
    .secFormTable .radi{
        padding-top: 0;
    }
    .secFormTable .mustTit{
        font-size: 15px;
        letter-spacing: 1.7px;
        margin-top: 0;
    }
    .secFormTable tr td{
        display: block;
        font-size: 15px;
        min-height: 0;
        letter-spacing: 1px;
        width: 100%;
        margin-left: 0;
        padding: 12px 0 24px;
    }
    .secFormTable tr td.calender{
        width: 92vw;
        margin-left: -1.5%;
    }
    .secFormTable table tr:first-child td{
        padding: 10px 0px 24px;
    }
    .secFormTable table tr:last-child td{
       margin-bottom: 0;
    }
    .secFormTable .must{
        margin-right: 0;
    }
    .secFormTable .nomust{
        margin-right: 0;
    }
    .secFormTable .oldBox{
        margin-left: 8px;
        margin-right: 8px;
    }
    .secFormTable .oldTxt{
        font-size: 13px;
    }
    .secFormTable .formSubTxt{
        width: 92%;
        font-size: 11px;
        line-height: 1.8;
        margin: 30px auto 0;
        padding: 20px;
    }
    .secFormTable .e_txtbox{
        width: 100%;
        margin-top: 12px;
        padding: 17px 20px;
    }
    .secFormTable .e_txt{
        font-size: 10px;
        font-weight: 400;
        line-height: 1.8;
    }
    .secFormTable .cmnBtn{
        margin: 40px auto 0;
        font-size: 13px;
    }
    .secForm td .flexbox{
        display: block;
    }
    .secForm td .flexbox .time{
        padding-left: 0;
        margin-top: 10px;
    }
    .secForm td .boxAddress .zipbtn{
        margin-left: 10px;
        padding: 10px 0 9px;
    }
    .secForm td .boxAddress{
        margin-bottom: 6px;
    }
    .secForm td .boxAddress02{
        padding-left: 0;
        margin-top: 8px;
    }
    .secFormTable .txtTdSub{
        font-size: 11px;
        line-height: 1.63;
        margin-top: 7px;
        letter-spacing: 0.2px;
        margin-bottom: 0;
    }
    .secFormTable .minw500{
        min-width: 100%;
    }
    .secCmnBack .btn{
        margin: 0 auto;
        width: 57.334%;
        min-width: 215px;
        height: 60px;
        border-radius: 30px;
        font-size: 13px;
        letter-spacing: 1px;
    }
}
@media only screen and (max-width:359px){
    .secFormTable .formSubTxt{
        letter-spacing: -0.2px;
    }
}

/* datepicker */
.ui-widget.ui-widget-content{
	z-index: 1000 !important;
}
.secFormTable input[type="text"],
.secFormTable input[type="tel"], 
.secFormTable input[type="email"], 
.secFormTable input[type="password"], 
.secFormTable select{
    background: #fff;
    height: 60px;
    padding-left: 20px;
    border: 1px solid #dcdcdc;
}
.secFormTable input[type="text"].inputRequired,
.secFormTable input[type="tel"].inputRequired, 
.secFormTable input[type="email"].inputRequired, 
.secFormTable input[type="password"].inputRequired,
.secFormTable textarea.inputRequired,
.secFormTable select.inputRequired{
    background: #fff8f8;
}
.secFormTable input[type="text"]::placeholder,
.secFormTable input[type="tel"]::placeholder, 
.secFormTable input[type="email"]::placeholder, 
.secFormTable input[type="password"]::placeholder, 
.secFormTable select::placeholder{
    color: #848484;
}
input,
textarea,
select{
    font-size: 15px;
    font-family: inherit;
    background: #fff;
    letter-spacing: 1.5px;
    line-height: 2;
}
.secFormTable textarea{
    padding: 14px 22px;
    border: 1px solid #dcdcdc;
    width: 100%;
}
@media only screen and (max-width:767px){
    input,
    textarea,
    select{
        font-size: 16px;
        letter-spacing: 1px;
        line-height: 1.5;
    }
    .secFormTable input[type="text"],
    .secFormTable input[type="tel"], 
    .secFormTable input[type="email"], 
    .secFormTable input[type="password"],
    .secFormTable select, 
    .secFormTable textarea{
        height: 55px;
        padding-left: 15px;
    }
    .secFormTable textarea{
        width: 100%;
        height: 135px;
        padding: 15px;
    }
    .secFormTable textarea.h180{
        height: 180px;
    }
    .secFormTable .spNone{
        display: none;
    }
    .secFormTable select::-ms-expand{
        display: none;
    }
}

/* ラジオボックス */
.secForm .itemRadio{
    margin-bottom: 0;
}
.secFormTable input[type="radio"],
.secFormTable .txtRadio::before{
    width: 20px;
    height: 20px;
}
.secFormTable input[type="radio"]{
    position: absolute;
    margin: 0;
}
.secFormTable .labelRadio{
    position: relative;
    font-size: 15px;
    height: 30px;
    display: flex;
}
.secFormTable .txtRadio{
    display: inline-flex;
    align-items: center;
    padding-left: 45px;
    font-size: 17px;
}
/* チェックボックス */
.secFormTable input[type="checkbox"],
.secFormTable .labelCheck::before{
    width: 22px;
    height: 22px;
}
.secFormTable .boxCheck li:nth-child(n+2){
    margin-top: 14px;
}
.secFormTable input[type="checkbox"]{
    position: relative;
    margin: 0;
    border: 1px solid #e1e1e1;
}
.secFormTable .agree{
    margin: 29px auto 0;
    text-align: center;
}
.secFormTable td .itemRadio:nth-child(n+2){
    margin-top: 10px;
}
.secFormTable .agree .txtError{
    margin: 15px auto 0;
}
.secFormTable .labelCheck{
    position: relative;
    font-size: 15px;
    display: inline-flex;
    margin: 0 auto;
}
.secFormTable .txtCheck{
    font-size: 15px;
    margin-left: 13px;
    letter-spacing: 1px;
    padding-top: 3px;
    position: relative;
}
.secFormTable .txtError{
    width: 100%;
    color: #F00;
    font-size: 12px;
    line-height: 1.5;
    padding: 0 0 0 17px;
    margin-top: 15px;
}
.secFormTable .txtError.last{
    width: 260px;
}
.secFormTable.lazyloaded .txtError{
    background: url(../img/common/iconError.png) left 2px / 14px auto no-repeat;
}
.secFormTable .txtArea{
    padding: 30px 0;
}
.secFormTable .private th{
    padding: 28px 0;
}
.secFormTable .private td{
    padding: 29px 0;
}
.secFormTable .thPt{
    padding-top: 30px;
}
@media only screen and (max-width:767px){
    .secFormTable .txtError{
        font-size: 12px;
        margin-top: 10px;
    }
    .secFormTable .agree{
        margin: 20px auto 0;
    }
    .secFormTable td .itemRadio:nth-child(n+2){
        margin-top: 9px;
    }
    .secFormTable input[type="checkbox"]{
        left: 0;
    }
    .secFormTable .txtCheck{
        font-size: 14px;
        padding-top: 0;
        line-height: 1.5;
        margin-left: 14px;
        letter-spacing: 1.4px;
    }
    .secFormTable .boxCheck li:nth-child(n+2){
        margin-top: 8px;
    }
    .secFormTable .txtArea{
        padding: 10px 0 30px;
    }
    .secFormTable .private th{
        padding: 25px 0 0;
    }
    .secFormTable .private td{
        padding: 12px 0 22px;
    }
    .secFormTable .thPt{
        padding-top: 25px;
    }
}

.secForm .w100{
    width: 100%;
}
.secForm .w650{
    width: 650px;
}
.secForm .w450{
    width: 450px;
}
.secForm .w240{
    width: 240px;
}
.secForm .w210{
    width: 210px;
}
.secForm .w200{
    width: 200px;
}
.secForm .w400{
    width: 400px;
}
.secForm .wp100{
    width: 100px;
}
.secForm .w150{
    width: 150px;
}
.secForm .w185{
    width: 185px;
}
.secForm .w288{
    width: 288px;
}
.secForm .h200{
    height: 200px;
}
@media only screen and (max-width:767px){
    .secForm .w650{
        width: 100%;
    }
    .secForm .w450{
        width: 100%;
    }
    .secForm .w200{
        width: 140px;
    }
    .secForm .w240{
        width: 100%;
    }
    .secForm .w288{
        width: 100%;
    }
    .secForm .boxpref .w200{
        width: 145px;
    }
    .secForm .w400{
        width: 65.673%;
    }
    .secForm .wp100{
        width: 50px;
    }
    .secForm .w150{
        width: 100%;
    }
    .secForm .w185{
        width: 100%;
    }
    .secForm .h200{
        height: 120px;
    }
}

/* ----------------------------------------------------------
             co
------------------------------------------------------------- */
.secContact.co{
    margin-top: 0;
}
.secContact.co .secFormTable tr{
    align-items: center;
}
.secContact.co .secFormTable tr th{
    padding: 20px 0;
    align-items: center;
}
.secContact.co .secFormTable tr td{
    line-height: 1.5;
    padding: 30px 0;
}
.secContact.co .secFormTable .cmnBtn.bot{
    width: 400px;
    background: #212329;
    margin-top: 30px;
    color: #fff;
}
@media only screen and (max-width:767px){
    .secContact.co .secFormTable tr th{
        padding: 25px 0 0;
        display: block;
    }
    .secContact.co .secFormTable table tr:first-child th{
        padding: 20px 0 0;
    }
    .secContact.co .secFormTable tr td{
        padding: 12px 0 24px;
    }
    .secContact.co .secFormTable .cmnBtn.bot{
        width: 70%;
        margin-top: 20px;
    }
}

/* -------------------------------------------------------
    ok
------------------------------------------------------ */
.secContact.ok .okTxt{
    text-align: center;
    font-size: 16px;
    line-height: 2;
    margin-top: 30px;
}
.secContact.ok .secFormTable .cmnBtn.bot{
    margin-top: 45px;
}
@media only screen and (max-width:767px){
    .secContact.ok .okTxt{
        font-size: 14px;
        line-height: 1.7;
        margin-top: 20px;
        text-align: left;
    }
    .secContact.ok .secFormTable .cmnBtn.bot{
        margin-top: 40px;
    }
}
@media only screen and (max-width:359px){
    .secContact.ok .okTxt{
        font-size: 13px;
    }
}

.secContact.co, .secContact.pb {
    padding-bottom: 150px;
}
@media only screen and (max-width: 767px){
    .secContact.co, .secContact.pb {
        padding-bottom: 80px;
    }
}


tr.hideBox{display: none;}

/* 231102 */
.inputlist .item label{
    display: flex;
}
.inputlist .item label span{
    flex: 1;
    padding-left: 13px;
}
.inputlist .item:nth-child(n + 2){
    margin-top: 10px;
}
.inputlist .item input[type="checkbox"]{
    top: -3px;
}
@media only screen and (max-width: 767px){
    .inputlist .item input[type="checkbox"]{
        top: 0px;
    }
    .inputlist .item label span{
        padding-left: 14px;
        line-height: 1.5;
        letter-spacing: 1.4px;
    }
}

/* secGiftBox */
.secFormTable .secGiftBox + .boxTable{
    padding-top: 0;
}
.boxQuestionnaire .secGiftBox{
    padding-top: 64px;
}
.secGiftBox{
    padding-top: 114px;
    width: 1100px;
    margin: 0 auto;
}
.secGiftBox .inner{
    border: 1px solid #2b8bbd;
}
.secGiftBox .giftTit{
    position: relative;
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    z-index: 1;
}
.secGiftBox .giftTit::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: -30px;
    left: 0;
    right: 0;
    width: 512px;
    height: 85px;
    background: url(../img/index/bgGift.png) center top / cover no-repeat;
    z-index: -1;
}
.secGiftBox .innerTxt{
    padding: 60px 85px;
}
.secGiftBox .txt{
    font-size: 16px;
    line-height: 35px;
    text-align: left;
}
.secGiftBox .redtxt {
    font-size: 16px;
    color: #f30909;
    font-weight: bold;
    padding-bottom: 5px;
}

@media only screen and (max-width:767px){
    .secGiftBox{
        padding-top: 80px;
        width: 92%;
    }
    .boxQuestionnaire .secGiftBox{
        padding-top: 50px;
        width: 100%;
    }
    .secGiftBox .giftTit{
        margin-top: -10px;
        font-size: 16px;
    }
    .secGiftBox .giftTit::before{
        top: -15px;
        width: 270px;
        height: 45px;
        background: url(../img/index/bgGiftSp.png) center top / cover no-repeat;
    }
    .secGiftBox .innerTxt{
        padding: 30px 15px;
    }
    .secGiftBox .txt{
        font-size: 13px;
        line-height: 22px;
        letter-spacing: 1px;
    }
    .secGiftBox .txt span{
        margin-bottom: 14px;
        display: block;
    }
    
    .secGiftBox .redtxt {
        font-size: 13px;
        padding-bottom: 3px;
        letter-spacing: 0.5px;
    }
    .secGiftBox .txt .fBold {
        margin-bottom: 0;
    }
}

/* secQuestionnaireInfo */
.secQuestionnaireInfo{
    margin: 56px auto 0;
}
.secQuestionnaireInfo .quesTit{
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}
.secQuestionnaireInfo .quesList{
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding: 0 38px;
}
@media only screen and (max-width:767px){
    .secQuestionnaireInfo{
        margin: 30px auto;
    }
    .secQuestionnaireInfo .quesTit{
        font-size: 18px;
        line-height: 26px;
    }
    .secQuestionnaireInfo .quesList{
        flex-direction: column;
        margin-top: 20px;
        padding: 0;
    }
    .secQuestionnaireInfo .quesList .item + .item{
        margin-top: 15px;
    }
}

.btnSendCo.no_tap,
.btnSendCoBack.no_tap{
    opacity: 0.3!important;
    pointer-events: none!important;
    transition: none!important;
}
.btnSendCo.no_tap{
    background: url(../img/common/iconLoader.gif) center center / 32px auto no-repeat,#fff!important;
    /* 「#fff」はボタンの背景色を入れてください */
    font-size: 0!important;
}

/* secContact */
.secFormTable table tr:first-child td{
    padding-top: 52px;
}
.secFormTable .caleTop{
    font-size: 15px;
    margin-bottom: 10px;
}
.secFormTable .caleTop.bot{
    margin-top: 20px;
}
@media only screen and (max-width:767px){
    .secFormTable table tr:first-child td{
        padding-top: 9px;
    }
    .secFormTable .caleTop.bot{
        margin-top: 14px;
    }
}