@charset "UTF-8";

/*-------------------------
    index
-------------------------*/
.p-index{
    display: flex;
    flex-wrap: wrap;
    padding-top: var(--pt-main);
}
.p-index__item{
    width: 47.9165%;
    margin: 4.167% 4.167% 0 0;
}
.p-index__item:nth-child(2n){
    margin-right: 0;
}
.p-index__item:nth-child(-n+2){
    margin-top: 0;
}
.p-index__link{
    display: block;
    background: var(--cl-white);
    padding: var(--p-item);
    border-radius: var(--radius-base);
    text-align: center;
}
.p-index__icon{
    font-size: var(--fs-contact-icon);
}
.p-index__name{
    font-size: var(--fs-title-3s);
    font-weight: 500;
}
.p-index__name-target{
     font-size: var(--fs-text-l);
     font-weight: 400;
}
.p-index__name,
.p-index__counter,
.p-index__button{
    margin-top: calc(30 * var(--px));
}
.p-index__counter{
    background: var(--cl-beige);
    width: calc(300 * var(--px));
    margin-inline: auto;
    padding-block: calc(10 * var(--px));
    border-radius: var(--radius-base);
    font-size: var(--fs-text-s);
}
@media screen and (max-width: 767px){
    .p-index{
        display: block;
    }
    .p-index__item{
        display: block;
        width: 100%;
        margin: 0;
    }
    .p-index__item:nth-child(n+2){
        margin-top: calc(30 * var(--px));
    }
    .p-index__name{
        line-height: var(--lh-m);
        margin-top: calc(15 * var(--px));
    }
    .p-index__counter{
        width: calc(225 * var(--px));
        padding-block: calc(8 * var(--px));
         margin-top: calc(15 * var(--px));
    }
    .p-index__button{
        margin-top: calc(20 * var(--px));
    }
}

/*-------------------------
    contact
-------------------------*/
.p-contact-flow{
    margin-top: var(--pt-main);
    display: flex;
    justify-content: space-between;
}
.p-contact-flow__item{
    width: 30%;
    height: calc(60 * var(--px));
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cl-beige);
    border-radius: var(--radius-base);
    font-size: var(--fs-text-m);
    position: relative;
}
.p-contact-flow__item:not(:last-child)::after{
    content: '\f054';
    width: calc((100 / 30) * 5%);
    height: 100%;
    font-family: var(--font-icon);
    font-weight: bold;
    color: var(--cl-gray);
    font-size: var(--fs-contact-arrow);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 100%;
    top: 0;
}
.p-contact-flow__item--active{
    background: var(--cl-gold-light);
    font-weight: bold;
}
@media screen and (max-width: 767px){
    .p-contact-flow__item{
        width: calc(85% / 3);
        height: calc(45 * var(--px));
        font-size: var(--fs-text-ss);
    }
    .p-contact-flow__item:not(:last-child)::after{
        content: '\f054';
        width: calc((100 / (85 / 3)) * 7.5%);
    }
}

.p-contact-guide{
    font-size: var(--fs-text-m);
    line-height: var(--lh-m);
    text-align: center;
    margin-top: calc(40 * var(--px));
}
@media screen and (max-width: 767px){
    .p-contact-guide{
        text-align: left;
        margin-top: calc(20 * var(--px));
    }
}

.p-contact-table{
    margin-top: calc(40 * var(--px));
}
.p-contact-table__tr{
    border-top: 1px solid var(--cl-gray);
}
.p-contact-table__tr:last-child{
    border-bottom: 1px solid var(--cl-gray);
}
.p-contact-table__th{
    width: calc(400 * var(--px));
    padding-block: calc(34 * var(--px));
}
.p-contact-table__td{
    vertical-align: middle;
    padding-block: calc(30 * var(--px));
}
.p-contact-table__th--confirm,
.p-contact-table__td--confirm{
    padding-block: calc(30 * var(--px));
    font-size: var(--fs-text-m);
    line-height: var(--lh-m);
}
.p-contact-table__th--confirm{
    font-weight: 500;
}
.p-contact-table__icon{
    display: inline-block;
    background: var(--cl-arrow);
    color: var(--cl-white);
    padding: calc(9 * var(--px)) calc(18 * var(--px));
    border-radius: var(--radius-base);
    font-size: var(--fs-text-ss);
    font-weight: 500;
}
.p-contact-table__icon--optional{
    background: var(--cl-optional);
}
.p-contact-table__title{
    font-size: var(--fs-text-m);
    font-weight: 500;
    line-height: var(--lh-m);
    margin-left: calc(15 * var(--px));
}
.p-contact-table__title-note{
    font-size: var(--fs-text-4s);
    font-weight: 400;
    margin-left: calc(10 * var(--px));
}
.p-contact-table__list{
    display: flex;
}
.wpcf7-list-item-label{
    position: relative;
    display: flex;
    align-items: center;
    font-size: var(--fs-text-m);
}
.wpcf7-list-item-label::before,
input[type="radio"]:checked + .wpcf7-list-item-label::after,
input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
    content: "";
    display: block;
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
}
input[type="radio"] + .wpcf7-list-item-label::before{
    border-radius: calc(15 * var(--px));
}
.wpcf7-list-item-label::before{
    border: 1px solid var(--cl-gray);
    margin-right: calc(15 * var(--px));
    flex-shrink: 0;
}
input[type="radio"]:checked + .wpcf7-list-item-label::after{
    clip-path: circle(30% at center);
    background: var(--cl-arrow);
}
input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
    content: '\f00c';
    font-family: var(--font-icon);
    font-weight: bold;
    color: var(--cl-arrow);
    font-size: var(--fs-agree-arrow);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-text-stroke: 1px var(--cl-arrow);
    text-stroke: 1px var(--cl-arrow);
}
input[type="radio"]:checked + .wpcf7-list-item-label::after,
input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
    position: absolute;
    top: 0;
    left: 0;
}
.p-contact-table__item{
    font-size: 0;
}
.p-contact-table__item:nth-child(n+2){
    margin-left: calc(50 * var(--px));
}
.p-contact-table__input,
.p-contact-table__name{
    width: calc(550 * var(--px));
}
.p-contact-table__input,
.p-contact-table__textarea,
.p-contact-table__select-element{
    border: 1px solid var(--cl-gray);
    font-size: var(--fs-input);
}
.input--error{
    color: var(--cl-error-text);
    font-size: var(--fs-text-m);
    line-height: var(--lh-m);
    margin-top: calc(20 * var(--px));
}
.input--error + .input--error{
    margin-top: calc(5 * var(--px));
}
.p-contact-table__input,
.p-contact-table__select-element{
    height: calc(40 * var(--px));
}
.p-contact-table__input{
    text-indent: calc(15 * var(--px));
}
.p-contact-table__select-wrapper{
    display: inline-block;
    position: relative;
}
.p-contact-table__select-wrapper::after{
    content: "";
    display: block;
    width: calc(10 * var(--px));
    height: calc(6 * var(--px));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: var(--cl-text);
    position: absolute;
    top: calc(50% - (3 * var(--px)));
    right: calc(10 * var(--px));
    pointer-events: none;
}
.p-contact-table__select-element{
    padding: 0 calc(30 * var(--px)) 0 calc(15 * var(--px));
    position: relative;
}
.p-contact-table__textarea{
    width: 100%;
    line-height: var(--lh-m);
    padding: calc(15 * var(--px));
    resize: none;
}
.p-contact-table__name{
    justify-content: space-between;
    display: flex;
}
.p-contact-table__name .p-contact-table__input{
    width: calc(190 * var(--px));
}
.p-contact-table__name-item{
    display: flex;
    align-items: center;
}
.p-contact-table__name-title{
    width: 2em;
    font-size: var(--fs-text-m);
    margin-right: calc(20 * var(--px));
    text-align: right;
}
.p-contact-table__td-note{
    font-size: var(--fs-text-4s);
    line-height: var(--lh-m);
    margin-top: calc(10 * var(--px));
}
.p-contact-table__input--email-confirm{
    margin-top: calc(20 * var(--px));
}
.p-contact-table__privacy{
    font-size: var(--fs-text-ss);
    line-height: var(--lh-m);
    overflow-y: scroll;
    height: calc(250 * var(--px));
    border: 1px solid var(--cl-gray);
    padding: calc(15 * var(--px));
    margin-bottom: calc(25 * var(--px));
}
.p-contact-table__privacy-p:nth-child(n+2){
    margin-top: calc(var(--fs-text-ss) * var(--lh-m));
}
.p-contact-table .wpcf7-not-valid-tip {
    margin-top: calc(15 * var(--px));
    font-size: var(--fs-text-ss);
}
@media screen and (max-width: 767px){
    .p-contact-table{
        margin-top: calc(20 * var(--px));
    }
    .p-contact-table,
    .p-contact-table tbody,
    .p-contact-table__tr,
    .p-contact-table__th,
    .p-contact-table__td{
        display: block;
    }
    .p-contact-table__tr,
    .p-contact-table__tr:last-child{
        border: none;
    }
    .p-contact-table__tr:nth-child(n+2){
        margin-top: calc(30 * var(--px));
    }
    .p-contact-table__th{
        padding: 0 var(--px-sp);
        width: 100%;
        background: var(--cl-gray-light);
        padding-block: calc(13 * var(--px));
    }
    .p-contact-table__th--confirm{
        padding-block: calc(13.5 * var(--px));
    }
    .p-contact-table__icon{
        padding: calc(6 * var(--px)) calc(12 * var(--px));
    }
    .p-contact-table__title{
        margin-left: calc(10 * var(--px));
    }
    .p-contact-table__td{
        padding: calc(18 * var(--px)) var(--px-sp) 0;
    }
    .p-contact-table__td--confirm{
        padding-top: calc(15 * var(--px));
    }
    .p-contact-table__list{
        flex-direction: column;
        align-items: flex-start;
    }
    .p-contact-table__item:nth-child(n+2){
        margin: calc(10 * var(--px)) 0 0;
    }
    .wpcf7-list-item-label::before,
    input[type="radio"]:checked + .wpcf7-list-item-label::after,
    input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
        width: calc(24 * var(--px));
        height: calc(24 * var(--px));
    }
    input[type="radio"] + .wpcf7-list-item-label::before{
        border-radius: calc(12 * var(--px));
    }
    .wpcf7-list-item-label::before{
        margin-right: calc(10 * var(--px));
    }
    .p-contact-table__input,
    .p-contact-table__name{
        width: 100%;
    }
    .input--error{
        margin-top: calc(10 * var(--px));
    }
    .input--error + .input--error{
        margin-top: calc(3 * var(--px));
    }
    .p-contact-table__name-title{
        flex-shrink: 0;
        margin-right: calc(8 * var(--px));
    }
    .p-contact-table__name .p-contact-table__input{
        width: 100%;
    }
    .p-contact-table__name-item:last-child{
        margin-left: calc(16 * var(--px));
    }
    .p-contact-table__td-note{
        margin-top: calc(7 * var(--px));
    }
    .p-contact-table__input--email-confirm{
        margin-top: calc(15 * var(--px));
    }
    .p-contact-table__privacy{
        margin-bottom: calc(20 * var(--px));
    }
    .p-contact-table .wpcf7-not-valid-tip {
        margin-top: calc(10 * var(--px));
    }
}

.p-contact-button{
    margin-top: calc(50 * var(--px));
}
.p-contact-button__back{
    background: var(--cl-gray-light);
    width: calc(200 * var(--px));
    height: calc(50 * var(--px));
    border-radius: var(--radius-base);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--fs-text-ss);
    line-height: var(--lh-m);
    margin: calc(30 * var(--px)) auto 0;
}
.p-contact-button__back::before{
    content: '\f053';
    font-family: var(--font-icon);
    font-weight: bold;
    background: var(--cl-text);
    color: var(--cl-gray-light);
    font-size: var(--fs-arrow);
    width: var(--size-arrow);
    height: var(--size-arrow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: calc(15 * var(--px));
}
@media screen and (max-width: 767px){
    .p-contact-button{
        margin-top: calc(40 * var(--px));
    }
    .p-contact-button__back{
        width: calc(160 * var(--px));
        height: calc(45 * var(--px));
    }
    .p-contact-button__back::before{
        margin-right: calc(10 * var(--px));
    }
}

.wpcf7-response-output {
    padding: calc(10 * var(--px)) calc(15 * var(--px)) !important;
    border: none !important;
    border-radius: var(--radius-base);
    font-weight: bold;
    font-size: var(--fs-text-s);
    line-height: var(--lh-m);
    margin: calc(30 * var(--px)) 0 0 !important;
    text-align: center;
    background: var(--cl-main-light);
}
@media screen and (max-width: 767px){
    .wpcf7-response-output {
        margin-top: calc(15 * var(--px)) !important;
        text-align: left;
    }
}

/* 普段はエラーメッセージ（赤文字）を非表示にする */
.wpcf7-form .wpcf7-not-valid-tip {
    display: none;
}

/* 「送信ボタン」が押されて、実際にCF7でエラーだと判定された時だけ表示する */
.wpcf7-form.invalid .wpcf7-not-valid-tip,
.wpcf7-form.unconfirmed .wpcf7-not-valid-tip {
    display: block;
}

.formError .formErrorContent{
    line-height: 1.5;
}

/*-------------------------
    complate
-------------------------*/
.p-complete{
    margin-top: calc(45 * var(--px));
}
.p-complete__title{
    font-weight: 500;
    font-size: var(--fs-title-l);
    text-align: center;
}
.p-complete__title + .p-complete__text{
    margin-top: calc(30 * var(--px));
}
.p-complete__text{
    font-size: var(--fs-text-m);
    line-height: var(--lh-m);
    margin-top: calc(20 * var(--px));
    text-align: center;
}
@media screen and (max-width: 767px){
    .p-complete{
        margin-top: calc(25 * var(--px));
    }
    .p-complete__text{
        text-align: left;
    }
    .p-complete__title + .p-complete__text{
        margin-top: calc(25 * var(--px));
    }
    .p-complete__text{
        margin-top: calc(15 * var(--px));
        text-align: left;
    }
}