@charset "utf-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    font-size: 100%;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    margin: 0;
    padding: 0;
}

body {
    line-height: 1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

a {
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    margin: 0;
    padding: 0;
}

ins {
    color: #000;
    text-decoration: none;
    background-color: #ff9;
}

mark {
    color: #000;
    font-style: italic;
    font-weight: bold;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

input, select, textarea, img, th, td {
    vertical-align: middle;
}

ul, dl, ol {
    list-style: none;
}


* {
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 18px;
    color: #333;
    line-height: 1.75;
    background: #fff;
    -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 750px) {

body {
    font-size: 3.2vw;
}

}

h1, h2, h3, h4, h5, h6, th {
    font-weight: normal;
}

a {
    color: #333;
    text-decoration: underline;
    transition-duration: .3s;
}

img, video, object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
    transition-duration: .3s;
}

table {
    table-layout:fixed;
}

table th,
table td {
    vertical-align: middle;
}


.wrap {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

.wrap:after {
    content: "";
    display: block;
    clear: both;
}

@media screen and (max-width: 750px) {
    .wrap {
        width: 100%;
    }
}



.dispSP {
    display: none!important;
}

@media screen and (max-width: 750px) {

    .dispSP {
        display: block!important;
    }

    .dispPC {
        display: none!important;
    }

}



.hl-01 {
    font-size: 38px;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.hl-02 {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.hl-03 {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
}


@media screen and (max-width: 750px) {

    .hl-01 {
        font-size: 6vw;
    }

    .hl-02 {
        font-size: 3.2vw;
    }

    .hl-03 {
        font-size: 4vw;
    }

}



#mainVisual {
    height: 910px;
    background-image: url(../img/mainvisual-bg_02.png), url(../img/mainvisual-bg_01.png), url(../img/bg-dot.png);
    background-repeat: no-repeat, no-repeat, repeat;
    background-size: auto, cover, auto;
    background-position: center bottom, center top;
    overflow: hidden;
}

.img03 #mainVisual {
    background-image: url(../img/mainvisual-bg_03.png), url(../img/mainvisual-bg_01_03.png), url(../img/bg-dot.png);
}
.img04 #mainVisual {
    height: 750px;
    background-image: url(../img/mainvisual-bg_04.png), url(../img/mainvisual-bg_01_04.png);
    background-repeat: no-repeat, no-repeat;
    background-size: auto, cover;
    background-position: right bottom, right top;
}
.img05 #mainVisual {
    height: 750px;
    background-image: url(../img/mainvisual-bg_05.png), url(../img/mainvisual-bg_01_05.png);
    background-repeat: no-repeat, no-repeat;
    background-size: auto, cover;
    background-position: center bottom, center top;
}
.img06 #mainVisual {
    height: 750px;
    background-image: url(../img/mainvisual-bg_06.png), url(../img/mainvisual-bg_01_06.png);
    background-repeat: no-repeat, no-repeat;
    background-size: auto, cover;
    background-position: center bottom, center top;
}

#mainVisual h1 {
    width: 200px;
    margin: 20px 0 0;
}

#mainVisual .copy {
    text-align: right;
    margin: 30px 0;
}

#mainVisual .image {
    text-align: right;
}

.img04 #mainVisual .copy {
    text-align: left;
}

.img04 #mainVisual .note {
    color: #333;
    margin: -120px 490px 0 0;
    letter-spacing: -0.7px;
}

.img05 #mainVisual .copy, .img06 #mainVisual .copy{
    margin: 50px 270px 0 0;
}

.img05 #mainVisual .note, .img06 #mainVisual .note {
    color: #fff;
    text-align: left;
    margin: 20px 320px 0 0;
}

#mainVisual .note {
    color: #999;
    font-size: 12px;
    margin: 20px 0 0 320px;
}

@media screen and (max-width: 750px) {
    #mainVisual {
        height: auto;
        background-image: url(../img/mainvisual-bg_01.png), url(../img/bg-dot.png);
        background-repeat: no-repeat, repeat;
        background-size: cover, auto;
        background-position: center bottom, center top;
        padding: 0 0 60px;
    }
    .img03 #mainVisual {
        background-image: url(../img/mainvisual-bg_01_03.png), url(../img/bg-dot.png);
    }
    .img04 #mainVisual {
        height: auto;
        background: #edede6;
        background-image: unset;
        padding: 0;
    }
    .img05 #mainVisual, .img06 #mainVisual {
        height: auto;
        background-image: url(../img/mainvisual-sp-bg_05.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right top;
        padding: 0;
    }
    .img04 #mainVisual .note {
        margin: -105px 10px 10px;
        line-height: 1.3;
    }
    .img04 #mainVisual h1 {
        margin: 20px auto 40px;
    }

    #mainVisual h1 {
        margin: 20px;
    }

    .img05 #mainVisual h1, .img06 #mainVisual h1 {
        margin: 20px auto 0;
    }

    #mainVisual .note {
        font-size: 10px;
        margin: 20px 20px 0;
    }

    .img05 #mainVisual .note, .img06 #mainVisual .note {
        color: #999;
        padding: 0 0 10px;
        margin: 5px 20px 0;


    }

}




.cta {
    background-color: #198fcf;
    padding-top: 33px;
}

.cta .inner {
    position: relative;
}


.ctaBg {
    display: block;
    margin: 0 auto;
    width: 89.8%;
}

.cta a {
    display: block;
    position: absolute;
}
.cta a img {
    width: 100%;
}

.cta .present {
    top: 17%;
    left: 27%;
    width: 39.5%;
    cursor: pointer;
}
.cta .cashback {
    top: 20%;
    right: 4%;
    width: 32.3%;
    cursor: pointer;
}

.cta .triangleBottom {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 98%;
    width: 8%;
}


.campaign-modal{
    padding: 50px 5%;
    min-height: auto;
}
.campaign-modal h3{
    max-width: 800px;
    padding: .2em 0;
    margin: 0 auto;
    background: #eee;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 10px;
}
.campaign-modal img{
    width: 100%;
    max-width: 600px;
    margin: 1em 0 2em;
}
.campaign-modal p{
    margin: 0 0 1em 0;
    text-align: left;
}
.campaign-modal .campaign-table{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border: 1px solid #ddd;
    text-align: left;
}
.campaign-modal .campaign-table th{
    width: 20%;
    background: #eee;
    border: 1px solid #ddd;
    text-align: center;
}
.campaign-modal .campaign-table td{
    border: 1px solid #ddd;
    padding: 10px 20px;
}

.cta ul {
    display: flex;
    width: 100%;
    position: absolute;
    top: 320px;
    left: 0;
}

.cta ul li {
    flex: 1;
    text-align: center;
    margin: 10px;
}

.cta ul li a {
    display: block;
    padding: 10px;
    border-radius: 100px;
}

.cta ul li:first-child a {
    border: 5px solid #ffb050;
    background: #ff9f29;
}

.cta ul li:first-child a:hover {
    border: 5px solid #e89447;
    background: #e37d1e;
}

.cta ul li:last-child a {
    border: 5px solid #47cda1;
    background: #1fc28c;
}

.cta ul li:last-child a:hover {
    border: 5px solid #37b494;
    background: #0ba37d;
}

.cta ul li img {
    height: 75px;
}

@media screen and (max-width: 750px) {
    .cta {
        background: url(../img/cta-bg_01.png) repeat-y 90% top #198fcf;
        background-size: 100%;
    }

    .cta .wrap {
        overflow: hidden;
        height: auto;
        background: none;
        padding: 20px 0;
    }

    .cta .campaign-01 {
        width: 55%;
        height: auto;
        position: absolute;
        top: 10%;
        left: auto;
        right: 4%;
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    .cta .campaign-02 {
        width: 53%;
        height: auto;
        position: absolute;
        top: 38%;
        right: 6%;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .cta .dispSP {
        width: 46%;
        position: relative;
        z-index: 99;
    }

    .cta ul {
        flex-direction: column;
        margin: -60px 0 0;
        position: relative;
        top: 0;
        left: 0;
        z-index: 999;
    }

    .cta ul li {
        flex: 1;
        text-align: center;
        margin: 10px;
    }

    .cta ul li img {
        height: 54px;
    }

}



.slider-01,
.slider-02,
.slider-03,
.slider-04 {
    width: 100%;
    margin: 60px 0 0;
}

.slick-slide {
    margin-right: 2vw!important;
    margin-left: 2vw!important;
}

.slick-arrow_prev,
.slick-arrow_next {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    transition: .3s;
}

.slick-prev.slick-disabled,
.slick-next.slick-disabled {
    opacity: 0;
    visibility: hidden;
}

.slider-01 .slick-arrow_prev,
.slider-01 .slick-arrow_next,
.slider-03 .slick-arrow_prev,
.slider-03 .slick-arrow_next {
    background: #54bbe8;
}

.slider-02 .slick-arrow_prev,
.slider-02 .slick-arrow_next,
.slider-04 .slick-arrow_prev,
.slider-04 .slick-arrow_next {
    background: #f08e89;
}

.slick-arrow_prev {
    left: 50%;
    margin: 0 0 0 -525px;
}

.slick-arrow_next {
    right: 50%;
    margin: 0 -525px 0 0;
}

.panel {
    width: 1000px !important;
    height: 820px;
    outline: 1px solid #333;
    outline-offset: -5px;
    background: #fff;
    margin: 10px auto;
    border-radius: 10px;
    padding: 40px;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
}

.panel img {
    display: block;
    margin: 0 auto;
}

.panel ul {
    display: flex;
    margin: 40px -10px 0;
}

.panel ul li {
    flex: 1;
    padding: 0 20px;
}

.panel ul li a {
    display: block;
    color: #fff;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    border: 5px solid #43ace2;
    background: #54bbe8;
    padding: 6px 0;
    border-radius: 30px;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
}

.slider-01 .panel ul li a,
.slider-03 .panel ul li a {
    border: 5px solid #43ace2;
    background: #54bbe8;
}

.slider-02 .panel ul li a,
.slider-04 .panel ul li a,
.slider-01 .panel_mom ul li a {
    border: 5px solid #ea746e;
    background: #f08e89;
}

.panel ul li a:hover {
    opacity: .8;
}

.attention {
    color: #999;
    font-size: 12px;
}

.remodal .head {
    background-image: url(../img/wave-bg-top_04.png), url(../img/flag-bg_01.png), url(../img/flag-bg_02.png);
    background-repeat: repeat-x, no-repeat, no-repeat;
    background-position: center bottom, 10% top, 90% top;
    padding: 60px 0;
}

.blue .head {
    background-color: #d4effa;
}

.orange .head {
    background-color: #ffe6e5;
}

.remodal .head .subTitle img {
    width: 251px;
}

.remodal .head h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 20px 0 0;
}

.remodal .body {
    width: 800px;
    margin: 0 auto;
}

.remodal .body .photo {
    margin: 40px auto;
}

.remodal .body .photo .mainImage {
    border-radius: 10px;
    overflow: hidden;
}

.remodal .body .photo ul {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 10px -5px 0;
}

.remodal .body .photo ul li {
    width: 12.5%;
    padding: 5px;
}

.remodal .body .photo ul li img {
    border-radius: 10px;
}

.remodal .body table {
    width: 100%;
}

.remodal .body table th,
.remodal .body table td {
    vertical-align: top;
    border-bottom: 1px dashed #ccc;
    padding: 1em;
}

.remodal .body table th {
    width: 30%;
}

.remodal .body table th span {
    display: block;
    width: 96%;
    font-weight: 600;
}

.blue .body table th span {
    background: #d4effa;
}

.orange .body table th span {
    background: #ffe6e5;
}

.remodal .body table td {
    width: 70%;
    text-align: left;
}

.remodal .body table td span {
    vertical-align: top;
    font-size: 12px;
    margin: 0 0 0 10px;
    color: #aaa;
}

.remodal .body table td ul {
    list-style: circle;
    margin: 0 0 0 1.5em;
}

.remodal .body .modalCta {
    margin: 40px 0;
}

.remodal .body .modalCta a {
    display: block;
    width: 500px;
    color: #fff;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
    padding: 6px 0;
    border-radius: 30px;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
}

.blue .body .modalCta a {
    border: 5px solid #43ace2;
    background: #54bbe8;
}

.orange .body .modalCta a {
    border: 5px solid #ea746e;
    background: #f08e89;
}

.remodal .body .modalCta a:hover {
    opacity: .8;
}

.remodal .note {
    width: 920px;
    color: #999;
    font-size: 12px;
    text-align: left;
    margin: 10px auto;
}

.remodal .head p span {
    color: #f00;
    font-weight: bold;
    display: block;
    text-align: center;
}


@media screen and (max-width: 750px) {

    #section01 {
        background-image: url(../img/wave-bg-top_00.png), url(../img/section01-bg_01.png);
        background-repeat: repeat-x, repeat;
        background-size: auto, cover;
        background-position: center bottom, center top;
        background-size: 64%, 160%;
        background-color: #d4effa;
        padding: 40px 0 0;
        overflow: hidden;
    }

    #section01 .hl-01,
    #section01 .hl-02 {
        text-align: center;
    }

    #section01 .hl-02 {
        margin: 10px 0;
    }

    #section01 .hl-02::before {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_01.png);
        margin: 0 14px 0 0;
        position: relative;
        top: 3px;
    }

    #section01 .hl-02::after {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_02.png);
        margin: 0 0 0 14px;
        position: relative;
        top: 3px;
    }

    #section01 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section01 .st-01 img {
        width: auto;
        height: 14px;
    }

    #section01 .st-02 img {
        width: auto;
        height: 14px;
    }

    #section01 .top {
        margin: 40px 0;
    }

    #section01 .top .image {
        margin: 40px 10px 0;

    }

    #section01 .middle {
        margin: 40px 0;
    }

    #section01 .middle .talk {
        width: 200px;
        margin: 0 0 10px 10px;
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    #section01 .middle .button {
        width: auto;
        margin: 30px 10px 0;
    }

    #section01 .middle .button a {
        display: block;
        border: 5px solid #43ace2;
        background: #54bbe8;
        padding: 10px 0;
        border-radius: 100px;
        box-shadow: 0 3px 5px rgba(0,0,0,.2);
        position: relative;
    }

    #section01 .middle .button a:hover {
        border: 5px solid #368ab5;
        background: #4396ba;
    }

    #section01 .middle .button a .mock {
        width: 60px;
        height: auto;
        position: absolute;
        top: 0;
        right: 0;
    }

    #section01 .note {
        font-size: 10px;
        margin: 20px auto 0;
    }

    #section01 .bottom {
        margin: 40px 0;
    }

    .slider-01,
    .slider-02,
    .slider-03,
    .slider-04 {
        width: 100%;
        margin: 40px 0 0;
    }

    .slick-slide {
        margin-right: 2vw!important;
        margin-left: 2vw!important;
    }

    .slick-arrow_prev,
    .slick-arrow_next {
        width: 70px;
        height: 70px;
        line-height: 70px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: #fff;
        font-size: 36px;
        cursor: pointer;
        z-index: 10;
        border-radius: 50%;
        padding: 0 20px;
    }

    .slick-arrow_prev {
        left: -30px;
        text-align: right;
        margin: 0;
    }

    .slick-arrow_next {
        right: -30px;
        text-align: left;
        margin: 0;
    }

    .panel {
        width: 100% !important;
        height: auto;
        margin: 10px auto;
        border-radius: 10px;
        padding: 20px;
    }

    .panel ul {
        display: flex;
        margin: 20px -10px 0;
    }

    .panel ul li {
        flex: 1;
        padding: 0 10px;
    }

    .panel ul li a {
        border: 4px solid #43ace2;
        padding: 6px 0;
        border-radius: 100px;
    }

    .attention {
        font-size: 10px;
        padding: 0 10px;
    }

    .remodal .head {
        background-image: url(../img/wave-bg-top_04.png), url(../img/flag-bg_01.png), url(../img/flag-bg_02.png);
        background-repeat:  repeat-x, no-repeat, no-repeat;
        background-position:  center bottom, left top, right top;
        background-size: 64%, 40%, 40%;
        padding: 40px 20px;
    }

    .remodal .head .subTitle img {
        width: auto;
        height: 14px;
    }

    .remodal .head h3 {
        font-size: 4.6vw;
        margin: 20px 0 0;
    }

    .remodal .head p {
        text-align: left;
    }

    .remodal .body {
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }

    .remodal .body .photo {
        margin: 20px auto;
    }

    .remodal .body .photo ul li {
        width: 25%;
    }

    .remodal .body .photo ul li img {
        border-radius: 10px;
    }

    .remodal .body table {
        width: 100%;
    }

    .remodal .body table th,
    .remodal .body table td {
        font-size: 2.8vw;
    }

    .remodal .body table th {
        width: 30%;
    }

    .remodal .body table th span {
        width: 98%;
    }

    .remodal .body .modalCta {
        margin: 20px 0;
    }

    .remodal .body .modalCta a {
        width: 100%;
        font-size: 4vw;
        padding: 10px 0;
    }

    .remodal .note {
        width: 100%;
        font-size: 10px;
        margin: 10px 0;
        padding: 0 10px;
    }

}

#section02 {
    overflow: hidden;
    background: url(../img/bg-gray.png);
}

#section02 .wrap {
    height: 350px;
    background-image: url(../img/section02-bg_01.png),url(../img/section02-bg_02.png),url(../img/section02-bg_03.png);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left 20px, right bottom, 60% 40px;
    background-size: auto 110%, 420px, auto;
    padding: 20px 0;
}

#section02 .inner {
    margin: 80px 0 0 300px;
}

#section02 p {
    width: 540px;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
    margin: 20px 0;
}

#section02 p.big {
    width: 450px;
    font-size: 35px;
}

@media screen and (max-width: 750px) {

    #section02 .wrap {
        height: auto;
        background-image: url(../img/section02-bg_01.png),url(../img/section02-bg_02.png),url(../img/section02-bg_03.png);
        background-repeat: no-repeat, no-repeat, no-repeat;
        background-position: -30% bottom, right bottom, 90% 20px;
        background-size: 50%, 75%, 30%;
        padding: 20px 0 100px;
    }

    #section02 .inner {
        margin: 40px 0;
    }

    #section02 p {
        width: 60%;
        color: #fff;
        font-size: 3.2vw;
        line-height: 1.5;
        letter-spacing: 0;
        font-family: 'Zen Maru Gothic', sans-serif;
        margin: 30px 0 0 34%;
    }

    #section02 p.big {
        width: auto;
        font-size: 6vw;
    }


}




#resolve {
    position: relative;
}

#resolve .flexWrap {
    display: flex;
    align-items: center;
}
#resolve .left-img {
    height: 100%;
    max-width: none;
}

#resolve .left {
    position: relative;
    height: 422px;
}
#resolve .left::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 68%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
    position: absolute;
    top: 0;
    right: 0;
}

#resolve .right .inner {
    width: 38vw;
    min-width: 547px;
    position: relative;
}

#resolve .right .inner .hl-03 {
    margin-bottom: 25px;
}

#resolve .right h2 strong {
    font-size: 130%;
}

#resolve .right .icon-01 {
    width: 80px;
    height: 80px;
    position: absolute;
    top: -14%;
    left: -18%;
}

#resolve .right .subTitle {
    text-align: center;
    margin: 20px 0;
}

#resolve .right img {
    width: 400px;
}

#resolve .right .note {
    color: #999;
    font-size: 12px;
    text-align: left;
    margin: 20px 0 0;
}

@media screen and (max-width: 750px) {
    #resolve .flexWrap {
        flex-direction: column;
        min-width: auto;
        padding: 0;
        height: 100%;
    }

    #resolve .left {
        height: auto;
    }

    #resolve .left-img {
        width: 100%;
        height: auto;
        max-width: none;
    }


    #resolve .left::after {
        display: none;
    }

    #resolve .flexWrap > div.right {
        padding: 0 10vw 9vw;
    }

    #resolve .right {
        margin-top: 9.33vw;
    }
    #resolve .right img {
        width: 16vw;
    }
    #resolve .right .inner {
        width: 100%;
        min-width: 0;
    }

    #resolve .right .inner .onayami {
        margin-top: 5vw;
    }


    #resolve .right .icon-01 {
        width: 16vw;
        position: absolute;
        top: -21.33vw;
        left: 50%;
        translate: -50% 0;
    }

    #resolve .right h2 {
        font-size: 5vw!important;
        text-align: center;
    }
    #resolve .right h2 strong {
        display: inline-block;
        margin-top: -1vw;
    }

    #resolve .right h2 br {
        display: none;
    }

    #resolve .right .subTitle img {
        width: auto;
        height: 1.86vw;
    }

    #resolve .right .note {
        font-size: 2.4vw;
        line-height: 1.22;
    }

}


#careful-selection {
    background-image: url(../img/flag-bg_01.png), url(../img/flag-bg_02.png);
    background-repeat: no-repeat;
    background-position: 10% 90px, 90% 90px;
    padding: 120px 0;
    position: relative;
}

#careful-selection::before {
    content: '';
    display: block;
    width: 100%;
    height: 50px;
    background-image: url(../img/wave-bg.png);
    background-repeat: repeat-x;
    background-size: auto 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#careful-selection .hl-01,
#careful-selection .hl-02 {
    text-align: center;
}

#careful-selection .hl-02 {
    margin: 10px 0;
}

#careful-selection .subTitle {
    text-align: center;
    margin: 10px 0 40px;
}

#careful-selection .subTitle img {
    width: 334px;
}

#careful-selection .container {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

#careful-selection .container .image {
    width: 43%;
    padding-left: 3%;
}

#careful-selection .container .text {
    width: 53%;
    padding-right: 0;
    font-size: 20px;
}

#careful-selection .container .text {
    padding-top: 20px;
}

#careful-selection .container .text p.bold {
    font-weight: 600;
    line-height: 2;
    font-size: 22px;
    margin: 50px 0 30px;
}

#careful-selection .container .text p strong {
    font-size: 34px;
    line-height: 1.4;
}

#careful-selection .container .text p.note {
    color: #999;
    font-size: 12px;
}

@media screen and (max-width: 750px) {
    #careful-selection {
        background-image: none;
        padding: 17.33vw 0 8.66vw;
        width: 100vw;
        overflow-x: hidden;
    }

    #careful-selection .flags {
        position: absolute;
        width: 20%;
        top: 9vw;
    }
    #careful-selection .flags.left {
        left: 0;
    }
    #careful-selection .flags.right {
        right: 0;
    }

    #careful-selection .hl-02 {
        margin: 0;
        margin-bottom: 2.26vw;
    }

    #careful-selection .subTitle img {
        width: auto;
        height: 14px;
    }

    #careful-selection .container {
        display: block;
        margin-top: 6.66vw;
    }

    #careful-selection .container .image {
        width: 90%;
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
    #careful-selection .container .image img {
        width: 88.1%;
    }

    #careful-selection .container .text {
        width: 100%;
        padding: 0px;
        font-size: 3.2vw;
    }

    #careful-selection .container .text p {
        width: 81.33%;
        margin: 8vw auto;
        font-size: 3.2vw;
    }

    #careful-selection .container .text p.bold {
        text-align: center;
        font-size: 3.2vw;
        margin: 0 auto;
        width: 100%;
    }

    #careful-selection .container .text p strong {
        font-size: 4vw;
        display: inline-block;
        margin-top: 2vw;
    }

    #careful-selection .container .text p.note {
        width: 92%;
        font-size: 2.4vw;
        line-height: 1.22;
        margin: 5.33vw auto 0;
    }

}

#safety {
    padding: 100px 0 135px;
    background: url(../img/safety-bg_01.png) no-repeat center right;
    background-size: auto 100%;
    background-color: #d4effa;
    position: relative;
}

#safety h2,
#safety h3,
#safety .subTitle,
#safety .image {
    text-align: center;
}

#safety h3 {
    font-size: 28px;
    font-weight: bold;
    font-family: inherit;
}

#safety .subTitle {
    margin: 10px 0 40px;
}

#safety .pfas-care {
    display: block;
    width: 85%;
    margin: 25px auto;
}

#safety .st-01 img {
    width: 384px;
}

#safety .image {
    margin: 20px 0 40px;
}

#safety .text {
    max-width: 910px;
    margin: 20px auto 25px;
    font-size: 20px;
}

#safety .attention {
    max-width: 910px;
    margin: 0 auto 60px;
}


#safety .st-02 img {
    width: 309px;
}

#safety ul {
    display: flex;
    margin: 50px auto 0;
    max-width: 900px;
}

#safety ul li {
    flex: 1;
    margin: 0 15px;
    position: relative;
    text-align: center;
}

#safety ul li h3 {
    font-size: 28px;
    text-align: center;
    font-weight: 600;
    margin-top: 20px;
}

#safety ul li p {
    font-size: 20px;
}

#safety ul li p span {
    font-size: 12px;
    color: #999;
}

@media screen and (max-width: 750px) {

    #safety {
        padding: 8.66vw 5.33vw 12vw;
    }

    #safety h2 {
        font-size: 5.6vw;
        margin-bottom: 6vw;
    }
    #safety h3 {
        font-size: 4vw;
        line-height: 1.8;
    }

    #safety .subTitle {
        margin: 10px 0 40px;
    }

    #safety .image {
        margin: 4vw 0;
    }

    #safety .text {
        width: 89.5%;
        margin: 2.93vw auto 5vw;
        font-size: 3.2vw;
        line-height: 1.8;
    }

    #safety .pfas-care {
        width: 89.5%;
    }

    #safety .attention {
        width: 89.5%;
        padding: 0;
        margin: 0 auto 10vw;
    }

    #safety .st-02 img {
        width: auto;
        height: 14px;
    }

    #safety ul {
        flex-direction: column;
        margin: 0 auto;
        width: 95%;
    }

    #safety ul li {
        position: relative;
        margin: 0;
    }

    #safety ul li h3 {
        font-size: 4vw;
        margin-top: 2.93vw;
    }

    #safety ul li + li {
        margin-top: 8.66vw;
    }


    #safety ul li p{
        text-align: left;
        font-size: 3.2vw;

    }

    #safety ul li p span {
        font-size: 2.4vw;
        line-height: 1.22;
    }

}



#safety .inner {
    width: 620px;
    text-align: center;
}

#safety .hl-02 {
    text-align: center;
    margin: -40px 0 10px;
}

#safety .hl-01 {
    text-align: center;
}

#safety .subTitle {
    text-align: center;
    margin: 20px 0;
}

#safety .subTitle img {
    width: 315px;
}

#safety .note {
    color: #999;
    font-size: 12px;
    text-align: left;
    margin: 40px 0 0;
}

#safety .note p {
    margin: 1em 0;
}

#safety .wave {
    width: 100%;
    height: 40px;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (max-width: 750px) {

    #safety {
        background-image: none;
        background-color: #d4effa;
        position: relative;
    }

    #safety .inner {
        width: 100%;
        text-align: center;
        margin: -40px 0 0;
        padding: 0 20px;

    }

    #safety .hl-02 {
        text-align: center;
        margin: -20px 0 10px;
    }

    #safety .subTitle img {
        width: auto;
        height: 14px;
    }

    #safety .note {
        font-size: 10px;
        margin: 20px 0 0;
    }

    #safety .wave {
        width: 100%;
        height: 30px;
        position: absolute;
        bottom: 0;
        left: 0;
    }

}


#section10 {
    background-image: url(../img/bg-gray.png);
}

#section10 .wrap {
    height: 350px;
    background-image: url(../img/section10-bg_01.png), url(../img/section10-bg_02.png);
    background-repeat: no-repeat, no-repeat;
    background-position: left bottom, right 20px;
    background-size: 36%, 20%;
    padding: 10px;
}

#section10 .inner {
    margin: 0 0 0 370px;
}

#section10 p {
    width: 360px;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
    margin: 20px 0;
}

#section10 p.big {
    width: 450px;
    font-size: 35px;
}

#section10 p.big span {
    font-size: 20px;
}

@media screen and (max-width: 750px) {

    #section10 .wrap {
        height: auto;
        background-image: url(../img/section10-bg_01.png), url(../img/section10-bg_02.png);
        background-repeat: no-repeat, no-repeat;
        background-position: -20% 110%, 120% bottom;
        background-size: 80%, 50%;
        padding: 10px 10px 200px;
    }


    #section10 .inner {
        margin: 0;
    }

    #section10 p {
        width: 64%;
        color: #fff;
        font-size: 3.2vw;
        line-height: 1.5;
        letter-spacing: 0;
        font-family: 'Zen Maru Gothic', sans-serif;
        margin: 20px 10px;
    }

    #section10 p.big {
        width: auto;
        font-size: 6vw;
    }

    #section10 p.big br {
        display: none;
    }

    #section10 p.big span {
        font-size: 3vw;
    }

}


#explanation {
    background-image: url(../img/wave-bg-top_02.png);
    background-repeat: repeat-x;
    background-position: center bottom;
    padding: 100px 0 70px;
}

#explanation .hl-03 {
    font-size: 26px;
    letter-spacing: -.02em;
}

#explanation .hl-02 {
    text-align: center;
    margin: 0 0 10px;
}

#explanation .hl-01 {
    text-align: center;
    margin-bottom: 60px;
}

#explanation .subTitle {
    text-align: center;
    margin: 20px 0;
}

#explanation .subTitle img {
    width: 424px;
}

#explanation .voice {
    width: 90%;
}

#explanation .answer {
    text-align: center;
    margin-top: 33px;
}

#explanation .answer .qa-a {
    width: 73px;
    margin-right: 6px;
    display: inline-block;
    translate: 0 -3px;
}

#explanation ul {
    margin: 60px -15px;
}

#explanation ul li {
    display: flex;
    flex: 1;
    margin: 0 15px;
    width: 90%;
}

#explanation ul li h3 {
    position: relative;
}
#explanation ul li h3::before {
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    text-align: center;
    line-height: 30px;
    background: #54bbe8;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 0;
}

#explanation ul li:nth-of-type(1) h3::before {
    content: "1";
}
#explanation ul li:nth-of-type(2) h3::before {
    content: "2";
}
#explanation ul li:nth-of-type(3) h3::before {
    content: "3";
}

#explanation ul li img {
    width: 23.4%;
    margin: 0px 45px 40px 0;
}

#explanation ul li h3 {
    font-size: 24px;
    text-align: left;
    font-weight: 600;
    padding: 0px 0 10px 45px;
}

#explanation ul li div p {
    font-size: 20px;
    width: calc(55vw - 40px);
    line-height:1.5em;

}

#explanation .bottom {
    background: url(../img/explanation-voice_02.png) no-repeat;
}

#explanation .container {
    width: 92.6%;
    margin-left: auto;
    margin-top: 35px;
}

#explanation .container .left {
    padding-right: 40px;
    float: left;
}

#explanation .container .left img{
    max-width: 230px;
}

#explanation .container .right {
    padding-top: 50px;
    font-size: 20px;
}

#explanation ul li p span {
    font-size: 12px;
    color: #999;
}


@media screen and (max-width: 750px) {

    #explanation {
        background-image: url(../img/wave-bg-top_02.png);
        background-repeat: repeat-x;
        background-position: center bottom;
        background-size: auto 7vw;
        padding: 10vw 0 12vw;
    }

    #explanation .wrap{
        width: 92vw
    }

    #explanation .hl-01 {
        margin-bottom: 1.3em;
        font-size: 5.6vw;
    }

    #explanation .hl-03 {
        font-size: 4vw;
    }

    #explanation .top {
        background: url(../img/explanation-voice_01.png) no-repeat;
    }

    #explanation .answer {
        text-align: left;
        position: relative;
        margin-top: 4vw;
    }

    #explanation .hl-03 {
        display: flex;
        align-items: flex-end;
        line-height: 1.8;
        gap: 2vw;
    }
    #explanation .hl-03 .qa-a {
        translate: 0 -1.5vw;
        width: 12vw;
    }


    #explanation ul {
        flex-direction: column;
        margin: 5.33vw 0 9.33vw;
    }

    #explanation ul li {
        margin:0;
        width: 100%;
    }

    #explanation ul li h3::before {
        width: 5vw;
        height: 5vw;
        color: #fff;
        font-size: 2.66vw;
        line-height: 5vw;
        background: #54bbe8;
        top: 1px;
    }

    #explanation ul li img {
        display: block;
        width: 30vw;
        height: 30vw;
        margin: 0 6.5vw 6.5vw 0;
    }

    #explanation ul li h3 {
        font-size: 3.2vw;
        text-align: left;
        font-weight: 600;
        padding: 0px 0 10px 6.5vw;
    }

    #explanation ul li div p {
        font-size: 3.2vw;
        width: 100%;
        line-height: 1.8;
    }

    #explanation ul li p {
        margin: 0 0px 20px;
    }

    #explanation .container {
        overflow: hidden;
        margin: 5vw 0 0;
    }

    #explanation .container .left {
        padding: 0px 20px 0 0;
        float: left;
    }

    #explanation .container .left img {
        display: block;
        width: 30vw;
        max-width: 100%;
        max-height: 300px;
    }

    #explanation .container .right {
        width: 100%;
        padding: 0;
        font-size: 3.2vw;
        line-height: 1.8;
    }

    #explanation ul li p span {
        font-size: 2.4vw;
        line-height: 1.22;
        display: inline-block;
    }
    #explanation ul li p .firstAttention {
        margin-top: 1em;
    }
}


#attempt {
    background: #d4effa;
    padding: 90px 0 100px;
}

#attempt .wrap {
    text-align: center;
}

#attempt p {
    font-size: 20px;
    margin: 30px 0 10px;
}
#attempt div p {
    margin: 10px 0;
}
#attempt .hl-02 {
    font-size: 30px;
    letter-spacing: -1px;
    font-family: sans-serif;
    font-weight: bold;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#attempt .wrap img {
    height: 350px;
    margin: 30px 0 10px;
}

#attempt .wrap .bigimg {
    height: 400px;
}


@media screen and (max-width: 750px) {

    #attempt {
        background: #d4effa;
        padding: 8vw 0;
    }

    #attempt .wrap{
        text-align: left;
        width: 82vw;
    }

    #attempt .wrap .hl-01{
        text-align: center;
        font-size: 5.6vw;
        line-height: 1.7em;
    }

    #attempt .wrap .bigimg{
        margin: 2vw 0;
        height: auto;
    }

    #attempt .wrap img{
        height: auto;
        margin: 4vw 0 1.33vw;

    }

    #attempt .wrap .SPmargin{
        margin: 0;
        margin-top: 2vw;
    }

    #attempt p {
        font-size: 3.2vw;
        padding: 0 .66vw;
        line-height: 2;
    }
    #attempt div p {
        margin: 0;
    }

    #attempt .hl-02 {
        font-size: 4vw;
        padding: 0 .66vw;
        line-height: 1.7em;
        margin: 4vw 0;
    }
    #attempt .hl-02 + .hl-02 {
        margin-top: -4vw;
    }

    #attempt .wrap .drinkImage {
        margin-top: 0;
    }
}


.newplan {
    margin: 80px 0 70px;
}
.newplan .hl-01 {
    text-align: center;
    font-size: 20px;
    margin-bottom: 10px;
}
.newplan .hl-02 {
    text-align: center;
    font-size: 38px;
}
.newplan .planContentsWrap {
    position: relative;
}
.newplan .planBg {
    display: block;
    width: 100%;
    margin: 50px -.7% 0;
}
.newplan .planContentsWrap .apply {
    position: absolute;
    bottom: 50px;
    left: 50%;
    translate: -50% 0;
    height: 100px;
    width: 43%;
    display: grid;
    place-items: center;
}
.newplan .apply img {
    width: 80.6%;
    margin: 0;
}
.newplan p {
    text-align: left;
    font-size: 12px;
    color: #999;
}

@media screen and (max-width: 750px) {
    .newplan {
        margin: 6.66vw 0 12vw;
    }
    .newplan .hl-01 {
        font-size: 3.2vw;
        margin-bottom: 3.33vw;
    }
    .newplan .hl-02 {
        font-size: 5.6vw;
        margin-bottom: 8vw;
    }
    .newplan p {
        font-size: 2.4vw;
        line-height: 1.22;
    }
    .newplan .apply {
        height: 18.66vw;
        width: 82.73%;
        bottom: 7.73vw;
    }
    .newplan .apply img {
        width: 80%;
    }
    .newplan .planBg {
        width: 93%;
        margin: 0 auto;
    }
    .newplan p {
        width: 89.33%;
        margin: 4vw auto 0;
    }
    .newplan .planContentsWrap .apply {
        width: 80%;
        bottom: 9vw;
        height: 17vw;
    }
    .newplan .planContentsWrap .apply img {
        width: 82.66%;
    }

}


#section12 {
    position: relative;
}

#section12 .flexWrap {
    display: flex;
    min-width: 1000px;
    height: calc(25vw);
    padding-right:2vw;
}

#section12 .flexWrap > div {
    flex: 1;
    padding: 4.3vw 0 160px;
}

#section12 .flexWrap > li {
    flex: 1;
}

#section12 .left-img {
    background: url(../img/section12-left-bg_01.png) no-repeat;
    background-size: cover;
    background-position:bottom;
    height: calc(25vw);
    width: 96%;
    margin-left: -7%
}

#section12 .left-img::after {
    display: block;
    content: "";
    width: 47%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 68%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
    position: absolute;
    top: 0;
    left: 0;
}

#section12 .right .inner {
    width: 38vw;
    min-width: 547px;
    position: relative;
}

#section12 .right h2 strong {
    font-size: 130%;
}

#section12 .right .icon-01 {
    width: 80px;
    height: 80px;
    position: absolute;
    top: -20px;
    left: -95px;
}

#section12 .right .subTitle {
    text-align: center;
    margin: 20px 0;
}

#section12 .right img {
    width: 400px;
}

#section12 .right .note {
    color: #999;
    font-size: 12px;
    text-align: left;
    margin: 20px 0 0;
}

@media screen and (max-width: 750px) {

    #section12 .flexWrap {
        flex-direction: column;
        min-width: auto;
        padding: 0;
        height: 100%;
    }

    #section12 .flexWrap > li{
        flex: 1;
        padding: 120px 20px 160px;
    }



    #section12 .left{
        background: url(../img/section12-left-bg_01.png) no-repeat;
        background-size: cover;
        margin-left: 0;
        width: 100%;
        margin-bottom: 30px;
    }

    #section12 .left-img {
        visibility: hidden;
        height: 100%;
    }


    #section12 .left::after {
        display: block;
        content: "";
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 68%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
        position: absolute;
        top: -280px;
        left: 0px;
    }

    #section12 .flexWrap > div.right {
        padding: 0 10vw 60px;
    }

    #section12 .right .inner {
        width: 100%;
        min-width: 0;
    }

    #section12 .right .inner .onayami {
        margin-top: 5vw;
    }


    #section12 .right .icon-01 {
        width: 16vw;
        position: absolute;
        top: -90px;
        left: 35vw;
    }

    #section12 .right h2 {
        font-size: 5vw!important;
        text-align: center;
    }

    #section12 .right h2 br {
        display: none;
    }

    #section12 .right .subTitle img {
        width: auto;
        height: 14px;
    }

    #section12 .right .note {
        font-size: 10px;
    }

}


#flow {
    padding: 110px 0 90px;
}

#flow h2 {
    text-align: center;
}

#flow .subTitle {
    text-align: center;
    margin: 0 0 60px;
}

#flow .st-01 img {
    width: 306px;
}

#flow .st-02 img {
    width: 329px;
}

#flow .container {
    margin: 40px 0 140px;
}

#flow ul {
    display: flex;
    margin: 40px -15px;
}

#flow ul li {
    flex: 1;
    margin: 0 15px;
}

#flow ul li h3 {
    text-align: center;
    font-weight: 600;
    padding: 20px 0 10px;
    height:5em;
    display:flex;
    justify-content:center;
    align-items:center;

}

#flow ul li p {
    padding: 0 5px;
}

#flow ul li p span {
    font-size: 12px;
    display: inline-block;
    color: #999;
}


@media screen and (max-width: 750px) {
    #flow {
        padding: 10vw 0 9.33vw;
    }

    #flow h2 {
        text-align: center;
        font-size: 5.6vw;
    }

    #flow .subTitle {
        margin: 1.33vw 0 4vw;
    }

    #flow .st-01 img {
        width: auto;
        height: 1.86vw;
    }

    #flow .st-02 img {
        width: auto;
        height: 1.86vw;
    }

    #flow .container {
        width: 92%;
        margin: 5.33vw auto 10vw;
    }

    #flow ul {
        flex-direction: column;
        margin: 4.66vw auto 0;
        width: 82.66%;
    }

    #flow ul li {
        margin: 0;
    }
    #flow ul li + li {
        margin-top: 8vw;
    }

    #flow ul li h3 {
        font-size: 4vw;
        height: 100%;
    }

    #flow ul li p {
        font-size: 3.2vw;
    }
    #flow ul li p span {
        font-size: 2.4vw;
        display: block;
    }
}



#faq {
    background: #d4effa;
    padding: 80px;
}

#faq h2 {
    text-align: center;
}

#faq .subTitle {
    text-align: center;
    margin: 0 0 60px;
}

#faq .subTitle img {
    width: 430px;
}

#faq dl {
    margin: 20px 0;
}

#faq dt {
    background: #fff;
    padding: 20px 100px;
    border-radius: 15px;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
    position: relative;
    cursor: pointer;
}

#faq dt::after {
    content: "＋";
    display: block;
    width: 21px;
    height: 21px;
    color: #54bbe8;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    line-height: 21px;
    border: 2px solid #54bbe8;
    position: absolute;
    top: 25px;
    right: 40px;
    border-radius: 50%;
}

#faq dt.open::after {
    content: "－";
}

#faq dd {
    display: none;
    padding: 20px 61px 20px 100px;
    position: relative;
}

#faq dd span {
    font-size: 12px;
    color: #999;
    display: inline-block;
}


#faq dt::before,
#faq dd::before {
    display: block;
    width: 40px;
    height: 40px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    position: absolute;
    top: 15px;
    left: 30px;
}

#faq dt::before {
    content: "Q";
    background: #54bbe8;
}


#faq dd::before {
    content: "A";
    background: #198fcf;
    top: 26px;
}

#faq .scroll img{
    margin-top:15px;
}

@media screen and (max-width: 750px) {
    #faq {
        background: #d4effa;
        padding: 8.66vw 0 5.33vw;
    }
    #faq dd span {
        display: inline-block;
        line-height: 1.22;
        font-size: 2.4vw;
    }
    #faq .wrap {
        width: 88%;
    }

    #faq h2 {
        text-align: center;
    }

    #faq .subTitle {
        margin: 10px 0 30px;
    }

    #faq .subTitle img {
        width: auto;
        height: 14px;
    }

    #faq dl {
        margin: 2.66vw 0;
    }
    #faq dl:first-of-type {
        margin-top: 6vw;
    }

    #faq dt {
        background: #fff;
        padding: 2.66vw 10vw;
        padding-left: 14vw;
        border-radius: 15px;
        box-shadow: 0 3px 5px rgba(0,0,0,.2);
        position: relative;
        cursor: pointer;
    }

    #faq dt::after {
        content: "＋";
        display: block;
        width: 4vw;
        height: 4vw;
        color: #54bbe8;
        font-family: 'Montserrat', sans-serif;
        font-size: 2.66vw;
        font-weight: 600;
        text-align: center;
        line-height: 4vw;
        border: 2px solid #54bbe8;
        position: absolute;
        top: 50%;
        right: 2.66vw;
        translate: 0 -50%;
        border-radius: 50%;
    }

    #faq dt.open::after {
        content: "－";
    }

    #faq dd {
        display: none;
        padding: 4.66vw 0;
        padding-left: 14vw;
        position: relative;
    }

    #faq dt::before,
    #faq dd::before {
        display: block;
        width: 8.26vw;
        height: 8.26vw;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-size: 16px;
        text-align: center;
        line-height: 30px;
        border-radius: 50%;
        position: absolute;
        left: 2.933vw;
        font-size: 4vw;
        display: grid;
        place-items: center;
        padding-bottom: .3vw;
        margin: 0;
        box-sizing: border-box;
    }
    
    #faq dt::before {
        content: "Q";
        background-color: #54bbe8;
        top: 50%;
        translate: 0 -50%;
    }


    #faq dd::before {
        content: "A";
        background-color: #198fcf;
        top: 6vw;
    }

    #faq .scroll{
        overflow-x: scroll;
        width: 100% !important;
        height: auto;
        margin-bottom: 0;
        outline-offset: unset;
        padding: 0;
    }

    #faq .scroll img{
        margin-top: 0;
        max-width: 950px !important;
    }


}

#attentions {
    font-size: 14px;
    padding: 80px 0 120px;
    background: url(../img/wave-bg-top_01.png) repeat-x center bottom;
    color: #999;
}

#attentions .wrap{
    width: 66vw;
    margin: 0 auto;
}

#attentions h3 {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    background: #54bbe8;
    border-radius: 30px;
    margin: 20px 0 10px;
    padding: 2px 50px;
}

#attentions ul {
    margin: 0 50px;
}

#attentions ul.asterisk li {
    margin: 5px 0;
    padding: 0 0 0 20px;
    position: relative;
}

#attentions ul.asterisk li::before {
    content: "※";
    position: absolute;
    left: 0;
}

#attentions ul.decimal {
    list-style: decimal;
}

#attentions ul.decimal li {
    list-style: decimal;
    margin: 5px 0 5px 20px;
    padding: 0 0 0 5px;
}

#attentions ul a {
    text-decoration: none;
    color: #999;
}

#attentions p {
    margin: 14px 50px;
}

#attentions p + ul {
    margin: -14px 50px 0;
}

#attentions ul li span,
#attentions p span {
    color: #999;
    display: inline-block;
}

#attentions strong {
    font-weight: 600;
}

#attentions .attention {
    margin: 0 0 0 50px;
}

#attentions h4 {
    color: #333;
    font-size: 18px;
    font-weight: 600;
    background: #eee;
    border-radius: 30px;
    margin: 20px 0 10px;
    padding: 2px 50px;
}
#attentions table{
    width: 85%;
    max-width: 750px;
    margin: 14px 50px;
    border: 1px solid #e0e0e0;
    text-align: center;
}
#attentions table th,
#attentions table td{
    padding: 5px 0;
    border: 1px solid #e0e0e0;
}
#attentions table th{
    width: 20%;
    background: #a2a2a2;
    color: #fff;
  }
#attentions table tr:first-of-type,
#attentions table tr:first-of-type th{
    background: #eee;
}


@media screen and (max-width: 750px) {
    #attentions {
        font-size: 3.2vw;
        background: url(../img/wave-bg-top_01.png) repeat-x center bottom;
        background-size: 64%;
        padding: 0px 3vw 100px;
        line-height: 1.6;
    }

    #attentions .wrap{
        width: 100%;
        margin: 0 0;
    }

    #attentions h3 {
        font-size: 4vw;
        border-radius: 10px;
        padding: .7vw 4vw;
        margin-top: 7.33vw;
    }

    #attentions ul {
        margin: 0 10px;
    }

    #attentions p {
        margin: 2vw;
        margin-bottom: 0;
    }

    #attentions p + ul {
        margin: 1.06vw 3vw 0;
    }

    #attentions .attention {
        margin: 0;
    }
    #attentions .attention {
        font-size: 3.2vw;
    }

    #attentions h4 {
        font-size: 4vw;
        border-radius: 10px;
        padding: 2px 10px;
    }
    #attentions table{
        margin: 0 20px;
    }
    #attentions table th{
        width: 10%;
    }
    #attentions ul.asterisk li {
        padding-left: 7vw;
        margin: 0;
    }
    #attentions ul.asterisk li:not(:first-of-type) {
        margin-top: 2vw;
    }
    #attentions ul.asterisk li::before {
        left: 1.5vw;
    }
    #attentions ul li span, #attentions p span {
        display: inline-block;
        line-height: 1.4;
    }
}


#section16 {
    display: none;
    background-image: url(../img/wave-bg-top_04.png), url(../img/bg-oblique.png);
    background-repeat: repeat-x, repeat;
    background-size: auto, auto;
    background-position: center bottom, center top;
    background-color: #d4effa;
    padding: 80px 0;
}

#section16 .panel{
    height: auto;
    outline: 3px solid #43ace2;
    outline-offset: 0px;
    margin-bottom: 60px;
}
#section16 .panel ul {
    position: relative;
    margin: -60px 0px 0;
    width: 350px;
    left: 600px;
}

#section16 .hl-01,
#section16 .hl-02 {
    text-align: center;
}

#section16 .hl-02 {
    margin: 10px 0;
}

#section16 .hl-02::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_01.png);
    margin: 0 14px 0 0;
    position: relative;
    top: 3px;
}

#section16 .hl-02::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_02.png);
    margin: 0 0 0 14px;
    position: relative;
    top: 3px;
}

#section16 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section16 .st-01 img {
    width: 338px;
}

#section16 .st-02 img {
    width: 373px;
}

#section16 .top {
    margin: 80px 0;
}

#section16 .top .image {
    margin: 60px 0 0;

}

#section16 .note {
    color: #666;
    font-size: 12px;
    margin: 10px auto 0;
}

#section16 .bottom {
    margin: 0px 0;
}

@media screen and (max-width: 750px) {

    #section16 {
        background-image: url(../img/wave-bg-top_04.png), url(../img/bg-oblique.png);
        background-repeat: repeat-x, repeat;
        background-position: center bottom, center top;
        background-size: 64%, auto;
        background-color: #d4effa;
        padding: 40px 0;
        overflow: hidden;
    }

    #section16 .panel{
        width: 94% !important;
        height: auto;
        margin-bottom: 30px;
        outline-offset: unset;
    }

    #section16 .panel ul {
        position: unset;
        margin: 20px 0 0;
        width: 100%;
        right: auto;
    }

    #section16 .hl-01,
    #section16 .hl-02 {
        text-align: center;
    }

    #section16 .hl-02 {
        margin: 10px 0;
    }

    #section16 .hl-02::before {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_01.png);
        margin: 0 14px 0 0;
        position: relative;
        top: 3px;
    }

    #section16 .hl-02::after {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_02.png);
        margin: 0 0 0 14px;
        position: relative;
        top: 3px;
    }

    #section16 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section16 .st-01 img {
        width: auto;
        height: 14px;
    }

    #section16 .st-02 img {
        width: auto;
        height: 14px;
    }

    #section16 .top {
        margin: 40px 0;
    }

    #section16 .top .image {
        margin: 40px 10px 0;

    }

    #section16 .note {
        font-size: 10px;
        margin: 20px auto 0;
    }

    #section16 .bottom {
        margin: 40px 0;
    }

}


#section17 {
    padding: 100px 0 100px;
    background-color: #d4effa;
}

#section17 .panel{
    height: auto;
    outline: 0;
    outline-offset: 0;
    margin: 40px auto 60px;
    background-color: unset;
    border-radius: 0;
    padding: 0;
    box-shadow: unset;
}

#section17 .hl-01,
#section17 .hl-02 {
    text-align: center;
}

#section17 .hl-02 {
    margin: 10px 0;
}

#section17 .hl-02::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_01.png);
    margin: 0 14px 0 0;
    position: relative;
    top: 3px;
}

#section17 .hl-02::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_02.png);
    margin: 0 0 0 14px;
    position: relative;
    top: 3px;
}

#section17 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section17 .subTitle img {
    width: auto;
    height: 17px;
}

#section17 .note {
    color: #666;
    font-size: 12px;
    margin: 10px auto 0;
}

#section17 .bottom {
    margin: 0px 0;
}

@media screen and (max-width: 750px) {

    #section17 {
        background-image: url(../img/wave-bg-top_04.png);
        background-repeat: repeat-x;
        background-position: center bottom;
        background-size: 64%;
        background-color: #d4effa;
        padding: 60px 0 40px;
        overflow: hidden;
    }

    #section17 .panel{
        width: 94% !important;
        height: auto;
        margin-bottom: 30px;
        outline-offset: unset;
    }

    #section17 .panel_scroll{
        overflow-x: scroll;
        width: 100% !important;
        height: auto;
        margin-bottom: 30px;
        outline-offset: unset;
        padding: 0 10px;
    }

    #section17 .panel_scroll img{
        max-width: 540px !important;
    }

    #section17 .hl-01,
    #section17 .hl-02 {
        text-align: center;
    }

    #section17 .hl-02 {
        margin: 10px 0;
    }

    #section17 .hl-02::before {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_01.png);
        margin: 0 14px 0 0;
        position: relative;
        top: 3px;
    }

    #section17 .hl-02::after {
        content: "";
        display: inline-block;
        width: 14px;
        height: 26px;
        background: url(../img/line-hl02-bg_02.png);
        margin: 0 0 0 14px;
        position: relative;
        top: 3px;
    }

    #section17 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section17 .subTitle img {
        width: auto;
        height: 14px;
    }

    #section17 .note {
        font-size: 10px;
        margin: 20px auto 0;
    }

    #section17 .bottom {
        margin: 40px 0;
    }

}


#support {
    background-image: url(../img/bg-oblique.png), url(../img/flag-bg_01.png), url(../img/flag-bg_02.png), url(../img/bg-oblique.png);
    background-repeat: repeat-x, no-repeat, no-repeat, repeat;
    background-position: center bottom, 10% 90px, 90% 90px, center top;
    background-color: #d4effa;
    padding: 120px 0;
}

#support .panel{
    height: auto;
    outline: 3px solid #43ace2;
    outline-offset: 0px;
    margin-bottom: 60px;
}
#support .panel ul {
    position: relative;
    margin: -60px 0px 0;
    width: 350px;
    left: 600px;
}

#support .hl-01,
#support .hl-02,
#support .hl-03 {
    text-align: center;
}

#support .hl-02,
#support .hl-03 {
    margin: 10px 0;
}

#support .hl-02 strong {
    font-size: 34px;
    background:linear-gradient(transparent 60%, #f3c1c2 0%);
}

#support .hl-02 span {
    vertical-align: top;
    font-size: 12px;
}

#support .hl-02::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_01.png);
    margin: 0 14px 0 0;
    position: relative;
    top: 3px;
}

#support .hl-02::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_02.png);
    margin: 0 0 0 14px;
    position: relative;
    top: 3px;
}

#support .icon-01 {
    width: 80px;
    height: 80px;
    position: absolute;
    top: 10px;
    left: 16%;
}

#support .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#support .subTitle img {
    height: 19px;
}

#support .container {
    overflow: hidden;
    padding: 30px 0 0;
}

#support .container .image01 {
    width: 360px;
    padding: 35px 30px 35px 50px;
    float: left;
    border-right: 1px dotted #888;
    margin: 0 0 30px;
}

#support .container .image02 {
    text-align: center;
}

#support .container .image02 img {
    width: 1000px;
}

#support .container .text {
    width: 600px;
    float: right;
}

#support .container .text:last-child {
    width: 600px;
    float: left;
    padding: 60px 0 0;
}

#support .container .text p strong {
    font-size: 26px;
    background:linear-gradient(transparent 60%, #f3c1c2 0%);
}

#support .container .text p span {
    vertical-align: top;
    font-size: 12px;
}

#support .container .text p.note {
    font-size: 12px;
    color: #999;
    margin: 10px auto 0;
    text-align: left;
}

@media screen and (max-width: 750px) {

    #support {
        background-image: none, url(../img/flag-bg_01.png), url(../img/flag-bg_02.png), url(../img/bg-oblique.png);
        background-size: 64%, 36%, 36%, auto;
        background-position: center bottom, -30% 3%, 130% 3%, center top;
        background-color: #d4effa;
        padding: 2.66vw 0 8vw;
    }

    #support .panel{
        width: 94% !important;
        height: auto;
        margin-bottom: 30px;
        outline-offset: unset;
    }

    #support .panel ul {
        position: unset;
        margin: 20px 0 0;
        width: 100%;
        right: auto;
    }

    #support .hl-01,
    #support .hl-02,
    #support .hl-03 {
        text-align: center;
    }

    #support .hl-02 {
        margin: 10px 0;
    }

    #support .hl-03 {
        margin: 35vw 0 10px;
    }

    #support .hl-02 strong {
        font-size: 5.2vw;
        background:linear-gradient(transparent 60%, #f3c1c2 0%);
    }

    #support .hl-02 span {
        vertical-align: baseline;
        display: inline-block;
        translate: 0 -1em;
        font-size: 1em;
    }

    #support .hl-02::before,
    #support .hl-02::after {
        content: '';
        display: inline-block;
        width: 4.26vw;
        height: 8.26vw;
        background-repeat: no-repeat;
        background-size: contain;
    }

    #support .hl-02::before {
        background-image: url(../img/line-hl02-bg_01.png);
        margin-right: 4vw;
    }
    
    #support .hl-02::after {
        background-image: url(../img/line-hl02-bg_02.png);
        margin-left: 4vw;
    }

    #support .icon-01 {
        width: 24vw;
        height: auto;
        position: absolute;
        top: -33vw;
        left: 50%;
        translate: -50% 0
    }
    
    #support .icon-01 img {
        width: 100%;
        height: auto;
    }

    #support .subTitle {
        text-align: center;
        margin: 2.66vw 0 12vw;
    }

    #support .subTitle img {
        width: auto;
        height: 4.13vw;
    }

    #support .container {
        padding: 0;
    }

    #support .container .image01 {
        width: 100%;
        float: none;
        text-align: center;
        margin: 0 auto 12vw;
        padding: 0;
        border: 0;
    }
    #support .container .image01 img {
        width: 69.33%;
    } 

    #support .container .image02 {
        width: 100%;
        float: none;
        margin: 6vw auto 0;
    }
    #support .container .image02 img {
        width: 87.33%;
    }

    #support .container .text,
    #support .container .text:last-child {
        width: 100%;
        float: none;
    }
    #support .container .text:last-child {
        padding-top: 5vw;
    }

    #support .container .text p {
        text-align: center;
    }

    #support .container .text p strong {
        font-size: 5.2vw;
        background:linear-gradient(transparent 60%, #f3c1c2 0%);
    }

    #support .container .text p span {
        vertical-align: baseline;
        font-size: 1em;
        display: inline-block;
        translate: 0 -.8em;
    }

    #support .container .text p.note {
        font-size: 3.2vw;
        color: #666;
        width: 87.33%;
        margin: 40px auto 0;
        text-align: left;
    }

}


#skip-shipping {
    background-color: #d4effa;
    padding: 60px 0 80px;
}

#skip-shipping .panel{
    height: auto;
    outline: 3px solid #43ace2;
    outline-offset: -3px;
    margin-top: 80px;
    margin-bottom: 0;
    position: relative;
}

#skip-shipping .panel div:nth-of-type(1) {
    padding-bottom: 80px;
    width: 90%;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -30%
}

#skip-shipping .panel p{
    margin: 40px 0;
}

#skip-shipping .hl-01,
#skip-shipping .hl-02 {
    text-align: center;
}

#skip-shipping .hl-02 {
    margin: 10px 0;
}


#skip-shipping .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#skip-shipping .subTitle img {
    height: 19px;
}

#skip-shipping .container {
    overflow: hidden;
    padding: 0;
    padding-top: 25px;
    margin-bottom: 95px;
}

#skip-shipping .container .text p {
    margin: 0em 1.5em 1.5rem;
    text-align: center;
}


#skip-shipping .container .text p span {
    vertical-align: top;
    font-size: 12px;
}

#skip-shipping .container .text p.note {
    font-size: 12px;
    color: #999;
    margin: 10px auto 0;
    text-align: center;
}

@media screen and (max-width: 750px) {

    #skip-shipping {
        background-color: #d4effa;
        padding: 9.33vw 0 8vw;
    }

    #skip-shipping .panel {
        width: 89.33% !important;
        height: auto;
        margin-top: 10.66vw;
        margin-bottom: 30px;
        outline-offset: unset;
        position: relative;
        padding: 2.66vw 0 9.6vw;
    }

    #skip-shipping .panel div:nth-of-type(1) {
        width: 96%;
        top: 0;
        left: 50%;
        translate: -50% -35%;
        padding-bottom: 10.66vw;
    }
    #skip-shipping .panel div:nth-of-type(1) img {
        width: 100%;
    }

    #skip-shipping .panel p {
        margin: 7vw auto 3.76vw;
        font-size: 3.2vw;
        width: 89.5%;
    }

    .pauseImage {
        width: 89.55%;
        margin: 0 auto;
    }

    #skip-shipping .hl-01,
    #skip-shipping .hl-02 {
        text-align: center;
    }
    
    #skip-shipping .hl-01 {
        margin-top: -.1em;
        margin-bottom: 3.5vw;
    }
    #skip-shipping .hl-02 {
        margin: 0;
    }

    #skip-shipping .icon-01 {
        width: 80px;
        height: 80px;
        position: absolute;
        top: -100px;
        left: 40%;
    }

    #skip-shipping .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #skip-shipping .subTitle img {
        width: auto;
        height: 14px;
    }

    #skip-shipping .container {
        padding: 0;
        margin-bottom: 6.93vw;
    }

    #skip-shipping .container .text {
        padding: 0 10px 10px;
    }

    #skip-shipping .container .text p {
        width: 82.5%;
        margin: 0 auto;
        text-align: left;
        font-size: 3.2vw;
    }

    #skip-shipping .container .text p span {
        vertical-align: top;
    }

    #skip-shipping .container .text p.note {
        font-size: 2.4vw;
        width: 92%;
        text-align: left;
        line-height: 1.22;
    }

}

#section20 {
    background-image: url(../img/bg-oblique.png);
    background-size: auto;
    background-position: center top;
    background-color: #fff;
    padding: 120px 0 60px;
}

#section20 .panel{
    width: 450px !important;
    height: auto;
    outline: 1px solid #333;
    outline-offset: -5px;
    background-color: #fff;
    box-shadow: 0 3px 5px rgb(0 0 0 / 20%);
    border-radius: 10px;
}

#section20 .panel2{
    height: auto;
    outline: 1px solid #333;
    outline-offset: -5px;
    background-color: #fff;
    padding: 0 60px;
    text-align:center;
    box-shadow: 0 3px 5px rgb(0 0 0 / 20%);
}

#section20 .panel2 img{
    width: auto;
    margin: 50px 0;
}
#section20 .panel2 video{
    width: 270px;
}

#section20 .container > div.panel:nth-child(1){
    float:left;
}

#section20 .container > div.panel:nth-child(2){
    float:right;
}

#section20 .hl-01,
#section20 .hl-02 {
    text-align: center;
}

#section20 .hl-02 {
    margin: 10px 0;
}

#section20 .icon-01 {
    width: 200px;
    position: absolute;
    top: -60px;
    left: 40%;
}

#section20 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section20 .subTitle img {
    height: 19px;
}

#section20 .container {
    overflow: hidden;
    padding: 30px 0 0;
}

#section20 .container .text p span {
    vertical-align: top;
    font-size: 12px;
}

#section20 .container .text p.note {
    font-size: 12px;
    color: #666;
    margin: 10px auto 0;
    text-align: left;
}

#section20 video {
    padding: 30px;
}

@media screen and (max-width: 750px) {

    #section20 {
        background-image: url(../img/bg-oblique.png);
        background-repeat: repeat;
        background-position: center top;
        background-color: #fff;
        padding: 60px 0;
    }

    #section20 .panel,#section20 .panel2{
        width: 94% !important;
        height: auto;
        margin: 0 auto 30px;
        outline-offset: -5px;
        position: relative;
        padding:0;
        box-shadow: 0 3px 5px rgb(0 0 0 / 20%);
        border-radius: 10px;
    }

    #section20 .panel2 img{
        width: auto;
        margin: 20px 0;
    }
    #section20 .panel2 video{
        width: auto;
        padding: 0 50px 10px;
    }
    #section20 .container > div.panel:nth-child(1), #section20 .container > div.panel:nth-child(2){
        float:unset;
    }

    #section20 .hl-01,
    #section20 .hl-02 {
        text-align: center;
    }

    #section20 .hl-02 {
        margin: 10px 0;
    }

    #section20 .icon-01 {
        width: 140px;
        position: absolute;
        top: -40px;
        left: 30%;
    }

    #section20 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section20 .subTitle img {
        width: auto;
        height: 14px;
    }

    #section20 .container {
        padding: 0;
    }

    #section20 .container .text,
    #section20 .container .text:last-child {
        width: 100%;
        float: none;
        padding: 0 20px;
    }

    #section20 .container .text p {
        margin: 1.5em;
        text-align: center;
    }

    #section20 .container .text p span {
        vertical-align: top;
    }

    #section20 .container .text p.note {
        font-size: 10px;
        color: #666;
        margin: 40px auto 0;
        text-align: left;
    }

}


#section21 {
    background-image: url(../img/bg-oblique.png);
    background-repeat: repeat;
    background-position: center bottom;
    padding: 160px 0 100px;

}

#section21 h2,
#section21 h3,
#section21 .subTitle,
#section21 .image {
    text-align: center;
}

#section21 .subTitle {
    margin: 10px 0 20px;
}

#section21 .st-01 img {
    width: 384px;
}

#section21 .image {
    width: 500px;
    float: left;
    padding: 20px 20px 20px 0;
}

#section21 .text {
    width: 500px;
    float: right;
    padding: 20px 0 20px 20px;
}

#section21 .text p.bold {
    font-weight: 600;
    line-height: 2;
    font-size: 1rem;
}
#section21 .text p {
    margin: 1.5em 0;
}

#section21 .st-02 img {
    width: 309px;
}

#section21 ul {
    display: flex;
    margin: 60px -15px;
    clear: both;
    padding: 20px 0 0;
}

#section21 ul li {
    flex: 1;
    margin: 0 15px;
    position: relative;
}

#section21 ul li h3 {
    font-size: 20px;
    text-align: center;
    font-weight: 600;
    padding: 15px 0;
}

#section21 ul li p span {
    font-size: 65%;
}

@media screen and (max-width: 750px) {

    #section21 {
        background-image: url(../img/bg-oblique.png);
        background-size: auto;
        padding: 100px 0 80px;
    }

    #section21 .subTitle {
        margin: 10px 0 40px;
    }

    #section21 .st-01 img {
        width: auto;
        height: 14px;
    }

    #section21 .image {
        margin: 0;
        width: auto;
        float: none;
        padding: 0 20px 0 0;
    }

    #section21 .text {
        width: 94%;
        float: none;
        margin: 0 auto;
        text-align:center;
        padding: 20px 0 20px 0;
        text-align: left;
    }

    #section21 .text p.bold {
        text-align:center;
    }

    #section21 .st-02 img {
        width: auto;
        height: 14px;
    }

    #section21 ul {
        flex-direction: column;
        margin: 0;
        padding: 0;
    }

    #section21 ul li {
        flex: 1;
        margin: 10px 15px;
        position: relative;
    }

    #section21 ul li h3 {
        font-size: 4vw;
        padding: 10px 0;
    }

    #section21 ul li p span {
        font-size: 65%;
    }

}


#section22 {
    background-image: url(../img/wave-bg-top_02.png), url(../img/bg-oblique.png);
    background-repeat: repeat-x, repeat;
    background-position: center bottom, center top;
    padding: 200px 0 100px;
}

#section22 .flag {
    background-image: url(../img/flag-bg_01.png), url(../img/flag-bg_02.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 10% 90px, 90% 90px;
    padding: 120px 0 0;
}

#section22 .panel{
    height: auto;
    outline: 3px solid #43ace2;
    outline-offset: 0px;
    margin-bottom: 60px;
}
#section22 .panel ul {
    position: relative;
    margin: -60px 0px 0;
    width: 350px;
    left: 600px;
}

#section22 .hl-01,
#section22 .hl-02 {
    text-align: center;
}

#section22 .hl-02 {
    margin: 100px 0 0;
    font-size: 38px;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
}

#section22 .hl-02 span {
    vertical-align: top;
    font-size: 12px;
}

#section22 .icon-01 {
    width: 120px;
    height: 120px;
    position: absolute;
    top: -140px;
    left: 47%;
}

#section22 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section22 .subTitle img {
    height: 19px;
}

#section22 .container {
    overflow: hidden;
    padding: 30px 0 0;
}

#section22 .container .image01,
#section22 .container .image02 {
    width: 1000px;
    text-align: center;
    padding: 0 0 20px;
}

#section22 .container .text {
    width: 100%;
    float: right;
}
#section22 .container .text p strong {
    font-size: 26px;
    background:linear-gradient(transparent 60%, #f3c1c2 0%);
}

#section22 .container .text p span {
    vertical-align: top;
    font-size: 12px;
}

#section22 .container .text p.note {
    font-size: 12px;
    color: #666;
    margin: 10px auto 0;
    text-align: left;
}

@media screen and (max-width: 750px) {

    #section22 {
        background-image: url(../img/wave-bg-top_02.png), url(../img/bg-oblique.png);
        background-size: 64%, auto;
        background-position: center bottom, center top;
        padding: 120px 0 60px;
    }

    #section22 .flag{
        background-image: url(../img/flag-bg_01.png), url(../img/flag-bg_02.png);
        background-size: 36%, 36%;
        background-position: -30% 3%, 130% 3%;
        padding: 100px 0 0;
        margin: 30px 0 0;
    }

    #section22 .panel{
        width: 94% !important;
        height: auto;
        margin-bottom: 30px;
        outline-offset: unset;
    }

    #section22 .panel ul {
        position: unset;
        margin: 20px 0 0;
        width: 100%;
        right: auto;
    }

    #section22 .hl-01,
    #section22 .hl-02 {
        text-align: center;
    }

    #section22 .hl-02 {
        font-size: 6vw;
        line-height: 1.5;
        letter-spacing: 0;
        font-family: 'Zen Maru Gothic', sans-serif;
    }

    #section22 .hl-02 {
        margin: 10px 0;
    }

    #section22 .hl-02 span {
        vertical-align: top;
    }

    #section22 .icon-01 {
        width: 80px;
        height: 80px;
        position: absolute;
        top: -100px;
        left: 40%;
    }

    #section22 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section22 .subTitle img {
        width: auto;
        height: 14px;
    }

    #section22 .container {
        padding: 0;
    }

    #section22 .container .image01,
    #section22 .container .image02 {
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }

    #section22 .container .text,
    #section22 .container .text:last-child {
        width: 100%;
        float: none;
        padding: 0 20px;
    }

    #section22 .container .text p {
        margin: 1.5em;
        text-align: center;
    }

    #section22 .container .text p strong {
        font-size: 5.2vw;
        background:linear-gradient(transparent 60%, #f3c1c2 0%);
    }

    #section22 .container .text p span {
        vertical-align: top;
    }

    #section22 .container .text p.note {
        font-size: 10px;
        color: #666;
        margin: 40px auto 0;
        text-align: left;
    }

}


#section23 {
    background-image: url(../img/bg-oblique.png);
    background-repeat: repeat;
    background-position: center bottom;
    padding: 0 0 100px;
}

#section23 .hl-01,
#section23 .hl-02 {
    text-align: center;
}

#section23 .hl-02 {
    margin: 10px 0;
}

#section23 .hl-01 span {
    border-bottom: 4px solid #fff;
}

#section23 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section23 .subTitle img {
    width: 380px;
}

#section23 .image {
    text-align: center;
    margin: 50px 0 0;
}

#section23 .note {
    color: #666;
    font-size: 12px;
}

@media screen and (max-width: 750px) {

    #section23 {
        background-image: url(../img/bg-oblique.png);
        background-size: auto;
        padding: 0px 0 80px;
    }

    #section23 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section23 .subTitle img {
        width: auto;
        height: 14px;
    }

    #section23 .image {
        text-align: center;
        margin: 40px 20px 0;
    }

    #section23 .note {
        font-size: 10px;
        margin:  0 20px;
    }

}

.ptnA {
    display: block;
}
.ptnB {
    display: none;
}


#section26 {
    padding: 60px 0 0;
    background-image: url(../img/section26-bg_02.png), url(../img/section26-bg_03.png);
    background-size: 100%,100%;
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center bottom;
    background-color: #fff;
}

#section26 .panel{
    width: 1000px;
    margin:0 auto;
    height: auto;
    outline: 0;
    outline-offset: 0;
    margin: 40px auto 60px;
    background-color: unset;
    border-radius: 0;
    padding: 0;
    box-shadow: unset;
}

#section26 .hl-01,
#section26 .hl-02 {
    text-align: center;
}

#section26 .hl-02 {
    margin: 10px 0;
}

#section26 .hl-02::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_01.png);
    margin: 0 14px 0 0;
    position: relative;
    top: 3px;
}

#section26 .hl-02::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 26px;
    background: url(../img/line-hl02-bg_02.png);
    margin: 0 0 0 14px;
    position: relative;
    top: 3px;
}

#section26 .subTitle {
    text-align: center;
    margin: 10px 0 20px;
}

#section26 .subTitle img {
    width: auto;
    height: 30px;
}

#section26 .note {
    color: #666;
    font-size: 12px;
    margin: 10px auto 0;
}

#section26 .bottom {
    margin: 0px 0;
}

@media screen and (max-width: 750px) {

    #section26 {
        background-image: url(../img/section26-bg_01.png);
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: top;
        background-color: #fff;
        padding: 60px 0 0px;
        overflow: hidden;
    }

    #section26 .panel{
        width: 100%;
        height: auto;
        outline-offset: unset;
    }

    #section26 .hl-01,
    #section26 .hl-02 {
        text-align: center;
    }

    #section26 .hl-02 {
        margin: 10px 0;
    }

    #section26 .subTitle {
        text-align: center;
        margin: 10px 0 20px;
    }

    #section26 .subTitle img {
        width: auto;
        height: 24px;
    }

    #section26 .note {
        font-size: 10px;
        margin: 20px auto 0;
    }

}


footer {
    color: #fff;
    font-size: 14px;
    text-align: center;
    background: #198fcf;
    padding: 40px 0 80px;
}
footer h2 a {
    display: block;
    color: #fff;
    text-decoration: none;
}
footer h2 img {
    display: block;
    width: 300px;
    margin: 10px auto 0;
}

footer ul {
    display: flex;
    margin: 30px 0;
}

footer ul li {
    flex: 1;
    margin: 0 20px;
}

footer ul li a {
    display: block;
    color: #fff;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 6px 0;
}

footer p {
    color: #7cb5de;
    font-size: 12px;
    padding: 10px;
}

@media screen and (max-width: 750px) {

    footer {
        font-size: 3vw;
    }

    footer h2 img {
        width: 240px;
    }

    footer ul {
        flex-direction: column;
        margin: 30px 0 0;
    }

    footer ul li {
        flex: 1;
        margin: 5px 40px;
    }
    footer ul li a {
        padding: 10px 0;
    }

    footer p {
        color: #7cb5de;
        font-size: 10px;
    }

    #link_conts {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        border: 0 solid #ffb050;
        background: #ff9f29;
        padding: 0;
        z-index: 999;
        margin: 0 auto;
        text-align: center;
        padding: 0;
    }
    #link_conts img{
        width: 85%;
    }
    #link_conts a{
        display: block;
    }

}


@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
    .cc-window .cc-message {
        font-size: 14px !important;
    }
}



.simulater_attention {
    border: 0 !important;
    border-radius: 0 !important;
    color: #666 !important;
    padding: 0 !important;
}
.simulater_wrapper {
    padding: 60px 10px 0 !important;
}
.simulater_apply {
    display: none;
}
.simulater_attention ul li {
    font-weight: normal !important;
    font-size: 12px !important;
}
.simulater_attention ul {
    margin-bottom: 0 !important;
}
.simulater_main {
    margin-bottom: 10px !important;
}

@media screen and (max-width: 750px) {

.simulater_attention ul li {
    font-size: 10px !important;
}

}


#section_campaign {
    background-image: url(../img/bg-dot-camp.png);
    background-repeat: repeat;
    background-position: center top;
    background-size: repeat;
    padding: 0px 0 40px;
}

#section_campaign .hl-01,
#section_campaign .hl-02 {
    text-align: center;
}

#section_campaign .hl-02 {
    margin: 10px 0;
}

#section_campaign .hl-01 span {
    color: #fff100;
}

#section_campaign .hl-01 b {
    font-size: 150%;
}

#section_campaign .image {
    text-align: center;
    margin: 0;
}

@media screen and (max-width: 750px) {

    #section_campaign {
        background-image: url(../img/bg-dot-camp.png);
        background-size: repeat;
        padding: 20px 0;
    }

    #section_campaign .image {
        text-align: center;
        margin: 40px 20px 0;
    }

    #section_campaign .note {
        font-size: 10px;
        margin:  0 20px;
    }

}



.bottom {
  position: relative;
}
.slider-thumbnail-01,
.slider-thumbnail-02,
.slider-thumbnail-03,
.slider-thumbnail-04 {
  position: absolute;
  width: 1000px;
  height: 0px;
  padding: 0;
  top: 3.85vw;
  bottom: 0;
  left: 47vw;
  right: 0; 
  margin: 0 auto;
}
.slider-thumbnail-02,
.slider-thumbnail-04 {
  top: 71vw;
}
.slider-thumbnail-01 .slick-track,
.slider-thumbnail-02 .slick-track,
.slider-thumbnail-03 .slick-track,
.slider-thumbnail-04 .slick-track {
  transform: unset !important;
}
.thumbnail-img img {
  height: 7.5vw;
  filter: brightness(0.5);
}
.slick-current .thumbnail-img img {
  filter: unset;
}
.slider-thumbnail-01 .slick-slide,
.slider-thumbnail-02 .slick-slide,
.slider-thumbnail-03 .slick-slide,
.slider-thumbnail-04 .slick-slide {
    margin-right: 0.1vw!important;
    margin-left: 0.1vw!important;
}

@media screen and (max-width: 750px) {
    .slider-thumbnail-01,
    .slider-thumbnail-02,
    .slider-thumbnail-03,
    .slider-thumbnail-04 {
    position: absolute;
    width: auto;
    height: 0px;
    text-align:  center; 
    padding: 0;
    top: 22.5vw;
    bottom: 0;
    left: 7vw;
    right: 0; 
    margin: 0 auto;
    }
    .slider-thumbnail-02,
    .slider-thumbnail-04 {
    top: 236vw;
    }
    .thumbnail-img img {
    height: 17vw;
    }
    .slider-thumbnail-01 .slick-slide,
    .slider-thumbnail-02 .slick-slide,
    .slider-thumbnail-03 .slick-slide,
    .slider-thumbnail-04 .slick-slide {
        margin-right: 0.3vw!important;
        margin-left: 0.3vw!important;
    }
}


.ribbon {
	padding: 10px 0;
	text-align: center;
}

.ribbon img {
	display: inline;
	width: 70%;
}

@media screen and (max-width: 750px) {
    .ribbon {
        padding: 10px 0;
    }
    .ribbon img {
        width: 100%;
    }
}

.kakaku_ribbon {
  padding: 50px 0;
  text-align: center;
  background: url(../img/banner_bg.png) left top / 100px auto repeat;
  margin: 10px 0;
}

.kakaku_ribbon_head {
	padding: 20px 0;
	background: url(../img/banner_bg.png) left top / 50px auto repeat;
	text-align: center;
}

.kakaku_ribbon_head img {
	max-height: 50px;
}

@media screen and (max-width: 750px) {

    .kakaku_ribbon {
        padding: 10px 0;
        background: url(../img/banner_bg.png) left top / 100px auto repeat;
    }

    .kakaku_ribbon_head {
        padding: 10px 20px;
        background: url(../img/banner_bg.png) left top / 50px auto repeat;
        text-align: center;
    }

    .kakaku_ribbon_head img {
        width: 100%;
    }
}

.dms_ribbon {
	padding: 10px 0;
	text-align: center;
	background: yellow;
}

.dms_ribbon img {
	display: inline;
	width: 70%;
}

@media screen and (max-width: 750px) {

    .dms_ribbon {
        padding: 10px 0;
        background: yellow;
    }
    .dms_ribbon img {
        width: 100%;
    }

}





.inner {
    width: min(1000px, 100%);
    margin: 0 auto;
}

.firstview {
    background-color: #d4effa;
    padding-top: 90px;
    position: relative;
}
.firstview .inner {
    position: relative;
}
.firstviewLogo {
    position: absolute;
    top: 20px;
    left: 0;
    translate: 0 -100%;
    width: 330px;
}
.firstviewBg {
    display: block;
    width: 109.6%;
    max-width: none;
    margin: 0 auto;
    translate: -8.8% 0;
}

@media (hover: hover) {
    .firstview .server a {
        transition: .3s;
    }
    .firstview .server a:hover {
        opacity: .8;
    }
}

.firstview .desc {
    font-size: 12px;
    line-height: 1.5;
    color: #999;
    position: absolute;
    bottom: 1.5%;
    right: 0;
    width: 73%;
    font-feature-settings: 'palt';
}

.serverCompares.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    scale: .95;
    width: min(1000px, 95%);
    max-height: 95vh;
    overflow-y: scroll;
    overscroll-behavior-y: none;
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    transition: .2s ease-out;
}
.serverCompares.modal.active {
    opacity: 1;
    visibility: visible;
    scale: 1;
}

.serverCompares .tabs {
    display: flex;
    gap: 17px;
    position: relative;
    z-index: 1;
}
.serverCompares .tabs.top {
    translate: 0 .5px;
}
.serverCompares .tabs.bottom {
    translate: 0 -.5px;
}

.serverCompares.inner {
    position: relative;
}

.serverCompares.inner .tabs::before,
.serverCompares.inner .tabs::after {
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    z-index: 1;
    left: 0;
    box-sizing: border-box;
}

.serverCompares.inner .tabs::before {
    border-right: 4px solid #fff;
    border-left: 4px solid #fff;
    height: 17px;
}
.serverCompares.inner .tabs.top::before {
    bottom: 0;
    translate: 0 100%;
}
.serverCompares.inner .tabs.bottom::before {
    top: 0;
    translate: 0 -100%;
}

.serverCompares.inner .tabs::after {
    height: 4px;
    left: 0;
    background-color: #fff;
    z-index: 0;
}
.serverCompares.inner .tabs.top::after {
    bottom: 0;
}
.serverCompares.inner .tabs.bottom::after {
    top: 0;
}


.serverCompares .tabs li {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 130px;
    padding-bottom: 5px;
    background-color: #b0d3e1;
    transition: .3s;
    cursor: pointer;
    flex: 1;
}
.serverCompares .tabs.top li {
    border-top-right-radius: 12px;
    border-top-left-radius: 12px;
}
.serverCompares .tabs.bottom li {
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px;
}
.serverCompares .tabs li.active {
    background-color: #54bbe8;
}

.serverCompares.inner .tabs.top li,
.serverCompares.inner .tabs.bottom li {
    border: 4px solid #fff;
    position: relative;
    z-index: 1;
}

.serverCompares.inner .tabs.top li {
    border-bottom-width: 0;
}
.serverCompares.inner .tabs.bottom li {
    border-top-width: 0;
}

.serverCompares .tabs li .slim {
    width: 62%;
}
.serverCompares .tabs li .famfit {
    width: 57.8%;
}
.serverCompares .tabs li .amanda {
    width: 62%;
}
.serverCompares .tabs li .amanda-grande {
    width: 63%;
}
.serverCompares .tabs li .aura {
    width: 63.78%;
}

.serverComparesContents {
    background-color: #fff;
    padding: 55px 30px 20px;
    display: none;
    border-top: 17px solid #54bbe8;
    border-bottom: 17px solid #54bbe8;
}

.compareSlick .slick-slide {
    margin-right: 0!important;
    margin-left: 0!important;
}

.serverCompares:not(.modal) .slick-next,
.serverCompares:not(.modal) .slick-prev {
    width: 50px;
    height: 50px;
    z-index: 1;
    top: 48%;
}

.serverCompares:not(.modal) .slick-next.topArrow,
.serverCompares:not(.modal) .slick-prev.topArrow {
    top: 400px;
}

.serverCompares:not(.modal) .slick-next.bottomArrow,
.serverCompares:not(.modal) .slick-prev.bottomArrow {
    top: 1340px;
}

@media screen and (max-width: 750px) {
    .serverCompares:not(.modal) .slick-next.topArrow,
    .serverCompares:not(.modal) .slick-prev.topArrow {
        top: 58.5vw;
    }

    .serverCompares:not(.modal) .slick-next.bottomArrow,
    .serverCompares:not(.modal) .slick-prev.bottomArrow {
        top: 242vw;
    }
}

.serverComparesContents.active {
    display: block;
}

.serverComparesContents .serverComparesHead {
    display: block;
    margin: 0 auto;
}
.serverComparesContents.slim .serverComparesHead {
    width: 72.6%;
}
.serverComparesContents.famfit .serverComparesHead {
    width: 67%;
}
.serverComparesContents.amanda .serverComparesHead {
    width: 59.25%;
}
.serverComparesContents.amanda-grande .serverComparesHead {
    width: 64%;
}
.serverComparesContents.aura .serverComparesHead {
    width: 100%;
}

.serverCompareTables {
    display: block;
    margin: 46px auto 28px;
    width: 81.4%;
}

.serverComparesContents.famfit .serverCompareTables {
    width: 87.2%;
}
.serverComparesContents.amanda-grande .serverCompareTables {
    width: 95.2%;
}
.serverComparesContents.aura .serverCompareTables {
    width: 92.97%;
}

.serverCompareButtons {
    width: 71.51%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal .serverCompareButtons {
    justify-content: space-between;
}
.serverCompareButtons .apply {
    width: 63.4%;
    height: 100px;
    padding-right: 35px;
    padding-left: 30px;
    display: flex;
    align-items: center;
}
.serverCompareButtons .apply img {
    width: 82.6%;
}
.serverCompareButtons .back {
    width: 32.2%;
}
.serverCompareButtons .back img {
    width: 100%;
}
.serverCompareButtons a {
    cursor: pointer;
}


.slickArrows {
    opacity: 0;
    visibility: hidden;
    /* scale: .95; */
}
.slickArrows.active {
    /* scale: 1; */
    opacity: 1;
    visibility: visible;
}

.slick-next.compareModal, .slick-prev.compareModal {
    position: fixed;
    z-index: 10010;
    height: 50px;
    width: auto;
    top: 50%;
    translate: 0 -50%;
}

/* min(1000px, 95%)は .serverCompares.modal の幅 */
.slick-prev.compareModal {
    left: calc((100vw - min(1000px, 95%)) / 2);
    translate: -50% 0;
}
.slick-next.compareModal {
    right: calc((100vw - min(1000px, 95%)) / 2);
    translate: 50% 0;
}

@media screen and (max-width: 750px) {
    .slick-next.compareModal, .slick-prev.compareModal {
        height: 18.66vw;
    }
    .slick-prev.compareModal {
        translate: 0 0;
    }
    .slick-next.compareModal {
        translate: 0 0;
    }
}


@media (hover: hover) {
    .serverCompareButtons a {
        transition: .2s;
    }
    .serverCompareButtons a:hover {
        opacity: .8;
    }
}

@media screen and (max-width: 1000px) {
    .firstview .desc {
        font-size: 1.2vw;
    }
}
@media screen and (max-width: 750px) {
    .serverCompares.modal {
        max-height: 87vh;
    }

    .modal .serverCompareButtons {
        display: block;
    }
    .serverCompareButtons .back {
        display: block;
        width: 68%;
        margin: 6vw auto 0;
    }

    .serverCompares.inner .tabs.top li,
    .serverCompares.inner .tabs.bottom li {
        border-width: 2px;
    }
    .serverCompares.inner .tabs.top li {
        border-bottom-width: 0;
    }
    .serverCompares.inner .tabs.bottom li {
        border-top-width: 0;
    }
    
    .serverCompares.inner .tabs::before {
        border-right: 2px solid #fff;
        border-left: 2px solid #fff;
    }
    .serverCompares.inner .tabs::after {
        height: 2px;
        z-index: 0;
    }
}

.serverCompares .desc {
    font-size: 12px;
    color: #999;
}

.changeView {
    display: block;
    margin: 23px auto;
    width: 67%;
    object-fit: cover;
    border: 1px solid #54bbe8;
    border-radius: 14px;
}
.changeViewList {
    display: flex;
    justify-content: center;
    gap: 13px;
    padding-top: 1px;
}
.changeViewList li {
    width: 124px;
    aspect-ratio: 63 / 42.3;
    cursor: pointer;
}   
.changeViewList li img {
    border-radius: 15px;
    border: 1px solid #54bbe8;
}

@media (hover: hover) {
    .changeViewList li {
        transition: .2s;
    }
    .changeViewList li:hover {
        opacity: .8;
    }
}


.server li {
    position: absolute;
    cursor: pointer;
}
.server li img {
    width: 100%;
}

.server .slim {
    width: 15%;
    top: 54%;
    left: 25.4%;
}
.server .famfit {
    width: 14.4%;
    top: 58.9%;
    left: 40.5%;
}
.server .amadana {
    width: 14.4%;
    top: 52.5%;
    left: 55%;
}
.server .amadana-grande {
    width: 16.5%;
    top: 51%;
    left: 69.5%;
}
.server .aura {
    width: 15.1%;
    top: 56.5%;
    left: 85%;
}


.hoverAnimationButton {
    transition: .3s;
    display: grid;
    place-items: center;
    border-radius: 9999px;
    box-shadow: 0 7px 7px 0px rgba(0, 0, 0, .3);
    position: relative;
}
.hoverAnimationButton.green {
    border: 5px solid #47cda1;
    background-color: #1fc28c;
}
.hoverAnimationButton.orange {
    border: 5px solid #ffb050;
    background-color: #ff9f29;
    place-items: stretch;
    align-items: center;
}
.hoverAnimationButton.green::before {
    background-image: url(../img/button-triangle-icon-green.png);
    left: 17px;
}
.hoverAnimationButton.orange::before {
    background-image: url(../img/button-triangle-icon-orange.png);
    left: 35px;
}
@media (hover: hover) {
    .hoverAnimationButton.green:hover {
        border-color: #37b494;
        background-color: #0ba37d;
    }
    .hoverAnimationButton.orange:hover {
        border-color: #e89447;
        background-color: #e37d1e;
    }
}
@media screen and (max-width: 750px) {
    .hoverAnimationButton.green::before {
        left: 2.33vw;
    }
}

.mask {
    position: fixed;
    inset: 0;
    background-color: rgba(255, 255, 255, .6);
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: .2s ease-out;
}
.mask.active {
    opacity: 1;
    visibility: visible;
}

.modalMenu {
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: #fff;
    border-radius: 12px;
    padding: 47px 40px;
    z-index: 10002;
    width: min(940px, 90%);
    opacity: 0;
    visibility: hidden;
    scale: .95;
    transition: .2s ease-out;
}
.modalMenu.active {
    opacity: 1;
    visibility: visible;
    scale: 1;
}

.modalMenu a {
    cursor: pointer;
}

.modalMenu ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 17px 40px;
}


.modalMenu li:has(.apply-button) {
    padding-top: 10px;
    grid-column: 1 / 3;
}

.modalMenu li a:not(.apply-button) {
    height: 76px;
}


.modalMenu li a:not(.apply-button) img {
    height: 32px;
    display: block;
    translate: 0 2px;
}

.modalMenu li a::before, .apply-button::before {
    content: '';
    display: block;
    width: 40px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.apply-button {
    height: 107px;
}

.apply-button img {
    height: 58px;
}

.modalMenu .apply-button {
    width: 56.27%;
    margin: 0 auto;
    place-items: center;
}

.modalMenu .apply-button img {
    height: 70px;
    width: auto;
}


.modalMenuBack {
    position: absolute;
    right: 17px;
    bottom: 18px;
    width: 16.4%;
}

.modalMenuBack img {
    width: 100%;
}


.topCta {
    background-color: #198fcf;
    padding-top: 16px;
}

.topCtaBg {
    width: 94.4%;
    margin: 0 auto;
}

.topCta .inner {
    position: relative;
    padding-bottom: 30px;
}

.topCta .campaign {
    position: absolute;
    width: 68.4%;
    top: 46px;
    right: 5.3%;
}

.topCta .campaign .present-bottle {
    width: 55.7%;
    position: relative;
    cursor: pointer;
}
.topCta .campaign .cashback {
    width: 47.8%;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
}
.topCta .campaign .cashback img {
    width: 100%;
}

.topCta .buttonFunctions {
    display: flex;
    align-items: center;
    margin-top: -4.3%;
}

.topCta .buttonFunctions a {
    height: 100px;
    transition: .2s ease-out;
    cursor: pointer;
}

.buttonFunctions .green {
    width: 43.8%;
}
.buttonFunctions .green img {
    width: 73.9%;
    position: absolute;
    left: 10%;
    top: 50%;
    translate: 0 -46%;
}
.buttonFunctions .orange {
    /*width: 43%;*/
    margin-left: 1.6%;
}
.buttonFunctions .orange img {
    width: 67%;
    margin-left: 7%;
}
.buttonFunctions .modalMenuButton {
    width: 11.4%;
    margin-left: 1.2%;
}
.buttonFunctions .modalMenuButton img {
    width: 100%;
}   

@media screen and (max-width: 750px) {
    .buttonFunctions .orange img {
        margin-left: 0;
    }
}

@media (hover: hover) {
    .modalMenuButton:hover {
        opacity: .8;
    }
    .modalMenu .modalMenuBack:hover {
        opacity: .7;
    }
}


.getAward {
    padding: 65px 0 70px;
}
.getAward img {
    display: block;
    width: 84%;
    margin: 0 auto;
}
.getAward p {
    font-size: 12px;
    color: #999;
    margin-top: -6%;
}

.share {
    position: relative;
    padding-bottom: 206px;
    margin-bottom: 120px;
}
.share-bg, .share-baloon {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
}
.share-bg {
    width: 117%;
    max-width: none;
    translate: -52% 0;
}

.share-head {
    text-align: center;
    position: relative;
    z-index: 1;
}
.share-head img {
    width: 80.7%;
}
.share-baloon {
    width: 108%;
    max-width: none;
    top: auto;
    bottom: 30px;
}



.share .container {
    display: flex;
    gap: 17px;
    margin-top: 50px;
}

.share .slick-track {
    margin-left: -13px;
    padding-bottom: 10px;
    display: flex;
}
.share .slick-slide {
    margin-right: 0!important;
    margin-left: 17px!important;
    height: auto!important;
}

.share .slick-prev,
.share .slick-next {
    width: 50px;
    height: 50px;
    z-index: 1;
}
.share .slick-next {
    right: -22px;
}
.share .slick-prev {
    left: -31px;
}

.share .slick-slide > div {
    height: 100%;
}

.share .container .box {
    border: 1px solid #ccc;
    background: #fff;
    padding: 20px 30px;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
    border-radius: 10px;
    height: 100%;
}

.share .container .box .heads {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.share .container .box .name {
    font-weight: bold;
    display: flex;
    align-items: center;
}

.share .container .box .name::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../img/section05-icon_01.png);
    background-size: 40px;
    margin-right: 18px;
}

.share .container .box .photo {
    margin: 20px 0;
}

.share .container .box .comment {
    margin: 20px 0;
}

.share .container .box .comment h3 {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
}

.share .container .box .comment p {
    margin: 1em 0;
    font-size: 16px;
}

.share .container .box .tag {
    font-weight: 600;
}

.share .container .box .tag .nice {
    font-size: 16px;
    display: flex;
    align-items: center;
}

.share .container .box .tag .nice::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 20px;
    background: url(../img/section05-icon_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 10px;
}

.share .container .box .tag .hash {
    color: #198fcf;
    font-size: 14px;
}

.share .attention {
    font-size: 12px;
    color: #999;
    position: absolute;
    left: 0;
    bottom: 0;
}


.compare {
    background-color: #d4effa;
    padding: 100px 0 70px;
}
.compare .compare-head {
    display: block;
    width: 96%;
    margin: 0 auto 65px;
}
.compare .compare-plan-table {
    width: 100%;
}
.compare p {
    font-size: 12px;
    color: #999;
    margin-top: 30px;
}

.floatMenu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 10px 0;
    background-color: rgba(255, 255, 255, .8);
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}
.floatMenu.active {
    opacity: 1;
    visibility: visible;
}
.floatMenu .buttonFunctions {
    display: flex;
    justify-content: center;
}
.floatMenu .buttonFunctions a {
    height: 100px;
}
.floatMenu .buttonFunctions .orange {
    max-width: 425px;
}
.floatMenu .buttonFunctions .modalMenuButton {
    max-width: 112px;
    cursor: pointer;
}


@media screen and (max-width: 750px) {
    .modalMenu {
        width: 86.66%;
        max-height: 90vh;
        overflow-y: auto;
        padding: 8vw 6.66vw;
    }
    .modalMenu ul {
        display: block;
    }
    .modalMenu .apply-button {
        width: 100%;
        height: 18.66vw;
        place-items: start;
        align-items: center;
        padding-left: 8.3%;
    }
    .modalMenu li a:not(.apply-button) {
        height: 13.33vw;
    }
    .modalMenu li a:not(.apply-button) img {
        height: 5.33vw;
    }
    .modalMenu li a::before {
        width: 7.2vw;
    }
    .modalMenu li .apply-button::before {
        display: none;
    }
    .modalMenu li .apply-button img {
        width: 77%;
        height: auto;
    }
    .modalMenu li + li {
        margin-top: 5.33vw;
    }
    .modalMenu li:has(.apply-button) {
        padding-top: 0;
    }
    .apply-button img {
        height: 10.66vw;
    }
    .modalMenuBack {
        display: block;
        position: static;
        width: 79%;
        margin: 5.33vw auto 0;
    }
    .modalMenuBack img {
        width: 100%;
    }


    .firstview {
        padding-top: 5.33vw;
    }    
    .firstview .inner {
        padding-bottom: 5.33vw;
    }
    .firstviewLogo {
        top: -2%;
        left: 4.4%;
        width: 40vw;
        translate: none;
    }
    .firstviewBg {
        width: 95.7%;
        margin-left: 0;
        translate: none;
    }

    .firstview .desc {
        position: static;
        font-size: 2.4vw;
        width: 89.33%;
        margin: 1.6vw auto 0;
        line-height: 1.22;
    }
    .firstview .server {
        display: flex;
        align-items: flex-end;
        gap: .66vw;
        position: absolute;
        top: 94.8vw;
        width: 94.66%;
        left: 50%;
        translate: -50% 0;
    }
    .firstview .server li {
        position: static;
        flex: 1;
    }

    .firstview .server .famfit {
        translate: 0 -.2%;
        scale: .995;
    }
    .firstview .server .amadana {
        scale: .99;
        translate: 0 .6%;
    }
    .firstview .server .amadana-grande {
        scale: 1.04;
        translate: 2% -1.8%;
    }

    .modal .serverCompareButtons .apply {
        height: auto;
        padding: 0;
        background-color: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .modal .serverCompareButtons .apply img {
        width: 100%;
    }

    .topCta {
        padding-top: 2.66vw;
    }
    .topCtaBg {
        width: 88%;
    }
    .topCta .campaign {
        width: 53.33%;
        top: 3.6vw;
        right: 5.06%;
    }
    .topCta .campaign .cashback {
        top: 18.66vw;
        right: 3vw;
        width: 80%;
    }
    .topCta .campaign .cashback img {
        width: 100%;
    }
    .topCta .campaign .present-bottle {
        width: 100%;
    }
    .topCta .inner {
        padding-bottom: 6.66vw;
    }

    .buttonFunctions {
        flex-wrap: wrap;
        justify-content: space-between;
        width: 89.33%;
        margin: 0 auto;
    }
    .buttonFunctions a:has(.top-apply-tel-button) {
        width: 100%;
        order: 1;
    }
    .buttonFunctions a:has(.top-apply-web-button) {
        width: 82.3%;
        height: 18.66vw;
        margin-left: 0;
    }
    .topCta .buttonFunctions {
        margin-top: -7%;
    }
    .topCta .buttonFunctions a {
        height: auto;
    }
    .buttonFunctions .hoverAnimationButton.orange,
    .buttonFunctions .hoverAnimationButton.green {
        border: 0;
        background-color: transparent;
        box-shadow: 0 0 0 0 transparent;
    }
    .buttonFunctions .hoverAnimationButton.orange img,
    .buttonFunctions .hoverAnimationButton.green img {
        width: 100%;
    }
    .buttonFunctions .hoverAnimationButton.green {
        margin-top: 1vw;
    }
    .buttonFunctions .hoverAnimationButton.green img {
        position: static;
        translate: none;
    }
    .buttonFunctions .modalMenuButton {
        width: 16.5%;
        margin-left: 0;
    }


    .getAward {
        padding-top: 11.6vw;
    }
    .getAward img {
        width: 94%;
        translate: 2% 0;
    }
    .getAward p {
        margin: -8% auto 0;
        width: 89.33%;
        font-size: 2.4vw;
        line-height: 1.22;
    }

    .share {
        width: 100vw;
        overflow-x: hidden;
        padding-top: 4vw;
        padding-bottom: 0px;
        margin-bottom: 4.8vw;
    }
    .share-head img {
        width: 61.33%;
        margin: 0 auto;
    }
    .share-bg {
        width: 102.26%;
        left: 0;
        translate: none;
    }
    .share .container {
        margin: 6.66vw auto 0;
        width: 89.33vw;
    }
    .share .container .box {
        padding: 3.86vw 4.93vw 5.33vw;
    }
    .share .container .box .name {
        font-size: 3.2vw;
    }
    .share .container .box .name::before {
        width: 6.66vw;
        height: 6.66vw;
        background-size: contain;
        background-repeat: no-repeat;
    }
    .share .container .box .tag .nice {
        font-size: 3.2vw;
    }
    .share .container .box .tag .nice::before {
        width: 5.33vw;
        height: 4vw;
        margin-right: 2vw;
    }
    .share .container .box .comment {
        margin-top: 4.66vw;
        margin-bottom: 0;
    }
    .share .container .box .comment h3 {
        font-size: 4vw;
        letter-spacing: -.01em;
    }
    .share .container .box .comment p {
        font-size: 3.2vw;
        margin-top: 4.66vw;
        margin-bottom: 0;
    }
    .share .slick-prev, .share .slick-next {
        height: 18.66vw;
        width: auto;
    }
    .share .slick-prev {
        left: calc((100vw - 89.33vw) / -2);
    }
    .share .slick-next {
        right: calc((100vw - 89.33vw) / -2);
    }
    .share .slick-slide {
        margin-left: 0!important;
    }
    .share .slick-track {
        margin-left: 0;
    }

    .share-baloon {
        position: static;
        translate: none;
        width: 89.33%;
        margin: 5.33vw auto 8vw;
    }
    .share .attention {
        position: static;
        font-size: 2.4vw;
        width: 89.33%;
        padding: 0;
        margin: 0 auto;
    }


    .compare {
        padding: 14.26vw 0 4vw;
    }
    .compare .inner {
        width: 89.33%;
    }
    .compare-plan-table-wrap {
        overflow-x: auto;
        padding-bottom: 2.66vw;
    }
    .compare-plan-table-wrap::-webkit-scrollbar{
        height: 5.33vw;
    }
    .compare-plan-table-wrap::-webkit-scrollbar-track{
        background-color: #fff;
        border-radius: 9999px;
    }
    .compare-plan-table-wrap::-webkit-scrollbar-thumb{
        background-color: #54bbe8;
        border-radius: 9999px;
    }
    .compare .compare-head {
        width: 90.28%;
        margin-bottom: 4.4vw;
    }
    .compare .compare-plan-table {
        width: 166.93vw;
        max-width: none;
    }
    .compare p {
        font-size: 2.4vw;
        line-height: 1.22;
    }

    .cta {
        background: none;
        padding-top: 0;
    }
    .cta .triangleBottom {
        display: none;
    }
    .cta .ctaBg {
        width: 100%;
        position: static;
    }
    .cta .present {
        width: 54%;
        top: 7vw;
        left: 42.66%;
    }
    .cta .cashback {
        width: 44%;
        top: 43.06vw;
        right: 10.26vw;
    }

    .hoverAnimationButton.green,
    .hoverAnimationButton.orange {
        border-width: 1.6vw;
    }

    .serverCompares.inner {
        width: 94.66%;
    }
    .serverCompares:not(.modal) .slick-next,
    .serverCompares:not(.modal) .slick-prev {
        width: 9.33vw;
        width: 7vw;
        height: auto;
        aspect-ratio: 1 / 2;
    }
    .serverCompares:not(.modal) .slick-next {
        right: -2.64vw;
    }
    .serverCompares:not(.modal) .slick-prev {
        left: -2.64vw;
    }

    .serverComparesContents {
        padding: 7.2vw 3.46vw;
        border-top-width: 2.133vw;
        border-bottom-width: 2.133vw;
    }
    .serverCompares .tabs {
        gap: 2.26vw;
    }
    .serverCompares .tabs li {
        height: 17.33vw;
        padding-bottom: .66vw;
    }
    .serverCompares .tabs li img {
        filter: none;
    }
    .serverCompares .tabs li .slim {
        width: 85.54%;
    }
    .serverCompares .tabs li .famfit {
        width: 83.1%;
    }
    .serverCompares .tabs li .amanda {
        width: 84.93%;
    }
    .serverCompares .tabs li .amanda-grande {
        width: 89%;
        translate: 0 2px;
    }
    .serverCompares .tabs li .aura {
        width: 92%;
    }

    .serverComparesContents.slim .serverComparesHead {
        width: 91.18%;
    }
    .serverComparesContents.famfit .serverComparesHead {
        width: 100%;
    }
    .serverComparesContents.amanda .serverComparesHead {
        width: 88.9%;
    }
    .serverComparesContents.amanda-grande .serverComparesHead {
        width: 91.18%;
    }

    .serverComparesContents.famfit .serverCompareTables {
        width: 100%;
    }
    .serverComparesContents.amanda-grande .serverCompareTables {
        width: 100%;
    }

    .serverCompareButtons {
        width: 100%;
        margin-bottom: 5.33vw;
    }
    .serverCompareButtons .apply {
        width: 100%;
        height: 18.66vw;
        padding-left: 6%;
    }
    .serverCompareButtons .apply img {
        width: 83.47%;
    }

    .changeView {
        width: 100%;
        margin: 3.06vw auto;
    }
    .changeViewList {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2vw 2.66%;
    }
    .changeViewList li {
        width: 23%;
    }
    .changeViewList li img {
        border-radius: 2vw;
    }

    .serverCompareTables {
        width: 100%;
        margin: 4.4vw 0 4.8vw;
    }

    .serverComparesContents.aura .serverCompareTables {
        width: 100%;
    }

    .serverCompares .desc {
        font-size: 2.4vw;
        line-height: 1.22;
    }

    .floatMenu .buttonFunctions {
        align-items: center;
    }
    .floatMenu .buttonFunctions a {
        height: auto;
    }
}

/* CP全販路 */
/*
.campaign-modal {
  padding: 50px 5%;
  min-height: auto;
}
.campaign-modal h3 {
  max-width: 800px;
  padding: .2em 0;
  margin: 0 auto;
  background: #eee;
  font-size: 1.5rem;
  font-weight: bold;
  border-radius: 10px;
}
.campaign-modal img {
  width: 100%;
  max-width: 600px;
  margin: 1em 0 2em;
}
.campaign-modal p {
  margin: 0 0 1em 0;
  text-align: left;
}
.campaign-modal .campaign-table {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid #ddd;
  text-align: left;
}
.campaign-modal .campaign-table th {
  width: 20%;
  background: #eee;
  border: 1px solid #ddd;
  text-align: center;
}
.campaign-modal .campaign-table td {
  border: 1px solid #ddd;
  padding: 10px 20px;
}
.campaign-modal.campaign03 {
  padding: 0;
}
.campaign-modal.campaign03 .remodal-close {
  background-color: #075581;
}
.campaign-modal.campaign03 .fv {
  height: 440px;
  background-color: #1a8fcf;
}
.campaign-modal.campaign03 .fv picture img {
  margin: 0;
  height: 440px;
  width: auto;
  max-width: none;
  margin: 0;
}
.campaign-modal.campaign03 .contents {
  background: #d4effa;
  padding: 50px 0 35px;
}
.campaign-modal.campaign03 .contents .contentsTitle {
  position: relative;
}
.campaign-modal.campaign03 .contents .contentsTitle::before {
  content: '';
  position: absolute;
  display: block;
  background-color: #02283d;
  height: 1px;
  width: 100%;
  top: 50%;
  left: 0;
}
.campaign-modal.campaign03 .contents .contentsTitle div {
  position: relative;
  display: inline-block;
  color: #02283d;
  background-color: #d4effa;
  padding: 0 12px;
  font-size: 22px;
  font-weight: bold;
}
.campaign-modal.campaign03 .contents .contentsDesc {
  font-size: 16px;
  line-height: 1.625;
  margin: 0;
}
.campaign-modal.campaign03 .inner {
  width: min(540px, 100%);
  margin: 0 auto;
  position: relative;
}
.campaign-modal.campaign03 .itemlist {
  width: 100%;
  border-radius: 10px;
  margin: 20px 0 22px;
}
.campaign-modal.campaign03 .fv .lottery {
  position: absolute;
  width: 32.3%;
  bottom: 0;
  left: 28.5%;
  translate: 0 7%;
  margin: 0;
}
.campaign-modal.campaign03 .remodal-close.bottom {
  position: static;
  background: none;
  border: 0;
  width: 170px;
  height: auto;
  cursor: pointer;
}
.campaign-modal.campaign03 .remodal-close.bottom img {
  margin: 0;
}
.campaign-modal.campaign03 .attention {
  font-size: 12px;
  color: #666;
  text-align: center;
  margin: 0;
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  .campaign-modal.campaign03 .fv {
    height: auto;
  }
  .campaign-modal.campaign03 .fv picture img {
    height: auto;
    width: 100%;
  }
  .campaign-modal.campaign03 .inner {
    width: 100%;
  }
  .campaign-modal.campaign03 .fv .lottery {
    width: 37.1%;
    left: 30.3%;
    translate: 0 7%;
  }
  .campaign-modal.campaign03 .contents {
    padding: 6.66vw 0 4vw;
  }
  .campaign-modal.campaign03 .contents .contentsTitle {
    width: 90.9%;
    margin: 0 auto;
  }
  .campaign-modal.campaign03 .contents .contentsTitle div {
    font-size: 3.8vw;
    padding: 0 3.33vw;
  }
  .campaign-modal.campaign03 .contents .contentsDesc {
    width: 89%;
    margin: .5vw auto 2vw;
    font-size: 3vw;
  }
  .campaign-modal.campaign03 .itemlist {
    max-width: none;
    width: 94.6%;
    display: block;
    margin: 3.7vw auto 3.3vw;
  }
  .campaign-modal.campaign03 .itemlist img {
    margin: 0;
  }
  .campaign-modal.campaign03 .remodal-close.bottom {
    width: 35.6%;
  }
  .campaign-modal.campaign03 .attention {
    font-size: 2.53vw;
    margin-top: 1.66vw;
  }
}

.ctaBg {
  opacity: 0;
}
.cta .present {
  width: 32%;
  position: absolute;
  top: 112px;
  right: 1%;
  left: unset !important;
  cursor: pointer;
}
.cta .cashback {
  width: 33.4%;
  position: absolute;
  top: 115px;
  left: 2%;
  cursor: pointer;
}
.cta .summer {
  width: 42%;
  position: absolute;
  top: 11px;
  left: 30%;
  cursor: pointer;
}

@media screen and (max-width: 750px) {
  .remodal {
    width: 88%;
    margin: 6vw auto;
  }
  .cta {
    background: url(../img/cta-bg_01.png) repeat-y 90% top #198fcf;
    background-size: 100%;
  }
  .cta .inner {
    padding: 0 0 50px;
  }
  .cta .present {
    width: 54.66%;
    height: auto;
    position: absolute;
    top: 51.7vw;
    left: auto;
    right: -3px;
    z-index: 1;
  }
  .cta .cashback {
    width: 52%;
    height: auto;
    position: absolute;
    top: 47vw;
    left: -1%;
  }
  .cta .summer {
    top: 6.2vw;
    left: 6%;
    width: 77.3%;
  }
}

.topCtaBg {
  opacity: 0;
}
.topCta .campaign {
  position: absolute;
  width: 100%;
  top: 0px;
}
.topCta .campaign .present-bottle {
  width: 55%;
  position: absolute;
  top: 55px;
  right: 1%;
    left: auto;
  cursor: pointer;
}
.topCta .campaign .cashback {
  width: 33.4%;
  position: absolute;
  top: 50px;
  left: 2%;
  cursor: pointer;
}
.topCta .campaign .summer {
  width: 42%;
  position: absolute;
  top: 11px;
  left: 30%;
  cursor: pointer;
}
.topCta .buttonFunctions {
  margin-top: -1.3%;
}

@media screen and (max-width: 750px) {
  .topCta .campaign {
    top: 0;
    right: 0;
  }
  .topCta .campaign a {
  display: block;
  }
  .topCta .campaign .present-bottle {
    width: 73.66%;
    height: auto;
    position: absolute;
    top: 22.7vw;
    left: auto;
    right: -3px;
    z-index: 1;
  }
  .topCta .campaign .cashback {
    width: 52%;
    height: auto;
    position: absolute;
    top: 24vw;
    left: -1%;
    right: auto;
  }
  .topCta .campaign .summer {
    position: absolute;
    top: 6.2vw;
    left: 6%;
    width: 77.3%;
  }
  .topCta .buttonFunctions {
    margin-top: 9.3%;
  }
}
*/

/* CP全販路なし */
.summer {
    display: none !important;
}