.rp-image-trim-circle-1,.rp-image-trim-circle-1 img {
    border-radius: 50%;
    background-position: center center;
}

/* 幅100% */
.rp-wide-background, .rp-wide-background-inner{
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    padding-left: calc(((100vw - 100%) - 8px) / 2);
    padding-right: calc(((100vw - 100%) - 8px) / 2);
    background-position:center;
}
.rp-wide-background-solidline{
    border-top: 10px solid #000;
    border-bottom: 10px solid #000;
}
.rp-wide-background-doubleline{
    border-top: 10px double #000;
    border-bottom: 10px double #000;
}

.rp-wide-background-intable{
    margin-left: calc((((100vw - 100%) / 2) * -1) );
    margin-right: calc((((100vw - 100%) / 2) * -1));
}

.rp-wide-background-table50 img,.rp-wide-background-table33 img,
.rp-table50 img,.rp-table33 img
{
    vertical-align: bottom;
}

/*画像hover*/
.rp-img-zoom {
    overflow: hidden;
}
.rp-img-zoom img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}
.rp-img-zoom img:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.rp-img-light {
    background: #fff;
}
.rp-img-light img:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}
.rp-img-dark {
    background: #000;
}
.rp-img-dark img:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}

.table_responsive[data-mce-selected] {
    position: relative;
}

.table_responsive[data-mce-selected]:after {
    content: "このテーブルはサイズを変更できません";
    background-color: #e2e2e2;
    border-color: black;
    border-style: dotted;
    padding:5px;
    font-size:10px;
    animation-name:fadeInAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
    position: absolute;
    overflow: auto;
    right:0px;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media screen and (min-width : 951px) {
    .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width:  calc(100% / 2) !important;
    }
    *::-ms-backdrop, .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width: 50% !important; /* IE11 */
    }
    .rp-td-66{
        width:  calc(100% / 3 * 2) !important;
    }
    *::-ms-backdrop, .rp-td-66{
        width: 66% !important; /* IE11 */
    }
    .rp-td-50{
        width:  calc(100% / 2) !important;
    }
    *::-ms-backdrop, .rp-td-50{
        width: 50% !important; /* IE11 */
    }
    .rp-td-33{
        width:  calc(100% / 3) !important;
    }
    *::-ms-backdrop, .rp-td-33{
        width: 33% !important; /* IE11 */
    }
    .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td{
        width:  calc(100% / 3) !important;
    }
    *::-ms-backdrop, .rp-wide-background-table33 > tbody > tr > td , .rp-table33 > tbody > tr > td{
        width: 33.3% !important; /* IE11 */
    }
    .rp-wide-background-table-padding{
        padding:60px
    }
}
@media screen and (max-width : 950px) {
    .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width:  calc(100% / 2) !important;
    }
    *::-ms-backdrop, .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td {
        width: 50% !important; /* IE11 */
    }
    .rp-td-66{
        width:  calc(100% / 3 * 2) !important;
    }
    *::-ms-backdrop, .rp-td-66{
        width: 66% !important; /* IE11 */
    }
    .rp-td-50{
        width:  calc(100% / 2) !important;
    }
    *::-ms-backdrop, .rp-td-50{
        width: 50% !important; /* IE11 */
    }
    .rp-td-33{
        width:  calc(100% / 3) !important;
    }
    *::-ms-backdrop, .rp-td-33{
        width: 33% !important; /* IE11 */
    }
    .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td{
        width:  calc(100% / 3) !important;
    }
    *::-ms-backdrop, .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td {
        width: 33.3% !important; /* IE11 */
    }
    .rp-wide-background-table-padding{
        padding:60px
    }
}
@media screen and (max-width : 768px) {
    .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-td-66{
        width:  100% !important;
    }
    .rp-td-50{
        width:  100% !important;
    }
    .rp-td-33{
        width:  100% !important;
    }
    .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-wide-background-table-padding{
        padding:60px
    }

    /* Table */
    .table_responsive{
        display: block;
    }
    .table_responsive > thead{
        display: none;
    }
    .table_responsive > tbody{
        display: block;
    }
    .table_responsive > tbody > tr{
        display: block;
    }
    .table_responsive > tbody > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tbody > tr > td{
        padding: 0;
    }
    .table_responsive > tr{
        display: block;
    }
    .table_responsive > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tr > td{
        padding: 0;
    }
    /*tr tdを非表示にする*/
    .table_responsive .nodisplay{
        display: none;
    }
}
@media screen and (max-width : 670px) {
    .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-td-66{
        width:  100% !important;
    }
    .rp-td-50{
        width:  100% !important;
    }
    .rp-td-33{
        width:  100% !important;
    }
    .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-wide-background-table-padding{
        padding:0px
    }

    /* Table */
    .table_responsive{
        display: block;
    }
    .table_responsive > thead{
        display: none;
    }
    .table_responsive > tbody{
        display: block;
    }
    .table_responsive > tbody > tr{
        display: block;
    }
    .table_responsive > tbody > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tbody > tr > td{
        padding: 0;
    }
    .table_responsive > tr{
        display: block;
    }
    .table_responsive > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tr > td{
        padding: 0;
    }
    /*tr tdを非表示にする*/
    .table_responsive .nodisplay {
        display: none;
    }
}
@media screen and (max-width : 480px) {
    .rp-wide-background-table50 > tbody > tr > td, .rp-table50 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-td-66{
        width:  100% !important;
    }
    .rp-td-50{
        width:  100% !important;
    }
    .rp-td-33{
        width:  100% !important;
    }
    .rp-wide-background-table33 > tbody > tr > td, .rp-table33 > tbody > tr > td{
        width: 100% !important;
    }
    .rp-wide-background-table-padding{
        padding:0px
    }

    /* Table */
    .table_responsive{
        display: block;
    }
    .table_responsive > thead{
        display: none;
    }
    .table_responsive > tbody{
        display: block;
    }
    .table_responsive > tbody > tr{
        display: block;
    }
    .table_responsive > tbody > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tbody > tr > td{
        padding: 0;
    }
    .table_responsive > tr{
        display: block;
    }
    .table_responsive > tr > td{
        display        : list-item;
        list-style-type: none;
        width          :100%;
    }
    .table_responsive > tr > td{
        padding: 0;
    }
    /*tr tdを非表示にする*/
    .table_responsive .nodisplay{
        display: none;
    }
}

/*button*/
.designbtn a{
    padding: 10px 0px;
    /*width:100%;*/
    box-sizing: border-box;
    position: relative;
    /*display: inline-block;*/
    display: block;
    text-decoration: none !important;
}
/*@media all and (-ms-high-contrast:none){
    .designbtn a{
        box-sizing: content-box !important;
        display: block !important;
    }
}*/
.designbtn-onetone-1{
    border-radius: 3px;
}
.designbtn-onetone-1 a{
    border-radius: 3px;
}
.designbtn-onetone-2{
    border-radius: 300px;
}
.designbtn-onetone-2 a{
    border-radius: 300px;
}
.designbtn-onetone-3{
    border-radius: 3px;
}
.designbtn-onetone-3 a{
    border-radius: 3px;
    border-bottom: solid 3px #999;
}
.designbtn-onetone-4{
    border-radius: 300px;
}
.designbtn-onetone-4 a{
    border-radius: 300px;
    border-bottom: solid 3px #999;
}
.designbtn-border-1 a {
    border: 2px solid #000;
    outline: none;
    transition: all .2s;
    border-radius: 3px;
}
.designbtn-border-2 a {
    border: 2px solid #000;
    outline: none;
    transition: all .2s;
    border-radius: 300px;
}
.designbtn-border-1.designbtn-border-thin a,
.designbtn-border-2.designbtn-border-thin a {
    border: 1px solid #000;
}
.designbtn-border-3 a {
    border: 10px double #000;
    outline: none;
    transition: all .2s;
    border-radius: 3px;
}
.designbtn-border-4 a {
    border: 10px double #000;
    outline: none;
    transition: all .2s;
    border-radius: 300px;
}
.designbtn-border-3.designbtn-border-thin a,
.designbtn-border-4.designbtn-border-thin a {
    border: 4px double #000;
}
.designbtn-line-1 a {
    transition: all .2s;
}
.designbtn-line-1 a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 4px;
    top: 100%;
    left: 0;
    border-radius: 3px;
    background: currentColor;
    transition: .2s;
}
.designbtn-line-2 a {
    transition: all .2s;
}
.designbtn-line-2 a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 4px;
    top: 100%;
    left: 0;
    border-radius: 3px;
    background: currentColor;
    transition: .2s;
}
.designbtn-line-2 a::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 4px;
    top: -2px;
    left: 0;
    border-radius: 3px;
    background: currentColor;
    transition: .2s;
}
.designbtn-line-1.designbtn-border-thin a::before,
.designbtn-line-2.designbtn-border-thin a::before,
.designbtn-line-2.designbtn-border-thin a::after {
    height:1px;
}
.designbtn-gradation-1 a {
    transition: all .2s;
    border-radius: 3px;
    background-size: 200% !important;
}
.designbtn-gradation-2 a {
    transition: all .2s;
    border-radius: 300px;
    background-size: 200% !important;
}
.designbtn-gradation-3 a {
    transition: all .2s;
    border-radius: 3px;
    background-size: 200% !important;
    border-bottom: solid 3px #999;
}
.designbtn-gradation-4 a {
    transition: all .2s;
    border-radius: 300px;
    background-size: 200% !important;
    border-bottom: solid 3px #999;
}

/*button icon*/
.designbtn-icon-arrow-1 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-1 a::before {
    right: 10px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid currentColor;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-1 a:hover::before {
    right: 5px;
}
.designbtn-icon-arrow-2 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-2 a::before{
    transition: all .2s;
    position: absolute;
    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-2 a::after{
    right: 11px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-2 a:hover::before{
    right: 5px;
}
.designbtn-icon-arrow-2 a:hover::after{
    right: 6px;
}
.designbtn-icon-arrow-3 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-3 a::before{
    transition: all .2s;
    position: absolute;
    width: 12px;
    height: 12px;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
    border-radius: 2px;
}
.designbtn-icon-arrow-3 a::after{
    right: 11px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-3 a:hover::before{
    right: 5px;
}
.designbtn-icon-arrow-3 a:hover::after{
    right: 6px;
}

.designbtn-icon-arrow-4 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-4 a::before{
    transition: all .2s;
    position: absolute;

    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: .9em;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-4 a::after{
    right: 1.2em;
    width: 3px;
    height: 3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-4 a:hover::before{
    right: .5em;
}
.designbtn-icon-arrow-4 a:hover::after{
    right: .8em;
}

.designbtn-icon-arrow-5 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-5 a::before{
    transition: all .2s;
    position: absolute;
    width: 12px;
    height: 12px;
    border: 1px solid currentColor;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-5 a::after{
    right: 16px;
    width: 3px;
    height: 3px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-5 a:hover::before{
    right: 5px;
}
.designbtn-icon-arrow-5 a:hover::after{
    right: 11px;
}
.designbtn-icon-arrow-6 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-6 a::before{
    transition: all .2s;
    position: absolute;
    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-6 a::after{
    right: 11px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #999;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-6 a:hover::before{
    right: 5px;
}
.designbtn-icon-arrow-6 a:hover::after{
    right: 6px;
}
.designbtn-icon-arrow-7 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-7 a::before{
    transition: all .2s;
    position: absolute;
    width: 12px;
    height: 12px;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
    border-radius: 2px;
}
.designbtn-icon-arrow-7 a::after{
    right: 11px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #999;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-7 a:hover::before{
    right: 5px;
}
.designbtn-icon-arrow-7 a:hover::after{
    right: 6px;
}

.designbtn-icon-arrow-8 a {
    padding: 10px 20px 10px 10px;
}
.designbtn-icon-arrow-8 a::before{
    transition: all .2s;
    position: absolute;

    width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: currentColor;
    top: 0;
    bottom: 0;
    right: .9em;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-8 a::after{
    right: 1.2em;
    width: 3px;
    height: 3px;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    transition: all .2s;
}
.designbtn-icon-arrow-8 a:hover::before{
    right: .5em;
}
.designbtn-icon-arrow-8 a:hover::after{
    right: .8em;
}

/*button hover*/
.designbtn-light{
    background: #fff;
}
.designbtn-light a:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}
.designbtn-push a:hover {
    top:3px;
    border-color: transparent;
}
.designbtn-push-2 a:hover {
    top:3px;
}
.designbtn-zoom:hover {
     cursor: pointer;
     text-decoration: none;
    -webkit-animation: designbtn-zoom 0.5s both;
    -moz-animation: designbtn-zoom 0.5s both;
            animation: designbtn-zoom 0.5s both;
}
@-webkit-keyframes designbtn-zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@-moz-keyframes designbtn-zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes designbtn-zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.designbtn-close a:hover:before {
  top: -webkit-calc(100% - 3px);
  top: calc(100% - 3px);
}
.designbtn-close a:hover:after {
  top: 3px;
}
.designbtn-chcol a:hover {
  background-position: right center;
}