@charset "UTF-8";

@media screen {
    section .inner {
        opacity: 0;
        -webkit-transform: translate(0, 60px);
        transform: translate(0, 60px);
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s
    }
    section .inner.inview_show {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        -webkit-transition: all 0.6s cubic-bezier(.165, .84, .44, 1);
        transition: all 0.6s cubic-bezier(.165, .84, .44, 1);
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s
    }
}
@media print {
    section .inner {
        opacity: 1;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        -webkit-transition-delay: 0;
        transition-delay: 0
    }
}
.kv .inner {
    max-width: 1200px;
}
.kv {
    background: url(../img/mv_sp_06.jpg) no-repeat;
    background-size: cover;
    padding: 25vw 2vw 20vw;
    position: relative;
}
.kv .sp-hidden {
    display: none;
}
.kv .inner {
    color: #fff
}
.kv .font_b{
    font-size: 140%;
}
.kv .font_s{
    font-size: 85%;
}
.kv .top_text {
    padding: 10px 5px 5px 20px;
    background-color: #fff;
    position: absolute;
    top: 10%;
    right: 0;
    z-index: 2;
    font-size: 1.3em;
    color: #1A568A;
}
.kv .font_a .top_text {
    padding: 10px 5px 5px 20px;
    background-color: #fff;
    position: absolute;
    top: 13%;
    right: 0;
    z-index: 2;
    font-size: 1.3em;
    color: #1A568A;
}
.kv .box2{
    background: #1A568A;
    padding: 7px 15px;
    display: inline!;
    font-size: 3rem;
    line-height: 1.8;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}
.kv .font_a .box2{
    font-size: 4rem!important;
}
.kv .mt_a {
    margin-top: 0%;
}
.kv .mt_b{
    margin-top: 0%;
}
.kv .inner h1 .font_s{
    font-size: 60%;
}

@media (min-width:769px) {
.kv .mt_a {
    margin-top: 13%;
}
.kv .mt_b{
    margin-top: 13%;
}
}
@media (min-width:960px) {
.kv .mt_a {
    margin-top: 8%;
}
.kv .mt_b{
    margin-top: 8%;
}
}

@media (min-width:1300px) {
.kv .mt_a {
    margin-top: 0%;
}
.kv .mt_b{
    margin-top: 0%;
}
}

@media (max-width:768px) {
 .kv .box{
    background: #fff;
    padding: 5px 10px;
    display: inline!important;
    font-size: 1rem;
    color: #0f3f69;
    border-radius: 30px;
}
.kv h2{
    line-height: 1.6;
}
.kv .box2{
    background: #1A568A;
    padding: 5px 10px;
    display: inline!important;
    font-size: 1.8rem;
    box-shadow: 0 3px 0px rgba(0, 0, 0, 0.25);
    line-height: 1.8;
}   
.kv .font_b {
  font-size: 135%;
}
.kv .font_b2 {
  font-size: 180%;
  line-height: 1.4;
}
.kv .top_text {
    padding: 8px 5px 8px 15px;
    background-color: #fff;
    position: absolute;
    top: 8.5%;
    right: 0;
    z-index: 2;
    font-size: 1em;
    color: #1A568A;
    line-height: 1.2;
}
.kv .mt_a {
    margin-top: 15%;
}
.kv .mt_b {
    margin-top: 22%;
}
}


.mb20{
    margin-bottom: 20px;
}
.m0a{
    margin: 0 auto;
    text-align: center;
}

@media (min-width:1155px) {
.kv .inner h1 .br-hidden {
    display: none;
}
}
.kv .inner h1:after {
    display: block;
    content: "";
    width: 75%;
    background: #fff;
    height: 1px;
    margin: 1.5rem 0 2rem
}
.kv .mv-img {
    width: 100%;
    margin-top: 30px;
    display: block;
}

@media (min-width:769px) {
    .kv {
        background: url(../img/mv_pc_06_b2.jpg) center right no-repeat;
        background-size: cover;
        padding: 8% 0;
        margin: 0 auto;
        max-width: 2000px
    }
    .kv .sp-hidden {
        display: block;
    }
    .kv .inner {
        position: relative
    }
    .kv .inner h1 .font_s {
        font-size: 20px
    }
    .kv .inner h1 {
        font-size: 3rem;
        line-height: 1.5;
        font-weight: bold;
        text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    }
    .kv .inner .font_a {
        font-size: 5rem;
        line-height: 1.2;
        font-weight: bold;
    }    
    .kv .inner h1:after {
        margin-left: -100px;
        width: 575px
    }
    .kv .inner p {
        font-size: 20px
    }
    .kv .inner p.btn {
        position: absolute;
        left: 50%;
        top: 100%
    }
    .mt20{
       margin-top: 20px;
    }
    .kv .inner p.btn img {
        animation: slidein .5s ease .25s infinite both alternate
    }
    .kv .mv-img {
        display: none;
    }
    @keyframes slidein {
        from {
            transform: translate(0, 0)
        }
        to {
            transform: translate(0, -8px)
        }
    }
}

@media (max-width:768px) {
    .kv .inner h1 {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-bottom: 1rem;
    }
    .kv .inner h1 .font_s{
        font-size: 55%;
    }
        .kv .inner .font_a {
        font-size: 2.6rem;
        line-height: 1.4;
        font-weight: bold;
    }
    .kv .font_a .box2 {
        font-size: 2.2rem !important;
    }
    .kv .mv-img {
        width: 80%;
        margin-top: 0px;
        display: block;
        margin: 0 auto;
    }
}

.intro .box_wrap .box_bg{
    background: url(../img/box_bg.png) no-repeat right top;
}
.light{
    text-shadow: #fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px;
}
.intro {
    background: url(../img/intro_bg_sp.png) no-repeat;
    background-size: cover;
    padding-bottom: 10vw
}
.intro .first-box {
    background: #fff;
    padding: 10vw 5vw;
    position: absolute;
    top: -25vw;
}
.intro .first-box h2 span {
    display: block;
    font-size: .75rem;
    font-weight: 400
}
.intro .first-box h2 {
    margin-bottom: 1rem
}
.intro .first-box h2 strong {
    display: block;
    position: relative;
    font-size: 1.5rem
}
.intro .first-box h2 strong:before {
    display: block;
    position: absolute;
    left: -5vw;
    top: 1.75rem;
    content: "";
    background: #1A568A;
    height: 1px;
    width: .75rem
}
.intro h2.title {
    margin-bottom: 1.5rem
}
.intro h2.title span {
    border-bottom: 1px solid #1A568A;
    font-size: 1.625rem
}
.intro .box {
    background: #fff;
    padding: 5vw;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.intro .box h3 {
    font-size: 1.375rem
}
.intro .box h3:after {
    display: block;
    content: "";
    width: 75%;
    background: #1A568A;
    height: 1px;
    margin: .5rem 0 1rem -5vw
}
.intro .box figure {
    margin: 0 auto 1.5rem
}
.intro .box p.txt {
    margin-top: 1rem;
    font-size: .875rem
}
.intro .box ul {
    margin: 1rem 0 0
}
.intro .box ul li {
    margin: 0 0 1rem 2rem;
    position: relative
}
.intro .box ul li:before {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/icon_check.png) no-repeat;
    background-size: cover;
    position: absolute;
    left: -2rem;
    top: 0
}
@media (min-width:769px) {
    .intro {
        background: url(../img/intro_bg_pc.png) no-repeat;
        background-size: cover;
        padding-bottom: 100px
    }
    .intro .first-box {
        background: #fff;
        padding: 60px 110px;
        position: absolute;
        top: -50px;
        max-width: 1000px;
        width: 100%;
    }
    .intro .first-box h2 span {
        font-size: 14px;
        margin-bottom: .5rem
    }
    .intro .first-box h2 strong:before {
        left: -110px;
        top: 1.75rem;
        height: 1px;
        width: 100px
    }
    .intro h2.title {
        padding-top: 28rem;
        margin-bottom: 4rem;
        line-height: 1.6;
    }
    .intro h2.title span {
        font-size: 34px
    }
    .intro .box_wrap {
        display: flex;
        justify-content: space-between
    }
    .intro .box {
        padding: 40px;
        margin-bottom: 2rem;
        flex-basis: 47.5%;
        max-width: 473px
    }
    .intro .box h3 {
        font-size: 26px
    }
    .intro .box h3:after {
        display: block;
        content: "";
        width: 75%;
        background: #1A568A;
        height: 1px;
        margin: .5rem 0 1rem -40px
    }
    .intro .box figure {
        margin: 0 auto 1.5rem
    }
    .intro .box figure img {
        width: 100%
    }
    .intro .box p.txt {
        margin-top: 1rem;
        font-size: .875rem
    }
    .intro .box ul {
        margin: 1rem 0 0
    }
    .intro .box ul li {
        margin: 0 0 1rem 2rem;
        position: relative
    }
    .intro .box ul li:before {
        top: .25rem
    }
}
.s1 {
    padding: 20vw 0
}
section .lined_bg {
    position: relative
}
section .lined_bg span {
    padding-right: .5rem;
    font-size: .875rem
}
.s1 .lined_bg span {
    background: #fff
}
section .lined_bg {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAADUlEQVQIHWOQCuv6DwADggH6TGUn/QAAAABJRU5ErkJggg==) center repeat-x;
    margin-right: -5vw
}
.s1 .title dt {
    font-size: 1.625rem;
    font-weight: 700;
    margin-bottom: 1rem
}
.s1 .title dd {
    font-size: .875rem;
    margin-bottom: 1rem
}
.s1 .arrow {
    margin: 1rem auto;
    width: 53.0666667vw;
    height: 10.4vw
}
.s1 .box li {
    border: 8px solid #F4F4F4;
    margin-bottom: 1rem
}
.s1 .box .title {
    display: flex;
    align-items: center;
    align-content: center;
    margin-bottom: 1rem
}
.s1 .box .title span {
    display: block;
    background: #F4F4F4;
    padding: 1rem .5rem;
    margin-right: .5rem
}
.s1 .box figure {
    width: 90%
}
.s1 figcaption {
    margin: 1rem auto;
    font-size: .875rem
}
.s1 .box p {
    padding: 1rem
}
.s1 .after_box {
    background: #F4F4F4;
    margin-bottom: 1rem
}
.s1 .after_box .title h3 {
    margin: 1rem auto;
    font-size: 1.625rem
}
.s1 .after_box .title span {
    display: inline-block;
    background: #fff;
    padding: 1rem .5rem;
    margin-right: .5rem
}
.s1 .after_box figure {
    width: 90%
}
.s1 .after_box dd {
    padding: 1rem
}
@media (min-width:769px) {
    .s1 {
        padding: 100px 0
    }
    section .lined_bg {
        margin-right: -100px
    }
    section .lined_bg span {
        font-size: 14px;
        padding-right: 1rem
    }
    .s1 .title {
        display: flex;
        justify-content: space-between;
        margin-bottom: 40px
    }
    .s1 .title dt {
        font-size: 34px;
        flex-basis: 40%
    }
    .s1 .title dd {
        font-size: 1rem;
        flex-basis: 52%
    }
    .s1 .box {
        display: flex;
        justify-content: space-between
    }
    .s1 .arrow {
        width: auto;
        height: auto;
        margin-bottom: 2rem
    }
    .s1 .arrow img {
        width: 200px;
        height: 40px
    }
    .s1 .box li {
        border-width: 11px;
        flex-basis: 472px
    }
    .s1 .box .title {
        display: flex;
        align-items: center;
        align-content: center;
        justify-content: flex-start;
        margin-bottom: 2rem
    }
    .s1 .box .title span {
        display: flex;
        align-items: center;
        background: #F4F4F4;
        padding: 1rem;
        margin-right: 2rem;
        height: 5rem
    }
    .s1 figure img {
        width: 100%
    }
    .s1 figcaption {
        font-size: 12px
    }
    .s1 .box p {
        padding: 1.5rem
    }
    .s1 .after_box .title {
        display: flex;
        justify-content: flex-start
    }
    .s1 .after_box .title h3 {
        margin: 2rem 0 0;
        text-align: left;
        font-size: 26px
    }
    .s1 .after_box .title span {
        padding: 2rem 3rem;
        margin-right: 2rem
    }
    .s1 .after_box dl {
        display: flex;
        justify-content: space-between;
        padding: 1.5rem
    }
    .s1 .after_box dt {
        padding: 0;
        flex-basis: 33%;
        flex-shrink: 1
    }
    .s1 .after_box dd {
        padding: 0;
        margin-left: 2rem;
        flex-basis: 65%
    }
}
.s2 {
    background: url(../img/s2_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0;
    color: #fff
}
.s2 .lined_bg span {
    background: #71AFD1
}
.s2 .lined_bg {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAAC0lEQVQIHWP4DwQACfsD/Qy7W+cAAAAASUVORK5CYII=) center repeat-x
}
.s2 .box_wrap dl dt {
    font-weight: 700;
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s2 .box_wrap dl dd {
    width: 90%;
    margin-bottom: 1rem
}
.s2 p {
    font-size: .875rem;
    margin-bottom: 1rem
}
.s2 p strong {
    font-size: 1rem
}
.s2 .arrow {
    m ax-width: 23.7333333vw;
    margin: 2rem auto
}
.s2 figure img {
    margin: 2rem 0
}
.s2 h3 {
    margin: 0 0 2rem 0;
    font-size: 1.625rem
}
.s2 h3 span {
    border-bottom: 1px solid #fff;
    padding-bottom: .25rem;
    font-size: 0.85rem;
}
@media (min-width:769px) {
    .s2 {
        background: url(../img/s2_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s2 .box_wrap dl dt {
        font-weight: 700;
        font-size: 34px;
        margin: 2rem 0 4rem
    }
    .s2 .box_wrap dl dd {
        width: auto
    }
    .s2 p {
        font-size: 16px
    }
    .s2 dd {
        flex-basis: 518px
    }
    .s2 p strong {
        font-size: 1rem
    }
    .s2 .box_wrap, .s2 .flex_wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 4rem
    }
    .s2 .flex_wrap figcaption {
        flex-basis: 518px
    }
    .s2 .text {
        margin: 2.5rem 0;
        flex-basis: 518px
    }
    .s2 .arrow {
        max-width: 89px;
        margin: 2rem auto
    }
    .s2 .arrow img {
        width: 89px;
        height: 26px
    }
    .s2 figure img {
        margin: 0;
        max-width: 400px
    }
    .s2 h3 {
        margin: 0 0 4rem 0;
        font-size: 34px
    }
    .s2 h3 span {
        border-bottom: 1px solid #fff;
        padding-bottom: .25rem
    }
}
.s3 {
    background: url(../img/s3_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s3 h3 span {
    display: block;
    font-size: .875rem
}
.s3 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s3 .box {
    background: #fff;
    margin: 1.5rem auto;
    padding: 1rem 2rem
}
.s3 .box li {
    font-weight: 700;
    color: #1A568A;
    text-align: left;
    margin: 0 0 1rem 2rem;
    position: relative
}
.s3 .box li:last-child {
    margin-bottom: 0
}
.s3 .box li:before {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/icon_check.png) no-repeat;
    background-size: cover;
    position: absolute;
    left: -2rem;
    top: 0
}
.s3 h4 {
    margin: 2rem auto;
    font-size: 1.25rem;
    font-weight: 400
}
.s3 h4 span {
    border-bottom: 1px solid #1A568A;
    padding-bottom: .75rem
}
.s3 p.center {
    margin-bottom: 1rem
}
@media (min-width:769px) {
    .s3 {
        background: url(../img/s3_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s3 h3 span {
        font-size: 14px;
        margin-bottom: .5rem
    }
    .s3 h3 {
        font-size: 34px;
        margin-bottom: 3rem
    }
    .s3 .box {
        max-width: 600px;
        margin: 1.5rem auto 3rem;
        padding: 2rem 4rem
    }
    .s3 .box li {
        margin: 0 0 1.5rem 2rem
    }
    .s3 .box li:before {
        top: .25rem
    }
    .s3 h4 {
        font-size: 20px
    }
    .s3 p.center {
        margin-bottom: 2rem
    }
}
.s4 {
    padding: 10vw 0
}
.s4 .lined_bg span {
    background: #fff
}
.s4 dl dt {
    font-weight: 700;
    font-size: 1.625rem;
    margin-bottom: 1rem
}
.s4 li h4 {
    font-weight: 700;
    font-size: 1.375rem;
    margin-bottom: 1rem;
    line-height: 1.4;
}
.s4 li {
    padding-bottom: 0;
    margin-bottom: 4rem;
    border-bottom: 1px solid #F4F4F4
}
.s4 li p {
    padding-bottom: 10vw
}
.s4 li:nth-child(1) {
    background: url(../img/01.png) bottom right no-repeat;
    background-size: 65% auto
}
.s4 li:nth-child(2) {
    background: url(../img/02.png) bottom right no-repeat;
    background-size: 65% auto
}
.s4 li:nth-child(3) {
    background: url(../img/03.png) bottom right no-repeat;
    background-size: 65% auto;
}
.s4 li:nth-child(4) {
    background: url(../img/04.png) bottom right no-repeat;
    background-size: 65% auto
}
.s4 li:nth-child(5) {
    background: url(../img/05.png) bottom right no-repeat;
    background-size: 65% auto
}
.s4 li:nth-child(6) {
    background: url(../img/06.png) bottom right no-repeat;
    background-size: 65% auto
}
.s4 li:nth-child(7) {
    background: url(../img/07.png) bottom right no-repeat;
    background-size: 65% auto
}
@media (min-width:769px) {
    .s4 {
        padding: 100px 0
    }
    .s4 dl {
        display: flex
    }
    .s4 dl dt {
        font-size: 32px;
        flex-basis: 33%

    }
    .s4 dl dd {
        flex-basis: 65%
    }
    .s4 li h4 {
        font-size: 26px
    }
    .s4 li p {
        padding-bottom: 60px
    }
    .s4 li:nth-child(1), .s4 li:nth-child(2), .s4 li:nth-child(3), .s4 li:nth-child(4), .s4 li:nth-child(5), .s4 li:nth-child(6), .s4 li:nth-child(7) {
        background-size: 244px auto
    }
}
.s5 {
    background: url(../img/s5_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s5 .lined_bg span {
    background: #F4F4F4
}
.s5 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s5 .box dt {
    font-weight: 700;
    font-size: 1.375rem;
    margin-bottom: 1rem
}
.s5 .box dd p {
    font-size: .875rem;
    margin-bottom: 2rem
}
.s5 .arrow {
    max-width: 23.7333333vw;
    margin: 1rem auto
}
.s5 h3.lined span {
    border-bottom: 1px solid #1A568A;
    font-size: 1.625rem;
    padding-bottom: .5rem
}
.s5 .special li {
    margin-bottom: 2rem
}
.s5 .special li dl {
    margin: -2rem 0 0 0
}
.s5 .special li dt {
    display: inline-block;
    font-size: 1.125rem;
    padding: .75rem 1rem;
    background: #1A568A;
    color: #fff;
    margin: 0 0 .5rem 0;
    min-width: 70%;
    line-height: 1.25
}
.s5 .special li dd span {
    display: inline-block;
    font-size: .75rem;
    padding: .5rem 1.5rem;
    background: #1A568A;
    color: #fff;
    margin-bottom: .5rem
}
.s5 .special li p {
    font-size: .875rem
}
@media (min-width:769px) {
    .s5 {
        background: url(../img/s5_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s5 h3 {
        font-size: 32px
    }
    .s5 .box {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 3rem
    }
    .s5 .box figure {
        flex-basis: 437px
    }
    .s5 .box dl {
        flex-basis: 520px
    }
    .s5 .box dt {
        font-size: 26px
    }
    .s5 .box dd p {
        font-size: 1rem;
        margin-bottom: 2rem
    }
    .s5 .arrow {
        max-width: 89px
    }
    .s5 .arrow img {
        width: 100%
    }
    .s5 h3.lined span {
        font-size: 34px
    }
    .s5 .special {
        display: flex;
        justify-content: space-between;
        margin: 4rem 0 2rem
    }
    .s5 .special li {
        margin-bottom: 0;
        max-width: 300px
    }
    .s5 .special li dt {
        display: inline-flex;
        align-items: center;
        font-size: 18px;
        min-width: 85%;
        white-space: nowrap;
        padding: .25rem 1rem;
        min-height: 4rem
    }
    .s5 .special li dd span {
        font-size: 12px;
        padding: .25rem 1.5rem;
        margin-bottom: 1rem
    }
    .s5 .special li p {
        font-size: .875rem
    }
}
.cv {
    background: url(../img/cv_bg_sp.jpg) bottom no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.cv .box {
    background: #fff;
    padding: 10vw 5vw 0;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    position: relative
}
.cv .box:before {
    display: block;
    content: "";
    position: absolute;
    left: -3.6746667vw;
    top: -3.6746667vw;
    width: 33vw;
    height: 33vw;
    background: url(../img/cv_label_limited.png) no-repeat;
    background-size: cover
}
.cv .box h3 {
    font-size: 1.625rem;
    margin-bottom: 1.5rem
}
.cv .box dd {
    margin: 1.5rem auto 0
}
.cv .box dd li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5rem
}
.cv .box dd li span {
    color: #1A568A;
    font-size: 1.125rem;
    line-height: 1.25
}
.cv .box dd li span small {
    display: block
}
.cv .box dd li span.price small {
    display: inline;
    font-size: .882352941rem
}
.cv .box dd li span.price {
    display: block;
    color: #FD4141;
    font-size: 3.25rem;
    font-family: "Nanum Myeongjo"
}
.cv .box p {
    font-size: .75rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #F4F4F4;
    margin-bottom: 1rem
}
.cv .box .infomation dl {
    position: relative;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: space-between
}
.cv .box .infomation dt {
    font-weight: 700;
    flex-basis: 24%;
    vertical-align: middle;
    margin: 0 0 .5rem
}
.cv .box .infomation dt.time:before {
    display: inline-block;
    vertical-align: middle;
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: url(../img/icon_time.png) no-repeat;
    background-size: contain;
    margin-right: .25rem
}
.cv .box .infomation dt.map:before {
    display: inline-block;
    vertical-align: middle;
    width: 1.25rem;
    height: 1.5rem;
    content: "";
    background: url(../img/icon_map.png) no-repeat;
    background-size: contain;
    margin-right: .25rem
}
.cv .box .infomation dd {
    flex-basis: 75%;
    margin: 0 0 .5rem
}
.cv .box .btn {
    border: none;
    margin: 0 -5vw
}
.cv .box2 {
    background: #fff;
    padding: 25vw 5vw 5vw;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    position: relative;
}
.cv .box2:before {
    display: block;
    content: "";
    position: absolute;
    left: -3.6746667vw;
    top: -3.6746667vw;
    width: 33vw;
    height: 33vw;
    background: url(../img/cv_label_check.png) no-repeat;
    background-size: cover
}
.cv .box2 p {
    font-size: 1.125rem;
    margin-bottom: 1.5rem
}
.cv .box2 .notes {
    font-size: .875rem
}
.cv .plus {
    width: 33.8666667vw;
    height: 33.8666667vw;
    margin: 2rem auto
}
@media (min-width:769px) {
    .cv {
        background: url(../img/cv_bg_pc.jpg) bottom no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .cv .box {
        max-width: 800px;
        padding: 40px;
        margin: 0 auto
    }
    .cv .box:before {
        left: -18.85px;
        top: -18.85px;
        width: 172px;
        height: 172px
    }
    .cv .box h3 {
        font-size: 40px;
        margin-bottom: 1.5rem
    }
    .cv .box dl {
        display: flex;
        justify-content: space-between
    }
    .cv .box dd {
        margin: 0 auto
    }
    .cv .box dd li {
        display: flex;
        justify-content: space-between;
        margin-bottom: 1.5rem
    }
    .cv .box dd li span {
        font-size: 22px;
        line-height: 1.25;
        margin-right: 2rem
    }
    .cv .box dd li span small {
        font-size: 14px
    }
    .cv .box dd li span.price small {
        font-size: 20px
    }
    .cv .box dd li span.price {
        font-size: 70px
    }
    .cv .box p {
        font-size: 12px;
        text-align: right
    }
    .cv .box .flex_wrap {
        display: flex;
        justify-content: space-between
    }
    .cv .box .infomation dl {
        position: relative;
        margin-bottom: 1rem;
        flex-wrap: wrap;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
        justify-content: space-between
    }
    .cv .box .infomation dt {
        flex-basis: 5rem
    }
    .cv .box .infomation dd {
        flex-basis: 80%
    }
    .cv .box .btn {
        margin: 0
    }
    .cv .box2 {
        max-width: 800px;
        padding: 80px 40px 20px;
        margin: 0 auto
    }
    .cv .box2:before {
        left: -18.85px;
        top: -18.85px;
        width: 172px;
        height: 172px
    }
    .cv .box2 p {
        font-size: 24px;
        margin-bottom: 1.5rem
    }
    .cv .box2 .notes {
        font-size: 14px
    }
    .cv .plus, .cv .plus img {
        width: 127px;
        height: 127px
    }
}
.s6 {
    background: url(../img/s5_bg_sp.png) bottom no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s6 h3 span {
    display: block;
    font-size: .875rem
}
.s6 h3 {
    font-size: 1.625rem;
    margin-bottom: 25vw
}
.s6 .box {
    background: #fff;
    padding: 45vw 1rem 1rem;
    margin-bottom: 30vw;
    position: relative;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.s6 .box figure {
    position: absolute;
    left: -5vw;
    top: -20vw;
    max-width: 48.5333333vw
}
.s6 .box:nth-child(2n) figure {
    right: -5vw;
    left: auto
}
.s6 .box:nth-child(3) {
    padding: 35vw 1rem 1rem;
    margin-bottom: 2rem
}
.s6 .box:nth-child(3) figure {
    max-width: 66.2666667vw
}
.s6 .box h4 {
    display: flex;
    margin: 0 auto;
    align-items: center;
    width: 22.6666667vw;
    height: 22.6666667vw;
    border: 1px solid #1A568A;
    position: absolute;
    right: 1rem;
    top: 20vw;
    font-weight: 400
}
.s6 .box:nth-child(2n) h4 {
    right: auto;
    left: 1rem
}
.s6 .box:nth-child(3) h4 {
    top: 5vw
}
.s6 .box dt {
    font-size: 1.375rem;
    font-weight: 700;
    margin-bottom: 1rem
}
.s6 .box dd {
    font-size: .875rem
}
.s6 .box .lined_box {
    border: 1px solid #1A568A;
    margin-top: 1rem
}
.s6 .box .lined_box h5 {
    color: #fff;
    font-size: .875rem;
    padding: .5rem 0;
    background: #1A568A
}
.s6 .box .lined_box ol {
    padding: .5rem 1rem
}
@media (min-width:769px) {
    .s6 {
        background: url(../img/s5_bg_pc.png) bottom no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s6 h3 span {
        display: block;
        font-size: 14px
    }
    .s6 h3 {
        font-size: 34px;
        margin-bottom: 100px
    }
    .s6 .box {
        padding: 60px 40px 60px 200px;
        margin: 0 0 150px 120px;
        max-width: 880px;
        width: 88%
    }
    .s6 .box:nth-child(2n) {
        padding: 60px 200px 60px 40px;
        margin: 0 120px 150px 0
    }
    .s6 .box figure {
        position: absolute;
        left: -140px;
        top: -60px;
        max-width: 280px
    }
    .s6 .box figure img {
        width: 100%
    }
    .s6 .box:nth-child(2n) figure {
        right: -140px;
        left: auto
    }
    .s6 .box:nth-child(3) {
        padding: 60px 40px 60px 240px;
        margin-bottom: 100px
    }
    .s6 .box:nth-child(3) figure {
        max-width: 350px
    }
    .s6 .box h4 {
        width: 85px;
        height: 85px;
        right: auto;
        top: 60px;
        left: 200px
    }
    .s6 .box:nth-child(2n) h4 {
        right: auto;
        top: 60px;
        left: 40px
    }
    .s6 .box:nth-child(3) h4 {
        right: auto;
        top: 40px;
        left: 240px
    }
    .s6 .box dt {
        font-size: 26px;
        margin-left: 100px
    }
    .s6 .box dd {
        font-size: 1rem
    }
    .s6 .box .lined_box {
        display: flex;
        margin-top: 2rem;
        justify-content: space-between;
        align-items: center
    }
    .s6 .box .lined_box h5 {
        font-size: 14px;
        padding: .5rem
    }
    .s6 .box .lined_box ol {
        padding: 0 1rem
    }
    .s6 .box .lined_box ol li {
        display: inline-block;
        margin: 0 .5rem
    }
    .s6 .btn {
        margin: 0 -10px
    }
}
.s7 {
    padding: 10vw 0
}
.s7 .lined_bg span {
    background: #fff
}
.s7 .title dt {
    font-size: 1.625rem;
    margin-bottom: 2rem;
    font-weight: 700
}
.s7 .title dd {
    font-size: .875rem
}
.s7 .title p {
    margin-bottom: 1rem
}
.s7 .arrow {
    width: 46.1333333vw;
    height: 9.0666667vw;
    margin: 2rem auto
}
.s7 .box {
    background: #fff;
    padding: 5vw 0;
    border: 2px solid #1A568A;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.s7 .box h3 {
    display: inline-block;
    border-bottom: 1px solid #1A568A;
    font-size: 1.625rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    line-height: 1.2;
}
.s7 .box p {
    font-size: .875rem;
    padding: 0 1rem
}
.s7 .box p.btn {
    margin: 1rem -2vw 0
}
.s7 h4 {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAADUlEQVQIHWOQCuv6DwADggH6TGUn/QAAAABJRU5ErkJggg==) center repeat-x;
    margin: 1.5rem -5vw 3rem;
    font-size: 1.375rem;
    line-height: 1.5;
    font-weight: 400
}
.s7 h4 span {
    display: inline-block;
    background: #fff;
    padding: 0 1rem
}
.s7 .time {
    display: inline-block;
    background: #fff;
    line-height: 1.5;
    border: 1px solid #1A568A;
    border-radius: 50%;
    padding: 1rem 1.5rem;
    flex-basis: 20%;
    font-size: .875rem;
    text-align: center;
    z-index: 1
}
.s7 li:first-child .time {
    margin-top: -1rem
}
.s7 li:last-child .time {
    margin-bottom: -1rem
}
.s7 .time span {
    font-size: 1.125rem
}
.s7 .step01, .s7 .step02, .s7 .step03 {
    margin-bottom: 40vw;
    position: relative
}
@media (max-width:768px) {
   .s7 .step01, .s7 .step02, .s7 .step03 {
    margin-bottom: 30vw;
    } 
}

.s7 .step01:after, .s7 .step02:after, .s7 .step03:after {
    display: block;
    content: "";
    height: 100%;
    width: 1px;
    position: absolute;
/*    left: 17.5%;*/
    left: 12.5%;
    top: 0;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAADUlEQVQIHWOQCuv6DwADggH6TGUn/QAAAABJRU5ErkJggg==) repeat-y
}
@media (max-width:768px) {
    .s7 .step01::after, .s7 .step02::after, .s7 .step03::after{
        left: 14.5%;
    }
}

.s7 .step01>li, .s7 .step02>li, .s7 .step03>li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 3rem 1rem;
    position: relative
}
@media (max-width:768px) {
.s7 .step01>li, .s7 .step02>li, .s7 .step03>li {
    padding: 3rem 1rem 1rem 0.5rem;
}

}

.s7 h5 {
    font-size: .875rem
}
.s7 li dd p {
    font-size: .75rem
}
.s7 .step01>li, .s7 .step01>li:first-child:before {
    background: #DCF0F8
}
.s7 .step02>li, .s7 .step02>li:first-child:before {
    background: rgba(149, 210, 234, .76)
}
.s7 .step03>li, .s7 .step03>li:first-child:before {
    background: #89D7F5
}
.s7 .step01>li:first-child:before, .s7 .step02>li:first-child:before, .s7 .step03>li:first-child:before {
    width: 90vw;
    height: 1rem;
    top: -1rem
}
.s7 .step01>li:before, .s7 .step02>li:before, .s7 .step03>li:before {
    display: block;
    width: 90vw;
    height: 30vw;
    content: "";
    position: absolute;
    top: -18.5vw;
    left: 0;
    background: url(../img/s7_step.png) bottom no-repeat;
    background-size: contain
}
.s7 .step01>li:last-child:after, .s7 .step02>li:last-child:after, .s7 .step03>li:last-child:after {
    display: block;
    width: 90vw;
    height: 18.5vw;
    content: "";
    position: absolute;
    top: 100%;
    left: 0
}
@media (max-width:768px) {
    .s7 .step01 > li:last-child::after, .s7 .step02 > li:last-child::after, .s7 .step03 > li:last-child::after {
    height: 13.5vw;
    }
}

.s7 .step01>li:last-child:after {
    background: url(../img/s7_step01_btm.png) bottom no-repeat;
    background-size: contain
}
.s7 .step02>li:last-child:after {
    background: url(../img/s7_step02_btm.png) bottom no-repeat;
    background-size: contain
}
.s7 .step03>li:last-child:after {
    background: url(../img/s7_step03_btm.png) bottom no-repeat;
    background-size: contain
}
.s7 .step01>li:first-child, .s7 .step02>li:first-child, .s7 .step03>li:first-child {
    padding-top: 1rem
}
.s7 .step01>li:last-child, .s7 .step02>li:last-child, .s7 .step03>li:last-child {
    padding-bottom: 1rem
}
.s7 .step01 li dt, .s7 .step02 li dt, .s7 .step03 li dt {
    font-weight: 700
}
.s7 .step01 li dd, .s7 .step02 li dd, .s7 .step03 li dd {
    font-size: .875rem
}
.s7 .step01 li dl, .s7 .step02 li dl, .s7 .step03 li dl {
/*    flex-basis: 65%*/
    flex-basis: 76%
}
.s7 .step01 li dl ul li, .s7 .step02 li dl ul li, .s7 .step03 li dl ul li {
    line-height: 1.5;
    margin-left: 1rem;
    text-indent: -1rem
}
@media (max-width:768px) {
    .s7 .step01 li dl, .s7 .step02 li dl, .s7 .step03 li dl{
        flex-basis: 70%;
    }
}

@media (min-width:769px) {
    .s7 {
        padding: 100px 0
    }
    .s7 .title {
        display: flex;
        justify-content: space-between;
        margin-bottom: 100px
    }
    .s7 .title dt {
        font-size: 32px;
        flex-basis: 40%
    }
    .s7 .title dd {
        font-size: 14px;
        margin-top: 20px;
        flex-basis: 50%
    }
    .s7 .title p {
        margin-bottom: 2rem
    }
    .s7 .lead {
        margin: 4rem auto
    }
    .s7 .arrow, .s7 .arrow img {
        width: 173px;
        height: 34px
    }
    .s7 .box {
        padding: 40px 0;
        margin: 4rem auto;
        max-width: 874px
    }
    .s7 .box h3 {
        font-size: 34px;
        margin-bottom: 2rem;
        padding-left: 80px;
    }
    .s7 .box p {
        font-size: 14px;
        padding: 0 1rem;
        width: 80%
    }
    .s7 .box p.btn {
        width: auto;
        margin: 2rem 0 0
    }
    .s7 h4 {
        margin: 1.5rem 0 100px;
        font-size: 30px
    }
    .s7 h4 span {
        padding: 0 1rem
    }
    .s7 .flex_wrap {
        display: flex;
        justify-content: space-around;
        align-items: flex-start
    }
    .s7 .time {
        flex-basis: 20%;
        font-size: 14px
    }
    .s7 li:last-child .time {
        margin-bottom: -1rem
    }
    .s7 .time span {
        font-size: 18px
    }
    .s7 .step01, .s7 .step02, .s7 .step03 {
        flex-basis: 42%;
        margin-bottom: 100px
    }
    .s7 h5 {
        font-size: 14px;
        letter-spacing: -0.1px;
        line-height: 1.65;
    }
    .s7 li dd p {
        font-size: 14px;
        line-height: 1.65;
    }
    .s7 .step01>li:first-child:before, .s7 .step02>li:first-child:before, .s7 .step03>li:first-child:before {
        width: 100%
    }
    .s7 .step01>li:before, .s7 .step02>li:before, .s7 .step03>li:before {
        width: 100%;
/*        height: 84px;*/
        height: 100%;
/*        top: 0;*/
        top: -88%;
        bottom:5%;
        left: 0
    }
    .s7 .step01>li:last-child:after, .s7 .step02>li:last-child:after, .s7 .step03>li:last-child:after {
        width: 100%;
/*        height: 62px;*/
        height: 64px;
    }
    .s7 .step01 li dd, .s7 .step02 li dd, .s7 .step03 li dd {
        font-size: 14px
    }
}
.s8 {
    background: url(../img/voice_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s8 .lined_bg span {
    background: #F4F4F4
}
.s8 .title dt {
    font-size: 1.625rem;
    margin-bottom: 2rem;
    font-weight: 700
}
.s8 .title dd {
    font-size: .875rem;
    margin-bottom: 2rem
}
.s8 .voice_box dl.voice {
    background: #fff;
    padding: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.s8 dl.voice dt {
    font-size: 1.375rem;
    font-weight: 700
}
.s8 dl.voice dt:after {
    content: "";
    display: block;
    width: 105%;
    height: 1px;
    background: #1A568A;
    margin: .5rem 0 .5rem -5vw
}
.s8 .voice_box:nth-child(2n) dl.voice dt:after {
    margin: .5rem -5vw .5rem 0
}
.s8 dl.voice {
    position: relative
}
.s8 dl.voice:after {
    position: absolute;
    top: 100%;
    left: 0;
    content: "";
    display: block;
    width: 90vw;
    height: 9.8vw;
    background: url(../img/voice_box02_sp.png) no-repeat;
    background-size: cover
}
.s8 .voice_box:nth-child(2n) dl.voice:after {
    background: url(../img/voice_box01_sp.png) no-repeat;
    background-size: cover
}
.s8 dl.voice dd {
    font-size: .875rem
}
.s8 .voice_box figure {
    position: absolute;
    bottom: -35vw;
    right: auto;
    left: -5vw;
    display: flex;
    align-items: flex-end;
    line-height: 1.5
}
.s8 .voice_box:nth-child(2n) figure {
    flex-direction: row-reverse;
    right: -5vw;
    left: auto
}
.s8 .voice_box figure img {
    max-width: 42.6666667vw
}
.s8 .voice_box {
    position: relative;
    margin-bottom: 45vw
}
.s8 .voice_box figure figcaption {
    margin-bottom: 1rem
}
.s8 .voice_box figure dt {
    font-weight: 700
}
.s8 .voice_box:nth-child(2n) figure dl {
    text-align: right
}
.s8 .voice_box figure dd {
    font-size: .75rem;
    letter-spacing: 0
}
@media (min-width:769px) {
    .s8 {
        background: url(../img/voice_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 10vw 0
    }
    .s8 .title {
        display: flex;
        justify-content: space-between;
        margin-bottom: 100px
    }
    .s8 .title dt {
        font-size: 32px;
        flex-basis: 30%
    }
    .s8 .title dd {
        font-size: 14px;
        margin-top: 20px;
        flex-basis: 70%
    }
    .s8 .title p {
        margin-bottom: 2rem
    }
    .s8 .voice_box {
        margin: 0 0 150px 30%
    }
    .s8 .voice_box:nth-child(2n) {
        margin: 0 30% 150px 0
    }
    .s8 .voice_box dl.voice {
        padding: 2rem 1.5rem 3rem;
        margin-bottom: 150px
    }
    .s8 dl.voice dt {
        font-size: 22px;
        margin-bottom: 1.5rem
    }
    .s8 dl.voice dt:after {
        width: 100%;
        margin: .5rem 0 .5rem 1.5rem
    }
    .s8 .voice_box:nth-child(2n) dl.voice dt:after {
        margin: .5rem -1.5rem .5rem 0
    }
    .s8 dl.voice:after {
        width: 100%;
        height: 36px;
        background: url(../img/voice_box01_pc.png) no-repeat;
        background-size: cover
    }
    .s8 .voice_box:nth-child(2n) dl.voice:after {
        background: url(../img/voice_box02_pc.png) no-repeat;
        background-size: cover
    }
    .s8 dl.voice dd {
        font-size: 14px
    }
    .s8 .voice_box figure {
        flex-direction: row-reverse;
        bottom: -150px;
        right: -3rem;
        left: auto
    }
    .s8 .voice_box:nth-child(2n) figure {
        flex-direction: row;
        left: -3rem;
        right: auto
    }
    .s8 .voice_box figure img {
        max-width: 194px
    }
    .s8 .voice_box {
        margin-bottom: 60px
    }
    .s8 .voice_box figure figcaption {
        padding-bottom: 1.5rem
    }
    .s8 .voice_box figure dt {
        text-align: right
    }
    .s8 .voice_box:nth-child(2n) figure dt {
        text-align: left
    }
    .s8 .voice_box figure dd {
        font-size: 12px
    }
}
.s9 {
    background: #71AFD1;
    color: #fff;
    padding: 10vw 0
}
.s9 h3 span {
    display: block;
    font-size: .875rem
}
.s9 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s9 .lead {
    font-size: .875rem
}
.s9 .lead p {
    margin-bottom: 1.5rem
}
.s9 .lead strong {
    font-size: 1.125rem
}
.s9 .box {
    background: #fff;
    padding: 5vw;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    color: #232323
}
.s9 .arrow {
    width: 23.7333333vw;
    height: 6.9333333vw;
    margin: 2rem auto 1rem
}
.s9 .box h4 {
    font-size: 1.375rem;
    margin-bottom: 1.5rem
}
.s9 .box p {
    font-size: .75rem;
    line-height: 1.5;
    margin: 1rem 0
}
.s9 .box table.sp-hidden {
    display: none
}
.s9 .box table.pc-hidden {
    display: table;
    font-size: .875rem;
    line-height: 1.5;
    width: 100%
}
.s9 .box table th {
    font-size: .75rem;
    font-weight: 400;
    padding: .25rem;
    border-top: 1px solid #50B4DC
}
.s9 .box table td {
    text-align: center;
    padding: .25rem;
    border-top: 1px solid #50B4DC;
    border-left: 1px solid #50B4DC;
    font-weight: 700
}
.s9 .box table td span {
    font-size: .75rem
}
.s9 .box table td strong {
    font-size: 1.125rem
}
.s9 .box table td.bg_blue {
    background: #DCF0F8;
    color: #008CE6
}
@media (min-width:769px) {
    .s9 {
        padding: 100px 0
    }
    .s9 h3 span {
        font-size: 14px
    }
    .s9 h3 {
        font-size: 38px;
        margin-bottom: 4rem
    }
    .s9 .lead {
        font-size: 1rem;
        max-width: 800px;
        margin-bottom: 4rem
    }
    .s9 .lead p {
        margin-bottom: 2rem
    }
    .s9 .lead strong {
        font-size: 18px;
    }
    .s9 .box {
        max-width: 800px;
        padding: 40px;
        margin: 0 auto 4rem
    }
    .s9 .arrow, .s9 .arrow img {
        width: 89ox;
        height: 26px;
        margin: 0 auto
    }
    .s9 .box h4 {
        font-size: 30px;
        margin-bottom: 2rem
    }
    .s9 .box p {
        font-size: 12px
    }
    .s9 .box table.pc-hidden {
        display: none
    }
    .s9 .box table.sp-hidden {
        display: table;
        width: 100%;
        font-size: 1rem;
        color: #666
    }
    .s9 .box table th {
        font-size: 1rem;
        padding: .5rem;
        border-left: 1px solid #50B4DC
    }
    .s9 .box table td {
        padding: .5rem;
        vertical-align: middle;
        line-height: 1.5
    }
    .s9 .box table th:first-child, .s9 .box table td:first-child {
        border-left: none
    }
    .s9 .box table td span {
        font-size: 1rem
    }
    .s9 .box table td strong {
        font-size: 24px
    }
}
.s10 {
    background: #71AFD1;
    color: #fff;
    padding: 10vw 0
}
.s10 h3 {
    font-size: 1.375rem;
    margin: 0 -5vw 2rem;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAAC0lEQVQIHWP4DwQACfsD/Qy7W+cAAAAASUVORK5CYII=) center repeat-x
}
.s10 h3 span {
    background: #71AFD1;
    padding: 0 1rem
}
.s10 .box {
    background: #fff;
    padding: 5vw;
    margin-bottom: 5vw;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    color: #232323
}
.s10 .box h4 {
    font-size: 1.625rem;
    margin-bottom: .5rem
}
.s10 ul {
    margin-bottom: 4rem
}
.s10 ul li {
    border: 1px solid #fff;
    padding: 1rem;
    margin: 0 auto 1rem;
    width: 90%;
    font-weight: 700
}
.s10 ul li dl {
    display: flex;
    align-items: center
}
.s10 ul li dt {
    flex-basis: 33%;
    margin-right: 1.5rem;
    text-align: center
}
.s10 ul li dt img {
    max-width: 22.9333333vw;
    max-height: 22.9333333vw
}
.s10 ul li dd {
    flex-basis: 65%;
    font-size: 1.5rem
}
@media (min-width:769px) {
    .s10 {
        padding: 100px 0
    }
    .s10 h3 {
        font-size: 30px;
        margin: 0 0 4rem
    }
    .s10 h3 span {
        background: #71AFD1;
        padding: 0 1rem
    }
    .s10 .box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        max-width: 912px;
        width: 91%;
        margin: 0 auto
    }
    .s10 .box h4 {
        font-size: 32px;
        margin-bottom: .5rem
    }
    .s10 .box figure img {
        max-width: 268px
    }
    .s10 ul {
        display: flex;
        width: 91%;
        max-width: 912px;
        margin: 0 auto 4rem;
        justify-content: space-between
    }
    .s10 ul li {
        flex-basis: 32%;
        padding: 20px 1rem;
        margin: 0;
        width: auto
    }
    .s10 ul li dl {
        align-items: center
    }
    .s10 ul li dt {
        flex-basis: 33%;
        margin-right: 1.5rem;
        text-align: center
    }
    .s10 ul li dt img {
        max-width: 82px;
        max-height: 82px
    }
    .s10 ul li dd {
        font-size: 24px;
        font-weight: 400;
        line-height: 1.5
    }
}
.s11 {
    padding: 10vw 0
}
.s11 .lined_bg span {
    background: #fff
}
.s11 .title dt {
    font-size: 1.625rem;
    font-weight: 700;
    margin-bottom: 1rem
}
.s11 .title dd {
    font-size: .875rem;
    margin-bottom: 1rem
}
.s11 .howto {
    margin: 1rem auto 2rem
}
.s11 .howto dt {
    font-weight: 700;
    font-size: 1.375rem
}
.s11 .howto dd {
    font-size: .875rem
}
.s11 .howto .btn {
    font-weight: 700;
    font-size: 1.375rem;
    margin: 2rem auto;
    border: 2px solid #EAB042;
    position: relative
}
.s11 .howto .btn:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    right: 1rem;
    width: 12px;
    height: 13px;
    border-top: 2px solid #EAB042;
    border-right: 2px solid #EAB042;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}
.s11 .arrow {
    background: url(../img/s12_arrow.png) center center no-repeat;
    background-size: contain;
    font-size: 1.375rem;
    padding: .5rem 0;
    margin: 2rem auto
}
.s11 .lead {
    font-size: .875rem;
    margin-bottom: 2rem
}
.s11 .box {
    border: 6px solid #F4F4F4;
    margin-bottom: 1.5rem
}
.s11 .box h4 {
    padding: .5rem 0;
    background: #F4F4F4
}
.s11 .box ul {
    margin: 1rem .5rem;
    font-size: .875rem
}
.s11 .box ul li {
    padding-left: 3.5rem;
    margin-bottom: 1rem
}
.s11 .box ul li.bnr {
    padding: 0
}
.s11 .box ul li.bnr a {
    display: inline-block;
    width: 47.5%;
    margin: 0 1%
}
.s11 .box ul li.bnr:after {
    display: block;
    text-align: center;
    margin: 1rem auto;
    content: "";
    width: 22.6666667vw;
    height: 4.2666667vw;
    background: url(../img/s11_arrow.png) center center no-repeat;
    background-size: cover
}
.s11 .box ul li.icon01 {
    background: url(../img/s11_icon01.png) .75rem top no-repeat;
    background-size: auto 9.896vw
}
.s11 .box ul li.icon02 {
    background: url(../img/s11_icon02.png) .75rem top no-repeat;
    background-size: auto 9.896vw
}
.s11 .box ul li.icon03 {
    background: url(../img/s11_icon03.png) left top no-repeat;
    background-size: auto 9.896vw
}
.s11 .box ul li.icon04 {
    background: url(../img/s11_icon04.png) .25rem top no-repeat;
    background-size: auto 9.896vw
}
.s11 .notes {
    font-size: .875rem
}
@media (min-width:769px) {
    .s11 {
        padding: 100px 0
    }
    .s11 .title {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 4rem
    }
    .s11 .title dt {
        font-size: 32px;
        flex-basis: 40%
    }
    .s11 .title dd {
        font-size: 14px;
        margin-top: 20px;
        flex-basis: 52%
    }
    .s11 .title p {
        margin-bottom: 2rem
    }
    .s11 figure {
        display: flex;
        justify-content: space-between;
        align-items: flex-start
    }
    .s11 figure img {
        flex-basis: 40%;
        max-width: 400px;
        max-height: 260px;
        width: 100%;
        height: 100%
    }
    .s11 .howto {
        flex-basis: 52%;
        max-width: 520px;
        margin: 1rem auto 2rem
    }
    .s11 .howto dt {
        font-size: 22px
    }
    .s11 .howto dd {
        font-size: 14px
    }
    .s11 .howto .btn {
        font-size: 22px
    }
    .s11 .howto .btn a {
        display: block
    }
    .s11 .arrow {
        font-size: 22px;
        padding: 1rem 0
    }
    .s11 .lead {
        font-size: 1rem;
        margin-bottom: 4rem
    }
    .s11 .box_wrap {
        display: flex;
        justify-content: space-between
    }
    .s11 .box {
        flex-basis: 47.5%
    }
    .s11 .box ul {
        padding: 30px 20px 0;
        font-size: 1rem
    }
    .s11 .box ul li {
        padding-left: 100px
    }
    .s11 .box ul li.bnr a {
        display: inline-block;
        width: 47.5%;
        margin: 0 1%
    }
    .s11 .box ul li.bnr:after {
        width: 120px;
        height: 23px
    }
    .s11 .box ul li.icon01 {
        background: url(../img/s11_icon01.png) .75rem top no-repeat;
        background-size: auto 53px
    }
    .s11 .box ul li.icon02 {
        background: url(../img/s11_icon02.png) .75rem top no-repeat;
        background-size: auto 53px
    }
    .s11 .box ul li.icon03 {
        background: url(../img/s11_icon03.png) left top no-repeat;
        background-size: auto 53px
    }
    .s11 .box ul li.icon04 {
        background: url(../img/s11_icon04.png) .25rem top no-repeat;
        background-size: auto 53px
    }
    .s11 .notes {
        font-size: 12px;
        margin-left: 52.5%
    }
}
.s12 {
    background: url(../img/s12_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s12 h3 span {
    display: block;
    font-size: .875rem
}
.s12 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s12 h4 {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAAaADAAQAAAABAAAAAQAAAAD5Ip3+AAAADUlEQVQIHWOQCuv6DwADggH6TGUn/QAAAABJRU5ErkJggg==) center repeat-x;
    margin-bottom: 1.5rem
}
.s12 h4 span {
    background: #f4f4f4;
    padding-right: 1rem
}
.s12 li {
    margin-bottom: 2rem
}
.s12 .movie_box {
    overflow: hidden;
    position: relative;
    width: 100%
}
.s12 .movie_box:after {
    padding-top: 56.25%;
    display: block;
    content: ''
}
.s12 .movie_box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
/*.s12 li:first-child:after {
    display: block;
    width: 100%;
    height: 1rem;
    content: "???????????????????";
    color: #1A568A;
    font-size: .75rem
}
    */
    
@media (min-width:769px) {
    .s12 {
        background: url(../img/s12_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s12 h3 span {
        display: block;
        font-size: 14px
    }
    .s12 h3 {
        font-size: 38px;
        margin-bottom: 2rem
    }
    .s12 ul {
        display: flex;
        justify-content: space-between
    }
    .s12 li {
        flex-basis: 47.5%;
        margin-bottom: 2rem
    }
    .s12 figure img {
        max-width: 481px
    }
    .s12 li:first-child:after {
        font-size: 12px
    }
}
.s13 {
    background: url(../img/s13_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s13 .lined_bg span {
    background: #fff
}
.s13 .title>dt {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s13 .title dd li {
    margin-bottom: 2rem
}
.s13 .title dd figure {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start
}
.s13 .title dd figure img {
    max-width: 23.4666667vw
}
.s13 .title dd figcaption {
    margin-left: 1rem
}
.s13 .title dd figcaption h4 {
    font-size: .875rem
}
.s13 .title dd figcaption dt {
    font-weight: 700;
    font-size: .875rem
}
.s13 .title dd figcaption dd {
    font-size: .75rem
}
.s13 .voice {
    margin: 1.5rem 0 1rem
}
.s13 .voice dt {
    font-weight: 700;
    font-size: 1.25rem
}
.s13 .voice dd {
    font-size: .875rem
}
@media (min-width:769px) {
    .s13 {
        background: url(../img/s13_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s13 .title {
        display: flex;
        justify-content: space-between;
        align-items: flex-start
    }
    .s13 .title>dt {
        flex-basis: 33%;
        font-size: 34px
    }
    .s13 .title>dd {
        flex-basis: 65%
    }
    .s13 .title dd li {
        margin-bottom: 2rem;
        border-bottom: 1px solid #f4f4f4
    }
    .s13 .title dd figure img {
        max-width: 88px
    }
    .s13 .title dd figcaption {
        margin-left: 1rem;
        line-height: 1.5
    }
    .s13 .title dd figcaption h4, .s13 .title dd figcaption dt {
        font-size: 14px
    }
    .s13 .title dd figcaption dd {
        font-size: 12px
    }
    .s13 .voice dt {
        font-size: 20px
    }
    .s13 .voice dd {
        font-size: 1rem
    }
}
.s14 {
    background: url(../img/s14_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s14 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s14 h3.lined span {
    border-bottom: 1px solid #1A568A;
    font-size: 1.625rem;
    padding-bottom: .5rem
}
.s14 .lead {
    font-size: .875rem;
    margin-bottom: 2rem
}
.s14 .arrow {
    width: 35.4666667vw;
    height: 7.4666667vw
}
.s14 .box {
    margin-bottom: 3rem
}
.s14 .box, .s14 .ribbon-box {
    background: #fff;
    padding: 1.5rem 1rem
}
.s14 .ribbon-box {
    margin: 2rem auto;
    padding-top: 22.6666vw;
    position: relative
}
.s14 .ribbon-box:after {
    display: block;
    content: "";
    position: absolute;
    left: -4.75vw;
    top: -1.5vw;
    width: 51.7333333vw;
    height: 23.3333333vw;
    background: url(../img/s14_ribbon.png) no-repeat;
    background-size: cover
}
.s14 .box dt {
    font-weight: 700;
    padding: .5rem 0;
    border-top: 1px solid #1A568A;
    border-bottom: 1px solid #1A568A;
    margin-bottom: 1rem
}
.s14 .box dd {
    margin-bottom: 2rem
}
.s14 .box li {
    font-size: .875rem;
    text-indent: -1rem;
    margin-left: 1rem
}
.s14 .ribbon-box h4 {
    font-size: 1.375rem
}
.s14 .ribbon-box dt {
    font-weight: 700;
    margin: 0 auto .5rem
}
.s14 .ribbon-box dd {
    font-size: .875rem;
    margin-bottom: 1rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #F4F4F4
}
.s14 .ribbon-box li {
    padding-left: 1.5rem;
    position: relative
}
.s14 .ribbon-box li:before {
    content: "?";
    color: #1A568A;
    position: absolute;
    left: 0;
    top: 0
}
.s14 .ribbon-box p {
    font-size: .875rem;
    margin: 1.5rem 0 0
}
@media (min-width:769px) {
    .s14 {
        background: url(../img/s14_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s14 h3 {
        font-size: 34px;
        margin-bottom: 4rem
    }
    .s14 h3.lined span {
        font-size: 34px
    }
    .s14 .lead {
        font-size: 1rem;
        margin-bottom: 4rem
    }
    .s14 .arrow, .s14 .arrow img {
        width: 138px;
        height: 28px
    }
    .s14 .box, .s14 .ribbon-box {
        background: #fff;
        padding: 40px 60px;
        max-width: 800px;
        margin: 0 auto 4rem
    }
    .s14 .ribbon-box {
        margin: 2rem auto
    }
    .s14 .ribbon-box:after {
        left: -25px;
        top: -6px;
        width: 238px;
        height: 106px
    }
    .s14 .box dt {
        font-size: 22px
    }
    .s14 .box dd {
        margin-bottom: 2rem
    }
    .s14 .box ul {
        margin: 40px
    }
    .s14 .box li {
        font-size: 1rem;
        text-indent: -1rem;
        margin-left: 1rem
    }
    .s14 .ribbon-box h4 {
        font-size: 30px
    }
    .s14 .ribbon-box dd {
        font-size: 1rem
    }
    .s14 .ribbon-box p {
        font-size: 1rem;
        margin: 1.5rem 0 0
    }
    .s14 .ribbon-box dl {
        position: relative
    }
    .s14 .ribbon-box dl dt {
        position: absolute;
        left: 0;
        top: 0
    }
    .s14 .ribbon-box dl dd {
        padding-left: 100px
    }
}
.s15 {
    background: url(../img/s15_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s15 .lined_bg span {
    background: #fff
}
.s15 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s15 figure {
    position: relative;
    margin-top: 30vw;
    margin-bottom: 2rem
}
.s15 figure img.photo {
    display: block;
    position: absolute;
    max-width: 54.9333333vw;
    top: -20vw;
    left: -2.5vw
}
.s15 figcaption {
    background: #fff;
    padding: 45vw 1rem 1rem;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.s15 figcaption dl {
    border-bottom: 1px solid #1A568A;
    padding-bottom: .5rem;
    margin-bottom: .5rem
}
.s15 figcaption dt {
    font-size: 1.625rem;
    font-weight: 700
}
.s15 figcaption dd {
    font-size: .875rem
}
.s15 figcaption p {
    font-size: .875rem;
    margin: 0 auto 1.5rem
}
.s15 .arrow {
    width: 35.4666667vw;
    height: 7.4666667vw
}
.s15 .box {
    background: #DCF0F8;
    padding: 2rem 1rem;
    margin: 2rem auto;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .16)
}
.s15 .box h3 {
    font-size: 1.625rem
}
.s15 h3.lined span {
    border-bottom: 1px solid #1A568A;
    font-size: 1.625rem;
    padding-bottom: .5rem
}
.s15 .box ul li {
    margin: 0 0 1rem 2rem;
    position: relative;
    font-weight: 700;
    font-size: .875rem
}
.s15 .box ul li:before {
    display: block;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/icon_check.png) no-repeat;
    background-size: cover;
    position: absolute;
    left: -2rem;
    top: .25rem
}
@media (min-width:769px) {
    .s15 {
        background: url(../img/s15_bg_pc.png) top repeat-y;
        background-size: cover;
        padding: 100px 0
    }
    .s15 h3 {
        font-size: 34px;
        margin-bottom: 4rem
    }
    .s15 figure {
        position: relative;
        margin-top: 100px;
        margin-bottom: 2rem
    }
    .s15 figure img.photo {
        max-width: 400px;
        top: -60px;
        left: 0
    }
    .s15 figcaption {
        padding: 60px 40px 60px 320px;
        margin-left: 120px;
        max-width: 877px;
        width: 90%
    }
    .s15 figcaption dl {
        border-bottom: 1px solid #1A568A;
        padding-bottom: .5rem;
        padding-left: 100px;
        margin-bottom: 2rem;
        margin-left: -100px
    }
    .s15 figcaption dt {
        font-size: 36px
    }
    .s15 figcaption dd {
        font-size: 14px
    }
    .s15 figcaption p {
        font-size: 14px
    }
    .s15 figcaption p.btn {
        margin: 2rem auto 0
    }
    .s15 .arrow, .s15 .arrow img {
        width: 133px;
        height: 28px
    }
    .s15 .box {
        background: #DCF0F8;
        padding: 60px 180px
    }
    .s15 .box h3 {
        font-size: 34px
    }
    .s15 h3.lined span {
        border-bottom: 1px solid #1A568A;
        font-size: 1.625rem;
        padding-bottom: .5rem
    }
    .s15 .box ul li {
        margin: 0 0 1rem 2rem;
        position: relative;
        font-weight: 700;
        font-size: .875rem
    }
    .s15 .box ul li:before {
        display: block;
        content: "";
        width: 1.5rem;
        height: 1.5rem;
        background: url(../img/icon_check.png) no-repeat;
        background-size: cover;
        position: absolute;
        left: -2rem;
        top: .25rem
    }
}
.s16 {
    background: url(../img/s16_bg_sp.png) top no-repeat;
    background-size: cover;
    padding: 10vw 0
}
.s16 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s16 li {
    margin-bottom: 2rem
}
.s16 figcaption dt {
    display: block;
    font-size: 1.125rem;
    padding: .75rem 1rem;
    background: #1A568A;
    color: #fff;
    margin: 1rem auto .5rem 0;
    max-width: 80%;
    line-height: 1.25
}
.s16 li:nth-child(2n) figcaption dt {
    margin: 1rem 0 .5rem auto;
    text-align: right
}
.s16 figcaption dd {
    margin: 0 1rem
}
@media (min-width:769px) {
    .s16 {
        background: url(../img/s16_bg_pc.png) top no-repeat;
        background-size: cover;
        padding: 100px 0
    }
    .s16 h3 {
        font-size: 34px;
        margin-bottom: 4rem
    }
    .s16 li {
        margin-bottom: 4rem
    }
    .s16 figure {
        display: flex;
        align-items: flex-end;
        justify-content: space-around
    }
    .s16 figure img {
        max-width: 480px;
        flex-basis: 48%
    }
    .s16 li:nth-child(2n) figure {
        flex-direction: row-reverse
    }
    .s16 figcaption {
        flex-basis: 48%;
        margin: 2rem
    }
    .s16 figcaption dt {
        font-size: 18px;
        max-width: 360px
    }
    .s16 li:nth-child(2n) figcaption {
        text-align: right
    }
    .s16 figcaption dd {
        margin: 0 1rem
    }
}
.s17 {
    background: #fff url(../img/s17_bg_sp.png) bottom no-repeat;
    background-size: contain;
    padding: 10vw 0
}
.s17 .lined_bg span {
    background: #fff
}
.s17 h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.s17 ul.book {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center
}
.s17 ul.book li {
    flex-basis: 33%;
    margin-bottom: 3rem
}
.s17 .bnr li {
    margin-bottom: 2rem
}
.s17 .box {
    border: 3px solid #F4C661;
    background: #fff;
    margin-bottom: 2rem
}
.s17 .box h4 {
    font-size: 1.375rem;
    padding: 1rem 0;
    border-bottom: 3px solid #F4C661;
    text-shadow: 0 0 10px rgba(208, 180, 28, .16)
}
.s17 figure {
    margin: 1rem
}
.s17 figcaption {
    font-size: .875rem;
    margin: 1rem auto 2rem
}
.s17 .arrow {
    width: 35.4666667vw;
    height: 7.4666667vw
}
@media (min-width:769px) {
    .s17 {
        background: #fff url(../img/s17_bg_pc.png) bottom no-repeat;
        background-size: contain;
        padding: 100px 0
    }
    .s17 h3 {
        font-size: 34px;
        margin-bottom: 4rem
    }
    .s17 ul.book li {
        flex-basis: 24%;
        margin-bottom: 4rem
    }
    .s17 .bnr {
        display: flex;
        justify-content: space-between
    }
    .s17 .bnr li {
        margin-bottom: 4rem
    }
    .s17 li img {
        max-height: 372px
    }
    .s17 .box {
        border: 8px solid #F4C661;
        background: #fff;
        margin-bottom: 4rem
    }
    .s17 .box h4 {
        font-size: 34px;
        border-bottom-width: 8px
    }
    .s17 .box figure.photo {
        margin: 60px 40px;
        display: flex;
        align-items: center
    }
    .s17 .box figure.center img {
        text-align: center;
        margin: 0 auto 2rem
    }
    .s17 .box figure.photo img {
        max-width: 473px
    }
    .s17 figcaption {
        font-size: 14px;
        margin: 1rem auto 2rem
    }
    .s17 .arrow, .s17 .arrow img {
        width: 133px;
        height: 28px
    }
}
.faq {
    padding: 10vw 0
}
.faq .lined_bg span {
    background: #fff
}
.faq h3 {
    font-size: 1.625rem;
    margin-bottom: 2rem
}
.faq dl {
    margin-bottom: 2rem
}
.faq dt {
    cursor: pointer;
    font-weight: 700;
    position: relative;
    padding: 2rem 2.5rem;
    border-bottom: 2px solid #F4F4F4
}
.faq dt.open {
    border-bottom: none
}
.faq dd {
    border-bottom: 2px solid #F4F4F4;
    padding: 0 2.5rem 2rem 2.5rem;
    position: relative
}
.faq dt:before, .faq dd:before {
    display: inline-block;
    font-family: "Arial";
    font-weight: 700;
    font-size: 2.125rem;
    position: absolute;
    left: 0
}
.faq dt:after {
    display: inline-block;
    content: "";
    width: 2.125rem;
    height: 2.125rem;
    position: absolute;
    right: 0;
    top: 2rem;
    background: url(../img/faq_arrow_up.png) top no-repeat;
    background-size: cover
}
.faq dt.open:after {
    background: url(../img/faq_arrow_down.png) top no-repeat;
    background-size: cover
}
.faq dt:before {
    content: "Q";
    top: 1rem
}
.faq dd:before {
    content: "A";
    color: #8A1A27;
    left: 0;
    top: -1rem
}
.faq dd a {
    text-decoration: underline
}
.faq dd a:hover {
    text-decoration: none
}
@media (min-width:769px) {
    .faq {
        padding: 100px 0
    }
    .faq h3 {
        font-size: 34px;
        flex-basis: 33%
    }
    .faq .flex_wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 4rem
    }
    .faq dl {
        flex-basis: 65%;
        margin-top: -20px
    }
    .faq dt {
        padding: 40px 80px 40px 60px
    }
    .faq dt.open {
        border-bottom: none
    }
    .faq dd {
        padding: 0 80px 40px 60px
    }
    .faq dd p {
        margin-bottom: 1rem
    }
    .faq dt:before, .faq dd:before {
        font-size: 34px;
        top: 30px
    }
    .faq dd:before {
        top: -10px
    }
    .faq dt:after {
        top: 50px;
        width: 50px;
        height: 50px
    }
    .faq .btn {
        margin: auto -10px
    }
}

footer {
  background: #1A568A;
  color: #fff;
  padding: 2.5vw 0 200px;
  font-size: .75rem;
}
@media (max-width:768px) {
footer {
  background: #1A568A;
  color: #fff;
  padding: 2.5vw 0 130px;
  font-size: .75rem;
}
}

/*==========================================================================*/
/*                             floating banner                                      */
/*==========================================================================*/
.float_btn {
  position: fixed;
  bottom: -200px;
  background: rgba(255, 255, 255, 0.6);
  left: 0;
  width: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all ease 0.3s;
  z-index: 99;
}

.float_btn a {
  display: inline-block;
}

.float_btn.active {
  bottom: 0;
}


@media (max-width:768px) {
.float_btn{
	padding: 5px;
	padding-bottom: 3px;
}	
}