@charset "utf-8";
/*------------------------------------------
変数
------------------------------------------*/
:root{
    --white: #fff;
    --font-color: #001738;
    --pink: #E5005A;
    --yellow: #F4C900;
    --blue: #0096D1;
}
/*------------------------------------------
共通事項
------------------------------------------*/
html{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    font-size: 100%;
    overflow-x: hidden;
}
body{
    font-family: "Josefin Sans", "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: var(--font-color);
    background-image: url("../img/background.webp");
    background-size: cover;
    background-position: center;
    overflow-x: hidden;
    position: relative;
}
img{
    width: 100%;
}
a{
    text-decoration: none;
    color: var(--font-color);
}
li{
    list-style: none;
}
.btn{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background-color: var(--font-color);
    color: var(--white);
    padding: 1rem 2rem;
    border-radius: 2rem;
}
.btn svg{
    fill: var(--white);
}
.section-title{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.section-title .en{
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--pink);
    margin-bottom: .2rem;
}
.section-title .ja{
    font-size: 1.5rem;
    font-weight: 900;
}
/*------------------------------------------
header
------------------------------------------*/
#header{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
    margin-bottom: 1rem;

}
#header div{
    width: clamp(150px, 50vw, 300px);
}
/*--------------------------------------------------------
main
--------------------------------------------------------*/
.wrapper{
    padding: 0 2rem;
}
.wrapper .section-title{
    margin-bottom: 2rem;
}
.wrapper .description{
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.8;
}
.sub-text{
    font-size: 0.6rem;
    color: #4b4b4b;
    line-height: 1.8;
    margin-bottom: 2rem;
}
form .form-group{
    margin-bottom: 2rem;
}
form .form-group dt{
    font-size: 0.75rem;
    color: #4b4b4b;
    font-weight: 600;
    margin-bottom: .5rem;
}
form .form-group .input-wrapper{
    position: relative;
}
form .form-group dd input{
    font-size: 0.75rem;
    width: 100%;
    background-color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
}
form .form-group dd textarea{
	font-size: 0.75rem;
    width: 100%;
    background-color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    height: 20rem;
}
form .form-group dd .required{
    position: absolute;
    top: .7rem;
    right: 2rem;
    color: #e51c41;
    font-size: 0.75rem;
    font-weight: 500;
}
form .postal-result{
    display: flex;
}
form .postal-result .form-group{
    width: 50%;
}
form .postal-result .form-group:first-of-type{
    margin-right: 2rem;
}
form .form-group.postal-group dd{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
form .form-group.postal-group .input-wrapper{
    width: clamp(170px, 55vw, 190px);
    margin-right: 1rem;
}
form .form-group.postal-group .postal-search{
    font-size: 0.75rem;
    background-color: var(--font-color);
    color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
}
form .btn{
    padding: 1rem 4rem;
    display: block;
    margin: 2rem auto 2rem;
}
form .btn::before{
    transform: translateX(-110%) translateY(-55%) rotate(135deg);
}
form .btn:hover::before{
    transform: translateX(5%) translateY(-30%) rotate(135deg);
}
/*------------------------------------------
footer
------------------------------------------*/
#footer .logo{
    width: 100%;
    background-color: var(--white);
    padding: 1.5rem;
}
#footer .logo img{
    display: block;
    width: clamp(150px, 50vw, 300px);
    margin: 0 auto;
}
#footer .copyright{
    width: 100%;
    background-color: var(--font-color);
    padding: 1rem;
}
#footer .copyright small{
    display: block;
    text-align: center;
    color: var(--white);
    font-size: 0.7rem;
    font-weight: 400;
}
/*--------------------------------------------------------
追加
--------------------------------------------------------*/
.hidden-fields-container {
    height: 0;
    overflow: hidden;
    visibility: hidden;
}
.screen-reader-response{
    display: none;
}
.wpcf7-response-output{
	font-size: 0.75rem;
    margin: 2rem 0;
    text-align: center;
    color: var(--pink);
}
.wpcf7-not-valid-tip{
	font-size: 0.75rem;
	color: var(--pink);
}