@media screen and (max-width: 800px) {

    body {
        position      : relative;
        height        : 100%;
        font-family   : '游ゴシック体', 'Yu Gothic', 'YuGothic', 'Futura';
        letter-spacing: .05em;
        margin        : 0px;
    }

    body.-fix {
        height    : 100vh;
        overflow-y: hidden
    }

    header {
        background-color: #fff;
    }

    header::after,
    main::after,
    footer::after {
        display: none
    }

    header *::after,
    main *::after,
    footer *::after {
        display: none
    }

    main img,
    footer img {
        width : 100%;
        height: auto
    }

    .header {
        display           : -webkit-box;
        display           : -ms-flexbox;
        display           : flex;
        -webkit-box-pack  : justify;
        -ms-flex-pack     : justify;
        justify-content   : space-between;
        -webkit-box-align : center;
        -ms-flex-align    : center;
        align-items       : center;
        z-index           : 2147483645;
        -webkit-transition: 1s ease 0s;
        transition        : 1s ease 0s;
        padding-left      : 20px;
        height            : 70px;
    }

    .mv {
        width: 100%;
    }

    .mv-img {
        width      : 100%;
        line-height: 0;
    }

    .mv-ul {
        display        : flex;
        justify-content: center;
        list-style     : none;
        padding        : 0;
        margin         : 0 auto;
        width          : 95%;
    }

    .point-img,
    .type-img,
    .outline-img {
        width: 100%;
    }

    .point {
        width      : 90%;
        margin     : 0 auto;
        padding-top: 20px;
    }

    .point ul {
        display        : flex;
        justify-content: center;
        list-style     : none;
        padding-top    : 0px;
        margin         : 0px;
    }

    .outline {
        width : 100%;
        margin: 0 auto;
        padding: 0;
        padding-bottom: 30px;
    }

    .outline-text {
        background-color: #f9f9f9;
        padding         : 16px;
        font-size       : 14px;
    }

    .outline-text .block {
        padding-top: 4px;
    }

    .outline-text .caption {
        font-weight: bold;
        margin     : 0;
    }

    .caption-text {
        margin-top: 2px;
    }

    .outline-text .block a {
        color: #000;
    }

    /* アコーディオン */
    .acd-check {
        display: none;
    }

    .acd-label {
        background: #000;
        display   : block;
        position  : relative;
        cursor    : pointer;
    }

    .acd-label:after {
        background         : #000;
        box-sizing         : border-box;
        content            : '';
        display            : block;
        background-image   : url("../images-smt/open.png");
        background-size    : contain;
        background-position: center;
        background-repeat  : no-repeat;
        padding            : 14px;
        position           : absolute;
        right              : 10px;
        top                : 14px;
    }

    .acd-content {
        display   : block;
        height    : 0;
        opacity   : 0;
        padding   : 0 10px;
        visibility: hidden;
    }

    .acd-check:checked+.acd-label:after {
        content         : '';
        background-image: url("../images-smt/close.png");
        padding         : 16px;
    }

    .acd-check:checked+.acd-label+.acd-content {
        height    : auto;
        opacity   : 1;
        padding   : 18px 0 18px 12px;
        visibility: visible;
    }

    /* アコーディオン */

    .flow {
        width : 90%;
        margin: 0 auto;
    }

    .flow .flow-caption {
        background-color: #000;
        color           : #fff;
        text-align      : center;
        font-size       : 16px;
        padding         : 1px 10px;
    }

    .flow .flow-text {
        background-color: #f9f9f9;
        margin-bottom   : 30px;
    }

    .flow .flow-text .step-info {
        display        : flex;
        justify-content: flex-start;
        padding-bottom : 30px;
    }

    .flow .flow-text .step {
        display        : flex;
        justify-content: flex-start;
    }

    .step-icon {
        width           : 70px;
        height          : 30px;
        background-color: #000;
        color           : #FFF;
        text-align      : center;
        vertical-align  : middle;
        font-size       : 18px;
        line-height     : 2rem;
    }

    .step-icon p {
        margin: 0px;
    }

    .step-caption {
        padding-left: 2em;
        font-weight : bold;
    }

    .step-caption p {
        position : relative;
        margin   : 0px;
        font-size: 16px;
    }

    .step-caption .icon1::before,
    .step-caption .icon2::before,
    .step-caption .icon3::before {
        content            : "";
        display            : block;
        width              : 20px;
        height             : 24px;
        position           : absolute;
        left               : -30px;
        background-size    : contain;
        background-position: center;
        background-repeat  : no-repeat;
    }

    /* アイコン */
    .step-caption .icon1::before {
        background-image: url("../images-smt/step_icon1.png");
    }

    .step-caption .icon2::before {
        background-image: url("../images-smt/step_icon2.png");
    }

    .step-caption .icon3::before {
        background-image: url("../images-smt/step_icon3.png");
    }

    /* アイコン */

    .step-arrow {
        padding-left: 14px;
    }

    .step-text {
        color      : #000000;
        width      : 85%;
        margin     : 0 auto;
        line-height: 1.8em;
        font-size  : 14px;
        padding-top: 4px;
    }

    .download,
    .download-sp {
        padding: 1em 0;
    }

    .download a {
        border         : solid 1px #333;
        padding        : 16px 50px;
        text-decoration: none;
        color          : #000;
    }

    .download a:hover {
        opacity: 0.5;
    }

    .iphone {
        padding-right: 8%;
    }


    /* 矢印 */
    .dli-arrow-down1,
    .dli-arrow-down2,
    .dli-arrow-down3,
    .dli-arrow-down4,
    .dli-arrow-down5,
    .dli-arrow-down6 {
        display       : inline-block;
        vertical-align: middle;
        color         : #000;
        line-height   : 1;
        position      : relative;
        width         : 0.2em;
        background    : currentColor;
    }

    .dli-arrow-down1::before,
    .dli-arrow-down2::before,
    .dli-arrow-down4::before,
    .dli-arrow-down5::before {
        position   : absolute;
        content    : "";
        transform  : rotate(90deg);
        bottom     : -15px;
        left       : -8px;
        margin     : auto;
        box-sizing : border-box;
        border     : 0.65em solid transparent;
        border-left: 0.65em solid #000;
    }

    .dli-arrow-down3::before,
    .dli-arrow-down6::before {
        position        : absolute;
        content         : "";
        width           : 12px;
        height          : 12px;
        background-color: #000;
        border-radius   : 50%;
        transform       : rotate(90deg);
        bottom          : -8px;
        left            : -4px;
        margin          : auto;
        box-sizing      : border-box;
    }

    .dli-arrow-down1 {
        height: 11em;
    }

    .dli-arrow-down2 {
        height: 16.5em;
        bottom: 2em;
    }

    .dli-arrow-down3 {
        height: 19em;
    }

    .dli-arrow-down4 {
        height: 48em;
        bottom: 1.5em;
    }

    .dli-arrow-down5 {
        height: 14em;
    }

    .dli-arrow-down6 {
        height: 28em;
    }

    .sp-app {
        display        : flex;
        justify-content: flex-start;
        flex-direction : column;
    }

    /* 矢印 */

    .offer {
        padding-top: 20px;
        width      : 100%;
        margin     : 0 auto;
    }

    .offer-img {
        width : 90%;
        margin: 0 auto;
    }

    .info {
        width  : 90%;
        margin : 0 auto;
        padding: 60px 0;
    }

    .info-title {
        width      : 100%;
        padding    : 20px 0;
        font-size  : 24px;
        font-weight: bold;
        text-align : center;
    }

    .info-text {
        overflow        : auto;
        height          : 500px;
        padding         : 10px;
        color           : #000;
        background-color: #fff;
        line-height     : 1.8em;
        border          : 1px solid #000;
        font-size       : 14px;
    }

    .info-text dl dd {
        margin-left: 20px;
    }

    .info-text dl dd ul,
    .info-text dl dd ol {
        margin      : 0;
        padding-left: 10px;
    }

    .underline {
        text-decoration: underline;
    }

    .footer-line {
        width: 100%;
        padding: 0;
    }

    .footer-text {
        padding: 30px 0;
        width  : 90%;
        margin : 0 auto;
    }

    .footer-logo {
        background-color: #000;
    }

    .footer-img {
        width  : 70%;
        margin : 0 auto;
        padding: 20px 0;
    }

    .pt-10 {
        padding-top: 10px;
    }

    .pt-30 {
        padding-top: 30px;
    }

    .pt-60 {
        padding-top: 60px;
    }

    #pagetop {
        position           : fixed;
        bottom             : 10px;
        right              : 10px;
        height             : 50px;
        opacity            : 0;
        transition-duration: 0.5s;
    }

    #pagetop img {
        width: 40px;
    }

}
