@charset "UTF-8";



.pc {
    display: none !important;
}
.tb {
    display: none !important;
}
.wrap {
    width: 90%;
}
.ribon {
    margin: 0 3vw;
    margin-bottom: 11vw;
}
.title {
    font-size: 5.5vw;
    padding: 3.5vw 0;
    margin-bottom: 3vw;
    line-height: 1.2em;
}
.ribon:before {
    width: 8vw;
    height: 14vw;
    background-size: contain;
    bottom: -2vw;
}

.ribon:after {
    width: 8vw;
    height: 14vw;
    background-size: contain;
    bottom: -2vw;
    transform: translate(60%,0);
}


p {
    font-size: 3.8vw;
}
/*セクションの幅基本*/
section {
    padding: 8vw 0 4vw;
}

/*wrapなくす*/

section.bl_contact .wrap {
    width: 100%;
    position: initial;
}





/*header*/

/**/
header {
    padding: 0.5vw 0;
    position: fixed;
}
header .wrap{
    width: 94%;
    margin-left: 2vw;
    position: relative;
    /* max-width: 100%; */
}
header .main_title {
    width: 45%;
    position: absolute;
    top: 29%;
    left: 0
}
header .box {
    display: none;
}
header a.btn {
    display: none;
}
/*ボタン*/
header .display_flex.sp {
    /* width: 28%; */
    float: right;
    margin: 0;
    margin-top: 2vw;
}
header .display_flex.sp li {
    width: 11vw;
    margin-left: 2vw;
}
header .wrap p {
    font-size: 1vw;
    line-height: 3.1em;
    width: 80%;display: inline-block;
}

/*#mv*/

/*高さ*/
section#mv .wrap.relative {
    height: 107vw;
}
/*女性の写真*/
section#mv img.woman {
    width: 44%;
    right: -8vw;
    left: inherit;
    bottom: -5.7vw;
}
/*ボタンデザイン*/
section#mv ul li {
    padding: 2.1vw;
    font-size: 4vw;
    border: 1px solid #ffffff;
    font-weight: normal;
    width: 70%;
}
section#mv ul.display_flex {
    margin-top: 2vh;
}
/*背景*/
section#mv {
    background-image: url(images/mv_bg01_sp.png);
    background-size: cover;
    padding-top: 6vw;
    margin-top: 8vw;
    height: 108vw;
}







/*bl02*/
/*ulデザイン*/
section#bl02 ul {
    flex-wrap: wrap;
}
section#bl02 ul li {
    width: 100%;
    margin-bottom: 3vw;
}
section#bl02 > div > img:nth-child(4) {
    padding: 0!important;
    margin: auto;
    display: block;
    width: 53%;
}
section#bl02 > div > img:nth-child(3) {
    width: 70%;
    display: block;
    margin: 0 auto;
}
section#bl02 {
    /* margin-bottom: 9vw; */
}
section#bl02 ul.display_flex li img {
    width: 100%;
}
section#bl02 ul.display_flex {
    background: none;
    padding:0;
    height: inherit;

}
section#bl02 ul.display_flex li {
    margin-bottom: 2.5vh;
}
section#bl02 ul.display_flex li:nth-child(2) {
    left: 0;
}
section#bl02 ul.display_flex li:nth-child(3) {
    left: 0;
}



/*bl03*/
/*画像の大きさ*/
section#bl03 ul {
    margin-top: 0 !important;
}
section#bl03 ul li img {
    float: inherit;
    margin: auto;
    display: block;
    width: 41%;
    margin-top: 2.7vh;
}
section#bl03 ul li {
    padding: 0;
    margin-bottom: 7vw;
    border: 1px solid #05bbff;
        width: 100%;
}
section#bl03 ul li .title02 {
    font-size: 5.4vw;
    padding: 5px;
    letter-spacing: inherit;
}
section#bl03 ul li .text {
    margin-left: 0;
    height: inherit;
    position: relative;
}
section#bl03 ul li .text p {
    position: inherit;
    transform: inherit;
    padding: 3vw 4.2vw 6vw;
    line-height: inherit;
    font-size: 0.95em;
}

section#bl03 .sp {
    width: 88%;
    display: block;
    margin: 0 auto 5vh;
}
section#bl03 ul li:before {
    font-size: 26vw !important;

}
section#bl03 ul li:nth-child(1) .text p:before {


}
section#bl03 ul li:nth-child(2) .text p:before {


}
section#bl03 ul li:nth-child(3) .text p:before {


}
/*bl04*/
section#bl04 ul {
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
}
section#bl04 ul li {
    margin-bottom: 6vw;
    width: 70%;
    margin: 0.5vh auto;
}
section#bl04 ul li p {
    font-size: 3.3vw;
    margin: 0;
}
section#bl04 .sp {
    width: 80%;
    display: block;
    margin: 1.5vh auto 3vh
}


/*bl05*/
section#bl05 img {
    display: block;
    margin: auto;
    float: inherit;
}
section#bl05 img.float_left {
    width: 54%;
    margin-top: 4vh;
    margin-bottom: 4vh;
}
section#bl05 p {
    margin-left: inherit;
    font-size: 3.6vw;
}

section#bl05 .title {
    font-size: 5.5vw;
    padding: 2vw 0 0;
    margin-bottom: 3vw;
    line-height: 1.2em;
    height: 17vw;
}
section#bl05 p b {
    float: left;
    text-align: left;
    margin-top: 15px;
}
section#bl05 .sp {
    width: 110%;
    max-width: inherit;
    margin-left: -5%;
    display: block;
}
/* bl06 */
section#bl06 ul li img {
width: 46%;
    float: inherit;
    display: block;
    margin: 0 auto;
}
section#bl06 .title02 {
    font-size: 1.6em;
    letter-spacing: 0.1em;
}
section#bl06 .right_text {
    margin: 0;
}
section#bl06 p.float_left {
    position: static;
    font-size: 13px;
    text-align: center;
    float: inherit;
}
section#bl06 .right_text p {
    margin: 0 0 3vh 0;
    font-size: 3.6vw;
}
section#bl06 li {
    border-bottom: 1px dashed #cacaca;
    padding-top: 3vh;
}
section#bl06 li.clear_both {
    padding-bottom: 0;
}
section#bl06 .sp {
    width: 72%;
    display: block;
    margin: 0 auto;
}
section#bl06 li.clear_both .box {
    float: inherit;
}

/* bl07 */
section .sub_ttl {
    font-size: 0.9em;
    margin: 2vh 0 3vh;
}
section#bl07 ul.display_flex {
    width: 100%!important;
    display: flex;
    position: inherit;
    flex-wrap: wrap;
}
section#bl07 ul.display_flex.second:before {
    content: none;
}
section#bl07 ul.display_flex.first:before {
    content: none;
}
section#bl07 ul.display_flex.first:after {
    content: none;
}
section#bl07 .display_flex {
    display: inherit;
}
section#bl07 .display_flex li {
    flex-basis: 37%;
    margin-bottom: 3vw;
}
section#bl07 .sp {
    width: 80%;
    display: block;
    margin: 0 auto 3vh;
}
section#bl07 .display_flex li:nth-child(even) {
    margin-right: 5vw;
}
section#bl07 .display_flex li:nth-child(odd) {
    margin-left: 5vw;
}


/*banner*/
section.banner {
    padding: 0;
    margin-top: 4vh;
}
section.banner.contact .wrap{
    height: 35vw;
}

section.banner.contact {
    margin: 0 0 10vh 0;
}



/*bl_contact*/
section.bl_contact {
    height: 78vw;
    background: linear-gradient(0deg
        ,#05bbff 0%,#05bbff 50%,#ffcd05 50%,#ffcd05 100%);
    margin-top: 3vh;
    position: relative;
}
section.bl_contact .absolute {
    width: auto;
}
section.bl_contact .absolute {width: 100%;left: 0;top: 21vw;line-height: 0.6em;}
section.bl_contact p.txt {
    font-size: 3.6vw;
    margin: 0;
}
section.bl_contact p.tel {
    font-size: 9vw;
    /* margin: 0; */
    /* font-weight: bold; */
    /* line-height: 1.5em; */
    top: 0%;
    left: 50%;
    margin: 0;
    transform: translate(-38%, 0%);
    width: 57vw;
}
section.bl_contact p.info {
    margin: 0;
    font-size: 3.4vw !important;
    /* position: inherit; */
    /* text-align: center; */
    top: 38%;
    left: 0;
    transform: translate(0%, 0%);
    width: 100%;
    text-align: center;
}
section.bl_contact a.btn {
    padding: 3vw;
    font-size: 4vw;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 80%;
    text-align: center;
    top: inherit;
    bottom: 8%;
    border-radius: 2vw;
}
section.bl_contact .contact_info {
    position: absolute;
    width: 100%;
    height: 40vw;
    bottom: 0;
}
section.bl_contact p.tel02{
    font-size: 3.4vw;
}
section.bl_mail section.banner {
    margin-bottom: 0;
    height: 37vw;
}


/*  */
section.bl_mail img {
    width: 110%;
    max-width: inherit;
    margin-left: -5%;
}



/*コンタクトフォーム */
#formWrap form .checked {
    right: -8vw;
}
#formWrap {
    width:95%;
    margin:0 auto;
}
table.formTable th, table.formTable td {
    width: auto;
    display: block;
    font-size: 4vw;
}
table.formTable th {
    margin-top: 5px;
    border-bottom: 0;
    text-align: left;
    color: #444;
}
input[type="text"], textarea {
    width: 100% !important;
    padding:5px;
    font-size: 3.4vw;
    display:block;
}
input[type="date"] {
    width: 65%;
}
input[type="tel"] {
    width: 31%;
}
input[type="submit"], input[type="reset"], input[type="button"] {
    display: block;
    width: 60%;
    padding: 2vw;
    font-size: 5vw;
    color: white;
    box-shadow: #666 1px 2px;
}
table.formTable span {
    font-size: 0.9em;
    color: #444;
}
table.formTable tr:nth-child(1) th:before,
table.formTable tr:nth-child(3) th:before {
    font-size: 10px;
    padding: 5px 10px;
}
input.twelfare_ell {
    width: 30% !important;
}
.privacy_policy, 
.checked {
    font-size: 4vw;
}
.privacy_policy {
    color: #444;
}
.checked {

}
.checked::before {
    font-size: 10px;
    padding: 5px 10px;
}

.lp_complete {
    margin: 0 auto;
    padding: 30vw 0 25vw;
    text-align: center;
    font-size: 4.5vw;
}