body {
    padding: 0!important;
}
.lp .lpmv-sp {
    display: none;
    position: relative;
}
.lp .lpmv-pc {
    display: block;
    width: 100%;
    height: 42vw;
    max-height: 600px;
    background: #fff url(../img/mvpc.jpg) center bottom no-repeat;
    background-size: cover;
    position: relative;
}
.lp .lpmv-pc .inner {
    margin: 0 auto!important;
    width: min(calc((1000/1040)*100vw), 1000px);
    height: 100%;
    position: relative;
}
.lp .lpmv-pc .image {
    width: 90%;
    position: absolute;
    top: min(calc((80/1040)*100vw), 80px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.mini {
    width: 130px;
    vertical-align: middle;
}
.lp .inner {
    margin: 0 auto;
    padding: 0;
    width: min(calc((1000/1040)*100vw), 1000px);
}
.minus {
    margin-bottom: -30px;
}
.lp .c-heading {
    font-size: min(calc((36/1040)*100vw), 36px);
    line-height: 1.65;
}
@media screen and (max-width: 1440px) {
    .lp .lpmv-pc {
        height: 48vw;
        background-size: cover;
        padding-left: 0;
    }
    .lp .lpmv-pc .image {
        width: 50vw;
        position: absolute;
        right: 5vw;
        max-width: 650px;
    }
    .lp .lpmv-pc .inner {
        width: 100vw;
    }
}
@media screen and (max-width: 768px) {
    .lp .inner {
        width: calc((690/750)*100vw);
    }
    .lp .lpmv-sp {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        align-self: flex-start;
        align-content: flex-start;
        width: 100%;
        height: 85vw;
        background: url(../img/mvpc.jpg) center center repeat-x;
        background-size: 100% 100%;
        position: relative;
        text-align: center;
        padding: 0 8%;
    }
    .lp .lpmv-sp img {
        width: 100%;
        max-width: 600px;
        position: relative;
        z-index: 1;
    }
    .lp .lpmv-sp .image {
        width: 100%;
        position: absolute;
        top: calc((40/750)*100vw);
        padding: 0 calc((60/750)*100vw);
        right: 0;
        z-index: 1;
    }
    .lp .lpmv-sp p {
        text-align: center;
        position: absolute;
        top: calc((390/750)*100vw);
        padding: 0 calc((20/750)*100vw);
        left: 0;
        width: 100%;
        z-index: 1;
    }
    .lp .lpmv-sp .btn {
        width: 100%;
        position: absolute;
        top: calc((446/750)*100vw);
        padding: 0 calc((20/750)*100vw);
        right: 0;
        z-index: 1;
    }
    .lp .lpmv-pc {
        display: none;
        position: relative;
    }
    .lp .lpmv-pc .inner {
        width: 90%;
        margin: 0 auto;
    }
    .lp .c-heading {
        font-size: calc((38/750)*100vw);
        line-height: 1.65;
    }
}

/*styling*/
.nospacing {
    letter-spacing: 2px;
}
.green {
    color: #1AC8A4;
}
.orange {
    color: #F86B27;
}
.large {
    font-size: min(calc((48/1040)*100vw), 48px);
    margin: 0;
    padding: 0;
}
.large2 {
    font-size: min(calc((40/1040)*100vw), 42px);
    margin: 0;
    padding: 0;
}
.big {
    font-size: min(calc((32/1040)*100vw), 32px);
    margin: 0;
    padding: 0;
    line-height: 190%;
}
.big2 {
    font-size: min(calc((26/1040)*100vw), 26px);
    margin: min(calc((10/1040)*100vw), 10px) 0 min(calc((20/1040)*100vw), 20px);
    padding: 0;
    line-height: 190%;
    font-weight: 600;
}
.big2 span {
    border-bottom: 2px solid #333;
}
.smaller {
    font-size: min(calc((22/1040)*100vw), 22px);
    margin: 0;
    padding: 0;
    line-height: 180%;
}
.bold {
    font-weight: 600;
}
span.dot {
    position: relative; /* 基準値とする */
}
span.dot::before {
    content: "・";       /* 文字の上に置くものを指定 */
    position: absolute; /* 相対位置とする */
    top: -1.25em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
    left: 2rem;            /* 横方向の表示位置を調整 */
    font-size: 2rem;
}
@media screen and (max-width: 768px) {
    .large {
        font-size: calc((52/750)*100vw);
    }
    .large2 {
        font-size: calc((42/750)*100vw);
    }
    .big {
        font-size: calc((36/750)*100vw);
    }
    .big2 {
        font-size: calc((30/750)*100vw);
        margin: calc((20/750)*100vw) 0 calc((30/750)*100vw);
    }
    .smaller {
        font-size: calc((30/750)*100vw);
    }
}

#about {
    margin: 0 auto;
    padding: min(calc((110/1040)*100vw), 100px) 0;
    text-align: center;
    font-weight: 400;
    letter-spacing: 1px;
}
#about .info img {
    width: 90%;
    max-width: 800px;
    margin: min(calc((40/1040)*100vw), 40px) auto 0;
}
@media screen and (max-width: 768px) {
    #about{
        padding: calc((100/750)*100vw) 0  calc((120/750)*100vw) ;
    }
    #about .info img {
        width: 90%;
        max-width: calc((700/750)*100vw);
        margin: calc((60/750)*100vw) auto 0;
    }
}

#service {
    background: #FAFAFA;
    margin: 0 auto;
    padding: min(calc((110/1040)*100vw), 100px) 0 min(calc((50/1040)*100vw), 50px) ;
    text-align: center;
    font-weight: 400;
    letter-spacing: 1px;
}
#service dl {
    margin: min(calc((30/1040)*100vw), 30px) 0 min(calc((60/1040)*100vw), 60px);
    padding: 0;
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
#service dl dt {
    margin: 0;
    padding: min(calc((50/1040)*100vw), 50px) min(calc((40/1040)*100vw), 40px);
    width: 47%;
    background: #fff;
}
#service dl dt p {
    margin-top: min(calc((15/1040)*100vw), 15px);
    text-align: left;
}
#service dl dd {
    margin: 0;
    padding: 0;
    width: 47%;
}
.reverse {
    flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
    #service{
        padding: calc((120/750)*100vw) 0 calc((40/750)*100vw);
    }
    #service dl {
        width: 100%;
        margin: calc((40/750)*100vw) auto;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        font-size: calc((28/750)*100vw);
    }
    #service dl dt {
        margin: calc((30/750)*100vw) 0 calc((60/750)*100vw);
        padding: calc((60/750)*100vw) calc((40/750)*100vw);
        width: 100%;
        background: #fff;
    }
    #service dl dd {
        margin: calc((30/750)*100vw) 0 0;
        padding: 0 6%;
        width: 100%;
    }
}

#button{
    background: #F5FDF9;
    margin: 0 auto;
    padding: min(calc((110/1040)*100vw), 110px) 0;
    text-align: center;
    font-weight: 500;
    letter-spacing: 1px;
}
#button a {
    display: block;
    margin: min(calc((30/1040)*100vw), 30px) auto 0;
    padding: 0;
    text-align: center;
}
#button a img {
    width: 100%;
    max-width: min(calc((420/1040)*100vw), 420px);
}
#button .contact-img {
    width: 75%;
    max-width: 520px;
    margin: min(calc((70/1040)*100vw), 70px) auto 0;
}
#button p.smaller {
    margin: min(calc((20/1040)*100vw), 20px);
}
@media screen and (max-width: 768px) {
    #button{
        padding: calc((120/750)*100vw) 0;
    }
    #button a {
        display: block;
        margin: calc((40/750)*100vw) auto 0;
        padding: 0;
        text-align: center;
    }
    #button a img {
        width: 100%;
        max-width: calc((600/750)*100vw);
    }
    #button p.smaller {
        margin: calc((30/750)*100vw) 0 0;
        font-size: calc((28/750)*100vw);
    }
    #button .contact-img {
        width: 85%;
        max-width: calc((700/750)*100vw);
        margin: calc((80/750)*100vw) auto 0;
    }
}

#button a:hover {
    opacity: .6;
}

/* QnA */
#qa {
    margin: 0 auto;
    padding: min(calc((90/1040)*100vw), 90px) 0 min(calc((110/1040)*100vw), 110px);
    text-align: center;
    font-weight: 500;
    letter-spacing: 2px;
}
.accordion {
    background-color: #fff;
    cursor: pointer;
    padding: 0;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    position: relative;
    border-bottom: 1px solid #333;
    font-size: min(calc((20/1040)*100vw), 20px);
}
#qa .qaList li dl dt {
    padding: 20px 0;
    margin: 0;
    font-weight: 600;
}
#qa .qaList li dl dt p {
    position: relative;
    padding: 0;
    padding-left: 40px;
    text-align: left;
    z-index: 1;
}
#qa .qaList li dl dt p::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 28px;
    height: 28px;
    background-image: url('../img/q.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#qa .qaList li dl dd {
    margin: 0;
    padding: 0;
}
#qa .qaList li dl dd.panel {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}
#qa .qaList li dl dd.panel p {
    position: relative;
    padding: 20px 0;
    margin-bottom: 20px;
    padding-left: 40px;
    font-weight: 400;
    text-align: left;
}
#qa dd.panel p::before {
    content: "";
    position: absolute;
    top: 26px;
    left: 0;
    width: 28px;
    height: 28px;
    background-image: url('../img/a.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.accordion::before,
.accordion::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 14px;
    height: 1px; /* hairline */
    background-color: #444;
    transform-origin: center;
    transition: transform 0.25s ease, opacity 0.25s ease;
    z-index: 3;
}
.accordion::before {
    transform: translateY(-50%);
}
.accordion::after {
    transform: translateY(-50%) rotate(90deg);
}
.accordion.active::after {
    opacity: 0;
    transform: translateY(-50%) rotate(0deg);
}
@media screen and (max-width: 768px) {
    .accordion {
        font-size: calc((28/750)*100vw);
    }
    #qa {
        padding: calc((100/750)*100vw) 0;
    }
    #qa .qaList li dl dt {
        padding: calc((30/750)*100vw) 0;
    }
    #qa .qaList li dl dt p {
        padding-left: calc((80/750)*100vw);
        padding-right: calc((50/750)*100vw);
    }
    #qa .qaList li dl dt p::before {
        top: calc((10/750)*100vw);
        left: 0;
        width: calc((30/750)*100vw) 0;
        height: calc((30/750)*100vw) 0;
    }
    #qa .qaList li dl dd.panel p {
        padding: calc((30/750)*100vw) 0;
        margin-bottom: calc((30/750)*100vw);
        padding-left: calc((80/750)*100vw);
    }
    #qa dd.panel p::before {
        top: calc((35/750)*100vw);
        width: calc((30/750)*100vw) 0;
        height: calc((30/750)*100vw) 0;
    }
    .accordion::before,
    .accordion::after {
        content: "";
        position: absolute;
        top: calc((56/750)*100vw);
        right: 0;
        width: 14px;
        height: 1px; /* hairline */
        background-color: #444;
        transform-origin: center;
        transition: transform 0.25s ease, opacity 0.25s ease;
        z-index: 3;
    }
}

/*form*/
iframe {
    padding: 0;
    width: 100%;
    max-width: 1000px!important;
    height: min(calc((1950/1040)*100vw), 1950px);
    margin: 0 auto min(calc((80/1040)*100vw), 80px);
}
#form-body {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
    padding: min(calc((40/1040)*100vw), 40px) 0 0;
}
@media screen and (max-width: 767px) {
    iframe {
        width: 100%;
        height: calc((3100/750)*100vw);
        margin: 0 auto calc((80/750)*100vw)
    }
    #form-body {
        width: 100%;
        max-width: 1000px;
        padding: calc((80/750)*100vw) 2% 0;
    }
}
