@charset "utf-8";

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

.inner {
    padding: 0;
}
header .logo {
    width: 25%;
}
.mv {
    padding: 1em 1em 0;
}
.mv .inner {
    display: block;
}
.mv_bloc h1 {
    margin: 0 auto 0.5em;
}
.mv_bottom p {
    font-size: 10px;
    text-align: center;
}
.mv .inner figure {
    flex: auto;
    width: 74%;
    margin: 0 auto;
}

.trouble {
    padding: 2em 1em;
}

.trouble_title h2 {
    font-size: 5vw;
}
.trouble_title_01 {
    width: 12%;
}
.trouble_title_02 {
    flex: 1 0 0%;
}
.trouble_list ul li span {
    font-size: 4vw;
    line-height: 1.4em;
    padding-left: 3em;
}
.trouble_list ul li span:before {
    width: 24px;
    height: 24px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.reason {
    padding: 2em 1em;
}
.reason:before {
    border-width: 20px 20px 0 20px;
}
.reason_title h2 {
    margin-bottom: 1em;
}
.reason_title h2 .t1 {
    font-size: 7vw;
}
.reason_title h2 .t2 {
    font-size: 6vw;
    margin-bottom: 0.25em;
}
.reason_title h2 .t3 {
    font-size: 8vw;
}
.reason_title h2 .t3 em {
    font-size: 14vw;
    line-height: 14vw;
}
.reason_list {
    gap: 1em;
}
.reason_item {
    width: 100%;
}
.reason_box .meta span {
    font-size: 2em;
    width: 2.5em;
    height: 2.5em;
    padding-top: 0.25em;
    padding-left: 0.25em;
}
.reason_box .meta h3 {
    min-height: 5.5em;
}
.reason_box .meta h3 strong {
    font-size: 6vw;
}
.reason_box p {
    position: relative;
    padding: 1em;
    font-size: 4vw;
    min-height: auto;
}

.cm {
    padding: 2em 1em 0;
}
.cm_bloc {
    width: 100%;
    flex: auto;
}
.cm_upper h2 {
    font-size: 6vw;
}
.cm_upper h3 {
    font-size: 6vw;
}
.cm_upper h3 em {
    font-size: 8vw;
}
.cm_upper h3 em span {
    font-size: 10vw;
}
.cm_bottom h4 {
    font-size: 6vw;
}
.cm_bottom p {
    font-size: 4vw;
}
.cm_bottom p em {
    font-size: 5vw;
}
.cm .inner figure {
    width: 50%;
    margin: 0 auto;
}

.cv_band p {
    font-size: 4vw;
}
.cv_bloc h2 {
    font-size: 6vw;
}
.cv_content {
    padding: 2em 1em;
}

.title_bloc {
    margin-bottom: 1.5em;
}
.title_bloc p {
    font-size: 5vw;
}
.title_bloc h2 {
    font-size: 6vw;
}


.price {
    padding: 2em 1em;
}


.price_list ul {
    align-items: center;
    justify-content: center;
}
.price_list ul li {
    width: calc(100% / 3 - 0.5em);
}

.price_item {
    flex-direction: row-reverse;
    padding: 0;
}

.price_item figure {
    width: 36%;
    margin-top: -1.5em;
}
.price_box {
    padding: 0.5em;
}
.price_box h3 {
    font-size: 3vw;
}
.price_box h4 {
    font-size: 3vw;
    margin-bottom: 0.25em;
}
.price_box .yen {
    font-size: 4vw;
}
.price_box .yen em {
    font-size: 7vw;
}
.price_box .etc {
    font-size: 2vw;
}

.campaign {
    padding: 2em 1em;
}
.campaign_bloc {
    padding: 1em 1em 0;
    gap: 1em;
}
.campaign_box {
    width: 100%;
}
.campaign_box h2 {
    font-size: 5vw;
    margin-left: auto;
}
.campaign_box .text {
    font-size: 4vw;
}
.campaign_box h3 .t1 {
    font-size: 6vw;
}
.campaign_box h3 .t2 {
    font-size: 8vw;
}
.campaign_box h3 .t2 em {
    font-size: 10vw;
}
.campaign_box .etc {
    font-size: 3vw;
}
.campaign_bloc figure {
    width: 36%;
    margin: 0 auto;
}

.merit {
    padding: 2em 1em;
}
.merit_bloc h3 {
    width: 50%;
    margin: 0 auto 1.5em;
}
.merit_list {
    gap: 1em;
}
.merit_item {
    width: 100%;
}

.merit_box .meta span {
    font-size: 2em;
    width: 2.5em;
    height: 2.5em;
    padding-top: 0.25em;
    padding-left: 0.25em;
}
.merit_box .meta h4 {
    min-height: 5.5em;
}
.merit_box .meta h4 strong {
    font-size: 6vw;
}
.merit_box p {
    font-size: 4vw;
    padding: 1em;
    position: relative;
}

.flow {
    padding: 2em 1em;
}

.flow_item p {
    font-size: 4vw;
}
.flow_item p em {
    font-size: 5vw;
}
.flow_item {
    max-width: 100%;
}
.flow_item + .flow_item {
    margin-top: 1em;
}
.flow_box span {
    font-size: 2em;
    width: 2.5em;
    height: 2.5em;
    padding-top: 0.25em;
    padding-left: 0.25em;
}
.flow_box h3 strong {
    font-size: 6vw;
    line-height: 1.4em;
}
.flow_box h3 {
    min-height: 5.5em;
}
.flow_bottom p {
    font-size: 8vw;
}

.voice {
    padding: 2em 1em;
}

.voice_box {
    flex: auto;
    width: 100%;
}
.voice_item figure {
    width: 50%;
    margin: 0 auto;
}
.voice_box h3 {
    font-size: 5vw;
}
.voice_box p {
    font-size: 4vw;
}
.voice_item + .voice_item {
    margin-top: 1em;
}

.faq {
    padding: 2em 1em;
}

.faq_bloc dl dt {
    font-size: 4vw;
}
.faq_bloc dl dd {
    padding: 1em 0.8em 1em 3em;
    font-size: 4vw;
    line-height: 1.2em;
}

.faq_bloc dl dt:before {
    width: 3em;
    height: 3em;
}
.faq_bloc dl dd:before {
    width: 3em;
    height: 3em;
}

.comparison {
    padding: 2em 1em;
}

.company {
    padding: 2em 1em;
}
.company_data dl {
    font-size: 4vw;
    line-height: 1.4em;
}
.footer_menu ul {
    gap: 0.5em 1em;
}
.footer_menu ul li a {
    font-size: 4vw;
}
footer .logo {
    width: 36%;
    margin: 0 auto;
    padding: 1em 0;
}
footer .copy {font-size: 10px;}


.tokusho {
    padding: 2em 1em;
}
.tokusho_bloc dl {
    display: block;
    font-size: 3.5vw;
}
.tokusho_bloc dl dt {
    padding: 0.5em 1em;
}
.tokusho_bloc dl dd {
    padding: 0.5em 1em;
}


.privacy {
    padding: 2em 1em;
}
.privacy_bloc p {
    font-size: 3.5vw;
}


.kiyaku {
    padding: 2em 1em;
}
.kiyaku_bloc p {
    font-size: 3.5vw;
}





}