/**
* 使用クラス一覧
**/

/*--------------------------------------
/*
 * ・
 *
 *---------------------------------------/
/*******
 * PC
 *******/
.base_form__flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: space-between;
    margin: 4rem 0 1rem;
}
.base_form__flow > li {
    -ms-flex-preferred-size: 34%;
    flex-basis: 34%;
    display: flex;
    flex-direction: column;
    margin-right: 1rem;
}
.base_form__flow > li:last-child {
    margin-right: 0;
}
.base_form__flow > li .base_form__flow_icon {
    font-family: 'Roboto', 'Montserrat', sans-serif;
    font-size: var(--font-11);
    width: 2.3rem;
    height: 2.3rem;
    line-height: 2.5rem;
    color: #fff;
    background: var(--second-color);
    margin: 0 auto 1rem;
    display: block;
    border-radius: 50%;
    text-align: center;
    position: relative;
}
.base_form__flow > li .base_form__flow_icon::before {
    content: "";
    border: solid transparent;
    border-width: 6px;
    border-top-color: var(--second-color);
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.base_form__flow_li--active .base_form__flow_icon {
    background-color: var(--main-color) !important;
}
.base_form__flow_li--active .base_form__flow_icon::before {
    border-top-color: var(--main-color) !important;
}
.base_form__flow > li dl {
    padding: 1rem 1rem 1rem 2.5rem;
    margin: 0;
    background-color: rgb(186 186 186);
    position: relative;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.base_form__flow > li:first-child dl {
    padding-left: 1rem;
}
.base_form__flow > li:not(:first-child) dl::before {
    content: "";
    width: 27px;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: linear-gradient(to bottom left, transparent 50%, rgb(255 255 255) 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, transparent 50%, rgb(255 255 255) 50%) bottom left / 100% 50% no-repeat;
}
.base_form__flow > li:not(:last-child) dl::after {
    content: "";
    width: 27px;
    height: 100%;
    right: -27px;
    top: 0;
    position: absolute;
    background: linear-gradient(to bottom left, transparent 50%, rgb(186 186 186) 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, transparent 50%, rgb(186 186 186) 50%) bottom left / 100% 50% no-repeat;
    z-index: 99;
}
.base_form__flow > li dl dt {
    font-size: var(--font-12);
    font-weight: normal;
    color: #fff;
    /* flex-basis: 20%; */
    text-align: center;
}
.base_form__flow > li dl dd {
    margin-top: 1vh;
}

.base_form__flow_li--active dl {
    background-color: var(--main-color) !important;
}
.base_form__flow_li--active dl::after {
    background: linear-gradient(to bottom left, transparent 50%, var(--main-color) 50%) top left/ 100% 50% no-repeat, linear-gradient(to top left, transparent 50%, var(--main-color) 50%) bottom left / 100% 50% no-repeat  !important;
}

.base_form__lead {
    font-size: var(--font-10);
    text-align: center;
}
.base_form__lead span {
    color: var(--main-color);
    font-size: var(--font-12);
    font-weight: 500;
    margin: 0 .5rem;
}

.base_form__section_title {
    background-color: var(--main-color);
    color: #fff;
    font-size: var(--font-15);
    text-align: center;
    padding: .5rem 1rem;
    margin: 0;
    width: 100%;
}
.base_form__text_small {
    color: #555;
    font-size: var(--font-08);
}

.base_form__dl, .base_form__dl_option {
    background-color: #eee;
    margin-bottom: 1rem;
    padding: 1rem 5%;
    display: flex;
    flex-wrap: wrap;
}
.base_form__dl dt, .base_form__dl dd {
    padding: .5rem;
}
.base_form__dl dt {
    /* color: #2e335f; */
    font-size: var(--font-10);
    font-weight: 500;
    padding: 0;
    flex-basis: 25%;
    border-bottom: 1px solid #dad9d6;
    display: flex;
    align-items: center;
}
.base_form__dl dt .required {
    position: relative;
    display: inline-block;
    min-height: 2rem;
    white-space: nowrap;
    margin-left: 0.5rem;
}
.base_form__dl dt .required::before {
    content: "必須";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    color: #222;
    font-size: var(--font-08);
    font-weight: normal;
    padding: .2rem .5rem;
    background: var(--second-color);
    border-radius: 5px;
    line-height: 1;
}
.base_form__dl dd {
    font-size: var(--font-10);
    border-bottom: 1px solid #dad9d6;
    flex-basis: 73%;
}
.base_form__dl dd label {
    display: block;
    width: 100%;
    text-indent: -1.2rem;
    padding-left: 1.2rem;
    margin-bottom: 1rem;
}
.base_form__dl_checkbox {
    margin-right: 1rem;
}
.base_form__dl input, .base_form__dl  select, .base_form__dl textarea {
    background-color: #fff;
    padding: .5rem;
}
.base_form__dl input[type=checkbox], .base_form__dl input[type=radio] {
    margin-right: .5rem;
}
.base_form__dl input[type="text"], .base_form__dl input[type="email"], .base_form__dl textarea {
    font-size: var(--font-09);
    width: 100%;
}
.base_form__dl input[type="number"] {
    font-size: var(--font-09);
}
.base_form__dl--w15p {
    width: 15% !important;
}
.base_form__dl--w20p {
    width: 20% !important;
}
.base_form__dl--w30p {
    width: 30% !important;
}
.base_form__dl dd > input + label {
    margin-top: .7rem;
}
.base_form__dl_inner {
    margin-bottom: .5rem;
}
.base_form__dl .base_form__dl_label {
    /* color: #222; */
    margin-bottom: 0;
}
.base_form__dl label:hover {
    cursor: pointer;
}
/* フォーム下記オプション部分 */
.base_form__dl_option {
    text-align: center;
}
.base_form__dl_option li {
    width: 100%;
}
.base_form__dl_option li label {
    display: inline-block;
    padding: .5rem;
}
.base_form__dl_option .required::before {
    content: "必須";
    color: #222;
    font-size: var(--font-10);
    font-weight: normal;
    padding: .3em .5rem;
    background: var(--second-color);
    border-radius: 5px;
}
.base_form__dl_buttons {
    display: flex;
    justify-content: center;
    column-gap: 3rem;
    margin-bottom: 1rem;
}
.base_form__dl_buttons button {
    transition: all .3s;
}
.base_form__dl_buttons button:hover {
    box-shadow: 0 1px 1px 0px rgb(0 0 0 / 30%);
    transform: translateY(3px);
}

.base_form__dl_submit {
    background-color: #ca2922;
    color: #fff;
    font-weight: 500;
    border-radius: 100px;
    padding: 1rem 2.5rem 1rem 1.5rem;
    min-width: 10rem;
    margin-top: 1rem;
    box-shadow: 0 2px 3px 1px rgb(0 0 0 / 30%);
    transition: all .3s;
    position: relative;
}
.base_form__dl_submit::after {
    content: "\f0a4";
    font-size: var(--font-15);
    font-family: "Font Awesome 5 Pro";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 1rem;
}
.base_form__dl_submit:hover {
    background-color: #222;
    -webkit-transform: translateY(3px);
    -ms-transform: translateY(3px);
    transform: translateY(3px);
    box-shadow: 0 0 3px 1px rgb(0 0 0 / 30%);
}
.base_form__dl_back {
    background-color: #666;
    color: #fff;
    font-weight: 500;
    border-radius: 100px;
    padding: 1rem 1.5rem 1rem 2.5rem;
    min-width: 10rem;
    margin-top: 1rem;
    box-shadow: 0 2px 3px 1px rgb(0 0 0 / 30%);
    transition: all .3s;
    position: relative;
}
.base_form__dl_back::before {
    content: "\f053";
    font-family: fontawesome;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 1rem;
}

.base_form__dl_option label:hover {
    cursor: pointer;
}
/* ファイルリスト部分 */
.base_form__list_file li {
    margin: 1rem 0 2rem;
}
.base_form__list_file_title {
    font-size: var(--font-13);
    font-weight: 500;
    text-align: left;
    border-left: 1rem solid var(--main-color);
    padding: 0.5rem;
    margin: 0;
}
.base_form__list_file > li > div {
    margin-left: 2rem;
}
.base_form__list_file_detail {
    position: relative;
    display: block;
}
.base_form__list_file_detail + .base_form__list_file_detail {
    border-top: 1px solid #ddd;
}
.base_form__list_file_detail dl {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.base_form__list_file_detail dt {
    font-size: var(--font-09);
    padding: 0 1rem 0 2.5rem;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
    flex-basis: 42rem;
}
.base_form__list_file_detail dt span{
    font-family: 'Jun 501', sans-serif;
}
.base_form__list_file_detail dt small{
    font-size: var(--font-07);
    color: #555;
    margin-top: .5rem;
}
.base_form__list_file_detail dd {
    flex-basis: 14rem;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}
.base_form__list_file_detail dd img {
    max-height: 7rem;
    width: auto;
    max-width: 100%;
}
.base_form__list_file_detail dd small {
    margin-bottom: 0.8rem;
    display: inline-block;
}
.base_form__list_file_detail input {
    position: absolute;
    top: 45%;
    transform: translateY(-45%);
    -webkit-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    left: 1rem;
}
.base_form__list_file_detail input[type=checkbox], .base_form__dl_option input[type=checkbox] {
    transform: scale(1.5);
}
.base_form__list_file_detail input:checked + dl dt span {
    color: var(--main-color);
}
.base_form__list_file_detail dl:hover > dt span {
    color: var(--main-color);
    
}
.base_form__list_file_detail dl:hover > dd {
    opacity: .7;
    
}
.base_form__list_file label:hover {
    cursor: pointer;
}
.base_form__list_file_detail img {
    margin: .3rem 0;
}

.base_form__inner_datetime {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 2rem;
    align-items: center;
    margin-bottom: 1rem;
}
.base_form__inner_datetime_title {
    background-color: #dad9d6;
    border-radius: 5px;
    padding: 0.5rem 1rem;
    font-size: var(--font-09);
}
.base_form__inner_datetime .base_form__inner_datetime_content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 1rem;
}
.base_form__inner_datetime_content > div {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: .3rem;
}

/* 確認ページ */
.base_form__dl dd ul {
    list-style-type: disc;
    list-style-position: inside;
}
.base_form__dl dd li {
    width: 100%;
    text-indent: -1.2rem;
    padding-left: 1.2rem;
    margin-bottom: 1rem;
}

/*******
 * Tablet・SP
 *******/
@media screen and (max-width: 955px) {
    .base_form__dl dt {
        background-color: #dad9d6;
        text-align: center;
        flex-basis: 100%;
        padding: 1%;
    }
    .base_form__dl dt .required {
        display: inline-block;
        min-height: auto;
    }
    .base_form__dl dt .required::before {
        position: relative;
    }
    .base_form__dl dd {
        border: none;
        flex-basis: 100%;
    }
    .base_form__inner_datetime {
        flex-wrap: wrap;
    }
    .base_form__inner_datetime_title {
        margin-bottom: .5rem;
    }
    .base_form__inner_datetime_content {
        font-size: var(--font-08);
    }
}

/*******
 * SP
 *******/
@media (max-width: 639px) {
    .base_form__flow {
        margin-left: 0;
        margin-right: 0;
    }
    .base_form__flow > li {
        flex-basis: 31%;
        margin-right: .5rem;
    }
    .base_form__list_file > li > div {
        margin-left: 0;
    }
    .base_form__list_file_detail dl {
        flex-wrap: wrap;
    }
    .base_form__list_file_detail dt {
        padding-top: 1rem;
        font-family: 'Jun 501', sans-serif;
    }
    .base_form__list_file_detail dd {
        flex-basis: 90%;
        padding-left: 2.5rem;
        margin: 0 auto;
    }
    .base_form__list_file_detail img {

    }
}
