/* =====================================
背景
===================================== */

.entry01-page{

    min-height:100vh;

    padding:50px 20px 80px;

    background:
    radial-gradient(circle at top,#ffffff 0%,#fff8fb 40%,#fff4f8 100%);

}


/* =====================================
タイトル
===================================== */

.entry01-hero{

    text-align:center;

    margin-bottom:50px;

}

.entry01-hero__icon{

    font-size:48px;

    color:#F56C98;

    margin-bottom:10px;

}

.entry01-hero__title{

    margin:0;

    font-size:42px;

    line-height:1.4;

    color:#442626;

    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;

    font-weight:500;

}

.entry01-hero__title span{

    color:#F56C98;

}

@media(max-width:767px){
   .entry01-hero__title{
    font-size: 36px;
   } 
}

.entry01-hero__lead{

    margin-top:22px;

    color:#6d6666;

    font-size:15px;

    letter-spacing:.08em;

}

/* ==========================================
   Contact Form 7
========================================== */

.cf7-form{
    margin-top:40px;
}

.cf7-field{
    margin-bottom:28px;
}

.cf7-field label{
    display:block;
    margin-bottom:10px;
    font-size:15px;
    font-weight:700;
    color:#3f3f3f;
    line-height:1.6;
}

.required,
.optional{
    display:inline-block;
    margin-left:8px;
    padding:2px 8px;
    border-radius:20px;
    font-size:11px;
    font-weight:700;
    line-height:1.4;
}

.required{
    background:#F46C93;
    color:#fff;
}

.optional{
    background:#F5E6EC;
    color:#C46C8A;
}

/* -------------------------
input
------------------------- */

.cf7-input,
.cf7-select,
.cf7-textarea{

    width:100%;
    border:1px solid #E7DDE2;
    /* border-radius:18px; */
    background:#FFF9FB;
    padding:18px 20px;
    font-size:15px;
    color:#333;
    transition:.25s;
    box-sizing:border-box;

}

.cf7-input:focus,
.cf7-select:focus,
.cf7-textarea:focus{

    outline:none;
    border-color:#F46C93;
    background:#fff;
    box-shadow:0 0 0 4px rgba(244,108,147,.15);

}

.cf7-input::placeholder,
.cf7-textarea::placeholder{

    color:#C8C8C8;

}

/* -------------------------
select
------------------------- */

.cf7-select{

    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath fill='%23d28aa2' d='M4 7l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
}

/* -------------------------
textarea
------------------------- */

.cf7-textarea{

    min-height:180px;
    resize:vertical;

}

/* -------------------------
Upload
------------------------- */

.upload-note{

    margin:0 0 12px;
    color:#888;
    font-size:13px;

}

.cf7-file{

    width:100%;
    padding:18px;
    border:2px dashed #F0B8C9;
    border-radius:20px;
    background:#FFF9FB;
    box-sizing:border-box;

}

.cf7-file::file-selector-button{

    background:#F46C93;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:999px;
    cursor:pointer;
    margin-right:15px;
    font-weight:700;

}

/* Safari */

.cf7-file::-webkit-file-upload-button{

    background:#F46C93;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:999px;
    cursor:pointer;

}

/* -------------------------
Privacy
------------------------- */

.privacy-note{

    margin-top:40px;
    margin-bottom:30px;
    font-size:13px;
    color:#777;
    line-height:1.9;
    text-align:center;

}

/* -------------------------
Submit
------------------------- */

.cf7-submit{

    margin-top:30px;

}

.cf7-submit input{

    width:100%;
    height:64px;
    border:none;
    border-radius:999px;
    background:linear-gradient(90deg,#F46C93,#FF8AAE);
    color:#fff !important;
    font-size:17px;
    font-weight:700;
    letter-spacing:.08em;
    cursor:pointer;
    transition:.25s;

}

.cf7-submit input:hover{

    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(244,108,147,.25);

}

.cf7-submit input:active{

    transform:translateY(0);

}

/* -------------------------
CF7 Error
------------------------- */

.wpcf7-not-valid-tip{

    margin-top:8px;
    font-size:13px;

}

.wpcf7-response-output{

    margin-top:30px!important;
    border-radius:15px;
    padding:15px!important;

}

.cf7-form{
    max-width: 84%;
    margin: auto;
    padding:30px 24px;
    background:#fff;
    border-radius:30px;
    box-shadow:0 10px 35px rgba(0,0,0,.06);

    }

/* -------------------------
SP
------------------------- */

@media(max-width:767px){

    .cf7-form{

        max-width: 100%;

    }

}

/* =====================================
タイトル装飾
===================================== */

.entry01-hero__ornament{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:28px;
    margin-bottom:20px;

}

.entry01-hero__ornament .line{

    width:170px;
    border-top:2px dashed #F4A5BC;
    position:relative;

}

.entry01-hero__ornament .line::before,
.entry01-hero__ornament .line::after{

    content:"✦";
    position:absolute;
    color:#F7B7CA;

}

.entry01-hero__ornament .left::before{

    left:-22px;
    top:-12px;

}

.entry01-hero__ornament .left::after{

    left:-6px;
    top:6px;
    font-size:10px;

}

.entry01-hero__ornament .right::before{

    right:-22px;
    top:-12px;

}

.entry01-hero__ornament .right::after{

    right:-6px;
    top:6px;
    font-size:10px;

}

.entry01-hero__icon{

    font-size:58px;
    color:#F46C93;
    line-height:1;

}

@media(max-width:767px){

.entry01-hero__ornament{

    gap:14px;

}

.entry01-hero__ornament .line{

    width:70px;

}

.entry01-hero__icon{

    font-size:46px;

}

}

.entry01-hero{
    position: relative;
    padding-bottom: 40px;
}

.entry01-hero::after{

    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);

    width:520px;
    border-top:2px dashed #F4A5BC;

}

@media (max-width:767px){

.entry01-hero{

    padding-bottom:30px;

}

.entry01-hero::after{

    width:90%;

}

}