/*
 Theme Name: attomoney 3.37
 Theme URL: attomoney.com
 Description: attomoney corporate site.
 Author: attomoney
 Version: 3.37
*/



/* kosugi-maru */
@font-face {
    font-family: 'Kosugi Maru';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("./parts/assets/google-fonts/kosugi-maru.woff2") format('woff2');
}
/* arvo */
@font-face {
    font-family: 'Arvo';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("./parts/assets/google-fonts/arvo.woff2") format('woff2');
}
/* material-icons */
@font-face {
    font-family: 'Material Icons Round';
    font-style: normal;
    font-weight: 400;
    src: url("./parts/assets/google-fonts/material-icons.woff2") format('woff2');
}

.material-icons-round {
    font-family: 'Material Icons Round';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    /*display: inline-block;*/
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.arrow-icon .material-icons-round{
    vertical-align: middle;
    font-size:13px;
}

/* * 読み込み遅延対策 */
.material-icons-round {
    display: none;
}

html{
    font-size:17px;
    color:#2f2f2f;
}
body{
    background-color:#fff;

    height:100vh;
    width:100vw;
    display: flex;
    flex-direction: column;
}

a.normalize{
    color:#2f2f2f;
    text-decoration: none;
    display: block;
}
a.normalize:link,
a.normalize:visited,
a.normalize:hover,
a.normalize:active
{
    color:#2f2f2f;
    text-decoration: none;
}

.container-wide{
    width:100%;
}
.blueback{
    background:#ddd url("./parts/img/bg-top.png") no-repeat center center;
    background-size:cover;
    padding:1px;
}
.whiteback{
    padding:1px;
    background-color:#fffae8;
}
.ffback{
    padding:1px;
    background-color:#ffffff;
}
.skyblueback{
    padding:1px;
    background-color:#D7ECF9;
}



/*
 * footer
 */

footer{
    background-color:#444;
    padding:50px 50px 30px 50px;
    color:#999999;
    font-size:0.8rem;
}
footer .container{
    width:100%;
    max-width:880px;
    margin:auto;
}
@media screen and (max-width: 767px) {
    footer{
        padding:50px 40px 20px 40px;
    }
}
@media screen and (max-width: 580px) {
    footer{
        padding:50px 30px 20px 30px;
    }
}

footer ul{
    padding:0;
}
footer li{
    list-style-type: none;
    margin:10px 0;
    padding: 0 10px 0 10px;
    border-right: 0px solid #666;
}
footer li.mark-on{
    list-style-type: circle;
}
footer li a{
    color:#cccccc;
}
footer li a:hover{
    color:#cccccc;
}
footer .copy{
    text-align:center;
    margin-top:40px;
    font-size:11px;
}
footer .footer-menu{
    border-top:1px solid #666;
    margin-top:20px;
    padding-top:20px;
}

footer .subtitle{
    font-size:11px;
    margin-top:3px;
    margin-left:10px;
    white-space: nowrap;
}

footer .caption{
    font-weight: bold;
    margin-bottom:15px;
}

@media screen and (max-width: 767px) {
    footer .col-main{

    }
    footer .col-no1{
        margin-top:50px;
    }
    footer .col-no2{
        margin-top:20px;
    }
}


/* footer title */
footer .title{
    font-family: 'Kosugi Maru';
    font-size:28px;
    font-weight:bold;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
footer .title .value{
    white-space: nowrap;

}
footer .title .icon > span{
    font-size:30px;
    font-weight:bold;
    color:#444444;
    background-color:#999999;
    border-radius:50%;
    padding:2px;
}
footer .title .icon{
    margin-right:7px;
    display: flex;
    align-items: center;
}


/* footer tel */
footer .tel{
    margin-top:15px;
    font-size:25px;
    font-weight:bold;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
footer .tel .value {
    white-space: nowrap;
}
footer .tel .icon > span{
    font-size:30px;
    font-weight:bold;
    background-color:#444444;
    border-radius:50%;
    padding:2px;
}
footer .tel .icon{
    margin-right:2px;
    display: flex;
    align-items: center;
}




.bold{
    font-weight:bold;
}

/*
 * fadein
 */
.fadein {
    opacity : 0.5;
    transform : translate(0, 100px);
    transition : all 500ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

/*
 * material-icons.rotate
 */
.material-icons-round.rotate {
    -webkit-animation: spin 2.5s linear infinite;
    -moz-animation: spin 2.5s linear infinite;
    -ms-animation: spin 2.5s linear infinite;
    -o-animation: spin 2.5s linear infinite;
    animation: spin 2.5s linear infinite;
}
@-webkit-keyframes spin {
    0% {-webkit-transform: rotate(360deg);}
    100% {-webkit-transform: rotate(0deg);}
}
@-moz-keyframes spin {
    0% {-moz-transform: rotate(360deg);}
    100% {-moz-transform: rotate(0deg);}
}
@-ms-keyframes spin {
    0% {-ms-transform: rotate(360deg);}
    100% {-ms-transform: rotate(0deg);}
}
@-o-keyframes spin {
    0% {-o-transform: rotate(360deg);}
    100% {-o-transform: rotate(0deg);}
}
@keyframes spin {
    0% {transform: rotate(360deg);}
    100% {transform: rotate(0deg);}
}

.material-icons-round.hop {
    display: inline-block;
    animation: hop 1s infinite;
}
@keyframes hop {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
}



/*
 * add-frame
 */
.add-frame{
    border:5px solid #2f2f2f;
    border-radius: 30px;
    background-color:#fff;
    padding:30px;

    width:800px;
    margin:100px auto 50px auto;
    position:relative;
}
.add-frame .add-frame{
    width:100%;
    margin:auto;
}
.add-frame br.large{
    display: inline;
}
.add-frame br.small{
    display: none;
}
@media screen and (max-width: 580px) {
    .add-frame br.large{
        display: none;
    }
    .add-frame br.small{
        display: inline;
    }
}

.add-frame .float-title{

    position:absolute;
    top:-40px;
    left:50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);

    font-family: 'Kosugi Maru';
    text-align:center;
    font-weight:bold;
    font-size:30px;

    border:4px solid #2f2f2f;
    border-radius: 40px;
    background-color:#ffffff;

    padding:10px;

    width:650px;

}
.add-frame .inline-subtitle{
    font-family: 'Kosugi Maru';
    text-align:center;
    font-weight:400;
    font-size:24px;
}
.add-frame .inline-title{
    font-family: 'Kosugi Maru';
    text-align:center;
    font-weight:bold;
    font-size:30px;
}

.add-frame .float-title + .texts{
    margin-top:40px;
}

.add-frame .texts{
}
.add-frame .text{
    font-family: 'Kosugi Maru';
    font-size:30px;
    font-weight:bold;
    text-align:center;
}
.add-frame .inline-subtitle.message{
    font-family: inherit;
    font-size:22px;
    font-weight:bold;
    text-align:center;
}
.add-frame .inline-subtitle.message b{
    color:#0288d1;
}

.add-frame .text-mid{
    font-size:18px;
    text-align:center;
}

/*
 * add-frame.noborder
 */
.add-frame.noborder{
    border:0;
    background-color:transparent;
    border-radius: 0;
}
.add-frame.noborder .float-title {
    border:0;
    background-color:transparent;
}


/*
 * modify
 */
span.small{
    font-size:80%;
    font-weight:bold;
}
span.big{
    font-size:110%;
    font-weight:bold;
}
span.blue{
    color:#0288d1;
}
.red{
    color:#ff0000;
}
span.line{
    background: linear-gradient(transparent 60%, #b2ebf2 0%);
}
.bold{
    font-weight:bold;
}
div > p:last-child{
    margin-bottom:0;
}

/*
 * note
 */
.notes{
    font-size:12px;
    text-align:right;
}
.notes .note{
    color:#555;
    margin-bottom:2px;
}




.color1{
    background-color:#D7ECF9;
}
.color2{
    background-color:#fffae8;
}
.color3{
    background-color:#fcf209;
}
.color4{
    background-color:#2CA0E0;
}
.color5{
    background-color:#1637BF;
}
.color6{
    background-color:#0288d1;
}



/*********/

.header{
    margin-top:0px;
    position:relative;
    display: flex;
    justify-content: space-between;
}
.header .title{
    padding-top:15px;
    padding-left:10px;
    font-family: 'Kosugi Maru';
    font-size:28px;
    color:#ffffff;
    font-weight:bold;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.header .title .icon > span{
    font-size:30px;
    font-weight:bold;
    color:#1538C0;
    background-color:#ffffff;
    border-radius:50%;
    padding:2px;
}
.header .title .icon{
    margin-right:7px;
    display: flex;
    align-items: center;
}

.header .tel{
    padding-top:15px;
    padding-right:220px;
}
.header .tel .number{
    font-size:30px;
    color:#ffffff;
    /*font-weight:bold;*/
    display: flex;
    align-items: center;
}
.header .tel .number .material-icons-round{
    font-size:16px;
    color:#1538C0;
    background-color:#ffffff;
    border-radius:20px;
    padding:3px;
    margin-right:6px;
}
.header .tel .time{
    color:#ffffff;
    font-size:13px;
    text-align:right;
}


.header .header-button-tel {
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:160px;
    height:140px;
    position:absolute;
    top:0;
    right:200px;
    background-color: #1de9b6;

    padding:0;

    border-radius:0 0 5px 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:14px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
}
.header .header-button-tel .icon span{
    font-size:60px;
}
.header .header-button-tel .time{
    font-weight:normal;
    font-size:10px;
}
.header .header-button-tel .number{
    font-size:16px;
    font-family: "游ゴシック体";
}
.header .header-button{
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:160px;
    height:140px;
    position:absolute;
    top:0;
    right:25px;
    background-color: #fcf209;

    padding:0;

    border-radius:0 0 5px 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:14px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
}
.header .header-button .icon span{
    font-size:60px;
}


.side-menu{
    position:absolute;
    display:none;
    top:0px;
    right:0px;
}
.side-menu .header-button-tel-sp{
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:60px;
    height:110px;
    position:absolute;
    top:20px;
    right:0px;
    background-color: #1de9b6;

    padding:0;

    border-radius:5px 0 0 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:20px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 0px 3px 2px rgba(0, 0, 0, .4);

}
.side-menu .header-button-tel-sp .icon span{
    font-size:24px;
}
.side-menu .header-button-tel-sp .name{
    font-size:14px;
    font-weight:bold;
    line-height:100%;
}


.side-menu .header-button-sp{
    z-index: 100;
    font-family: 'Kosugi Maru';
    width:60px;
    height:120px;
    position:absolute;
    top:150px;
    right:0px;
    background-color: #fcf209;

    padding:0;

    border-radius:5px 0 0 5px;
    border-width:0 0px 0px 0px;
    border-style:solid;
    border-color:#2f2f2f;

    font-size:14px;
    font-weight:bold;
    cursor: pointer;

    display: flex;
    flex-direction: column;
    justify-content: center;

    text-align:center;
    box-shadow: 0px 3px 2px rgba(0, 0, 0, .4);
}
.side-menu .header-button-sp .icon span{
    font-size:24px;
}
.side-menu .header-button-sp .name{
    font-size:14px;
    font-weight:bold;
    line-height:100%;
}






.waku{
    position: relative;
}
.waku.add-frame{
    margin-bottom:10px;
    margin-top:50px;
}
.waku .copy-container{
    display:flex;
    justify-content: center;
    align-items: center;
}
.waku .copy-container .copy-img img{
    width:250px;
}
.waku .copy{
    text-align:right;
}

.waku .copy-text{
    font-size:50px;
    font-family: 'Kosugi Maru';
    font-weight:bold;
}


.waku .topicon{
    width:600px;
    margin:20px auto 50px auto;
    text-align:center;
}
.waku .topicon img{
    width:100%;
}
.waku .no1{
    border:5px solid #2f2f2f;
    border-radius: 75px;
    width:150px;
    height:150px;
    position: absolute;
    top:-30px;
    left:-20px;
    text-align:center;
    background-color:#fcf209;

    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
.waku .no1 .no101{
    margin-top:7px;
    width:138px;
}
.waku .no1 .no101 img{
    width:60%;
}
.waku .no1 .no1-text1{
    font-family: 'Kosugi Maru';
    font-weight:bold;
    font-size:15px;
}
.waku .no1 .no1-text2{
    font-family: 'Kosugi Maru';
    font-weight:bold;
    font-size:40px;
}


/*
 * points
 */
.toppoints-wrap.add-frame{
    margin-top:50px;
    background-color:#D7ECF9;
}
.toppoints-wrap .notes{
    margin-top:50px;
}
.toppoints-wrap .texts {
    margin-top:30px;
}
.toppoints-wrap .text span{
    font-size:80%;
}
.toppoints-wrap .text01{
    font-size:30px;
    font-weight:bold;
    text-align:center;
}
.toppoints-wrap .points{
    margin-top:30px;
    display: flex;
    justify-content: space-between;
}
.toppoints-wrap .points .point{
    border:5px solid #2f2f2f;
    border-radius: 10px;
    width:200px;
    height:200px;
    text-align:center;
    background-color:#ffffff;
    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
.toppoints-wrap .points .point .name{
    font-size:12px;
}


.toppoints-wrap .points .point .value{
    font-family: 'Arvo';
}
.toppoints-wrap .points .point .value .lg{
    font-size:80px;
    font-weight:bold;
}
.toppoints-wrap .points .point .value .sm{
    font-size:15px;
    font-weight:bold;
}



.notes-wrap.add-frame{
    margin-top:0px;
    padding:0px;
}
.notes-wrap.white .note{
    color:#fff;
}




.button-wrap{
    width:800px;
    margin:auto;
    margin-bottom:50px;
}
.button{
    text-align:center;
    margin:50px auto 30px auto;
    border:5px solid #2f2f2f;
    border-radius: 20px;
    background-color:#fcf209;
    padding:20px;


    font-family: 'Kosugi Maru';
    font-size:30px;
    font-weight:bold;

    width:100%;

    box-shadow: 5px 8px #40c4ff;

    position:relative;
}
.button i{
    position:absolute;
    right:10px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.button .mark{
    border:3px solid #2f2f2f;
    border-radius: 45px;
    width:90px;
    height:90px;
    position: absolute;
    top:-40px;
    left:20px;
    text-align:center;
    background-color:#ffffff;

    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;

    font-size:14px;
    font-weight:bold;
}
.button .mark::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -6px;
    bottom: -6px;
    border-left: 20px solid #2f2f2f;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    transform: rotate(45deg);
}
.button .mark::before{
    z-index:100;
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -2px;
    bottom: -2px;
    border-left: 20px solid #ffffff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    transform: rotate(45deg);
}


.button2{
    text-align:center;
    margin:10px auto 10px auto;
    border:5px solid #2f2f2f;
    border-radius: 20px;
    background-color:#fcf209;
    padding:20px;

    font-family: 'Kosugi Maru';
    font-size:30px;
    font-weight:bold;

    width:80%;

    box-shadow: 5px 8px #40c4ff;

    position:relative;
}
.button2 i{
    position:absolute;
    right:10px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.button2 .mark{
    border:3px solid #2f2f2f;
    border-radius: 45px;
    width:90px;
    height:90px;
    position: absolute;
    top:-50px;
    left:10px;
    text-align:center;
    background-color:#ffffff;

    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;

    font-size:14px;
    font-weight:bold;
}
.button2 .mark::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -6px;
    bottom: -6px;
    border-left: 20px solid #2f2f2f;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    transform: rotate(45deg);
}
.button2 .mark::before{
    z-index:100;
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -2px;
    bottom: -2px;
    border-left: 20px solid #ffffff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    transform: rotate(45deg);
}



/*
 * #simulator
 */

#simulator .render-view{
    display: none;
}
#simulator .loading{
    display: none;
}
#simulator .render{
    display: none;
}

/*
 * sim
 */
.sim-wrap{
    background-color:#00acc1;
}
.sim-wrap.bg-border{
    /*
    background-color: #283593;
    background-image: repeating-linear-gradient(-45deg,#0d47a1, #0d47a1 5px,transparent 0, transparent 6px);

    background-color: #bddffd;
    background-image: repeating-linear-gradient(-45deg,#e3f2fd, #e3f2fd 5px,transparent 0, transparent 6px);
    background-image: repeating-linear-gradient(-45deg,#ffffff, #ffffff 5px,transparent 0, transparent 6px);
     */

    background-color: #fdd835;
    background-image: repeating-linear-gradient(-45deg,#ffeb3b, #ffeb3b 5px,transparent 0, transparent 6px);
    /*
    background-color: #ffeb3b;
    background-image: repeating-linear-gradient(-45deg,#fdd835, #fdd835 1px,transparent 0, transparent 4px);
     */
}
.sim-wrap .float-title{
    background-color:#ffffff;
}
.sim-wrap .sim{
    margin-top:50px;
}
.sim-wrap .sim select:disabled{
    background-color:#dddddd;
}
.sim-wrap .sim .amount,
.sim-wrap .sim .firsttime{
    font-size:30px;
    border:4px solid #2f2f2f;
    background-color:#ffffff;
}
.sim-wrap .sim .amount.validate,
.sim-wrap .sim .firsttime.validate{
    border:4px solid #f44336;
    background-color:#ffebee;
}

.sim-wrap .button-sim-wrap{
    margin-top:20px;
    margin-bottom:20px;
}
.sim-wrap .button-sim{
    /*border:5px solid #2f2f2f;*/
    border-radius: 10px;
    width:500px;
    margin:auto;
    height:75px;
    background-color:#2f2f2f;
    box-shadow: 3px 3px 2px 1px rgba(0, 0, 0, 0.4);
    color:#ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: 'Kosugi Maru';
}
.sim-wrap a.button-sim:hover{
    background-color:#4f4f2f;
}

.sim-wrap .button-sim-apply{
    border-radius: 10px;
    width:500px;
    margin:auto;
    height:75px;
    background-color:#2f2f2f;
    box-shadow: 3px 3px 2px 1px rgba(0, 0, 0, 0.4);
    color:#ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position:relative;
    font-family: 'Kosugi Maru';
    color:#ffffff;
}
a.button-sim-apply{
    text-decoration:none;
}

.sim-wrap .button-sim-apply i{
    position:absolute;
    right:10px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


.sim-wrap .sim .render{
    border:3px solid #2f2f2f;
    background-color:#fff;
    margin-top:30px;
    display: block;
    padding:30px;
    border-radius: 15px;
    text-align: center;
    position:relative;
}
.sim-wrap .sim .render .reset{
    position:absolute;
    top:10px;
    right:10px;
    cursor: pointer;
    display: none;
}
.sim-wrap .sim .render .reset .material-icons-round{
    font-size:50px;
    color:#ccc;
}
.sim-wrap .sim .render .reset .material-icons-round:hover{
    color:#2f2f2f;
}
.sim-wrap .sim .loading{
    text-align:center;
}
.sim-wrap .sim .loading .material-icons-round{
    font-size:50px;
    color:#999999;
}
.sim-wrap .texts{

}
.sim-wrap .sim .render .text{
    margin-top:15px;
    font-weight:bold;
    line-height:65px;
}
.sim-wrap .sim .render .text > span{
    font-family: 'Arvo';
    font-size:55px;
    padding:0px 5px;
    border-radius: 2px;
    border:0px solid #2f2f2f;
    margin:0 5px;
}
.sim-wrap .sim .render .img img{
    width:200px;
    margin:10px auto 10px auto;
}
.sim-wrap .sim .render .limit{
    margin-top:20px;
}

/*
 * comments
 */
.comments-wrap{
    background-color:#D7ECF9;
}
.comments-wrap .texts{
    margin-top:40px;
}

.comments{
    margin-top:40px;
    margin-left:140px;
}
.comments .comment{
    margin-bottom:40px;
    position:relative;
    display:flex;
    align-items: center;
}
.comments .comment .person img{
    border:3px solid #2f2f2f;
    border-radius: 65px;
    width:130px;
    height:130px;
    position: absolute;
    top:0px;
    left:-155px;
    text-align:center;
    background-color:#fcf209;

    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}


.comments .comment{
    z-index: 10;
    position:relative;
    width:100%;
    height:130px;
    background-color:#ffffff;
    padding:30px;
    border:3px solid #2F2F2F;
    font-size:25px;
    font-weight:bold;
    border-radius:20px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
}
.comments .comment > div{
}
.comments .comment:after,.comments .comment:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:40%;
}
.comments .comment:after{
    z-index: 10;
    border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:18px;
    border-right-width:18px;
    margin-top: -10px;
    border-right-color:#FFFFFF;
}
.comments .comment:before{
    z-index: 8;
    border-color: rgba(47, 47, 47, 0);
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:21px;
    border-right-width:21px;
    margin-top: -12px;
    margin-right: 2px;
    border-right-color:#2F2F2F;
}


/*
 * warry
 */
.warrys-wrap{
    background-color:#D7ECF9;
}
.warrys{
    margin-top:15px;
    width:100%;
    position:relative;
    height:500px;

}
.warrys .warry{

    z-index:100;

    width:230px;
    height:200px;
    border-radius: 100px;
    padding:25px;

    margin-bottom:10px;
    border:4px solid #2f2f2f;
    background-color:#FFFFFF;

    font-size:18px;
    font-weight:bold;

    display:flex;
    align-items: center;
    justify-content: center;

    text-align:center;
}
.warrys .warry.scrollin{
    transform: scale(1.25,1.25);
}
.warrys > div.scrollin:nth-child(1){
    position:absolute;
    left:50%;
    transform: scale(1.25,1.25) translate(-40%, 0%);
}
.warrys .man03 {
    z-index:200;
    position:absolute;
    top:40%;
    left:50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}
.warrys .man03 img{
    width:220px;
}
.warrys > div:nth-child(1) {
    z-index:200;
    position:absolute;
    top:3%;
    left:50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}
.warrys > div:nth-child(2) {
    position:absolute;
    top:5%;
    left:2%;
    transform: translate(0%, 0%);
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
}
.warrys > div:nth-child(4) {
    position:absolute;
    top:50%;
    left:2%;
    transform: translate(0%, 0%);
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
}
.warrys > div:nth-child(5) {
    position:absolute;
    top:5%;
    right:2%;
    transform: translate(0%, 0%);
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
}
.warrys > div:nth-child(3) {
    z-index:120;
    position:absolute;
    top:50%;
    right:2%;
    transform: translate(0%, 0%);
    -webkit-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
}


.appeals-wrap{
    /*background-color:#2CA0E0;*/
    background-color:#D7ECF9;
    position:relative;
}
.appeals-wrap .appeal-trigger-0{
    position:absolute;
    top:30%;
}
.appeals-wrap .appeal-trigger-1{
    position:absolute;
    top:40%;
}
.appeals-wrap .appeal-trigger-2{
    position:absolute;
    top:50%;
}
.appeals-wrap .appeal-trigger-3{
    position:absolute;
    top:60%;
}
.appeals-wrap .appeal-trigger-4{
    position:absolute;
    top:70%;
}
.appeals-wrap .appeal-trigger-5{
    position:absolute;
    top:80%;
}
.appeals-wrap .appeal-trigger-6{
    position:absolute;
    top:90%;
}
.appeals-wrap .appeal-trigger-7{
    position:absolute;
    top:100%;
}
.appeals-wrap .appeal-trigger-8{
    position:absolute;
    top:110%;
}

.appeals{
    margin-top:40px;
    width:100%;
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
}
.appeals .appeal{
    color:#cccccc;
    background-color:#eeeeee;
    width:230px;
    height:230px;
    border-radius: 20px;
    border:5px solid #2f2f2f;
    padding:20px;

    position:relative;

    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom:30px;
}

.appeals .appeal.scrollin{
    background-color:#ffffff;
    color:#2f2f2f;
}

.appeals .appeal > div{

}

.appeals .appeal .check{
    font-size:70px;
    color:#fcf209;
    position:absolute;
    top:-15px;
    right:-15px;
    background-color:#2f2f2f;
    border-radius:100px;
    display:none;
}

.appeals .appeal .icon{
    text-align:center;
}
.appeals .appeal .icon span{
    font-size:55px;
    /*color:#2f2f2f;*/
}
.appeals .appeal .value{
    font-size:24px;
    font-weight:bold;
    text-align:center;
}


/*
 * faq
 */
.faqs{
    margin-top:40px;
}
.faq{
    margin-bottom:20px;
}
.faq .q{
    border:5px solid #2f2f2f;
    border-radius: 15px;
    background-color:#fff;
    padding:20px 40px 20px 20px;

    font-size:22px;
    font-weight:bold;
    position:relative;

    cursor:pointer;
}
.faq .q:before{
    content:"Q. ";
    font-size:120%;
}
.faq .q:after{
    position:absolute;
    right:15px;
    content: "\e5cf";
    font-family: 'Material Icons Round';
    font-size:30px;

    transition:all 0.2s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
.faq .q.rotate{
    background-color:#D7ECF9;
}
.faq .q.rotate:after{
    transition:all 0.2s;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.faq .a{
    display: none;
    border:5px solid #2f2f2f;
    border-top:0;
    border-radius: 0 0 15px 15px;
    background-color:#fff;
    padding:30px;
    font-weight:bold;
    width:97%;
    margin:0 auto;
}
.faq .a p{
    margin-bottom:8px;
    line-height:150%;
}
.faq .a p:last-child{
    margin-bottom:0;
}

.faqs-wrap .texts{
    margin-bottom:20px;
}
.faqs-wrap .float-title{
    color:#fff;
}

/*
 * kuchikomi
 */
.kuchikomi-wrap{
}
.kuchikomi-wrap .kuchikomi{
    margin-top:30px;
}
.kuchikomi img{
    width:100%;
}
/*
 * reputations
 */
.reputations-wrap{
    background-color:#D7ECF9;
}
.reputations{
    margin-top:40px;
    margin-left:140px;
}
.reputations .reputation{
    margin-bottom:40px;
    position:relative;
    display:flex;
    align-items: center;
    font-size:90%;
}
.reputations .reputation .person img{
    border:3px solid #2f2f2f;
    border-radius: 65px;
    width:130px;
    height:130px;
    position: absolute;
    top:0px;
    left:-155px;
    text-align:center;
    background-color:#fcf209;

    display:flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
.reputations .reputation{
    z-index: 10;
    position:relative;
    width:100%;
    background-color:#ffffff;
    padding:30px;
    border:3px solid #2F2F2F;
    border-radius:20px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
}
.reputations .reputation > div{
}
.reputations .reputation:after,
.reputations .reputation:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:20%;
}
.reputations .reputation:after{
    z-index: 10;
    border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:18px;
    border-right-width:18px;
    margin-top: -10px;
    border-right-color:#FFFFFF;
}
.reputations .reputation:before{
    border-color: rgba(47, 47, 47, 0);
    border-top-width:12px;
    border-bottom-width:12px;
    border-left-width:21px;
    border-right-width:21px;
    margin-top: -12px;
    margin-right: 2px;
    border-right-color:#2F2F2F;
}


/*
 * rates
 */
.rates-wrap{
    padding-left:0;
    padding-right:0;
}
.add-frame.rates-wrap{
    margin-bottom:10px;
}
.rates{
    margin-top:40px;
}
.rates table{
    width:100%;
}
.rates table th{
    font-size:10px;
    text-align:center;
    font-weight:normal;
    padding-right:5px;
    background-color:#ddd;
    border:1px solid #bbb;
}
.rates table td{
    font-family: 'Arvo';
    font-size:18px;
    font-weight:bold;
    text-align:center;
    border:1px solid #bbb;
    background-color:#fff;
    height:100px;
}
.rates table td .num{
    font-size:30px;
}
.rates table td .small{
    font-size:16px;
}
.rates table td .unit{
    font-size:12px;
}
.rates table td .discount{
    position:relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width:100%;
    height:100%;
}
.rates table td .discount .rm{
    position:absolute;
    top:5px;
    left:0;
    right:0;
    font-size:20px;
    font-weight:normal;
    text-decoration: line-through 2px solid #ff0000;
}
.rates table td .discount .rm span{
    padding-left:10px;
}
.rates table td .discount .up{
    color:#ff0000;
    line-height:100%;
}
.rates table .value td{
}
.rates table td span{
}

.rates table .plan td{
    background-color:#1976d2;
    color:#fff;
}
.rates table .action td{
    height:80px;
}


.rates table tr.plan td:nth-child(3) {
    background-color:#1565c0;
}
.rates table tr td:nth-child(3){
    background-color:#f6fcff;
}
.rates table tr.plan td:nth-child(5) {
    background-color:#1565c0;
}
.rates table tr td:nth-child(5){
    background-color:#f6fcff;
}
.rates table tr.plan td:nth-child(1) {
    background-color:#1565c0;
}


.rates table tr td:nth-child(1){
    width:25px;
}
.rates table tr td:nth-child(2){
    width:calc(20% - 5px);
}
.rates table tr td:nth-child(3){
    width:calc(20% - 5px);
}
.rates table tr td:nth-child(4){
    width:calc(20% - 5px);
}
.rates table tr td:nth-child(5){
    width:calc(20% - 5px);
}
.rates table tr td:nth-child(6){
    width:calc(20% - 5px);
}

.rates table .btn-small{
    background-color:#fcf209;
    display:inline;
    font-weight:bold;
    padding:10px 20px;
    border-radius: 10px;
    font-size:13px;
    border:2px solid #2f2f2f;
    cursor:pointer;
    box-shadow: 3px 4px #40c4ff;
    position:relative;
}
.rates table .btn-small:after{
    position:absolute;
    right:3px;
    content: "\e315";
    font-family: 'Material Icons Round';
    font-size:12px;

    top: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
}

.rates-wrap .notes{
    margin-top:10px;
}
.rates-wrap .note{
    color:#2f2f2f;
}
.rates-wrap .inline-title{
    margin-top:10px;
}

.rates-wrap .rates th{
    padding:0;
    -webkit-writing-mode: vertical-rl; /* 縦書きにする */
    -ms-writing-mode: tb-rl; /* 縦書きにする */
    writing-mode: vertical-rl; /* 縦書きにする */
    text-orientation: upright; /* 英数字の向きを縦にする */
}
.rates-wrap .rates th div{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*
 * bank
 */
.banks-wrap{
    background-color:#ffffff;
}
.banks{
    margin-top:30px;
    margin-bottom:30px;
}
.banks .bank{
    margin:20px auto;

    background-color:#fff;
    border:1px solid #999999;
    border-radius: 10px;
    width:150px;
    height:150px;

    display:flex;
    align-items: center;

    position:relative;

}
.banks .bank .name{
    display: none;
}

.banks .bank.mizuho{
    background-color: #181272;
}

.banks > div .icon{
    width:75%;
    margin:auto;
}
.banks > div .icon img{
    width:100%;
}
.banks > div .name{
    font-size:12px;
    text-align:center;
    font-weight:normal;

    position:absolute;
    bottom:-30px;
    left:0;
    right:0;

}



/*
 * creditcard
 */
.creditcards-wrap{
    background-color:#ffffff;
}
.creditcards{
    margin-top:30px;
    margin-bottom:30px;
}
.creditcards .creditcard{
    margin:20px auto;

    border:1px solid #999999;
    background-color:#fff;
    border-radius: 10px;
    width:150px;
    height:150px;

    display:flex;
    align-items: center;

    position:relative;
}
.creditcards .creditcard .name{
    display: none;
}

.creditcards .creditcard.mastercard{
    background-color: #ffffff;
}
.creditcards .creditcard.softbank-card{
    background-color: #ffffff;
}
.creditcards > div .icon{
    width:75%;
    margin:auto;
}
.creditcards > div .icon img{
    width:100%;
}
.creditcards > div .name{
    font-size:12px;
    text-align:center;
    font-weight:normal;
    display: block;

    position:absolute;
    bottom:-30px;
    left:0;
    right:0;
}


/*
 * honkaku
 */
.honkakus-wrap{
    background-color:#ffffff;
    margin-top:50px;
}
.honkakus{
    margin-top:30px;
    margin-bottom:30px;
}
.honkakus .honkaku{
    margin:20px auto;

    background-color:#fff;
    border-radius: 10px;
    width:250px;

    display:flex;
    align-items: center;

    position:relative;
}

.honkakus .honkaku.passport{
    background-color: #ffffff;
}
.honkakus > div .icon{
    width:100%;
    margin:auto;
}
.honkakus > div .icon img{
    width:100%;
}
.honkakus > div .name{
    font-size:12px;
    text-align:center;
    font-weight:normal;
    display: block;

    position:absolute;
    bottom:-30px;
    left:0;
    right:0;
}





/*
 * step
 */
.steps-wrap{
    background-color:#D7ECF9;
}
.steps-wrap .topicon{
    width:500px;
    margin:50px auto 30px auto;
}
.steps-wrap .topicon img{
    width:100%;
}
.steps{
    margin-top:60px;
    margin-bottom:40px;
    display: flex;
    justify-content: space-between;
}

.view-pc{
    display: block;
}
.view-sp{
    display: none;
}


.steps .step{
    position:relative;
}
.steps .step .material-icons-round{
    position:absolute;
    top:110px;
    right:-60px;
    font-size:60px;
}
.steps .step .name{
    text-align:center;
    font-weight:bold;
    margin-bottom:8px;
    font-size:130%;
}
.steps .step .value{
    text-align:center;
    font-size:75%;
}
.steps .step img{
    width:200px;
}


/*
 * forms
 */
.forms{
    margin-top:40px;
}
.forms .notice-area{
    font-size:0.9rem;
    color:#f00;
    margin-bottom:30px;
    text-align:center;
    display:none;
}
.forms .form-group{
    margin-bottom:30px;
}
.forms .form-group .unit{
    font-size:150%;
    vertical-align: middle;

    display: flex;
    align-items: center;
}
.forms .form-group > label{
    font-size:0.85rem;
    margin-bottom:30px;
    background-color:#eee;
    display: block;
    padding:20px;
    margin-left:-30px;
    margin-right:-30px;

    position:relative;
}
.forms .form-group .message{
    font-size:75%;
    margin-top:10px;
    background-color:#eeff41;
    padding:20px;
    width:60%;
    line-height:180%;
    display:none;
}

.forms .form-group .info{
    margin-top:10px;
    margin-left:5px;
    font-size:12px;
}
.forms .form-group .info p{
    margin-bottom:2px;
}

.forms .form-group .result.value{
    font-size:1.3rem;
}
.mailstop-finish{
    text-align:left;
    font-size:1rem;
    font-weight:normal;
}


/* permit */
.forms .form-group.permit .row{
    text-align:center;
}
.forms .form-group.permit > label {
    background-color:#fff;
    text-align:center;
    font-weight:bold;
    font-size:20px;
}
.forms .form-group.permit .message{
    margin-left:auto;
    margin-right:auto;
}

.forms .form-group.error input,
.forms .form-group.error select,
.forms .form-group.error textarea
{
    border-color:#f44336;
    background-color:#ffebee;
}

.forms .form-group.error .form-check-label{
    border-color:#f44336;
}
.forms .form-group.error .form-check-input:checked + label {
    border-color:#f44336;
    /*background-color:#f06292;*/
}

.forms .form-group input,
.forms .form-group textarea,
.forms .form-group select
{
    border:5px solid #2f2f2f;
    font-size:150%;
}
.forms .form-group > label .badge{
    position:absolute;
    right:10px;
    border-radius:1px;
}
.forms .form-group > label .badge.badge-secondary {
    font-weight:normal;
    background-color:#900;
    color:#fff;
}
.forms .form-group > label .badge.badge-light {
    font-weight:normal;
    background-color:#fafafa;
}

/* forms-radio */
.forms .form-group .form-check-input{
    display: none;
}
.forms .form-group .form-check{
    padding-left:0;
}
.forms .form-group .form-check-input + label{
    border:3px solid #2f2f2f;
    padding:10px;
    cursor: pointer;
    width:100%;
    text-align:center;
    border-radius:10px;
}

.forms .form-group .form-check-input + label.box:before{
    content: "\e835";
    font-family: 'Material Icons Round';
    position:absolute;
    left:12px;
    top:50%;
    transform: translateY(-50%);
    font-size:28px;
}

.forms .form-group .form-check-input:checked + label{
    /*background-color:#fcf209;*/
    background-color:#2f2f2f;
    color:#fff;
    position:relative;

    display: flex;
    justify-content: center;
    align-items: center;

}
.forms .form-group .form-check-input:checked + label:before{
    content: "\e5ca";
    font-family: 'Material Icons Round';
    position:absolute;
    left:8px;
    font-size:25px;
}
.forms .form-group .form-check-input:checked + label:active{
    background-color:#999999;
    color:#2f2f2f;
}

/* forms-button-apply */
.forms .button-apply{
    text-align:center;
    margin:80px auto 30px auto;
    border:5px solid #2f2f2f;
    border-radius: 20px;
    background-color:#fcf209;
    padding:20px;

    font-size:30px;
    font-weight:bold;

    width:100%;

    box-shadow: 5px 8px #40c4ff;
    position:relative;

    cursor: pointer;
    font-family: 'Kosugi Maru';
}
.forms .button-apply.disabled{
    color:#666666;
    background-color:#cccccc;
    box-shadow: 5px 8px #999999;
    cursor: auto;
}
.forms .button-apply i.arrow{
    position:absolute;
    right:10px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.forms .apply-loading{
    position:absolute;
    left:40px;
    top:50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
}
.forms .apply-loading i{
    font-size:40px;
    display: none;
}

/* forms-more */
.forms .more{
    display:none;
}


.add-frame.forms-wrap{
    margin-bottom:60px;
}

.forms-wrap.finish .points{
    border-top: 2px solid #2f2f2f;
    border-bottom: 2px solid #2f2f2f;
    padding-top: 30px;
    padding-bottom: 30px;
}
.forms-wrap.finish .points .point{
    text-align: center;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    line-height: 100%;
    background-color: #fcf209;
    font-size: 30px;
    color: #2f2f2f;
    margin: 0 auto;
    border: 3px solid #2f2f2f;
    display: flex;
    justify-content: center;
    align-items: center;
}
.forms-wrap.finish .img-man{
    text-align: center;
    margin-top: 20px;
}
.forms-wrap.finish .img-man img{
    width:300px;
}
.forms-wrap.finish .arrow_downward{
    font-size: 50px;
    color: #2f2f2f;
}
@media screen and (max-width: 580px) {
    .forms-wrap.finish .img-man img{
        width:230px;
    }
}


/*
 * caution
 */
#caution-fraud{
    margin-top:30px;
    margin-bottom:30px;
    background-color:#fff5f5;
    /*padding:20px;*/
    position:relative;
    cursor:pointer;
}
#caution-fraud .text{
    font-family: initial;
    color:#ff0000;
    font-weight:normal;
    text-align:center;
    text-decoration: underline;
    margin-right:30px;
    margin-left:30px;
    padding:20px;
    font-size:0.9rem;
}
#caution-fraud .body {
    display: none;
    text-align:left;
    padding:0 20px 20px 20px;
    font-size:0.9rem;
    line-height:180%;
}
#caution-fraud .text:after{
    position:absolute;
    right:15px;
    content: "\e5cf";
    font-family: 'Material Icons Round';
    font-size:30px;
    color:#444;
    transition:all 0.2s;
    top: 10px;
    transform: rotate(0deg);
}
#caution-fraud .text.rotate:after{
    transition:all 0.2s;
    transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
    #caution-fraud .text{
        font-size: 0.85rem;
    }
    #caution-fraud .body {
        font-size: 0.85rem;
    }
}


/*
 * form-steps
 */

.form-steps-container {
    margin-top:40px;
    margin-bottom:50px;
}
.form-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left:auto;
    margin-right:auto;
    width:50%;
}
.form-steps .step {
    position: relative;
}
.form-steps .step .step-text {
    position: absolute;
    max-width: 200px;
    white-space: nowrap;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size:12px;
    color:#888;
}
.form-steps .step.active .step-text {
    color:#0288d1;
}
.form-steps .step .step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #cccccc;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.form-steps .step.active .step-number{
    background-color: #0288d1;
    color: #ffffff;
}
.form-steps .line {
    width: 100%;
    height: 1px;
    background-color: #0288d1;
    margin-left:10px;
    margin-right:10px;
}
@media screen and (max-width: 580px) {
    .form-steps {
        width:70%;
    }
    .form-steps .step .step-text {
        font-size:10px;
    }
}






/*
 * campaign
 */
.campaign{
    font-family: 'Kosugi Maru';

    z-index:1000;
    position:fixed;
    bottom:20px;
    width:100%;
}
.campaign .row{
    position:relative;

    width:500px;
    margin:auto;
    background-color:#fcf209;
    background-image: url("./parts/img/flash.jpg");
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-flow: column;
    align-items: center;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.3);

    padding:0px;
    border-radius: 5px;

    border:5px solid #ffffff;
}
.campaign .top{
    margin:20px 0 5px 0;
    font-size:0.8rem;
}
.campaign .top-line{
    margin:5px 0 0px 0;
    font-weight:bold;
}

.campaign .cashback{
    position:relative;

    width:100%;
    background-color:#2f2f2f;
    color:#fcf209;
    text-align:center;
    padding:20px;
    margin:10px 0;
}
.campaign .cashback .point{
    position:absolute;
    top:-7px;
    left:15px;

    background-color:#ffffff;
    color:#2f2f2f;
    border:4px #2f2f2f solid;
    border-radius: 110px;
    width:110px;
    height:110px;
    padding:0px;
    font-size:2rem;
    font-weight:bold;
    line-height:110%;

    display: flex;
    align-items: center;
    justify-content: center;
}
.campaign .cashback .title {
    font-weight: bold;
}
.campaign .cashback .title .text1{
}
.campaign .cashback .title .text1 .small{
    font-size:1.2rem;
}
.campaign .cashback .title .num{
    font-size: 3rem;
    font-family: 'Arvo';
}

.campaign .cashback .title .text2{
    font-size: 1.2rem;
    font-weight: bold;
}
.campaign .button-get-row{
    margin:10px 0 20px 0;
    display: flex;
    background-color:#f44336;
    color:#ffffff;
    box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.4);
    border-radius: 5px;
    cursor: pointer;
}

.campaign a.button-get-row:hover{
    background-color:#d32f2f;
}

.campaign a.button-get-row,
.campaign a.button-get-row:hover,
.campaign a.button-get-row:visited
{
    color:#ffffff;
}
.campaign .button-get-icon{
    padding:10px;
    display: flex;
    align-items: center;
}
.campaign .button-get-text{
    padding:10px;
    border-left:1px #d32f2f solid;
    display: flex;
    align-items: center;
}
.campaign .cancel{
    position:absolute;
    right:-15px;
    top:-15px;
    color:#dddddd;
}
.campaign .cancel{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color:#aaaaaa;
    border-radius: 25px;
    padding:0;
    cursor: pointer;
}
.campaign .cancel span{
    font-size:50px;
}
.campaign {
    display: none;
    bottom:-600px;
}


/*
 * apply-float
 */
.apply-float{
    z-index:1001;
    position:fixed;
    bottom:10px;
    width:100%;
}
.apply-float{
    bottom:-150px;
}
.apply-float .row{
    display: flex;
    justify-content: center;

    width:98%;
    max-width:900px;
    margin:auto;
}
.apply-float .btn-row{
    width:calc(50% - 5px);
}
.apply-float .btn-row.phone{
    margin-right:5px;
}
.apply-float .btn-row.apply{
    margin-left:5px;
}
.apply-float .btn-row a{
    text-decoration:none;
    white-space: nowrap;
    /*position:absolute;*/
}
.apply-float .btn-row a span.material-icons-round{
    position:relative;
    top:5px;
}
.apply-float .btn-body{
    display: block;
    text-align:center;
    font-weight:bold;
    width:100%;
    padding:30px;
    border-radius:50px;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, .4);
}
.apply-float .btn-body.phone{
    background-color:#1de9b6;
    color:#2f2f2f;
    border-bottom: 5px solid #00bfa5;
}
.apply-float .btn-body.apply{
    background-color:#e91e63;
    color:#fff;

    border-bottom: 5px solid #c2185b;
}
@media screen and (max-width: 500px) {
    .apply-float .btn-row a{
        padding:15px;
    }
    .apply-float .btn-row a span.text {
        display:block;
        font-size:12px;
        font-weight:normal;
    }
}


@media screen and (max-width: 767px) {

    .header {
        justify-content: center;
    }
    .header .tel {
        display: none;
    }
    .header .title{
        margin-top:20px;
        font-size:28px;
    }
    .header .title .icon > span{
        font-size:22px;
    }
    .header .title .icon {
        margin-right: 5px;
        margin-top: 0;
    }
    .header .header-button{
        display: none;
    }
    .header .header-button-tel{
        display: none;
    }
    .side-menu{
        display:block;
    }

    .add-frame {
        margin-top:60px;
        margin-bottom:30px;
        border-radius: 20px;
        width: 95%;
        padding:30px;
    }
    .add-frame .text{
        font-size:24px;
    }
    .add-frame .inline-subtitle.message {
        font-size: 90%;
    }
    .add-frame .float-title {
        width: 95%;
        font-size: 24px;
    }
    .add-frame .add-frame {
        width: calc(100%);
    }

    .button-wrap {
        width: 95%;
    }
    .button {
        margin-top:35px;
        font-size: 25px;
    }
    .button .mark {
        font-size:13px;
        top:-50px;
        left:-5px;

        width:75px;
        height:75px;
    }
    .button .mark::after{
        right: -7px;
        bottom: -7px;
    }
    .button .mark::before{
        right: -3px;
        bottom: -3px;
    }

    .button2{
        width:100%;
        font-size: 25px;
    }
    .button2 .mark {
        font-size:13px;
        top:-50px;
        left:-5px;

        width:75px;
        height:75px;
    }
    .button2 .mark::after{
        right: -7px;
        bottom: -7px;
    }
    .button2 .mark::before{
        right: -3px;
        bottom: -3px;
    }


    .notes{
        font-size:10px;
    }

    .view-pc{
        display: none;
    }
    .view-sp{
        display: block;
    }

    .waku.add-frame{
        margin-top:30px;
    }
    .waku {
        width: 95%;
        padding: 30px 10px 10px 10px;
    }
    .waku .copy-container .copy-img img {
        width: 200px;
    }
    .waku .copy-text {
        font-size: 40px;
    }
    .waku .no1 {
        border-radius: 60px;
        top: -25px;
        left: -15px;
        width: 120px;
        height: 120px;
    }
    .waku .no1 .no101 {
        margin-top: 0px;
    }
    .waku .no1 .no101 {
        width: -webkit-calc(138px * 0.6);
        width: calc(138px * 0.6);
    }
    .waku .no1 .no1-text1 {
        font-size: 12px;
    }

    .sim-wrap .sim .render .text > span{
        font-size:40px;
    }
    .sim-wrap .sim .render .text{
        line-height:50px;
    }
    .sim-wrap .sim .render .reset{
        position:absolute;
        top:5px;
        right:5px;
        display: none;
    }
    .sim-wrap .button-sim {
        width:400px;
    }
    .sim-wrap .button-sim-apply {
        width:400px;
    }
    .sim-wrap .texts .text-mid{
        font-size:12px;
    }


    .toppoints-wrap .points .point + .point {
        margin-left: 8px;
    }
    .toppoints-wrap .points .point {
        width: 180px;
        height: 180px;
    }

    .comments {
        margin-left: 120px;
    }

    .comments .comment {
        font-size: 20px;
    }

    .comments .comment .person img {
        border-radius: 50px;
        width: 100px;
        height: 100px;
        left: -135px;
    }

    .steps-wrap .topicon {
        width: 100%;
    }
    .steps {
        display: block;
        margin-left:auto;
        margin-right:auto;
    }
    .steps .step {
        display: flex;
        justify-content: center;
    }
    .steps .step .col-text{
        margin-left:20px;
        margin-top:30px;
    }
    .steps .step .name {
        text-align:left;
        margin-bottom:3px;
        font-size:120%;
    }
    .steps .step .value {
        text-align:left;
    }
    .steps .step .material-icons-round{
        position:absolute;
        bottom:0px;
        right:50%;
    }
    .steps .step img{
        width:200px;
    }
    .steps .direction{
        text-align:center;
    }
    .steps .direction .material-icons-round{
        font-size:60px;
    }


    .warrys {
        height:500px;
    }
    .warrys .warry{
        width:40%;
        height:120px;
        font-size:15px;
        padding:17px;
        border:3px solid #2f2f2f;
    }
    .warrys > div:nth-child(1) {
        position:absolute;
        top:28%;
        left:50%;
        transform: translate(-50%, 0%);
        -webkit-transform: translate(-50%, 0%);
        -ms-transform: translate(-50%, 0%);
    }
    .warrys .man03{
        position:absolute;
        top:auto;
        bottom:0%;
        left:50%;
        transform: translate(-50%,0%);
        -webkit-transform: translate(-50%,0%);
        -ms-transform: translate(-50%,0%);
    }
    .warrys .man03 img{
        width:150px;
    }


    .appeals{
        display: block;
    }
    .appeals .appeal{
        width:100%;
        height:100px;
        display: flex;
        border-width:4px;
        justify-content: start;
        padding-left:35px;
        border-radius: 5px;
    }
    .appeals .appeal .check{
        font-size:60px;
    }
    .appeals .appeal > div{
        display: flex;
    }
    .appeals .appeal > div .value{
        text-align:left;
        display: flex;
        align-items: center;
        font-size:17px;
    }
    .appeals .appeal > div .value br{
        display: none;
    }
    .appeals .appeal .icon{
        margin-top:5px;
        margin-right:5px;
    }
    .appeals .appeal .icon > span{
        font-size:40px;
    }



    .banks .bank{
        width:100px;
        height:100px;
    }
    .creditcards .creditcard {
        width:100px;
        height:100px;
    }

    .honkakus .honkaku{
        width:120px;
    }

    .faq .q {
        font-size:18px;
    }
    .faq .a{
        padding:20px;
    }
    .faq .q:after{
        top:15px;
    }
    .faqs{
    }
    .faqs-wrap.add-frame{
        margin-top:60px;
        padding:1px 0 0 0;
    }
    .reputations{
        margin-left:0px;
    }
    .reputations .reputation{
        position:relative;
        padding-top:50px;
        border-radius:10px;
        -webkit-border-radius:10px;
        -moz-border-radius:10px;
    }
    .reputations .reputation p{
        font-size:90%;
    }
    .reputations .reputation .person img{
        border:2px solid #2f2f2f;
        position: absolute;
        top:-35px;
        left:-10px;
        width:80px;
        height:80px;
    }
    .reputations .reputation:after{
        border:#ffffff;
    }
    .reputations .reputation:before {
        border:#ffffff;
    }

    .rates table td .num{
        font-size:25px;
    }
    .rates table td .small{
        font-size:16px;
    }
    .rates table td .unit{
        font-size:12px;
    }

    .forms .form-group.permit > label {
        font-size:16px;
    }
    .forms .form-group .message {
        width:100%;
    }
    .forms .button-apply{
        font-size:25px;
    }

    .add-frame.forms-wrap{
        padding:15px;
        border-left-width:0;
        border-right-width:0;
        width:100%;
    }
    .forms .form-group > label{
        margin-left:-15px;
        margin-right:-15px;
    }
    .forms .form-group.card-holder-type .form-check-label{
        margin-bottom:15px;
    }

}

@media screen and (max-width: 580px) {
    .header .title{
        font-size:26px;
    }
    .add-frame{
        border-radius: 15px;
        padding:15px;
    }
    .add-frame .float-title{
        font-size:20px;

        padding:20px 10px;
        border-width:3px 5px 3px 5px;
    }
    .add-frame .float-title + .texts{
        /*margin-top:50px;*/
    }
    .add-frame .text{
        font-size:20px;
    }
    .add-frame .text-mid{
        font-size:15px;
        font-weight:normal;
    }
    .add-frame .add-frame{
        width:calc(100% + 30px);
        margin:auto -15px;
    }
    .waku {
        width:95%;
        padding:10px;
    }
    .waku .copy-container {
        display:block;
        margin-top:10px;
    }
    .waku .copy{
        text-align:center;
    }
    .waku .copy-text{
        font-size:40px;
    }
    .waku .copy-container .copy-img{
        text-align:center;
        margin-top:15px;
    }
    .waku .copy-container .copy-img img{
        width:230px;
    }
    .waku .no1 {
        border-radius: 50px;
        top:-25px;
        left:-15px;
        width:100px;
        height:100px;
    }
    .waku .no1 .no101{
        margin-top:0px;
    }
    .waku .no1 .no101{
        width : -webkit-calc(138px*0.6);
        width : calc(138px*0.6);
    }
    .waku .no1 .no1-text1{
        font-size:12px;
    }

    .sim-wrap .sim{
        margin-top:50px;
    }
    .sim-wrap .sim .render{
        border-radius: 0px;
        border-right:0;
        border-left:0;
        margin-left:-15px;
        margin-right:-15px;
        padding:30px 10px 30px 10px;
    }
    .sim-wrap .sim .render .text{
    }
    .sim-wrap .sim .render .text > span{
        padding:0;
        font-size:45px;
    }
    .sim-wrap .sim .render .text{
        line-height:45px;
    }
    .sim-wrap .button-sim {
        width:100%;
    }
    .sim-wrap .button-sim-apply {
        width:100%;
    }
    .button .mark {
        left:-10px;
    }
    .button2 .mark {
        left:-10px;
    }

    .toppoints-wrap.add-frame{
        border-radius: 0;
        margin-top:50px;
    }
    .toppoints-wrap{
    }
    .toppoints-wrap .points .point{
        width:150px;
        height:150px;
    }
    .toppoints-wrap .points .point + .point {
        margin-left:5px;
    }
    .toppoints-wrap .points .point .value .lg{
        font-size:60px;
    }
    .toppoints-wrap .points .point .value .sm{
        font-size:13px;
    }

    .honkakus .honkaku{
        width:150px;
    }

    .comments .comment{
        font-size:17px;
        padding:18px;
        height:120px;
    }

    .steps {
        display: block;
        margin-top:30px;
        margin-left:auto;
        margin-right:auto;
    }
    .steps .step{
        display: flex;
    }
    .steps .step .name {
        font-size:110%;
    }
    .steps .step .col-text{
        margin-left:10px;
        margin-top:20px;
    }
    .steps .step img{
        width:180px;
    }
    .steps .direction .material-icons-round{
        font-size:50px;
    }

    .warrys .warry {
        font-size:13px;
        padding:15px;
    }

    .banks .bank{
        width:120px;
        height:120px;
    }
    .creditcards .creditcard {
        width:110px;
        height:110px;
    }

    .kuchikomi-wrap .kuchikomi{
        margin-left:-15px;
        margin-right:-15px;
    }


    .add-frame.rates-wrap{
        padding:0;
    }
    .rates table td .num{
        font-size:20px;
    }
    .rates table td .small{
        font-size:15px;
    }
    .rates table td .unit{
        font-size:12px;
    }

    .forms .button-apply{
        font-size:22px;
    }

    .campaign .row{
        width:450px;
    }
    .campaign .cashback .point{
        width:100px;
        height:100px;
        font-size:1.6rem;
    }
    .campaign .cashback .title .num{
        font-size:2.3rem;
    }

}

@media screen and (max-width: 520px) {
    .waku .copy-text{
        font-size:35px;
    }
    .waku .copy-container .copy-img img{
        width:200px;
    }

    .sim-wrap .sim .render .text{
        font-size:18px;
    }
    .sim-wrap .sim .render .text > span{
        font-size:40px;
    }
    .sim-wrap .sim .render .text{
        line-height:40px;
    }

    .button .mark {
        top:-50px;
        left:-15px;
    }
    .button2 .mark {
        top:-50px;
        left:-10px;
    }

    .toppoints-wrap.add-frame{
        padding:10px;
    }
    .toppoints-wrap .points .point {
        width:130px;
        height:130px;
    }
    .toppoints-wrap .points .point .value .lg{
        font-size:50px;
    }
    .toppoints-wrap .points .point .value .sm{
        font-size:12px;
    }

    .steps {
        width:100%;
    }
    .steps .step .col-text{
        margin-left:10px;
        margin-top:15px;
    }
    .steps .step{
        margin-left:auto;
    }
    .steps .step img{
        width:140px;
    }

    .banks .bank{
        width:90px;
        height:90px;
    }
    .creditcards .creditcard {
        width:90px;
        height:90px;
    }

    .comments{
        margin-left:75px;
    }
    .comments .comment{
        font-size:16px;
        border:2px solid #2F2F2F;
    }
    .comments .comment .person img {
        border:2px solid #2f2f2f;
        border-radius: 40px;
        width: 75px;
        height: 75px;
        left: -85px;
    }
    .comments .comment:after{
    }
    .comments .comment:before{
        margin-right: 1px;
    }

    .rates table td .num{
        font-size:20px;
    }
    .rates table td .small{
        font-size:14px;
    }
    .rates table td .unit{
        font-size:10px;
    }
    .rates table td .discount .rm{
        top:10px;
        font-size:15px;
    }

    .add-frame .text{
        font-size:18px;
    }

}

@media screen and (max-width: 480px) {
    .waku .copy-text{
        font-size:30px;
    }

    .campaign .row{
        width:95%;
    }

    .campaign .top {
        margin: 10px 0 5px 0;
    }
    .campaign .cashback{
        margin:5px 0;
        padding:10px;
    }
    .campaign .cashback .point{
        width:85px;
        height:85px;
        font-size:1.3rem;
        left:10px;
    }
    .campaign .button-get-row{
        margin:5px 0 10px 0;
    }

    .add-frame .text{
        font-size:16px;
    }


}
