@charset "utf-8";

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

body#top footer {
    padding-bottom: 5em;
}
footer {
    padding: 0.5em;
}
footer .inner {
    display: block;
}
footer .logo {
    width: 100px;
    margin: 0 auto 0.5em;
}
footer .copy {font-size: 10px;}


header .logo {
    width: 100px;
    margin: 0 auto;
}
header .tel_bloc {
    display: none; 
}

.banner {
    position: fixed;
    top: auto;
    transform: initial;
    -webkit-transform: initial;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0.5em;
}
.banner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.banner ul li + li {
    margin-top: 0;
}
.banner ul li {
    width: 49%;
}

.mv {
    overflow: hidden;
}
.mv .inner {
    display: block;
    position: relative;
}
.mv_bloc {
    position: relative;
    padding: 1em;
}
.mv_bloc h1 {
    width: 64%;
}
.mv_bloc p {
    position: relative;
    width: 80%;
    z-index: 2;
    font-size: 3vw;
    text-align: left;
}
.mv_bloc ul {
    width: 80%;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    position: relative;
    z-index: 2;
}
.mv_bloc ul li {
    width: 32%;
}

.mv .inner figure {
    padding: 0;
    margin: 0;
    position: absolute;
    right: -9vw;
    bottom: 0;
    width: 50%;
}

.cv_upper {
    padding: 0.5em;
}
.cv_upper p {
    display: block;
}
.cv_upper p .free {
    display: block;
    width: 50px;
    margin: 0 auto 0.2em;
}
.cv_upper p .txt {
    font-size: 4vw;
    line-height: 1.2em;
}

.cv_content {
    padding: 0.5em;
}
.cv_content .inner {
    gap: 1em;
}
.cv_content .btn_bloc {
    width: auto;
    flex: 1 0 0%;
}

.tel_bloc i {
    width: 2em;
}
.cv_content .tel_bloc a {
    font-size: 5vw;
}

.caution {
    padding: 2em 1em 0;
}
.caution h2 {
    font-size: 5.3vw;
    margin-bottom: 1em;
}
.caution_bloc {
    margin-bottom: 1em;
}

.caution_bloc ul li {
    font-size: 4vw;
    padding-left: 3em;
}
.caution_bloc ul li:before {
    width: 24px;
    height: 20px;
    background-size: contain;
}

.caution_bloc p {
    font-size: 4vw;
}

.caution figure {
    width: 64%;
    margin: 0 auto;
}

.trouble {
    padding: 2em 1em;
}

.trouble_bloc .item {
    padding: 0;
}

.trouble_bloc .item h3 {
    font-size: 6vw;
    text-align: center;
}
.trouble_bloc {
    display: block;
}

.trouble_bloc figure {
    width: 74%;
    margin: 0 auto;
}
.trouble_bloc .item p {
    font-size: 0.9em;
}

.resolution {
    padding: 2em 1em;
}
.resolution:before {
    border-width: 20px 20px 0 20px;
}
.resolution h2 {
    font-size: 5.3vw;
}

.resolution_bloc p + p {
    margin-top: 2em;
}
.resolution_bloc p img {
    float: none;
    padding: 0;
    margin: 0 auto 1em;
    width: 60%;
    display: block;
}
.resolution_bloc p {
    font-size: 0.9em;
}

.resolution_figure {

}
.resolution_figure img {
    width: 33.333333%;
}

.difference {
    padding: 2em 1em;
}
.difference_upper h2 {
    font-size: 5.2vw;
}
.difference_upper p {
    font-size: 0.9em;
}
.difference_menu ul {
    align-items: flex-start;
    justify-content: space-between;
    gap: inherit;
}
.difference_menu ul li {
    width: 49%;
    box-sizing: border-box;
    font-size: 6vw;
}

.difference_menu {
    margin-bottom: 1em;
}
.difference_bloc + .difference_bloc {
    margin-top: 1em;
}
.difference_bloc h3 {
    font-size: 5vw;
}
.difference_content {
    margin-bottom: 1em;
}

.difference_bottom {
    padding: 0.5em;
}
.difference_bottom h3 {
    font-size: 5vw;
}

.difference_bottom ol {
    align-items: stretch;
    justify-content: space-between;
    gap: 1em;
}
.difference_bottom ol li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
.difference_bottom ol li p {
    flex: 1 0 0%;
    font-size: 4vw;
}
.difference_bottom ol li figure {
    width: 14%;
}

.flow {
    background: #fbf8ee;
    padding: 2em 1em;
}
.flow h2 {
    font-size: 5.2vw;
}

.forte {
    padding: 2em 1em;
}
.forte h2 {
    font-size: 5.2vw;
    margin-bottom: 1em;
}
.forte_content {
    display: block;
}
.forte figure {
    width: 60%;
    margin: 0 auto 1em;
}
.forte_bloc h3 {
    font-size: 5vw;
    text-align: center;
}
.forte_bloc p {
    font-size: 0.9em;
}

.BeCareful {
    padding: 2em 1em;
}
.BeCareful_upper h2 {
    font-size: 6.4vw;
}
.BeCareful_upper p {
    font-size: 0.9em;
    text-align: left;
}
.BeCareful_upper {
    margin-bottom: 2em;
}

.BeCareful_bloc p:nth-child(1) {
    font-size: 5vw;
    width: 1em;
    left: 0;
    right: auto;
    margin: 0;
}
.BeCareful_bloc p:nth-child(2) {
    font-size: 5vw;
    width: 1em;
    right: 0;
    left: auto;
    margin: 0;
}
.BeCareful_bottom p {
    font-size: 0.8em;
}

.method {
    padding: 2em 1em;
}
.method h2 {
    font-size: 5.2vw;
}

.method_content figure {
    position: static;
    width: 64%;
    margin: 0 auto;
}
.method_bloc {
    margin-bottom: 1em;
}

.method_bloc dl {
    display: block;
}
.method_bloc dl dt {
    text-align: center;
    font-size: 1.1em;
    margin: 0 auto 0.5em;
}
.method_bloc dl dd {
    text-align: center;
}

.method_bloc dl:nth-child(1) dd {
    font-size: 1.2em;
}
.method_bloc dl:nth-child(2) dd {
    font-size: 1.2em; 
}
.method_bloc dl:nth-child(3) dd {
    font-size: 0.9em;
}
.method_bloc dl:nth-child(4) dd {
    font-size: 0.9em;
    line-height: 1.4em;
    text-align: left;
}

.company {
    padding: 2em 0 0;
}
.company h2 {
    font-size: 5.2vw;
}
.company_content {
    display: block;
}
.company_content .item {
    padding: 1em;
}
.company_content .item .bottom dl {
    display: block;
}

.message {
    padding: 2em 1em 16em;
}
.message .upper i {
    width: 80px;
}
.message .upper h2 {
    font-size: 5vw;
}
.message .upper {
    margin-bottom: 1em;
}
.message_bloc .text {
    font-size: 0.8em;
}
.message_bloc .name img {
    width: 40%; 
}

.contact_upper {
    margin-bottom: 1em;
}
.contact_upper h2 {
    font-size: 5.2vw;
}

.contact .btn_bloc {
    width: 80%;
    margin: 1.5em auto 0;
}












}