@charset "utf-8";

.fix_banner {
    display:none;
}

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

footer .copy {font-size: 10px;}

.HF .util {
    display: none;
}
.HF .inner {
    align-items: center;
    justify-content: center;
}
.HF .logo {
    max-width: 243px;
    width: 30%;
}
.HF .logo img {
    display: block;
}
nav {
    display: none;
}
.mv {
    padding: 0;
}
.mv .inner {
    background-position: center bottom 1em;
    background-size: 200%;
    padding: 1em;
}
.mv_bloc h1 {
    width: 100%;;
}
.mv_bloc p {
    width: 64%;
    margin-bottom: 1.5em;
}
.mv_upper ul {
    position: static;
    gap: 0.5em;
    margin-bottom: 1.5em;
    align-items: flex-start;
    justify-content: center;
}
.mv_upper ul li {
    font-size: 6vw;
    width: calc(100% / 3 - 0.25em);
    box-sizing: border-box;
}
.mv_upper {
    background-size: 28%;
    background-position: right top 3em;
    padding-bottom: 2em;
}

.mv_bottom {
    position: relative;
    padding-bottom: 26vw;
}



.mv_bottom .mv_figure_01 {
    width: 20%;
    margin-left: -0.5em;
    margin-right: 0;
    position: absolute;
    bottom: 0;
    left: 4em;
}
.mv_bottom .mv_figure_02 {
    width: 42%;
    margin-left: 0;
    position: absolute;
    bottom: 0;
    right: 4em;
}
.mv_bottom ul {
    width: 86vw;
    margin: 0 auto;
}
.mv_bottom ul li:nth-child(1) {
    width: 48%;
}
.mv_bottom ul li:nth-child(2) {
    width: 53%;
}
.cv {
    padding: 1em;
}
.cv_txt h2 .txt {
    font-size: 4vw;
}
.cv_txt h2 .per {
    font-size: 4vw;
}
.cv_txt h2 .per em {
    font-size: 10vw;
}
.cv_txt h2 {
    align-items: center;
    justify-content: flex-start;
    gap: 0.2em;
}
.cv_tel ul {
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 0.5em;
    gap: 0.5em;
}
.cv_tel ul li {
    font-size: 2vw;
}
.cv_tel .tel .number {
    font-size: 7vw;
}
.cv_tel p {
    font-size: 3vw;
}
.cv_tel .tel {
    margin-bottom: 0.2em;
}
.cv_tel .tel i {
    max-width: 41px;
    width: 30px;
}
.cv_tel .tel i img {
    display:block;
}
.cv_tel a {
    padding: 0.5em;
}
.cv_bloc {
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5em;
    margin-bottom: 1em;
}
.cv_txt {
    margin-bottom: 0.5em;
}
.cv_btn_bloc ul li + li {
    margin-top: 0.5em;
}

.pac {
    padding: 1em 1em 2em;
}
.pac_bloc {
    margin-bottom: 2em;
}
.coupon_bloc {
    margin-bottom: 1em;
}
.pac_item {
    border: solid 2px #00af4f;
}
.pac_item .ttl {
    display: block;
    padding: 0.5em;
}
.pac_item .ttl h2 {
    font-size: 6vw;
    text-align: center;
}
.pac_item .ttl p {
    font-size: 4vw;
    text-align: center;
}

.pac_item .box .cell {
    width: 100%;
}
.pac_item .box .cell i {
    width: 28%;
}
.pac_item .box .cell figure {
    flex: 1 0 0%;
}
.pac_item .box {
    gap: 1em;
}
.pac_item .box .detail {
    width: 100%;
    text-align: center;
}
.pac_item .box .detail p {
    font-size: 4vw;
}
.pac_item .box .detail span {
    font-size: 6vw;
}
.pac_item .box .detail span em {
    font-size: 10vw;
}
.pac_item + .pac_item {
    margin-top: 1em;
}
.pack_bottom figure {
    width: 30%;
}
.pack_bottom h3 {
    flex: 1 0 0%;
}

.items {
    padding: 2em 1em;
}
.items:before {
    border-width: 1em 1em 0 1em;  
}
.items_bloc {
    gap: 1em;
}
.items_item {
    width: calc(100% / 2 - 0.5em);
    padding: 0.5em;
}
.items_item .box {
    width: 100%;
    flex: none;
}
.items_item .box h2 {
    font-size: 3vw;
    text-align: center;
}
.items_item .box h2 span {
    font-size: 2vw;
}
.items_item .box p {
    font-size: 5vw;
    text-align: center;
}
.items_item figure {
    padding: 0 1em;
}
.mini_area {
    padding: 2em 1em 1em;
}
.mini_area_ttl h2 {
    font-size: 4vw;
    font-weight: bold;
}
.mini_area_ttl i {
    width: 20%;
    top: -1.5em;
    left: -2em;
}
.mini_area_bloc ul {
    margin-bottom: 1em;
}
.mini_area_bloc ul li {
    width: calc(100% / 3 - 0.5em);
}
.mini_area_bloc p {
    font-size: 3vw;
    text-align: left;
}
.mini_area_ttl {
    margin-bottom: 1em;
}
.strength {
    padding: 2em 1em;
}
.strength h2 {
    padding: 0 2em;
    margin-bottom: 1em;
}
.strength_item {
    padding: 1em;
    box-shadow: 0 4px 0 #000;
}
.strength_item .ttl i {
    width: 50px;
    top: -2em;
}
.strength_item .ttl h3 {
    font-size: 6vw;
    padding-left: 3em;
}
.strength_item .ttl {
    margin-bottom: 1em;
}
.strength_item .box {
    gap: 1em;
}
.strength_item .box p {
    width: 100%;
    font-size: 4vw;
    line-height: 1.4em;
}
.strength_item .box figure {
    padding: 0 2em;
}
.strength_item + .strength_item {
    margin-top: 2em;
}
.strength_bottom ul li {
    width: 100%;
    font-size: 4vw;
    line-height: 1;
}
.strength_bottom ul li span:before {
    top: -2px;
}
.strength_bottom ul li span {
    padding-left: 1.5em;
}

.cm {
    padding: 2em 1em;
}
.cm_bloc {
    gap: 2em;
    margin-bottom: 2em;
}
.cm_item {
    width: 100%;
}
.cm_item figure {
    padding: 0 3em;
}
.cm_item p {
    font-size: 4vw;
}
.cm_bottom {
    padding: 1em;
    box-shadow: 0 4px 0 #000;
}
.cm_bottom .box h2 {
    padding: 0 2em;
}
.cm_bottom .box p {
    font-size: 4vw;
    text-align: center;
}
.cm_bottom .box {
    margin-bottom: 1em;
}
.cm_bottom figure {
    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;
    gap: 1em;
}
.cm_bottom figure img:nth-child(1) {
    width: 30%;
}
.cm_bottom figure img:nth-child(2) {
    width: calc(70% - 1em);
}
.flow {
    padding: 2em 1em;
}
.flow .title_bloc h2 {
    font-size: 7vw;
}
.flow .title_bloc p {
    font-size: 4vw;
}
.flow_item {
    border: solid 2px #00af4f;
}
.flow_item .meta figure {
    width: 50px;
    margin: 0 auto;
}
.flow_item .meta .num {
    font-size: 6vw;
    margin: 0;
}
.flow_item .meta .cell {
    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: center;
    gap: 0.5em;
}
.flow_item .box h3 {
    font-size: 6vw;
    text-align: center;
}
.flow_item .box p {
    font-size: 4vw;
    line-height: 1.4em;
}
.flow_item + .flow_item:before {
    border-width: 1em 1em 0 1em;
    top: -2em;
}
.flow_item .meta {
    width: 100%;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
}
.cm2 {
    padding: 2em 1em;
}
.cm2_bloc .box h2 {
    font-size: 10vw;
    line-height: 1.2em;
}
.cm2_bloc .box p {
    font-size: 4vw;
}
.cm2_bloc figure {
    padding: 0 2em;
}
.cm2_bloc {
    margin-bottom: 1em;
}
.cm2_bloc .box {
    margin-bottom: 1em;
}
.voice {
    padding: 2em 1em;
}
.voice .title_bloc h2 {
    font-size: 7vw;
}
.voice .title_bloc p {
    font-size: 4vw;
}

.voice_item figure {
    width: 20%;
}
.voice_item:nth-child(odd) .box:after {
    border-width: 1em 1em 1em 0;
    left: -1em;
    top: 3em;
}
.voice_item:nth-child(even) .box:after {
    border-width: 1em 0 1em 1em;
    top: 3em;
    right: -1em;
}
.voice_item {
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5em;
}
.voice_item .box {
    padding: 1em;
}
.voice_item .box h3 {
    font-size: 4vw;
}
.voice_item .box .meta {
    font-size: 2vw;
}
.voice_item .box .text {
    font-size: 3vw;
    line-height: 1.4em;
}
.attention {
    padding: 2em 1em;
}
.attention_content .figure_01 {
    width: 15%;
}
.attention_content .figure_02 {
    width: 15%;
}
.attention_bloc i {
    width: 50px;
}
.attention_bloc h2 {
    margin: 0 -40%;
    font-size: 6vw;
    margin-bottom: 0.2em;
}
.attention_bloc h3 {
    margin: 0 -36%;
    font-size: 4vw;
    margin-bottom: 1em;
}
.attention_bloc p {
    font-size: 3vw;
}
.area {
    padding: 2em 1em;
}
.area .title_bloc h2 {
    font-size: 7vw;
}
.area .title_bloc p {
    font-size: 3vw;
}
.area_ttl h3 {
    font-size: 4vw;
}
.area_ttl i {
    width: 20%;
    top: -1.5em;
    left: -2em;
}
.area .title_bloc {
    margin-bottom: 2em;
}
.area_ttl {
    margin-bottom: 1em;
}
.area_item h4 i {
    width: 4em;
}
.area_item h4 span {
    font-size: 5vw;
}
.area_item p {
    font-size: 3vw;
}
.area_item + .area_item {
    margin-top: 1em;
}
.promise {
    padding: 2em 1em;
}
.promise h2 {
    padding: 0 2em;
    margin-bottom: 1em;
}
.promise_bloc ol li {
    width: 100%;
    box-shadow: 0 4px 0 #000;
}
.promise_bloc ol li i {
    font-size: 7vw;
    width: 10vw;
}
.promise_bloc ol li p {
    font-size: 5vw;
}
.faq {
    padding: 2em 1em;
}
.faq .title_bloc h2 {
    font-size: 7vw;
}
.faq .title_bloc p {
    font-size: 4vw;
}
.faq .title_bloc {
    margin-bottom: 1em;
}
.faq_bloc dl + dl {
    margin-top: 1em;
}
.faq_bloc dl dt {
    padding: 1em 2.5em 1em 3.5em;
    box-shadow: 0 4px 0 #000;
}
.faq_bloc dl dd {
    padding: 1em 1em 1em 3.5em;
}

.faq_bloc dl dt span {
    font-size: 4vw;
    line-height: 1.4em;
}
.faq_bloc dl dd span {
    font-size: 4vw;
    line-height: 1.4em;
}

.faq_bloc dl dt:before {
    width: 2em;
    height: 2em;
    left: 1em;
}
.faq_bloc dl dd:before {
    width: 2em;
    height: 2em;
    left: 1em;
}
.faq_bloc dl dt:after {
    font-size: 6vw;
}

.contact {
    padding: 2em 1em;
}
.contact_upper h2 {
    font-size: 7vw;
}
.contact_bloc dl dt {
    font-size: 4vw;
}
.radio_wrap.flex .radio_item + .radio_item {
    margin-left: 0;
}
.radio_wrap {
    gap: 1em;
}


.fix_banner {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}
.fix_banner ul {
    align-items: stretch;
    justify-content: space-between;
}
.fix_banner ul li {
    
}
.sp_mail {
    display: block;
    background: #fbc500;
    box-shadow: 0 -5px 0 #bb960d;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    padding: 1em 0.5em;
    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: center;
    height: 100%;
    box-sizing: border-box;
}
.sp_line {
    display: block;
    background: #00b050;
    box-shadow: 0 -5px 0 #017537;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    padding: 1em 0.5em;
    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: center;
    height: 100%;
    box-sizing: border-box;
}
.sp_tel {
    background: #ff3300;
    box-shadow: 0 -5px 0 #b32b07;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    padding: 0.5em;
    color: #fff;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    gap: 0.2em;
    text-align: left;
    height: 100%;
    box-sizing: border-box;
}
.sp_tel img {
    width: 15%;
}
.sp_tel .box {
    flex: 1 0 0%;
}
.sp_tel .box .txt {
    display: block;
    font-size: 3vw;
    line-height: 1;
}
.sp_tel .box .num {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 6vw;
    line-height: 1;
}

.fix_banner ul li:nth-child(1) {
    width: 20%;
}
.fix_banner ul li:nth-child(2) {
    width: 20%;
}
.fix_banner ul li:nth-child(3) {
    flex: 1 0 0%;
}

.thanks_body {

}

.card {
    padding: 2em 1em 1em;
}
.card_bloc {
    border: solid 2px #000000;
    padding: 1em;
}
.card_bloc h2 span {
    font-size: 5vw;
    line-height: 1em;
}
.card_bloc h2 {
    margin-top: -1.6em;
    margin-bottom: 0.5em;
}
.card_payment {
    margin-bottom: 1em;
}

.trouble {
    padding: 2em 1em;
}
.trouble_bloc h2 {
    font-size: 7vw;
    line-height: 1.4em;
}
.trouble_bloc h2 em {
    font-size: 8vw;
}

.trouble_list h3 {
    font-size: 5vw;
    line-height: 1em;
    padding: 1em 0.5em;
}
.trouble_list .box ul li {
    font-size: 5vw;
}
.trouble_list .box ul li:before {
    width: 24px;
    height: 24px;
    top: 2px;
    left: 0;
}
.trouble_list .box {
    padding: 1em;
}
.trouble_list .box:after {
    border-width: 1em 50px 0 50px;
    bottom: -1em;
}
.trouble_list .box figure {
    width: 16%;
    bottom: -3em;
    right: 0;
}

.trouble_bottom_bloc h3 .txt {
    font-size: 5vw;
}
.trouble_bottom_bloc h3 .img {
    width: 80%;
    margin: 0.5em auto;
}
.trouble_bottom_bloc ul {
    align-items: stretch;
    justify-content: space-between;
}
.trouble_bottom_bloc ul li {
    padding: 1em 0.5em;
}
.trouble_bottom_bloc ul li span {
    display: block;
    font-size: 3vw;
    margin-bottom: 1em;
}
.trouble_bottom_bloc ul li figure {
    width: 74%;
    margin: 0 auto;
}
.trouble_bottom_bloc figure {
    width: 50%;
    margin: 0 auto;
}

.tokubetsu {
    padding: 2em 1em;
}
.tokubetsu_bloc {
    display: block;
}
.tokubetsu_bloc figure {
    width: 20%;
    margin: 0 auto 1em;
}
.tokubetsu_bloc h2 {
    margin: 0 auto 0.5em;
}
.tokubetsu_bloc p {
    width: 50%;
    margin: 0 auto;
}







}