/**
 * wpcf7-theme.css — Contact Form 7 周りのテーマスタイル
 * 読み込み: inc/enqueue.php の my_theme_needs_cf7_embed() が真のときのみ
 * 依存: style.css（my-main-style）
 * 備考: ブログ記事内の .blogArticle .wpcf7 は post.css
 */
@charset "UTF-8";
/* 予約・決済まわり（CF7 フォーム内マークアップ想定） */
.contactUserNumber>div {
    margin-bottom: 30px;
}
.contactUserName {
    display: flex;
    justify-content: space-between;
}
.contactUserName>div {
    flex-basis: 530px;
}
.reserveDetail {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: flex-end;
}
.reserveDetail>* {
    width: 530px;
}
.reserveDetail table {
    font-size: 18px;
    letter-spacing: 0.02em;
    display: flex;
}
.reserveDetail table tbody:first-child {
    margin-right: 40px;
}
.reserveDetail table th {
    text-align: left;
    font-weight: normal;
    width: 44%;
    padding: 6px 0;
}
.reserveDetail table td {
    text-align: center;
    width: 56%;
}
.cardExpirationDate {
    display: flex;
}
.cardExpirationDate .selectWrap {
    flex-basis: 260px;
    width: 260px;
    margin-right: 10px;
    height: 48px;
    background-color: transparent;
    display: flex;
    align-items: center;
}
.cardExpirationDate .selectWrap::before {
    content: "";
    position: absolute;
    border-radius: 4px;
    background-color: #fff;
    width: 260px;
    height: 48px;
}
.cardExpirationDate select {
    width: 260px;
    height: 48px;
}
.contactCardAgreement {
    display: flex;
    align-items: center;
    margin: 100px auto 80px auto;
}
.contactCardAgreement .cardAgreement {
    margin-right: auto;
    margin-left: auto;
}
.contactCardAgreement a {
    text-decoration: underline;
}
.cpPrice {
    color: #a4a4a4;
    text-decoration: line-through;
    display: inline-block;
}
.cpText {
    color: #df4652;
    font-size: 80%;
}

/* CF7 共通（ブログ個別の .blogArticle .wpcf7 は post.css） */
.wpcf7 label {
    width: 100%;
    display: inline-block;
}
.wpcf7 input:not([type="radio"]),
.wpcf7 textarea,
.wpcf7 select {
    padding: 10px;
    font-size: 16px;
    margin-bottom: 20px;
    width: 100%;
    font-family: inherit;
}

/* CONTACT お問い合わせ／会員登録／コワーキング予約フォーム */
.contactform {
    min-width: 1100px;
}
.contactform>div {
    margin-bottom: 20px;
}
.contactform label .info {
    font-size: 75%;
    color: #666;
}
.contactform input,
.contactform select {
    height: 48px;
}
.contactform input[type="checkbox"],
.contactform input[type="radio"] {
    width: auto;
    height: 16px;
}
.contactform input[type="date"] {
    max-width: 180px;
}
.contactform input::placeholder,
.contactform select::placeholder,
.contactform textarea::placeholder {
    color: #ccc;
}
.contactform textarea {
    height: 260px;
    line-height: 1.8em;
    padding: 10px;
}
.contactform a {
    text-decoration: underline;
}
.contactform .bottomSpace {
    margin-bottom: 80px;
}
.wpcf7 select[name="your-hour-start"], .wpcf7 select[name="your-minutes-start"], .wpcf7 select[name="your-hour-end"], .wpcf7 select[name="your-minutes-end"] {
    width: 25%;
}
.wpcf7 select[name="your-use-hours"] {
    width: 51%;
}

.contactform .reservationForm {
    width: 712px;
    margin: auto;
}
.contactform .reservationForm span.require {
    color: #fff;
    background: #DF6F5F;
    border-radius: 3px;
    padding: 0px 3px;
    font-size: 10px;
    margin-left: 4px;
}
.contactform .reservationForm textarea {
    height: unset;
}
.wpcf7 .contactform .topNote {
    width: 630px;
    margin: auto;
    margin-bottom: 40px;
    padding: 30px 24px 8px;
}
.wpcf7 .contactform .topNote_price dt:last-of-type {
    width: 100%;
}
.wpcf7 .topNote {
    border: 1px #999 solid;
    background: #fff;
    position: relative;
    width: 98%;
    margin: 20px auto 40px;
    padding: 28px 14px 6px;
}
.wpcf7 .topNote .noteTitle {
    background-color: #999;
    position: absolute;
    top: -17px;
    padding: 4px 10px 2px;
    color: #fff;
}
.wpcf7 .topNote_price dl{
    font-size: 0;
}
.wpcf7 .topNote_price dt, .wpcf7 .topNote_price dd{
    display: inline-block;
    width: 100%;
    text-align: left;
    font-weight: bold;
    border-bottom: dotted 1px #ccc;
    font-size: 16px;
}
.wpcf7 .topNote ul,
.wpcf7 .bottomNote ul {
    border: none;
    padding: 0;
    margin: 0;
}
.wpcf7 .topNote ul li,
.wpcf7 .bottomNote ul li {
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.8;
    margin-bottom: 0.4em;
    list-style: none;
}
.wpcf7 .topNote ul li::before,
.wpcf7 .bottomNote ul li::before {
    content: "※";
}
.wpcf7 .itemNote {
    line-height: 1.4;
    font-size: 90%;
}
.staffInputField {
    border: 1px #ccc solid;
    padding: 20px;
    font-size: 20px;
}
.staffInputField div {
    margin-bottom: 20px;
}
.fieldWrap2 {
    width: 100%;
    display: flex;
}
.fieldWrap2 .left_1-1 {
    width: 49%;
    margin-right: 2%;
}
.fieldWrap2 .right_1-1 {
    width: 49%;
}
.fieldWrap2 .left_route {
    width: 18%;
}
.fieldWrap2 .left_route span.wpcf7-list-item{
    margin: 0;
}
.fieldWrap2 .right_route {
    width: 82%;
}
.fieldWrap2 .right_route input {
    height: 22px;
}
.fieldWrap2 .right_route input.keyword {
    width: 32%;
    margin-left: 2%;
}
.fieldWrap2 .right_route input.keyword.first {
    margin-left: 0;
}
.fieldWrap2 .right_route dl dd {
    height: 30px;
}
.fieldWrap2 .wpcf7-list-item {
    display: block;
}
.selectWrap {
    position: relative;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    background-color: #fff;
}
.selectWrap::after {
    content: "";
    position: absolute;
    display: block;
    right: 20px;
    bottom: 17px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 7px 0 7px;
    border-color: #999999 transparent transparent transparent;
}
.selectWrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    display: block;
    z-index: 1;
    background: transparent;
}
.selectWrap select option {
    background-color: #fff;
}
.selectWrap select::-ms-expand {
    display: none;
}
.contactSubmit {
    width: 245px;
    height: 75px;
    cursor: pointer !important;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}
.contactSubmit img {
    position: absolute;
    top: 28px;
    right: 32px;
}
.contactSubmit svg {
    position: absolute;
    top: 33px;
    right: 32px;
}
input.contactSubmitButton {
    background-color: #f1d661;
    display: block;
    height: 75px;
    width: 245px;
    cursor: pointer !important;
    font-size: 24px;
    font-weight: bold;
    border: 0;
    border-radius: 8px !important;
    box-shadow: 0 2px 2px rgb(0 0 0 / 10%);
    margin: 50px auto;
    padding-top: 10px;
    letter-spacing: 0.4em;
}
/* 確認画面用 */
.contactSubmit input {
    color: #000 !important;
}
.wpcf7c-elm-step2 {
    font-size: 25px;
    text-align: center;
    margin-bottom: 5%;
    color: #f33;
    font-weight: bold;
}
.wpcf7c-elm-step2.msg {
    font-size: 22px;
    text-align: center;
    margin-bottom: 5%;
    color: #f92c66;
    font-weight: bold;
    line-height: 1.5;
}
#confirm_btn,
#back_btn {
    width: 245px;
    height: 75px;
    cursor: pointer !important;
    margin: 0 auto 3%;
    position: relative;
    display: block;
    background: #F9D561;
    color: #000 !important;
}

/* CF7 の追加フィールド非表示 */
fieldset.hidden-fields-container {
    display: none;
}

@media screen and (max-width: 767px) {
    .contactUserName>div {
        flex-basis: 48%;
    }
    .cardExpirationDate {
        justify-content: space-between;
    }
    .cardExpirationDate .selectWrap {
        height: 10vw;
        flex-basis: 48%;
    }
    .cardExpirationDate .selectWrap::before {
        width: 100%;
        height: 10vw;
    }
    /* お問い合わせ SP */
    .mainContentsContact {
        padding-top: 1rem;
        padding-bottom: 6vw;
    }
    .contactform {
        min-width: auto;
    }
    .contactform>div {
        margin-bottom: 6vw;
    }
    .contactform label {
        font-size: 3.2vw;
    }
    .contactform input,
    .contactform select {
        height: 10vw;
    }
    .wpcf7 input:not([type="radio"]),
    .wpcf7 textarea,
    .wpcf7 select {
        font-size: 3.2vw;
    }
    .wpcf7 select[name="your-hour-start"], .wpcf7 select[name="your-minutes-start"], .wpcf7 select[name="your-hour-end"], .wpcf7 select[name="your-minutes-end"]{
        width: 48%;
    }
    .wpcf7 select[name="your-use-hours"] {
        width: 48%;
    }
    .contactform .reservationForm {
        width: 100%;
    }
    .wpcf7 .contactform .topNote {
        width: 100%;
        padding: 7vw 4vw 2vw;
    }
    .wpcf7 .contactform .topNote_price dt, .wpcf7 .contactform .topNote_price dd{
        font-size: 3.2vw;
    }
    .fieldWrap2 .left_route {
        width: 45%;
    }
    .fieldWrap2 .right_route {
        width: 70%;
    }
    .fieldWrap2 .right_route input {
        font-size: 2.8vw;
    }
    .fieldWrap2 .right_route input.keyword {
        width: 17.7vw;
        margin-left: 1%;
        padding: 0;
    }
    .fieldWrap2 .right_route dl dd {
        height: 29px;
    }
    .selectWrap {
        height: 10vw;
    }
    .selectWrap::after {
        width: 0;
        height: 0;
        border-width: 2.2vw 1.6vw 0 1.6vw;
        bottom: 3.4vw;
        right: 2.4vw;
    }
    .contactSubmit {
        width: 46.66vw;
        height: 14vw;
        margin-top: 10vw;
    }
    .contactSubmit img {
        top: 5vw;
        right: 20%;
        width: 2.06vw;
        height: 3.86vw;
    }
    .contactSubmit svg {
        top: 5.5vw !important;
        right: 5vw !important;
    }
    input.contactSubmitButton {
        height: 14vw;
        width: 46.66vw;
        font-size: 4vw;
        margin: 6.66vw auto;
        padding: 0;
    }
    .wpcf7 .topNote_price dt, .wpcf7 .topNote_price dd{
        font-size: 3.2vw;
    }
}
