@charset "utf-8";
/* CSS Document */


/*==================================================
mv
================================================== */

.mv{
    position: relative;
    margin: 100px 50px 0;
    height: 75vh;
}

#mv-top{
    background:url("../images/mv_top.webp") no-repeat center center;
    background-size: cover;
}

#mv-subsc{
    background:url("../images/mv_subsc.webp") no-repeat center center;
    background-size: cover;
}

#mv-guardian{
    background:url("../images/mv_guardian.webp") no-repeat center center;
    background-size: cover;
}

#mv-company{
    background:url("../images/mv_company.webp") no-repeat center center;
    background-size: cover;
}

#mv-contact{
    background:url("../images/mv_contact.webp") no-repeat center center;
    background-size: cover;
}

#mv-terms{
    background-color: #f092ae;
}

#mv-privacy{
    background-color: #5dc2d0;
}

.mv-copy{
    position: absolute;
    z-index: 1;
    top: 20%;
    left: 47%;
    color: #949a9f;
    font-size: 48px;
    line-height: 1.5;
    font-weight: normal;
}

#mv-subsc .mv-copy{
    left: 25%;
}

#mv-guardian .mv-copy{
    left: 65%;
}

#mv-company .mv-copy{
    color: #fff;
    left: 54%;
}

#mv-contact .mv-copy{
    left: 65%;
}

#mv-terms .mv-copy,
#mv-privacy .mv-copy{
     top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 100%;
    text-align: center;
    line-height: 1;
    
}

@media only screen and (max-width: 1024px) {

.mv{
    margin: 70px 25px 0;
}

.mv-copy{
    font-size: 42px;
}

#mv-subsc .mv-copy{
    top: 12%;
    left: 12%;
}

#mv-guardian .mv-copy{
    top: 6%;
    left: 60%;
}

#mv-contact .mv-copy{
    left: 60%;
}

}

@media screen and (max-width: 1024px) and (orientation: portrait){

.mv{
    height: 40vh;
}
   
    
    
}
    



@media only screen and (max-width: 768px) { 

.mv-copy{
    font-size: 4.4vw;
} 

#mv-guardian .mv-copy{
    left: 55%;
}


}

@media screen and (max-width: 768px) and (orientation: portrait){

   
    
}

@media only screen and (max-width: 599px) {
    
.mv{
    margin: 60px 10px 0;
    height: 140vw;
}   

#mv-terms,
#mv-privacy{
    height: 22vh;
}

#mv-top{
    background:url("../images/mv_top_sp.webp") no-repeat center center;
    background-size: cover;
} 

#mv-subsc{
    background:url("../images/mv_subsc_sp.webp") no-repeat center center;
    background-size: cover;
}

#mv-guardian{
    background:url("../images/mv_guardian_sp.webp") no-repeat center center;
    background-size: cover;
}


#mv-company{
    background:url("../images/mv_company_sp.webp") no-repeat center center;
    background-size: cover;
}

#mv-contact{
    background:url("../images/mv_contact_sp.webp") no-repeat center center;
    background-size: cover;
}
    
.mv-copy{
    top: 4% !important;
    left: 46%;
    font-size: 6.5vw;
}

#mv-subsc .mv-copy{
    left: 35%;
}

#mv-guardian .mv-copy{
    left: 38%;
}

#mv-company .mv-copy{
    left: 30%;
}

#mv-contact .mv-copy{
    left: 42%;
}

#mv-terms .mv-copy,
#mv-privacy .mv-copy{
     top: 50% !important;
    
}



}


/*==================================================
common
================================================== */

.pic{
    margin: 50px 0;
    text-align: center;
}

.pic img{
    border-radius: 40px;
    vertical-align: bottom;
}

.txt{
    text-align: justify;
    line-height: 2.2;
    margin-bottom: 35px;
}

.icn-email{
    width: 36px;
    position: absolute;
    right: 0;
    top: -4px;
}

a.a-icn{
    position: relative;
    display: inline-block;
    padding: 5px 40px 5px 20px;
}

.box-btn-2cols{
    margin: 50px 0 0;
    display: flex;
}

.box-btn-2cols a{
    width: calc(100%/2);
}

.box-btn-2cols a:first-child{
    margin-right: 30px;
}

.box-btn-1cols{
    margin: 50px 0 0;
    text-align: center;
}

.box-btn-1cols a{
    min-width: 500px;
}


.t-flex{
    display: flex;
}

.t-flex span{
    display: block;
    width: 60px;
}

.t-flex span i{
    width: 58px;
    height: 58px;
    border: 1px solid #333;
    border-radius: 50%;
    display: flex;
    font-style: normal;
    text-align: center;
    justify-content: center;
    align-items: center;
    background-color: #ffffa9;
}

.t-flex strong{
    padding-left: 20px;
    width: 90%;
    display: flex;
    align-items: center;
    font-weight: normal;
}

.box-ballon{
    color: #fff;
    text-align: center;
    border-radius: 24px;
    padding: 25px 50px 30px;
    font-size: 28px;
    position: relative;
    margin-bottom: 50px;
    line-height: 2.0;
}
.box-ballon.bg-grey{
    color: #333;
}

.box-ballon p{
    margin: 0;
}

.box-ballon span{
    color: #f092ae;
    font-size: 30px;
    position: absolute;
    left: 50%;
    bottom: -35px;
    margin-left: -12px;
}
.box-ballon.bg-grey span{
    color: #e4e4e4;
}
.box-ballon.bg-blue02 span{
    color: #84bae5;
}
.box-ballon.bg-pink02 span{
    color: #df8db9;
}

.box-border-pink{
    border-radius: 24px;
    border: 3px solid #f092ae;
    padding: 35px;
    margin-bottom: 50px;
}


@media only screen and (max-width: 768px) {
    
.pic{
    margin: 25px 0;
} 

.txt{
    margin-bottom: 25px;
}  

.box-btn-2cols{
    margin: 30px 0 0;
} 

.box-ballon{
    border-radius: 18px;
    padding: 20px 30px 25px;
    font-size: 24px;
    margin-bottom: 35px;
}

.t-flex strong{
    height: auto;
} 
    
}


@media only screen and (max-width: 599px) {
    
    #top-sec01{
        padding-top: 35px;
    }
    
    
.pic{
    margin: 20px 0;
} 

.txt{
    margin-bottom: 20px;
    line-height: 1.8;
} 

.pic img{
    border-radius: 20px;
}

.box-btn-2cols{
    display: block;
    margin: 30px 0 0;
} 

.icn-email{
    width: 36px;
    position: absolute;
    right: 0;
    top: -4px;
}

a.a-icn{
    padding: 5px 40px 5px 10px;
}

.box-btn-2cols a{
    width: 100%;
    margin: 0 auto 15px;
}

.box-btn-2cols a:first-child{
    margin-right: auto;
}

.box-btn-1cols{
    margin: 35px 0 0;
}

.box-btn-1cols a{
    min-width: 100%;
}
    

.t-flex span{
    width: 44px;
}

.t-flex span i{
    width: 42px;
    height: 42px;
}

.t-flex strong{
    padding-left: 15px;
}  

.box-ballon{
    padding: 20px 20px 28px;
    font-size: 5.2vw;
    margin-bottom: 30px;
    line-height: 1.8;
}  

.box-ballon span{
    bottom: -28px;
}

    
}


/*==================================================
top-sec01
================================================== */

.ill-01{
    vertical-align: bottom;
    margin-bottom: 30px;
}


/*==================================================
top-sec02
================================================== */

.box-feature{
    margin-bottom: 35px;
}



.pic-feature{
    width: 22%;
    border-radius: 20px;
    float: right;
    margin: 0 0 0 30px;
}

@media only screen and (max-width: 599px) {

.box-feature{
    margin-bottom: 20px;
}


.pic-feature{
    width: 32%;
    margin: 0 0 0 20px;
}
    
}


/*==================================================
top-sec03
================================================== */

.box-voice{
    margin-bottom: 80px;
}

#top-sec03 #voice-01 h3{
    color: #6ed28c;
}

#top-sec03 #voice-02 h3{
    color: #3cc8de;
}

.ill-voice{
    width: 22%;
    float: left;
    margin: 0 25px 0 0;
}

.box-voice > div > p{
    margin-left: 50px;
}

.box-voice > span{
    display: block;
    margin: 30px 0 0;
    background-color: #e4e4e4;
    text-align: center;
    padding: 10px 0;
}

@media only screen and (max-width: 599px) {

.box-voice{
    margin-bottom: 40px;
}

.ill-voice{
    width: 28%;
    float: left;
    margin: 0 20px 0 0;
}

.box-voice > div > p{
    margin-left: 0;
}

.box-voice > span{
    margin: 0;
    text-align: left;
    padding: 10px 15px;
}
    
}


/*==================================================
top-sec04
================================================== */

.box-sec04{
    display: flex;
    margin: 50px 0 0;
}

.box-sec04 > article{
    width: calc(100%/2);
    text-align: center;
}

.box-sec04 > article:first-child{
    margin-right: 35px;
}

.ill-sec04,
.ill-sec05{
    height: 180px;
    vertical-align: bottom;
}

.box-sec04 > article > div{
    border-top: 1px solid #333;
    padding: 35px 5px;
    text-align: left;
    margin-top: 35px;
}

.ill-06,
.ill-07{
    width: 20%;
    float: right;
    margin-left: 15px;
}

.border-yoko{
    position: relative;
    margin:30px 0 35px;
    display: flex;
}

.border-yoko strong{
    width: 40%;
    text-align: center;
    display: block;
    font-weight: normal;
    position: relative;
    margin-top: -12px;
}

.border-yoko span{
    width: 30%;
    border-top: 1px solid #333;
    height: 1px;
}

.maker{
    text-align: center;
}

.maker span{
    display: block;
    background-color: #ffffa9;
    border: 1px solid #333;
    padding: 10px ;
    text-align: center;
    border-radius: 80px;
    font-size: 21px;
    margin-bottom: 20px;
}

@media only screen and (max-width: 599px) {

.box-sec04{
    margin: 20px 0 0;
}

.box-sec04 > article:first-child{
    margin-right: 25px;
}

.ill-sec04,
.ill-sec05{
    height: 25vw;
}

.box-sec04 > article > div{
    padding: 20px 5px;
    margin-top: 20px;
}

.ill-06,
.ill-07{
    width: auto;
    height: 18vw;
    float: none;
    display: block;
    margin: 0 auto 10px;
}

.border-yoko{
    margin:10px 0 30px;
}

.border-yoko strong{
    width: 80%;
    margin-top: -10px;
    font-size: 14px;
}

.border-yoko span{
    width: 10%;
}

    .maker{
        margin-top: 30px;
    }

.maker span{
    font-size: 16px;
}
    
}


/*==================================================
plan
================================================== */

#plan .border-yoko strong{
    width: 28%;
    margin-top: -20px;
}

#plan .border-yoko span{
    width: 36%;
}

.box-plan{
    display: flex;
    margin-bottom: 30px;
}

.ill-04n{
    width: 15%;
    margin-right: 5%;
}

.ill-05n{
    width: 11%;
    margin: 0 7% 0 2%;
}

#plan a.a-icn{
    padding-left: 0;
    text-decoration: underline;
}

.box-plan .title-basic{
    margin: 25px 0 15px;
}

.coming-soon{
    margin: 50px 0 0;
    background-color: #e4e4e4;
    text-align: center;
    padding: 25px 20px ;
    border-radius: 100px;
}

@media only screen and (max-width: 599px) {

#plan .border-yoko strong{
    width: 40%;
    margin-top: -14px;
    font-size: 5vw;
}

#plan .border-yoko span{
    width: 30%;
}

.box-plan{
    margin-bottom: 20px;
}

.ill-04n{
    width: 24%;
    margin-right: 4%;
}

.ill-05n{
    width: 12%;
    margin: 0 7% 0 2%;
}

#plan a.a-icn{
    padding-left: 0;
    text-decoration: underline;
}

.box-plan .title-basic{
    margin: 0 0 8px;
    font-size: 4.8vw;
}

.coming-soon{
    margin: 35px 0 0;
    padding: 25px 15px ;
}
    
}


/*==================================================
campaign
================================================== */

#campaign{
    padding-bottom: 150px;
}

#campaign .border-yoko strong{
    width: 50%;
}

#campaign .border-yoko span{
    width: 25%;
}

.box-campaign{
    display: flex;
}

.box-campaign article{
    width: calc(100%/2);
}

.box-campaign article:first-child{
    margin-right: 35px;
}

.box-campaign article p{
    line-height: 2.0;
    margin: 15px 20px 0 10px;
}

@media only screen and (max-width: 1024px) {

#campaign .border-yoko strong{
    width: 70%;
    margin-top: -18px;
}

#campaign .border-yoko span{
    width: 15%;
}

}

@media only screen and (max-width: 768px) {

#campaign{
    padding-bottom: 100px;
}
    
}

@media only screen and (max-width: 599px) {

#campaign{
    padding-bottom: 70px;
}

#campaign .border-yoko strong{
    width: 80%;
    margin-top: -27px;
    font-size: 5vw;
    line-height: 1.5;
}

#campaign .border-yoko span{
    width: 10%;
}

.box-campaign{
    display: block;
}

.box-campaign article{
    width: 100%;
}

.box-campaign article:first-child{
    margin: 0 auto 25px;
}

.box-campaign article p{
    line-height: 1.8;
    margin: 6px 15px 0 15px;
    text-align: justify;
}

}


/*==================================================
step
================================================== */

#step{
    padding-bottom: 120px;
    text-align: center;
}

#step .title-basic{
    font-size: 48px;
}

.box-step{
    margin-bottom: 50px;
    line-height: 2.0;
}

.box-step h3{
    display: block;
    background-color: #ffffa9;
    border: 1px solid #333;
    padding: 10px;
    border-radius: 80px;
    font-size: 21px;
    margin-bottom: 35px;
    font-weight: normal;
}

.icn-step{
    width: 80px;
    vertical-align: bottom;
}

#step-03 .icn-step{
    width: 120px;
}

.box-step h4{
    display: block;
    font-size: 24px;
    margin: 10px 0 5px;
}

.box-step p{
    margin-bottom: 25px;
}

.icn-y-down{
    width: 40px;
    vertical-align: bottom;
}

@media only screen and (max-width: 768px) {

#step{
    padding-bottom: 100px;
}

#step .title-basic{
    font-size: 32px;
}
    
}

@media only screen and (max-width: 599px) {

#step{
    padding-bottom: 70px;
}

#step .title-basic{
    font-size: 6vw;
}

.box-step{
    margin-bottom: 20px;
    line-height: 1.8;
}

.box-step h3{
    padding: 0;
    font-size: 5.0vw;
    margin-bottom: 20px;
}

.icn-step{
    width: 13vw;
}

#step-03 .icn-step{
    width: 18vw;
}

.box-step h4{
    font-size: 5.5vw;
    margin: 10px 0 0;
}

.box-step p{
    text-align: justify;
    width: 90%;
    margin: 0 auto 15px;
}

.icn-y-down{
    width: 6.4vw;
}
    
}



/*==================================================
faq
================================================== */

#faq{
    padding-bottom: 120px;
}

.dl-faq dt,
.dl-faq dd{
    display: flex;
    line-height: 1.9;
}

.icn-faq{
    width: 4%;
    margin-right: 1%;
}

p.txt-faq{
    width: 95%;
    padding-top: 12px;
    margin: 0;
}

.dl-faq dt{
    margin-bottom: 7px;
}

.dl-faq dd{
    color: #f193ae;
    margin-bottom: 25px;
}

.dl-faq dd a{
    font-size: 85%;
    text-decoration: underline;
}


@media only screen and (max-width: 599px) {

#faq{
    padding-bottom: 70px;
}

.dl-faq dt,
.dl-faq dd{
    line-height: 1.8;
    text-align: justify;
}

.icn-faq{
    width: 9%;
    margin-right: 2%;
}

p.txt-faq{
    width: 89%;
}

.dl-faq dt{
    margin-bottom: 5px;
}

.dl-faq dd{
    margin-bottom: 20px;
}
    
}



/*==================================================
subsc-01
================================================== */

.contents-01{
    text-align: center;
}

.ill-10{
    width: 90px;
    vertical-align: bottom;
}

.pic-circle{
    vertical-align: bottom;
    width: 280px;
    height: auto;
    border-radius: 50%;
}

.txt-dot{
    font-size: 50px;
    line-height: 0.5;
    margin: 25px 0;
}
.txt-dot span{
    display: block;
}

.contents-01 .pic{
    margin-top: 80px;
}

@media only screen and (max-width: 768px) {

.ill-10{
    width: 70px;
}

.pic-circle{
    width: 220px;
}
    
}

@media only screen and (max-width: 599px) {

.ill-10{
    width: 18%;
}

.pic-circle{
    width: 50%;
}

.txt-dot{
    font-size: 40px;
    margin: 20px 0;
}

.contents-01 .pic{
    margin-top: 50px;
}
    
}


/*==================================================
yurikago-omutsubin
================================================== */

#yurikago-omutsubin{
    text-align: center;
}

.ill-11{
    width: 70%;
    vertical-align: bottom;
    margin-bottom: 35px;
}

.ill-12{
    vertical-align: bottom;
    margin: 50px 0 80px;
}

#omutsubin-feature{
    text-align: left;
    padding-bottom: 30px;
}

.box-feature small{
    display: block;
}

.omutsu{
    background-color: #daeaf7;
    border-radius: 24px;
    margin-bottom: 20px;
    padding: 30px;
}

.omutsu h3{
    display: block;
    text-align: center;
    padding: 7px 10px;
    border-radius: 60px;
    background-color: #fff;
    margin-bottom: 35px;
    font-weight: normal;
    font-size: 21px;
}

.ill-omutsu{
    width: 25%;
    float: right;
}

#omutsu-01 .ill-omutsu img{
    width: 80%;
}

#omutsu-03 .ill-omutsu img{
    width: 70%;
}

.point-omutsu{
    width: 72%;
    float: left;
}

.point-omutsu p{
    display: flex;
    text-align: left;
}

.point-omutsu p span{
    background-color: #ffffa9;
    padding: 5px 12px;
    width: 15%;
    align-items: center;
    display: flex;
    text-align: center;
    justify-content: center;
}

.point-omutsu p strong{
    font-weight: normal;
    width: 85%;
    padding-left: 10px;
    display: flex;
    align-items: center;
}

.txt-att{
    text-align: right !important;
    margin:  20px 0 0 !important;
    font-size: 14px;
}


@media only screen and (max-width: 599px) {

.ill-11{
    width: 100%;
    margin-bottom: 20px;
}

.ill-12{
    margin: 20px 0 50px;
}

#omutsubin-feature{
    padding-bottom: 0;
}

.omutsu{
    border-radius: 20px;
    margin-bottom: 16px;
    padding: 20px;
}

.omutsu h3{
    padding: 5px 10px;
    margin-bottom: 25px;
    font-size: 5vw;
}

.ill-omutsu{
    width: 100%;
    float: none;
    margin-bottom: 15px;
}

#omutsu-01 .ill-omutsu img{
    width: 40%;
}

#omutsu-02 .ill-omutsu img{
    width: 54%;
}

#omutsu-03 .ill-omutsu img{
    width: 35%;
}

.point-omutsu{
    width: 100%;
    float: none;
}

.point-omutsu p{
    margin-bottom: 10px;
}

.point-omutsu p span{
    padding: 5px;
    width: 20%;
}

.point-omutsu p strong{
    width: 80%;
}
    
}


/*==================================================
kamiomutsu-touenset
================================================== */

#kamiomutsu-touenset{
    text-align: center;
}

.ill-16{
    width: 70%;
    vertical-align: bottom;
    margin-bottom: 35px;
}

#kamiomutsu-touenset .omutsu{
    background-color: #e4dbeb;
}

#omutsu-04 .ill-omutsu img{
    width: 80%;
}

#kamiomutsu-feature{
    text-align: left;
    padding-bottom: 30px;
}


@media only screen and (max-width: 599px) {

.ill-16{
    width: 100%;
    margin-bottom: 20px;
}

#omutsu-04 .ill-omutsu img{
    width: 40%;
}

#kamiomutsu-feature{
    padding-bottom: 0;
}
    
}



/*==================================================
guardian-01
================================================== */

.ill-26{
    width: 110px;
    vertical-align: bottom;
    margin-bottom: 12px;
}

@media only screen and (max-width: 599px) {

.ill-26{
    width: 24%;
}
    
}


/*==================================================
kamiomutsu-subsc・futon-subsc
================================================== */

#kamiomutsu-subsc p.txt-large,
#futon-subsc p.txt-large{
    margin: 35px 0 50px;
}

#kamiomutsu-subsc-feature .t-flex span i{
    background-color: #84bae5;
    color: #fff;
    border:none;
}

#futon-subsc-feature .t-flex span i{
    background-color: #df8db9;
    color: #fff;
    border:none;
}

@media only screen and (max-width: 599px) {

#kamiomutsu-subsc p.txt-large,
#futon-subsc p.txt-large{
    margin: 0 0 30px;
}
    
}

/*==================================================
feature
================================================== */

#feature .title-contents{
    margin-bottom: 10px;
}

#feature article{
    padding-bottom: 25px;
}

.ill-22{
    display: block;
    margin: 0 auto;
    width: 70%;
}

@media only screen and (max-width: 599px) {

#feature article{
    padding-bottom: 10px;
}

.ill-22{
    width: 90%;
}
    
}

/*==================================================
company-01
================================================== */

#company-01{
    padding-bottom: 100px;
}

#ill-tsunagu{
    margin-bottom: 80px;
}

@media only screen and (max-width: 599px) {

#company-01{
    padding-bottom: 50px;
}

#ill-tsunagu{
    margin-bottom: 50px;
}
    
}

/*==================================================
company-outline
================================================== */

#company-outline{
    background-color: #dff3f6;
    padding: 90px 0 60px;
}

#company-outline .title-contents{
    line-height: 1;
}

#company-outline .title-contents small{
    padding-left: 12px;
    font-size: 50%;
    color: #333 !important;
    position: relative;
    top: -4px;
}

#company-outline > div > article{
    margin-bottom: 50px;
}

.box-company{
    display: flex;
}

.txt-outline{
    width: 60%;
    padding-right: 5%;
}

.pic-outline{
    width: 35%;
}

.pic-outline img{
    border-radius: 36px;
    vertical-align: bottom;
}

.flex-com{
    display: flex;
}

.flex-com span{
    width: 150px;
}

.flex-com strong{
    font-weight: normal;
}

#company-history{
    position: relative;
    margin-bottom: 100px !important;
}

.pic-16{
    position: absolute;
    top: 20px;
    right: 0;
    width: 20%;
    border-radius: 32px;
}

.p-con{
    display: flex;
    margin: 0 !important;
}

.p-con i{
    width: 42px;
    line-height: 1;
}

.p-con a{
    display: flex;
    align-items: center;
    padding-left: 15px;
    font-size: 21px;
}

#tel,#fax,#e-mail{
    margin-bottom: 25px;
}

#address small{
    display: block;
}

.map-com{
    width: 35%;
}

.map-com iframe{
    border: none;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}


@media only screen and (max-width: 768px) {

.flex-com span{
    width: 100px;
}

#company-history{
    margin-bottom: 80px !important;
}
    
}

@media only screen and (max-width: 599px) {

#company-outline{
    padding: 60px 0 30px;
}

#company-outline .title-contents small{
    font-size: 60%;
    top: -3px;
}

#company-outline > div > article{
    margin-bottom: 35px;
}

.box-company{
    display: block;
}

.txt-outline{
    width: 100%;
    padding-right: 0;
    margin-bottom: 25px;
}

.pic-outline{
    width: 100%;
}

.pic-outline img{
    border-radius: 26px;
    height: 45vw;
    object-fit: cover;
    width: 100%;
}
    
.flex-com{
    display: block;
    padding-left: 15px;
    line-height: 1.8;
}

.flex-com span,
.flex-com strong{
    display: block;
    width: 100%;
}

#company-history{
    margin-bottom: 30px !important;
}

.pic-16{
    display: none;
}

.p-con{
    display: flex;
    margin: 0 !important;
}

.p-con i{
    width: 34px;
}

.p-con a{
    padding-left: 12px;
    font-size: 18px;
}

#tel,#fax,#e-mail{
    margin-bottom: 20px;
}

.map-com{
    width: 100%;
}

.map-com iframe{
    height: 60vw;
}


    
}



/*==================================================
form
================================================== */


input[type="text"],
input[type="number"], 
input[type="email"], 
input[type="password"] , 
input[type="tel"] ,
input[type="date"] ,
input[type="time"] ,
input[type="search"]  {
	width: 100%;
    box-sizing: border-box;
	height: 46px;
    font-size: 16px;
	border:1px solid #333;;
	padding:5px 10px;
	background:#fff;
    border-radius: 6px;
}

input#tel{
    margin-bottom: 0 !important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="search"]:focus,
textarea:focus {
}

input[type="date"]{
	width: 30%;
	margin-right: 10px;
}

.td-div > div{
    margin-bottom: 10px;
}

.td-div > div:last-child{
    margin-bottom: 0;
}

input.input-zip{
    width: 25%;
}

input.sei,
input.mei{
    width: 35%;
    margin-right: 20px;
}

input.zip{
	width: 40%;
}

input.input-tel{
    width: 50%;
}

textarea{
    padding: 20px 15px;
    width: 100%;
    min-height: 260px;
    font-size: 16px;
    box-sizing: border-box;
	background:#fff;
    border: 1px solid #333;
    border-radius: 6px;
}

input[type="checkbox"]{
    display: inline-block; 
    width: 22px ; 
    height: 22px; 
    background:#fff; 
    vertical-align: bottom;
    margin-right: 5px;
	border: 1px solid #f0f0f0;
	border-radius: 0 !important;
}

input[type="radio"]{
    display: inline-block; 
    width: 22px; 
    height: 22px; 
    background:#fff; 
	vertical-align: middle;
    margin-right:5px;
	border-color: #f0f0f0 !important;
}


select {
cursor: pointer;
    min-width: 50%;
text-indent: 0.01px;
text-overflow: ellipsis;
border: 1px solid #333 !important;
outline: none;
background: #fff;
background-image: none;
box-shadow: none;
height: 46px;
box-sizing: border-box;
	font-size: 16px;
    border-radius: 6px;
}

.required{
    display: inline-block; 
    margin-left: 10px; 
    color: #fff;
    background-color: #eb1c24;
    padding: 5px 10px;
    font-size: 12px;  
    line-height: 1;
    vertical-align: bottom;
}

#contact-confirm .required{
    display: none;
}

.btn-area{
    text-align: center;
}

input[type="submit"],
button{
	-webkit-appearance:none;
	cursor: pointer;
    border: none;
    font-size: 100%;
}



label.l-rc{
    display: block;
    margin: 5px 0;
}


#header-form{
    line-height: 1.9;
    margin: 0 auto;
    text-align: center;
}

#header-form p{
    margin-bottom: 25px;
}

#form-finish #header-form{
	text-align: center;
}



span.txt-form{padding-left: 15px;}
.att-contact{
    margin: 5px 0 0 !important;
    font-size: 14px;
}

#contact-confirm span.txt-form,
#contact-confirm .att-contact{
	display: none;
}

::placeholder{
	color: #999;
	font-weight: 400;
	font-size: 13px;
}

#privacy-check{
	text-align: center;
	margin: 50px 0 25px ;
	line-height: 1;
}

#privacy-check p{
	margin-bottom: 30px;
}

#contact-confirm #privacy-check{
    display: none;
}

#privacy-check a{
	text-decoration: underline;
}

#contact-confirm #privacy-check{
    display: none;
}




@media (max-width: 599px) {
    
    span.txt-form{padding-left: 0; padding-top: 8px; font-size: 13px;}

.btn-form{
    display: block;
    width: 80%;
    padding: 15px 0;
    margin: 0 auto;
    font-size: 14px;
}

input[type="text"], 
input[type="number"], 
input[type="email"], 
input[type="password"] , 
input[type="tel"] ,
input[type="date"] ,  
input[type="time"] ,     
input[type="search"]  {
	height: 42px;
	font-size: 14px;
}

input[type="date"]{
	width: 80%;
	margin-right: 10px;
	margin-bottom: 12px;
}
	
input[type="submit"],
button{-webkit-appearance:none !important;}	

textarea{
	min-height: 200px;
	font-size: 14px;
}

select {
width: 100%;
height: 42px;
} 
	  
    
.box-form .btn-area{
    margin: 0;
}

.td-div > div > span{
    display: block;
    width: 100%;
}

input.sei,
input.mei{
    width: 35%;
    margin-right: 5px;
}

input.input-zip{
    margin-left: 0;
}

input.zip{
	width: 65%;
}

input.input-tel{
    width: 100%;
    margin-left: 0;
}

#privacy-check{
	text-align: center;
	margin: 30px 0 0;
	line-height: 1.4;
}

#privacy-check p{
	margin-bottom: 30px;
}
	
	#privacy-check label{
	}
	
	#privacy-check input{
		min-width: 22px;
	}


}




p.txt-error{
    margin-bottom: 35px;
    color: #d21e46;
}

.mw_wp_form .error{
    display: inline !important;
}



/*==================================================
contact
================================================== */

#contact-input,
#contact-confirm{
    padding: 100px 0;
}

#contact-thanks{
    padding: 150px 0;
}

#head-contact{
    text-align: center;
    line-height: 2.0;
    margin-bottom: 80px;
}

#contact-thanks #head-contact p.txt-large{
    font-size: 32px;
    margin-bottom: 35px;
}

#tab-contact{
    display: flex;
}

#tab-contact > div{
    width: calc(100%/2);
    text-align: center;
}

.ill-tab{
    vertical-align: bottom;
    height: 80px;
    margin-bottom: 10px;
}

.tab-box{
    padding: 25px 20px 20px;
    background-color: #fff;
}

.tab-on .tab-box{
    border: 3px solid ;
    border-bottom: none;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    padding: 20px;
    position: relative;
    bottom: -5px;
}

.tab-box a{
    width: 100%;
    box-sizing: border-box;
    position: relative;
    top: 3px;
}

.tab-on .tab-box a{
    top: 0;
}



.contact-area{
    border: 3px solid;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    border-top-right-radius: 24px;
    padding: 20px;
}

#tab-01 .tab-box,
.contact-01{
    border-color: #5dc2d0;
}

#tab-02 .tab-box,
.contact-02{
    border-color: #f092ae;
}

.contact-area.contact-02{
    border-top-right-radius: 0;
    border-top-left-radius: 24px;
}

.table-contact{
    width: 100%;
    border-collapse: collapse;
}

.table-contact th{
    width: 25%;
    box-sizing: border-box;
    vertical-align: top;
    text-align: left;
    padding-bottom: 25px;
    font-weight: normal;
}

.table-contact td{
    width: 75%;
    box-sizing: border-box;
    padding-left: 15px;
    padding-bottom: 25px;
    vertical-align: top;
    text-align: left;
}

.table-contact th p{
    margin: 0;
    background-color: #cfedf1;
    display: flex;
    min-height: 46px;
    align-items: center;
    padding: 0 10px;
    text-align: left;
}

.contact-02 .table-contact th p{
    background-color: #fadee7;
}


@media only screen and (max-width: 599px) {

#contact-input,
#contact-confirm{
    padding: 50px 0;
}

#head-contact{
    text-align: left;
    line-height: 1.8;
    margin-bottom: 50px;
}
    
    #head-contact .txt-large{
        font-size: 100%;
    }

.ill-tab{
    height: 50px;
}

.tab-box{
    padding: 15px 5px 15px;
    background-color: #fff;
}

.tab-on .tab-box{
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    padding: 10px 5px 15px;
    bottom: -5px;
}

.tab-box a{
    top: 3px;
    font-size: 12px;
}
    
    .tab-box a::after,
    .tab-box a::before{
        content: none;
    }

.tab-on .tab-box a{
    top: 0;
}



.contact-area{
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    border-top-right-radius: 16px;
    padding: 12px;
}

.contact-area.contact-02{
    border-top-right-radius: 0;
    border-top-left-radius: 16px;
}

.table-contact th{
    display: block;
    width: 100%;
    box-sizing: border-box;
    vertical-align: top;
    text-align: left;
    padding-bottom: 14px;
}

.table-contact td{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding-left: 0;
    padding-bottom: 20px;
}

.table-contact th p{
    display: block;
    min-height: auto;
    align-items: center;
    padding: 8px 10px;
}

#contact-thanks{
    padding: 100px 0;
}
    
    #contact-thanks #head-contact{
        text-align: center;
    }
    
    #contact-thanks #head-contact .title-contents{
        font-size: 7vw;
    }

#contact-thanks #head-contact p.txt-large{
    font-size: 5.4vw;
    margin-bottom: 25px;
}

    
}




/*==================================================
terms, privacy
================================================== */

#terms,
#privacy{
    padding: 100px 0;
}

.box-terms{
    margin: 60px 0 0;
    line-height: 2.2;
}

.box-privacy{
    line-height: 2.2;
    margin-bottom: 50px;
}

#privacy-contents02{
    padding-top: 80px;
}

.box-sub{
    margin: 35px 0 0 18px;
}


.box-terms h3,
.box-privacy h3,
.box-sub h4{
    font-weight: normal;
    display: block;
    font-size: 100%;
}

.ol-basic{
    margin-left: 22px;
}

#terms-contact{
    border-bottom: 1px solid #333;
    padding-bottom: 30px;
}

#terms-contact .title-border-right{
    display: flex !important;
}


@media only screen and (max-width: 599px) {

#terms,
#privacy{
    padding: 50px 0;
}

.box-terms{
    margin: 35px 0 0;
    line-height: 2.0;
}

.box-privacy{
    line-height: 2.0;
    margin-bottom: 30px;
}

#privacy-contents02{
    padding-top: 50px;
}

.box-sub{
    margin: 25px 0 0 16px;
}

#terms-contact{
    padding-bottom: 20px;
}

    
}






