@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');

*{
    font-size: 14px;
    box-sizing: border-box;
}
@media only screen and (max-width:767px){
    * {
        font-size: 4vw;
    }
}
body {
    font-family: 'M PLUS 1p', sans-serif;
    background-color: #FFF;
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
    padding: 30px;
    font-size: 2rem;
    color: #333;
}


button {
    background-color: #3498db;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
}

button:hover {
    background-color: #2980b9;
}

p {
    text-align: center;
    margin-top: 20px;
}

a {
    color: #3498db;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}
img{
    width: 100%;
    height: auto;
}
.highlighted-link {
    font-weight: bold;
    font-size: 1.5em;
}

.red-message {
    color: red;
}

.form_outer{
    width: 100%;
    height: 100vh;
    margin: auto;
    position: relative;
    
}
.form_inner{
    max-width: 61.11rem;
    width: 98%;
    margin: auto;
    position: absolute;
    left:50%;
    top:4rem;
    transform: translate(-50%,0);
}
@media only screen and (max-width:767px){
    .form_outer{
        background-color: #F8F8F8;
    }
    .form_inner{
        width: 100%;
        position:relative;
        background-color: #F8F8F8;
        top: 0;
        left: 0;
        transform: translate(0, 0);
    }
}
.form_block{
    background-color: #F8F8F8;
    border-radius: 1rem;
    padding: 4rem 3rem 2rem;
    transform: rotate(0.05deg);
}
@media only screen and (max-width:767px){
    .form_block{
        border-radius: 0;
        padding: 2rem 2rem 0rem;
    }
}
.title_area{
    display: -webkit-box;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-align-content: space-between;
    align-content: space-between;
    -webkit-align-self: stretch;
    align-self: stretch;
    flex-wrap: wrap;
}
@media only screen and (max-width:767px){
    .title_area{
        -webkit-justify-content: center;
        justify-content: center;
    }
}
.title_area .left{
    width: 20%;
}
.title_area .right{
    width: 80%;
    text-align: right;
}
@media only screen and (max-width:767px){
    .title_area .left{
        width: 80%;
    }
    .title_area .left img{
        display: block;
        width: 70%;
        margin: 0 auto;
    }
    .title_area .right{
        width: 90%;
        text-align: right;
    }
}
.title_area .right h2{
    font-size: 1.55rem;
    font-weight: bold;
    margin: 0;
    text-align: right;
}
@media only screen and (max-width:767px){
    .title_area .right h2{
        width: 80%;
        margin: 0.5rem auto 2rem;
        text-align: center;
    }
}
.title_area .right p{
    font-size: 1.11rem;
    font-weight: bold;
    margin: 0 auto;
    text-align: right;
}
@media only screen and (max-width:767px){
    .title_area .right p{
        text-align: center;
    }
}
.line{
    height: 2px;
    width: 100%;
    background-color: #DDDDDD;
    border-bottom: 1px solid #FFF;
    margin: 0;
}
.input_area{
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-align-content: space-between;
    align-content: space-between;
    -webkit-align-self: stretch;
    align-self: stretch;
    flex-wrap: wrap;
    margin: 3rem 4rem 1rem;
}
@media only screen and (max-width:767px){
    .input_area{
        margin: 1rem 0 1rem;
    }
}
.input_area label{
    width: 14rem;
    text-align: center;
    border-radius: 0.5rem 0 0 0.5rem;
    background-color: #B3B3B3;
    color: #FFF;
    border: none;
    font-weight: bold;
    font-size: 1.77rem;
    padding: 1.11rem 2.22rem;
}
.input_area input{
    width: calc(100% - 14rem);
    text-align: left;
    border-radius: 0 0.5rem 0.5rem 0;
    background-color: #FFF;
    border: none;
    font-size: 2.3rem;
    padding: 1.11rem;
    font-weight: bold;
    outline: none;
}
.input_area input::placeholder{
    color: #CACACB;
    font-weight: bold;
    font-size: 1.77rem;
}
.form_block button{
    display: block;
    margin: 3rem auto 2rem;
    width: 18rem;
    font-size: 1.11rem;
    color: #FFF;
    background-color: #055BA2;
    padding: 1rem 0;
    border-radius: 5rem;
}
@media only screen and (max-width:767px){
    .input_area label{
        border-radius: 0.5rem 0.5rem 0 0;
        width: 100%;
        font-size: 1rem;
        padding: 0.4rem 2.22rem;
    }
    .input_area input{
        border-radius: 0 0 0.5rem 0.5rem;
        width: 100%;
        text-align: center;
        font-size: 1.55rem;
        padding: 1.11rem 0.8rem;
    }
    .input_area input::placeholder{
        font-size: 1.1rem;
        padding: 1.11rem 0.2rem;
    }
    .form_block button{
        width: 100%;
        margin: 2rem auto;
    }
}
.form_block button:hover{
    opacity: 0.6;
}
.text_area p{
    text-align: left;
    margin: 0 4rem 2rem;
}
@media only screen and (max-width:767px){
    .text_area p{
        width: 96%;
        margin: auto;
        font-size: 0.9rem;
    }
}
.footer_area{
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    -webkit-align-content: space-between;
    align-content: space-between;
    -webkit-align-self: stretch;
    align-self: stretch;
    flex-wrap: wrap;
    margin-top: 2rem;
    padding: 0 0.5rem;
}
.footer_area .left{
    width: 10%;
}
.footer_area .right{
    width: 90%;
    text-align: right;
    color:#CACACB;
    font-size: 0.77rem;
}
@media only screen and (max-width:767px){
    .footer_area .left{
        width: 20%;
        margin: 1rem auto 0.5rem;
        text-align: center;

    }
    .footer_area .right{
        width: 100%;
        text-align: center;
        font-size: 0.77rem;
    }
}
.pc{display: inline-block;}
.sp{display: none;}
@media only screen and (max-width:767px){
    .pc{display: none;}
    .sp{display: inline-block;}
}