@charset "utf-8";

/* ------------------------------------------------------------------------*/
/* common */
/* ------------------------------------------------------------------------ */
body {
    min-width: 375px;
    background-size: 100% 100%;
    /* opacity: 0.3; */
    text-align: center;
    background-color: #f0f0f0;
    /* font-size: 1.4rem; */
    color: #333;
    line-height: 1.5;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Arial, sans-serif;
    width: 100%;
}

.container-fluid{
    position: relative;
}

.textLeft {
    float: left;
}

.textRight {
    float: right;
}

.img-responsive {
    max-width: 100%;
    height: auto;
}

a:hover {
    text-decoration: none;
}

.containerBox {
    max-width: 1015px;
}

.fontBox1r {
    font-size: 1rem;
}

.fontBox09r {
    font-size: 0.9rem;
}

.paddingLeft03r {
    padding-left: 0.3rem;
}

.paddingRight03r {
    padding-right: 0.3rem;
}

.paddingTop1_6r {
    padding-top: 1.6rem;
}

.radioHeighBox {
    height: 20px;
}

/* ------------------------------------------------------------------------*/
/* header */
/* ------------------------------------------------------------------------ */
.headerBox {
    padding: 10px 0px 16px;
    content: " ";
    display: block;
    background: url(/img/header_arc_bg_center-91fc9754f59f6f667fdbc3f78a3cdd4c.png) no-repeat center bottom;
    background-size: 100% 16px;
    background-color: #ffffff;
}

.headerLogo {
    width: 180px;
    height: 49.5px;
}

.imgreturnImgBox {
    vertical-align: bottom;
    display: flex;
    align-items: center;
    height: 40px;
}

.imgreturnImg {
    vertical-align: middle;
    width: 153px;
    height: auto;
}

.displayNone {
    display: none;
}

@media (max-width: 769px){
    .headerBox {
        background-size: contain;
    }
    .imgreturnImg {
        vertical-align: bottom;
        width: 130px;
        height: auto;
    }
    .displayNone {
        display: block;
    }
}

/* ------------------------------------------------------------------------*/
/* center */
/* ------------------------------------------------------------------------ */
.containerCenterBox {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x)* .5);
    padding-left: calc(var(--bs-gutter-x)* .5);
    margin-right: auto;
    margin-left: auto;
    max-width: 650px;
}

.centerBox {
    margin-top: 3.3vh;
    background: #ffffff;
    border-radius: 10px;
    min-height: calc(100vh - 6.6vh - 155px);
}

.titleBox {
    padding: 2.2rem 1.6rem 1.5rem 1.6rem;
    text-align: left;
}

.textCenterBox {
    padding: 0rem 1.6rem 0rem 1.6rem;
    text-align: left;
}

.titleTextH1 {
    font-size: 1.5rem;
    font-weight: 700;
}

.textAreaBox {
    padding-bottom: 1.6rem;
}

.borderLineBox {
    padding: 0rem 1.6rem 0rem 1.6rem;
}

.borderLine {
    border: 1px solid #ccc;
}

.borderGrayBox {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 0.375rem;
    padding: 0.71rem 0.375rem 0.375rem 0.75rem;
    text-align: left;
    cursor: pointer;
}

@media (max-width: 767px){
    body {
        background-color: #ffffff;
    }
    .containerCenterBox {
        padding-right: 0;
        padding-left: 0;
    }
    .centerBox {
        margin-top: 3.3vh;
        background: #ffffff;
        border-radius: 10px;
        min-height: calc(100vh - 6.6vh - 187px);
    }
    .titleTextH1 {
        font-size: calc(1.41rem + 1.5vw);
        font-weight: 700;
    }
    .titleBox {
        padding: 0.2rem 0.5rem 0.4rem .5rem;
    }
    .textCenterBox {
        padding: 0rem 0.5rem 0rem .5rem;
    }
    .titleTextH1 {
        font-size: 1.4rem;
        font-weight: 700;
    }
    .textAreaBox {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .borderLineBox {
        padding: 1rem 0.2rem 1rem .2rem
    }
}


/* ------------------------------------------------------------------------*/
/* fotter */
/* ------------------------------------------------------------------------ */
footer {
    margin-top: 3.3vh;
    background-color: #c02;
    color: #fff;
}

.footnav {
    width: 100%;
    border-top: solid 2px #ccc;
    background-color: #fff;
    margin: 0 auto;
    padding: 7px 0px;
}

footer .footnav a {
    white-space: nowrap;
    margin-right: 10px;
    color: #333;
    font-size: 0.9rem;
}

.bottomRedBox {
    padding: 10px 0px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    font-weight: 500;
}

.bottomRightText {
    font-size: 0.7rem;
    text-align: right;
}

.dMDblock {
    display: block !important;
}

.footerLinkBox {
    text-align: left;
}

@media (max-width: 767px){
    .footnav {
        text-align: center;
    }
    .bottomRightText {
        font-size: 0.7rem;
        float: none;
        text-align: center;
    }
    .footerLinkBox {
        text-align: center;
    }
}

/* ------------------------------------------------------------------------*/
/* stepperのimg様式 */
/* ------------------------------------------------------------------------ */
.imgstepperBox {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.marginBottom30Px {
  margin-bottom: 30px;
}

/* ------------------------------------------------------------------------*/
/* 代理店情報のimg様式 */
/* ------------------------------------------------------------------------ */
.agencyinfoBox {
    background-color: #FDF7F8;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
    max-width: 572.4px;
    height: 100%;
    border: 1px solid #BDC1C4;
    border-radius: 0.375rem;
    display: flex;
    padding: 15px;
}

.agencyInnerBox {
    width: 100%;
    height: 100%;
    flex-direction: column;
    display: flex;
}

.agencyinfoInnerBox{
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.fontBox09rLeft{
    text-align: left;
    font-size: 0.9rem;
}

.agencyinfoBlueBox {
    background-color: #CCEBF8;
    margin-right: auto;
    margin-left: auto;
    max-width: 572.4px;
    height: 80px;
    border: 1px solid #009CDB;
    border-radius: 0.375rem;
    display: flex;
    padding: 5px;
}

.textAreaBox0R {
    padding-bottom: 0rem;
}

.paddingTop1_2r {
    padding-top: 1.2rem;
}

.paddingTop2r {
    padding-top: 2rem;
}

.paddingTop1r {
    padding-top: 1rem;
}

.paddingTop0_5r {
    padding-top: 0.5rem;
}

.paddingBottom0_5r {
    padding-bottom: 0.5rem;
}

.paddingBottom1r {
    padding-bottom: 1rem;
}

.paddingBottom1_6r {
    padding-bottom: 1.6rem;
}

.needStar::after {
    content: '*';
    color: #dc3545;
    margin-left: 1px;
    font-weight: bold;
}

.font_bold{
    font-weight: bold;
}

/* ------------------------------------------------------------------------*/
/* 取扱いについてのimg様式 */
/* ------------------------------------------------------------------------ */
.hadinginfoBox {
    background-color: #F2F3F0;
    margin-right: auto;
    margin-left: auto;
    max-width: 572.4px;
    min-height: 100px;
    border-radius: 0.375rem;
    display: flex;
}

/* ------------------------------------------------------------------------*/
/* リンクボタンのimg様式 */
/* ------------------------------------------------------------------------ */
.linkButtonBox {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    background-color: #fff;
    color: #dc3545;
    border-radius: 4px;
    margin-right: 8px;
    font-weight: bold;
    border: 1px solid #dc3545;
    width: 100%;
    text-align: center;
    text-decoration: none;
    gap: 0.3rem;
}
.linkButtonText {
    position: relative;
    top: 1px;
}
.linkButtonBox .icon {
    height: 1em;
    vertical-align: middle;
}

/* ------------------------------------------------------------------------*/
/* 確認画面のcheckbox様式 */
/* ------------------------------------------------------------------------ */
.agreeCheckBox {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    gap: 0.3rem;
}
.agreeCheck {
    width: 1rem;
    height: 1rem;
    accent-color: red;
}

.agreeCheckText {
    padding-top:3px;
}

/* ------------------------------------------------------------------------*/
/* ボタンの様式 */
/* ------------------------------------------------------------------------ */
.btn_box {
    display: flex;
    padding: 0rem 1.6rem 0rem 1.6rem;
    text-align: center;
    gap: 20px;
}

.btn_box .btnMy {
    white-space: nowrap;
    padding: 10px;
    font-weight: bold;
    text-align: center;
    display: inline-block;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
    color: #fff;
    font-size: 1rem;
    width: 100%;
}

.btn_box .btn_gray {
    background-color: #666;
}

.btn_box .btn_red {
    background-color: #c02;
}

a.disabled {
  pointer-events: none;
  opacity: 0.6;
  cursor: not-allowed;
}

/* ------------------------------------------------------------------------*/
/* チェックボックスの様式 */
/* ------------------------------------------------------------------------ */
.checkbox_unselect {
    width: 1rem;
    height: 1rem;
    position: relative;
    background: white;
    border-radius: 1rem;
    border: 1px #75757C solid;
    accent-color: red;
    top: 2px;
}

/* ------------------------------------------------------------------------*/
/* 黄色通知の様式 */
/* ------------------------------------------------------------------------ */
.infoYellowBox {
    background-color: #F4F6CC;
    margin-right: auto;
    margin-left: auto;
    max-width: 572.4px;
    height: 60px;
    border: 1px solid #C7D200;
    border-radius: 0.375rem;
    display: flex;
    padding: 5px;
}

.infoYellowBox2 {
    background-color: #FEF4CC;
    margin-right: auto;
    margin-left: auto;
    max-width: 572.4px;
    height: 60px;
    border: 1px solid #FCC800;
    border-radius: 0.375rem;
    display: flex;
    padding: 5px;
}

@media (max-width: 767px){
    .infoYellowBox {
        font-size: 0.7rem;
    }
    .infoYellowBox2 {
        font-size: 0.7rem;
    }
    .fontBox09rLeft {
        font-size: 0.7rem;
    }
}

/* ------------------------------------------------------------------------*/
/* TOP流れプロセスの様式 */
/* ------------------------------------------------------------------------ */
.processBox {
    background-color: white;
    margin-right: auto;
    max-width: 572.4px;
    display: flex;
    gap: 0.2rem;
}

.processImgBox {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 2.5%;
    justify-content: center;
    align-items: center;
}

.processImg {
    display: flex;
    width: 1rem;
    height: 1rem;
    background: #D2D2D2;
    border-radius: 1rem;
}

.processFirstImg {
    position: relative;
    top: 12.5px;
}

.processSecondImg {
    position: relative;
    top: 12.5px;
}

.processLastImg {
    position: relative;
    top: 12.5px;
}

.verticalLine {
    display: flex;
    height: 1.8rem;
    width: 0.1rem;
    background: #D2D2D2;
}

.verticalLineFirstImg {
    position: relative;
    top: 12.5px;
}

.verticalLineLastImg {
    position: relative;
    top: 12.5px;
}

.processInfoBox {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.processStep {
    text-align: left;
    font-size: 0.8rem;
    position: relative;
    left: 0.6rem;
}

.fontColorRed {
  color:#CC0022;
}

/* ------------------------------------------------------------------------*/
/* お問い合わせの前に様式 */
/* ------------------------------------------------------------------------ */
.inquiryBeforeBox {
    background-color: #F2F3F0;
    margin-right: auto;
    margin-left: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    display: flex;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 16px;
    padding-bottom: 16px;
    max-width: 572.4px;
    border-radius: 8px;
}

.inquiryInput1BeforeBox {
    background-color: #F2F3F0;
    margin-right: auto;
    margin-left: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    display: flex;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 16px;
    padding-bottom: 16px;
    max-width: 520px;
    border-radius: 8px;
}

.inquiryBeforeTitleBox {
    align-self: stretch;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    display: inline-flex
}

.inquiryBeforeBody1Box {
    align-self: stretch;
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    display: flex
}

.fontBox075rLeft{
    position: relative;
    text-align: left;
    font-size: 0.9rem;
    padding-left: 1.7em;
    text-indent: -1.7em;

}

.fontBox075rLeft::before {
  content: "・";
  color: black;
  margin-right: 7.5px;
}
.space075rLeft::before {
  content: "　";
  margin-right: 7.5px;
}

/* ------------------------------------------------------------------------*/
/* マイページの様式 */
/* ------------------------------------------------------------------------ */
.mypageBox {
    background-color: #FDF7F8;
    margin-right: auto;
    margin-left: auto;
    flex-direction: column;
    gap: 0.5rem;
    display: flex;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    max-width: 572.4px;
    border-radius: 0.5rem;
    border: 1px #BDC1C4 solid;
}

.textMypageCenterBox {
    padding: 0rem 1rem 0rem 1rem;
    text-align: left;
}


/* ------------------------------------------------------------------------*/
/* Topのimg様式 */
/* ------------------------------------------------------------------------ */
.imgTopBox {
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgPc {
    display: block;
    width: 626px;
    height: auto;
    image-rendering: auto;
}

.imgPhone {
    display: none;
}

@media (max-width: 767px){
    .imgPc {
        display: none;
    }
    .imgPhone {
        display: block;
    }
}

input.form-control:focus {
    box-shadow: none;
    outline: none;
}

.fontBox075r {
    font-size: 0.75rem;
}

textarea.form-control {
    height: 100px;
}

textarea.form-control:focus {
    box-shadow: none;
    outline: none;
}

.char-counter {
    font-size: 0.8rem;
    color: #6c757d;
    text-align: right;
    order: 1;
    margin-left: auto;
    top: 0.2em;
}

/* ------------------------------------------------------------------------*/
/* select様式 */
/* ------------------------------------------------------------------------ */
select option[disabled] {
    color: #aaa;
}

.form-select:focus {
    box-shadow: none;
    outline: none;
}

.formErrorContent {
    color: red;
    font-size: 0.8rem;
    position: relative;
    padding-left: 1rem;
    top: 0.2em;
    order: 0;
}

.formErrorContent::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 16px;
    height: 16px;
    background-image: url(/img/commonInquiry/error-acf5b19ee456d3c0537d94f79ee0c13f.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

/* ------------------------------------------------------------------------*/
/* pageTopButton様式 */
/* ------------------------------------------------------------------------ */
#pageTopButton{
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 50%;
    width: 44px;
    height: 44px;
    margin-left: 470px;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    -o-border-radius: 100%;
    -ms-border-radius: 100%;
    border-radius: 100%;
}

@media screen and (max-width: 960px) {
  #pageTopButton{
    right: -10px;
    left: auto;
    margin-left: 0;
  }
}

#pageTopButton a{
    display: inline-block;
}

#pageTopButton a img{
    vertical-align: bottom;
    width: 100%;
    height: 100%;
}
/*pageTopButton*/

/* ------------------------------------------------------------------------*/
/* gif様式 */
/* ------------------------------------------------------------------------ */
.loadingBox {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

.hourglassBox {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.loading {
    width: 10%;
    height: 10%;
}

.hourglassMessage {
    margin-left: 1px;
    font-weight: bold;
}

input::placeholder,
textarea::placeholder {
    color:rgba(0, 0, 0, 0.3) !important;
}

.selectStart {
    color: rgba(0, 0, 0, 0.3);
}

option {
  color: black;
}

input.fieldError,select.fieldError,textarea.fieldError {
  border-color: red;
}

/*link_btn*/
.link_btn {
  margin-top: 60px;
  margin-bottom: 40px;
  text-align: center;
}

  .link_btn .btn_close {
    font-weight: bold;
    text-align: center;
    display: inline-block;
    background-color: #c02;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
    color: #fff;
    font-size: 1.2rem;
    min-width: 289.41px;
    max-height: 44px;
    padding: 10px;
  }

  .link_btn a.btn_close:before {
    vertical-align: middle;
    position: relative;
    top: 8px;
    left: 0px;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    content: " ";
    display: inline-block;
    width: 10px;
    height: 20px;
    background: url(/img/commonInquiry/icon_arrow_02-c20c88ce54a69107461b34e9403234d2.png) no-repeat center left;
    background-size: 100% auto;
  }
/*link_btn*/
pre {
  font-size: 1rem;
  white-space: pre-wrap;
}

.input-group input[id='txtBirthDate'] + .ui-datepicker-trigger {
    margin-left: 6px !important;
    width: 38px !important;
    height: 38px !important;
}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    width: 40%;
}
.ui-datepicker-prev .ui-icon,
.ui-datepicker-next .ui-icon {
    background: none !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    width: 15px !important;
    height: 15px !important;
    white-space: nowrap !important;
    display: block !important;
}

.ui-datepicker-prev .ui-icon {
    background-image: url('/img/commonInquiry/left-arrow-6d1d15a6fcb6c36927cd3114a2159cdb.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

.ui-datepicker-next .ui-icon {
    background-image: url('/img/commonInquiry/right-arrow-3b6e1869ac79ce4644bc6b83890c6357.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}
.ui-datepicker select.ui-datepicker-month {
    width: 35% !important;
}
#agreeCheckError {
    color: red;
    font-size: 0.8rem;
    position: relative;
    padding-left: 1rem;
    top: 0.2em;
    order: 0;
    margin-top: 0.5rem;
    margin-bottom: 0;
}

/* ------------------------------------------------------------------------*/
/* 反社チェックエラー画面 */
/* ------------------------------------------------------------------------ */
.error-card {
    border: none;
    border-radius: 1.25rem; /* より丸みのある角 */
    max-width: 540px;
    width: 100%;
}

.btn-top {
    background-color: #c02;
    border-color: #c02;
    color: #fff;
    font-weight: bold;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}

.btn-top:hover {
    background-color: #005a96;
    color: #fff;
}

/* アイコンのサイズ調整 */
.error-icon {
    width: 120px;
    height: auto;
}