body {
    padding: 0!important;
}
.lp {
    letter-spacing: 1.25px;
}
.lp .lpmv-sp {
    display: none;
    position: relative;
}
.lp .lpmv-pc {
    display: block;
    width: 100%;
    height: 42vw;
    max-height: 620px;
    background: #21cbae url(../img/mvpc.jpg) right center no-repeat;
    background-size: cover;
    position: relative;
    overflow-y: hidden;
}
.lp .lpmv-pc .inner {
    margin: 0 auto!important;
    width: min(calc((1000/1040)*100vw), 1000px);
    height: 100%;
    position: relative;
}
.lp .lpmv-pc .image {
    width: 60%;
    position: absolute;
    top: min(calc((65/1040)*100vw), 65px);
    left: 0;
    z-index: 1;
}
.lp .lpmv-pc .image a img {
    width: 80%;
    margin-top: min(calc((40/1040)*100vw), 40px);
    max-width: 480px;
}
.mini {
    width: 130px;
    vertical-align: middle;
}
.lp .inner {
    margin: 0 auto;
    padding: 0;
    width: min(calc((1000/1040)*100vw), 1000px);
}
.minus {
    margin-bottom: -30px;
}
@media screen and (max-width: 1440px) {
    .lp .lpmv-pc {
        height: 48vw;
        background-size: cover;
        padding-left: 0;
    }
    .lp .lpmv-pc .image {
        width: 45%;
        position: absolute;
        left: 4%;
    }
    .lp .lpmv-pc .image a img {
        width: 80%;
        margin-top: min(calc((40/1040)*100vw), 40px);
        max-width: 480px;
    }
    .lp .lpmv-pc .inner {
        width: 100vw;
    }
}
@media screen and (max-width: 768px) {
    .lp .inner {
        width: calc((690/750)*100vw);
    }
    .lp .lpmv-pc {
        display: none;
        position: relative;
    }
    .lp .lpmv-pc .inner {
        width: 90%;
        margin: 0 auto;
    }
    .relative {
        position: relative;
    }
    .overlay {
        position: absolute;
        z-index: 2;
        bottom: calc((60/750)*100vw);
        width: 76%;
        left: 6%;
        max-width: calc((600/750)*100vw);
    }
}

/*styling*/
.nospacing {
    letter-spacing: 2px;
}
.green {
    color: #1AC8A4;
}
.green2 {
    color: #71BF7A;
}
.orange {
    color: #F86B27;
}
.large {
    font-size: min(calc((46/1040)*100vw), 46px);
    margin: 0;
    padding: 0;
}
.large2 {
    font-size: min(calc((40/1040)*100vw), 42px);
    margin: 0;
    padding: 0;
}
.big {
    font-size: min(calc((30/1040)*100vw), 30px);
    margin: 0;
    padding: 0;
    line-height: 210%;
}
.bigger {
    font-size: min(calc((22/1040)*100vw), 22px);
    margin: 0;
    padding: 0;
    font-weight: bold;
    line-height: 210%;
}
.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((40/750)*100vw);
    }
    .big {
        font-size: calc((38/750)*100vw);
    }
    .bigger {
        font-size: calc((30/750)*100vw);
        line-height: 2;
    }
    .smaller {
        font-size: calc((30/750)*100vw);
    }
}

/*problem*/
#problem {
    margin: 0 auto;
    padding: min(calc((100/1040)*100vw), 100px) 0;
    text-align: center;
}
.outer {
    margin-top: min(calc((30/1040)*100vw), 30px);
    border: 1px solid #C6E6D3;
    background: #EFF8F3;
    padding: min(calc((40/1040)*100vw), 40px) 6%;
    text-align: left;
    font-size: min(calc((18/1040)*100vw), 18px);
}
.outer p {
    line-height: 2;
}
.note {
    font-size: min(calc((12/1040)*100vw), 12px);
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}
.spacer {
    margin-top: min(calc((15/1040)*100vw), 15px);
}
.line16 {
    line-height: 1.6;
}
.space-bottom {
    margin-bottom: min(calc((100/1040)*100vw), 100px);
}
@media screen and (max-width: 768px) {
    #problem {
        padding: calc((100/750)*100vw) 0;
    }
    .outer {
        margin-top: calc((20/750)*100vw);
        padding: calc((40/750)*100vw) 6%;
        text-align: left;
        font-size: calc((26/750)*100vw);
    }
    #problem .large {
        font-size: calc((45/750)*100vw);
    }
    #problem .big {
        font-size: calc((32/750)*100vw);
    }
    .note {
        font-size: calc((16/750)*100vw);
    }
    .spacer {
        margin-top: calc((30/750)*100vw);
    }
    .space-bottom {
        margin-bottom: calc((80/750)*100vw);
    }
}

/*chart*/
#chart {
    background: #f7f7f7;
    margin: 0 auto;
    padding: min(calc((100/1040)*100vw), 100px) 0;
    text-align: center;
}
#chart h4 {
    font-size: min(calc((26/1040)*100vw), 26px);
    margin: 0 auto min(calc((25/1040)*100vw), 25px);
}
#chart h4 span.color {
    text-align: center;
    padding: min(calc((8/1040)*100vw), 8px);
    color: #fff;
    font-weight: bold;
    font-size: min(calc((30/1040)*100vw), 30px);
    background: url(../img/text-bg.jpg) top center no-repeat;
    background-size: auto;
    background-size: cover;
}
#chart .js-scrollable {
    margin: min(calc((40/1040)*100vw), 40px) auto;
}
@media screen and (max-width: 768px) {
    #chart {
        padding: calc((80/750)*100vw) 0 calc((100/750)*100vw);
    }
    #chart h4 {
        font-size: calc((30/750)*100vw);
        margin: 0 auto min(calc((25/1040)*100vw), 25px);
    }
    #chart h4 span.color {
        text-align: center;
        padding: calc((10/750)*100vw);
        font-size: calc((32/750)*100vw);
    }
    #chart .js-scrollable {
        margin: calc((30/750)*100vw) auto;
    }
}

.c-headingArea::after {
    background-color: #1AC8A4;
  }
.c-headingArea_subttl{
    font-weight: normal;
    text-align: center;
    font-size: 18px;
    margin-top: 0;
}
@media screen and (min-width: 768px), print {
    .c-headingArea_subttl{
      margin-top: 0;
    }
}

/* info */
#info {
    margin: 0 auto;
    padding: min(calc((100/1040)*100vw), 100px) 0;
    text-align: center;
    background: #fff url(../img/back.jpg) center bottom no-repeat;
    background-size: 100% 40%;
}
#info .arrow {
    width: 60%;
    max-width: 360px;
    margin: min(calc((30/1040)*100vw), 30px) auto min(calc((60/1040)*100vw), 60px);
}
#info .spc {
    line-height: 2;
    margin: min(calc((60/1040)*100vw), 60px) auto;
}
#info .tb {
    width: 100%;
    font-size: min(calc((18/1040)*100vw), 18px);
}
#info .tb td {
    vertical-align:middle;
    border: 1px solid #fff;
    padding: min(calc((20/1040)*100vw), 20px) 0;
    text-align: center;
}
#info .relative {
    position: relative;
    z-index: 1;
}
#info .tb .float {
    position: absolute;
    top: min(calc((135/1040)*100vw), 135px);
    left: 50%;
    transform: translateX(-22%);
    z-index: 2;
    color: #fff;
    font-weight: bold;
}
#info .tb .float span {
    background: #ED732D;
    display: block;
    padding: min(calc((8/1040)*100vw), 8px) min(calc((40/1040)*100vw), 40px);
    border-radius: 5px;
}
#info .tb .dark {
    background: #6A6A6A;
    color: #fff;
    font-weight: bold;
}
#info .tb .green1 {
    background: #1AC8A4;
    color: #fff;
    font-weight: bold;
}
#info .tb .green2 {
    background: #71BF7A;
    color: #fff;
    font-weight: bold;
}
#info .tb .green3 {
    background: #DBEFEA;
}
#info .tb .green4 {
    background: #DBF0DD;
}
#info .tb td:first-child {
    width: 25%;
}
#info .tb td:nth-child(2),
#info .tb td:nth-child(3) {
    width: 37.5%;
}
@media screen and (max-width: 768px), print {
    #info {
        padding: calc((100/750)*100vw) 0;
        background-size: 100% 60vw;
    }
    #info .arrow {
        width: 60%;
        max-width: 360px;
        margin: calc((50/750)*100vw) auto calc((70/750)*100vw);
    }
    #info .spc {
        line-height: 2;
        margin: calc((80/750)*100vw) auto calc((100/750)*100vw);
    }
    #info .tb {
        width: 150%;
    }
    #info .tb td {
        padding: calc((20/750)*100vw) 0;
        font-size: calc((24/750)*100vw);
    } 
    #info .tb .float {
        position: absolute;
        width: 60%;
        top: calc((165/750)*100vw);
        left: 50%;
        transform: translateX(-25%);
        z-index: 2;
        color: #fff;
        font-weight: bold;
    }
    #info .tb td:first-child {
        width: 22%;
    }
    #info .tb td:nth-child(2),
    #info .tb td:nth-child(3) {
        width: 39%;
    }
}

/*area & button*/
#button {
    background: #F7F7F7;
    margin: 0 auto;
    padding: min(calc((100/1040)*100vw), 100px) 0;
    text-align: left;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: min(calc((18/1040)*100vw), 18px);
}
#button p {
    line-height: 2;
}
#button .whitebg {
    background: #fff;
    padding: min(calc((60/1040)*100vw), 60px) 3.75% min(calc((80/1040)*100vw), 80px);
}
#button h4 {
    text-align: center;
    margin: 0 auto min(calc((30/1040)*100vw), 30px);
    padding: min(calc((8/1040)*100vw), 8px);
    color: #fff;
    font-weight: bold;
    font-size: min(calc((30/1040)*100vw), 30px);
    background: url(../img/text-bg.jpg) top center no-repeat;
    background-size: cover;
}
#button img {
    margin: min(calc((60/1040)*100vw), 60px) auto 0;
}
#button2 {
    background:;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
#button a,
#button2 a {
    display: block;
    margin: 0 auto 0;
    padding: 0;
    text-align: center;
}
#button a img,
#button2 a img {
    width: 100%;
    max-width: min(calc((480/1040)*100vw), 480px);
}
#button .contact-img {
    width: 65%;
    max-width: 450px;
    margin: 0 auto min(calc((40/1040)*100vw), 40px);
}
.button-text {
    font-size: min(calc((18/1040)*100vw), 18px);
    margin-top: 10px;
}
#button p.smaller {
    margin: min(calc((10/1040)*100vw), 10px);
}
.tsuyomi {
    margin-bottom: min(calc((50/1040)*100vw), 50px);
}
@media screen and (max-width: 768px) {
    #button{
        padding: calc((100/750)*100vw) 0;
    }
    #button a,
    #button2 a {
        display: block;
        margin: calc((30/750)*100vw) auto 0;
        padding: 0;
        text-align: center;
    }
    #button a img,
    #button2 a img {
        width: 80%;
        max-width: calc((600/750)*100vw);
    }
    .button-text {
        font-size: calc((22/750)*100vw);
        margin-top: 14px;
    }
    #button {
        font-size: calc((26/750)*100vw);
    }
    #button .whitebg {
        background: #fff;
        padding: min(calc((60/1040)*100vw), 60px) 4% min(calc((80/1040)*100vw), 80px);
        margin-bottom: -10px;
    }
    #button h4 {
        margin: 0 auto calc((40/750)*100vw);
        padding: calc((10/750)*100vw);
        font-size: calc((32/750)*100vw);
        line-height: 1.6;
    }
    .wide {
        width: 180%;
        padding: calc((40/750)*100vw) 0;
    }
    .wide2 {
        width: 150%;
        padding: calc((40/750)*100vw) 0;
    }
    .wide3 {
        width: 200%;
        padding: calc((40/750)*100vw) 0;
    }
}

/*why*/
#why {
    margin: 0 auto;
    padding: 0 0 min(calc((100/1040)*100vw), 100px);
    text-align: center;
    background: url(../img/bg_green.jpg) center bottom no-repeat;
    background-size: cover;
    color: #fff;
}
#why p {
    line-height: 2;
}
#why .circle {
    padding: min(calc((80/1040)*100vw), 80px) 0 min(calc((140/1040)*100vw), 140px) ;
    background: url(../img/circle.png) center top no-repeat;
    background-size: 100% 100%;
}
#why dl {
    width: 100%;
    margin: min(calc((80/1040)*100vw), 80px) 0 min(calc((60/1040)*100vw), 60px);
    padding: 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    align-self: stretch;
    align-content: center;
    color: #000;
}
#why dl dt {
    margin: 0;
    width: 47%;
    background: #fff;
    padding: min(calc((50/1040)*100vw), 50px) 5% min(calc((70/1040)*100vw), 70px);
}
#why dl dt h4 {
    margin: 0;
    padding: 0;
}
#why dl dt .large {
    font-size: min(calc((26/1040)*100vw), 26px);
}
#why dl dt img {
    max-width: min(calc((70/1040)*100vw), 70px);
    margin-bottom: min(calc((10/1040)*100vw), 10px);
}
#why dl dt .md {
    width: 20%;
    max-width: 40px;
    margin: min(calc((30/1040)*100vw), 30px);
}
#why dl p {
    font-size: min(calc((18/1040)*100vw), 18px);
    line-height: 2;
    width: 100%;
    text-align: left;
}

@media screen and (max-width: 768px) {
    #why {
        padding: 0 0 calc((80/750)*100vw);
    }
    #why .circle {
        padding:calc((60/750)*100vw) 0 calc((200/750)*100vw);
        background: url(../img/circlesp.png) center top no-repeat;
        background-size: 100% 80%;
        margin-bottom: -5%;
    }
    #why p {
        text-align: left;
    }
    #why .circle p {
        text-align: center;
        line-height: 1.7;
        font-size: calc((26/750)*100vw);
    }
    #why dl {
        margin: calc((30/750)*100vw) 0 0;
        flex-wrap: wrap;
    }
    #why dl dt {
        margin: calc((30/750)*100vw) auto;
        padding: calc((50/750)*100vw) 6% calc((60/750)*100vw) ;
        width: 90%;
        background-size: 100% 100%;
        text-align: center;
    }
    #why dl dt p {
        font-size: calc((26/750)*100vw);
    }
    #why dl dt div {
        width: 100%;
    }
    #why dl dt img {
        max-width: calc((80/750)*100vw);
        margin: 0 auto calc((10/750)*100vw);
    }
    #why dl dt .large {
        font-size: calc((32/750)*100vw);
    }
    #why dl dt .md {
        margin: calc((40/750)*100vw) auto;
    }
}


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

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