#TopVisial {
    width:100%;
    position:relative;
    padding:80px 0 0 0;
    background:#312a28
}
#InfoAreal {
    width:100%;
    position:relative;
    padding:0 0 0 0;
    background:#312a28
}
@media screen and (max-width: 640px) {
    #TopVisial {
        padding:60px 0 0 0
    }
}
#TopVisial .TopMv {
    background:#312a28;
    padding-top:80px
}
#TopVisial .TopMv::after {
    content:"";
    display:block;
    background-color:#efc02e;
    height:3px;
    background:linear-gradient(left, #efc02e 0%, #faf6c9 25%, #bb8d31 60%, #e6d084 88%, #faf6c9 100%)
}
#TopVisial .TopMv .Area {
    width:90%;
    margin:auto;
    margin-top:20px;
    padding:0 0 60px 0;
    position:relative
}
#TopVisial .TopMv .Area img {
    opacity:0;
    transition:all 1.5s
}
#TopVisial .TopMv .Area img.on {
    opacity:1
}
#TopVisial .TopMv .Area img#Mv02,#TopVisial .TopMv .Area img#Mv03,#TopVisial .TopMv .Area img#Mv04,#TopVisial .TopMv .Area img#Mv05 {
    position:absolute;
    top:0;
    left:0
}
#TopVisial .mv-movie {
    margin:0 auto;
    width:100%;
    display:block;
    font-size:0;
    line-height:0
}
#TopVisial .mv-movie video {
    margin:0 auto;
    width:100%;
    height:auto;
    font-size:0;
    line-height:0
}
@media screen and (max-width: 640px) {
    #TopVisial .TopMv {
        padding-top:65px
    }
    #TopVisial .TopMv::after {
        height:2px
    }
    #TopVisial .TopMv .Area {
        width:100%;
        padding:0 0 40px 0;
        margin-top:12px
    }
}
.TopMerit {
    background:#5a514c
}
.TopMerit .Merit01 {
    padding:20px 0;
    margin:auto;
    mix-blend-mode:lighten
}
.TopMerit .Merit02 {
    padding:15px 0;
    background:url(../img/top/merit_bg.jpg?v=2) no-repeat center center;
    background-size:cover
}
.TopMerit .Merit02 img {
    width:84%;
    margin:auto
}
@media screen and (max-width: 640px) {
    .TopMerit .Merit01 {
        /* padding:15px */
    }
    .TopMerit .Merit02 {
        padding:15px 0
    }
    .TopMerit .Merit02 img {
        width:70%
    }
}
.koudou-area {
    background:#5a514c;
    padding:0 0 2em
}
@media screen and (max-width: 640px) {
    .koudou-area {
        padding:0 0 20px 0
    }
}
.koudou-area .Wrap {
    width:95%;
    max-width:1024px;
    margin:0 auto
}
.koudou-area .Wrap .Info_as {
    max-width:1024px;
    width:95%;
    margin:40px auto;
    background:#fff
}
@media screen and (max-width: 640px) {
    .koudou-area .Wrap .Info_as {
        margin:30px auto
    }
}
.koudou-area .Wrap .Info_as.top {
    margin:0 auto !important;
    background:none
}
.koudou-area .Wrap .Info_as .Area {
    padding:35px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center
}
@media screen and (max-width: 640px) {
    .koudou-area .Wrap .Info_as .Area {
        padding:15px
    }
}
.koudou-area .Wrap .Info_as h2 {
    width:100%;
    font-size:76px;
    text-align:center;
    letter-spacing:2px;
    color:#fff;
    margin-bottom:0;
    display:inline-block;
    background:linear-gradient(90deg, #a38131 0%, #e7c76d 33%, #ffe6c5 62%, #e3c05d 83%, #9d874e 100%);
    background:-webkit-linear-gradient(0deg, #a38131 0%, #e7c76d 33%, #ffe6c5 62%, #e3c05d 83%, #9d874e 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:rgba(0,0,0,0)
}
@media screen and (max-width: 640px) {
    .koudou-area .Wrap .Info_as h2 {
        font-size:7vw
    }
}
.koudou-area .Wrap .Info_as h2 small {
    font-size:.75em
}
.koudou-area .Wrap .Info_as h2::after {
    content:"";
    display:block;
    width:100px;
    height:2px;
    background:#fff;
    margin:auto;
    margin-top:10px
}
@media screen and (max-width: 640px) {
    .koudou-area .Wrap .Info_as h2::after {
        height:1px;
        margin-top:6px
    }
}
.koudou-area .Wrap .Info_as h2::after {
    content:"";
    display:block;
    width:100px;
    height:2px;
    background:#fff;
    margin:auto;
    margin-top:10px
}
.priceArea{margin: 0 auto;background: url("../img/top/price_bk.webp") no-repeat center center/cover;width: 100%;padding: 40px 0;text-align:center;}
.price{margin: 0 auto;width: 100%;max-width: 1200px;}
.price img{max-width: 1200px;}

@media screen and (max-width: 1210px) {
.price{margin: 0 auto;width: 90%;max-width: unset;}
}

@media screen and (max-width: 768px) {
.priceArea{width:100%;padding: 20px 0;}
.price{margin: 0 auto;width: 90%;max-width: unset;}
.price img{width:100%;}
}


.info-area {
    background:#5a514c;
    padding:1px 0 4em
}
@media screen and (max-width: 640px) {
    .info-area {
        padding:1px 0 2em
    }
}
.info-area .Wrap {
    width:95%;
    max-width:1024px;
    margin:0 auto
}
#InfoAreal .Info {
    width:100%;
    padding:120px 0;
    background:#5a514c
}
#InfoAreal .Info .Wrap {
    width:90%;
    max-width:1000px;
    margin:auto
}
#InfoAreal .Info .Wrap .Info_as {
    max-width:1024px;
    width:95%;
    margin:40px auto;
    background:#fff
}
#InfoAreal .Info .Wrap .Info_as.top {
    margin:0 auto !important;
    background:none
}
#InfoAreal .Info .Wrap .Info_as .Area {
    padding:35px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center
}
#InfoAreal .Info .Wrap .Info_as h2 {
    width:100%;
    font-size:76px;
    text-align:center;
    letter-spacing:2px;
    color:#fff;
    margin-bottom:0;
    display:inline-block;
    background:linear-gradient(90deg, #a38131 0%, #e7c76d 33%, #ffe6c5 62%, #e3c05d 83%, #9d874e 100%);
    background:-webkit-linear-gradient(0deg, #a38131 0%, #e7c76d 33%, #ffe6c5 62%, #e3c05d 83%, #9d874e 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:rgba(0,0,0,0)
}
#InfoAreal .Info .Wrap .Info_as h2 small {
    font-size:.75em
}
#InfoAreal .Info .Wrap .Info_as h2::after {
    content:"";
    display:block;
    width:100px;
    height:2px;
    background:#fff;
    margin:auto;
    margin-top:10px
}
#InfoAreal .Info .Wrap .Info_as h2.g {
    font-size:20px;
    text-align:center;
    letter-spacing:4px;
    color:#333;
    margin:0;
    padding:8px 0;
    background-color:#d2b67f;
    background:linear-gradient(left, #d2b67f, #eedfc2, #d2b67f)
}
#InfoAreal .Info .Wrap .Info_as h2.g::after {
    display:none
}
#InfoAreal .Info .Wrap .Info_as h3 {
    font-size:42px;
    text-align:center;
    letter-spacing:8px;
    color:#333
}
#InfoAreal .Info .Wrap .Info_as p.m {
    text-align:center;
    font-size:24px;
    letter-spacing:2px;
    color:#333
}
#InfoAreal .Info .Wrap .Info_as p.t {
    font-size:21px;
    letter-spacing:2px;
    color:#333
}
#InfoAreal .Info .Wrap .Info_as p.l {
    font-size:14px;
    letter-spacing:1px;
    color:#333;
    margin:20px auto;
    padding:0 15px 0 8em;
    position:relative
}
#InfoAreal .Info .Wrap .Info_as p.l span {
    position:absolute;
    top:0;
    left:0
}
#InfoAreal .Info .Topics {
    width:86%;
    margin:auto;
    border-top:solid 1px #333;
    border-bottom:solid 1px #333;
    padding:40px 0
}
@media screen and (max-width: 640px) {
    #InfoAreal .Info {
        padding:20px 0
    }
    #InfoAreal .Info .Wrap .Info_as {
        margin:30px auto
    }
    #InfoAreal .Info .Wrap .Info_as .Area {
        padding:15px
    }
    #InfoAreal .Info .Wrap .Info_as h2 {
        font-size:7vw
    }
    #InfoAreal .Info .Wrap .Info_as h2::after {
        height:1px;
        margin-top:6px
    }
    #InfoAreal .Info .Wrap .Info_as h2.g {
        font-size:18px
    }
    #InfoAreal .Info .Wrap .Info_as h3 {
        font-size:26px;
        letter-spacing:5px
    }
    #InfoAreal .Info .Wrap .Info_as p.m {
        text-align:center;
        font-size:18px;
        letter-spacing:2px;
        color:#333
    }
    #InfoAreal .Info .Wrap .Info_as p.t {
        font-size:16px
    }
    #InfoAreal .Info .Wrap .Info_as p.l {
        font-size:13px;
        padding:0 15px
    }
    #InfoAreal .Info .Wrap .Info_as p.l span {
        position:static;
        display:block;
        margin-right:0;
        margin-bottom:5px
    }
    #InfoAreal .Info .Topics {
        padding:20px 0
    }
}
.TopContents {
    background:#5a514c url(../img/top/con_bg.png) repeat-y top center;
    background-size:100%;
    width:100%;
    padding:10px 0 0 0;
    position:relative
}
.TopContents h2 {
    color:#e0d0ac;
    text-align:center;
    letter-spacing:4px;
    font-size:38px;
    margin:80px auto
}
.TopContents h2::after {
    content:"";
    display:block;
    background-color:#e0d0ac;
    background:linear-gradient(left, #9d9074, #eae4ce, #9d9074);
    height:3px;
    width:90px;
    box-shadow:0 2px 3px rgba(0,0,0,.12);
    margin:20px auto
}
.TopContents::before,.TopContents::after {
    content:"";
    display:block;
    background-color:#efc02e;
    height:3px;
    background:linear-gradient(left, #efc02e 0%, #faf6c9 25%, #bb8d31 60%, #e6d084 88%, #faf6c9 100%);
    position:absolute;
    width:100%
}
.TopContents::before {
    top:0;
    left:0
}
.TopContents::after {
    bottom:0;
    left:0
}
@media screen and (max-width: 640px) {
    .TopContents h2 {
        letter-spacing:3px;
        font-size:28px;
        margin:50px auto
    }
    .TopContents h2::after {
        height:2px;
        width:70px;
        margin:14px auto
    }
    .TopContents::before,.TopContents::after {
        height:2px
    }
}
.TopLoc {
    width:100%;
    position:relative
}
.TopLoc .Img {
    width:75%;
    position:relative;
    z-index:3;
    margin:0 0 120px auto
}
.TopLoc .Img span {
    color:#fff;
    font-size:10px;
    letter-spacing:1px;
    position:absolute;
    bottom:3px;
    right:4px
}
.TopLoc .Img::after {
    content:"";
    display:block;
    height:20px;
    width:90%;
    position:absolute;
    bottom:-20px;
    right:0;
    background:#e4ba5e;
    opacity:.1
}
.TopLoc .Tx {
    position:absolute;
    top:50%;
    left:10%;
    width:25%;
    transform:translateY(-50%);
    z-index:4
}
.TopLoc .Tx h3 {
    font-size:28px;
    letter-spacing:2px;
    line-height:175%;
    margin-bottom:50px;
    color:#fff
}
.TopLoc .Tx p {
    font-size:18px;
    letter-spacing:1px;
    line-height:225%;
    color:#fff
}
.TopLoc .Tx a {
    width:60%;
    display:block;
    padding:10px 5px;
    position:relative;
    font-size:30px;
    letter-spacing:2px;
    color:#efc02e;
    margin-top:50px
}
.TopLoc .Tx a.none {
    pointer-events:none
}
.TopLoc .Tx a::before {
    content:"";
    display:block;
    height:1px;
    width:90%;
    background:#efc02e;
    position:absolute;
    bottom:0;
    left:0;
    transition:all .5s
}
.TopLoc .Tx a::after {
    content:"";
    display:block;
    height:14px;
    width:1px;
    transform:rotate(135deg);
    background:#efc02e;
    position:absolute;
    bottom:-1px;
    right:12%;
    transition:all .5s
}
.TopLoc .Tx a:hover::before {
    width:95%
}
.TopLoc .Tx a:hover::after {
    right:8%
}
.TopLoc.re .Img {
    margin:0 auto 120px 0
}
.TopLoc.re .Img::after {
    right:auto;
    left:0
}
.TopLoc.re .Tx {
    left:auto;
    right:10%
}
@media screen and (max-width: 640px) {
    .TopLoc .Img {
        width:100%;
        margin:10px auto !important
    }
    .TopLoc .Img::after {
        height:12px;
        width:100%;
        position:absolute;
        bottom:-12px;
        right:0
    }
    .TopLoc .Tx {
        position:static;
        top:auto;
        left:auto;
        width:86%;
        margin:20px auto;
        transform:none
    }
    .TopLoc .Tx h3 {
        font-size:18px;
        margin-bottom:20px;
        text-align:center
    }
    .TopLoc .Tx p {
        font-size:14px;
        line-height:195%
    }
    .TopLoc .Tx a {
        width:70%;
        display:block;
        padding:8px 4px;
        position:relative;
        font-size:18px;
        letter-spacing:2px;
        margin-top:20px;
        margin-bottom:70px
    }
}
.TopMenu {
    width:100%;
    padding-bottom:200px;
    position:relative;
    margin-bottom:20px
}
.TopMenu:last-child {
    margin-bottom:0
}
.TopMenu::after {
    content:"";
    display:block;
    width:1px;
    height:260px;
    background:#cebca1;
    position:absolute;
    left:50%;
    bottom:0;
    z-index:1;
    transform:translateX(-50%)
}
.TopMenu h4 {
    color:#cebca1;
    text-align:center;
    letter-spacing:4px;
    font-size:38px
}
.TopMenu h4::after {
    content:"";
    display:block;
    background-color:#9d9074;
    background:linear-gradient(left, #9d9074, #eae4ce, #9d9074);
    height:3px;
    width:90px;
    box-shadow:0 2px 3px rgba(0,0,0,.12);
    margin:20px auto
}
.TopMenu p {
    color:#fff;
    font-size:16px;
    letter-spacing:2px;
    line-height:175%;
    text-align:center
}
.TopMenu .Img {
    position:relative;
    margin-top:25px;
    z-index:2
}
.TopMenu .Img span {
    color:#fff;
    font-size:10px;
    letter-spacing:1px;
    position:absolute;
    bottom:3px;
    right:4px
}
.TopMenu .Img span.shadow {
    text-shadow:0 0 10px rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.7)
}
.TopMenu a {
    width:280px;
    display:block;
    padding:10px 5px;
    position:absolute;
    bottom:150px;
    left:63%;
    transform:translateX(-50%);
    font-size:30px;
    letter-spacing:2px;
    color:#efc02e
}
.TopMenu a div {
    position:relative
}
.TopMenu a::before {
    content:"";
    display:block;
    height:1px;
    width:90%;
    background:#efc02e;
    position:absolute;
    bottom:0;
    left:0;
    transition:all .5s
}
.TopMenu a::after {
    content:"";
    display:block;
    height:14px;
    width:1px;
    transform:rotate(135deg);
    background:#efc02e;
    position:absolute;
    bottom:-1px;
    right:12%;
    transition:all .5s
}
.TopMenu a:hover::before {
    width:95%
}
.TopMenu a:hover::after {
    right:7%
}
.TopMenu a.none {
    pointer-events:none;
    font-size:20px;
    color:#fff
}
.TopMenu a.none::before {
    background:#fff
}
.TopMenu a.none::after {
    background:#fff
}
@media screen and (max-width: 640px) {
    .TopMenu {
        padding-bottom:120px;
        margin-bottom:15px
    }
    .TopMenu::after {
        height:140px
    }
    .TopMenu h4 {
        letter-spacing:3px;
        font-size:28px
    }
    .TopMenu h4::after {
        height:2px;
        width:70px;
        margin:15px auto
    }
    .TopMenu p {
        width:86%;
        margin:auto;
        font-size:14px
    }
    .TopMenu .Img {
        margin-top:15px
    }
    .TopMenu a {
        width:150px;
        display:block;
        padding:10px 5px;
        position:absolute;
        bottom:70px;
        left:auto;
        right:10px;
        transform:none;
        font-size:18px;
        letter-spacing:2px
    }
    .TopMenu a div {
        position:relative
    }
    .TopMenu a.none {
        font-size:16px;
        color:#fff
    }
    .TopMenu a.none::before {
        background:#fff
    }
    .TopMenu a.none::after {
        background:#fff
    }
}
.Tx .new {
    max-width:100px;
    width:20%;
    margin:0 0 5px
}
.Tx.new-2 {
    max-width:40rem;
    width:80%;
    margin:auto
}
@media screen and (max-width: 640px) {
    .Tx.new-2 .new {
        margin:auto
    }
}
.TopContents .bnr {
    max-width:1024px;
    width:95%;
    margin:3em auto
}
.floatingBnr {
    position:fixed;
    bottom:0;
    right:0;
    z-index:4;
    width:100%;
    transition:1s;
    max-width:520px
}
@media screen and (max-width: 640px) {
    .floatingBnr {
        bottom:57px
    }
}
.floatingBnr ul li {
    font-size:0;
    margin:0;
    position:relative;
    transition:all 1s 0s ease;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    background:#312a28
}
.floatingBnr ul li span {
    display:block;
    width:20px;
    height:100%;
    min-height:138px;
    cursor:pointer
}
@media screen and (max-width: 640px) {
    .floatingBnr ul li span {
        width:15px;
        min-height:99px
    }
}
.floatingBnr ul li span::before {
    content:"";
    position:absolute;
    top:50%;
    left:5px;
    transform:translateY(-50%);
    width:0;
    height:0;
    border-style:solid;
    border-top:10px solid rgba(0,0,0,0);
    border-bottom:10px solid rgba(0,0,0,0);
    border-left:10px solid #fff;
    border-right:0;
    z-index:11
}
@media screen and (max-width: 640px) {
    .floatingBnr ul li span::before {
        left:4px;
        border-top:6px solid rgba(0,0,0,0);
        border-bottom:6px solid rgba(0,0,0,0);
        border-left:6px solid #fff
    }
}
.floatingBnr ul li a {
    display:block;
    width:calc(100% - 20px)
}
@media screen and (max-width: 640px) {
    .floatingBnr ul li a {
        width:calc(100% - 15px)
    }
}
.floatingBnr ul li.close {
    transform:translateX(95%)
}
.floatingBnr ul li.close span::before {
    border-top:10px solid rgba(0,0,0,0);
    border-bottom:10px solid rgba(0,0,0,0);
    border-right:10px solid #fff;
    border-left:none
}
@media screen and (max-width: 640px) {
    .floatingBnr ul li.close span::before {
        border-top:6px solid rgba(0,0,0,0);
        border-bottom:6px solid rgba(0,0,0,0);
        border-right:6px solid #fff
    }
}
.infobox.add {
    margin:0 auto 1em;
    width:95%;
    background-image:url(../img/top/bg-box01.png),url(../img/top/bg-box02.png);
    background-position:0 0,100% 100%;
    background-size:100%;
    background-repeat:no-repeat;
    border:none;
    padding:5em;
    box-sizing:border-box
}
@media screen and (max-width: 640px) {
    .infobox.add {
        padding:2.5em
    }
}
.infobox.add dl dt {
    font-size:min(4.6svw,30px);
    color:#a38131;
    font-weight:bold
}
.infobox.add dl dd {
    font-size:min(4.2svw,24px);
    margin-top:1em
}
.infobox.add dl dd span {
    font-size:min(5.2svw,36px);
    color:red
}
.infobox.add .note {
    font-size:min(2.4svw,12px);
    text-align:left
}
/*.gw-cap {
    margin:0 auto;
    width:95%;
    max-width:860px;
    text-align:justify;
    color:#fff;
    font-size:min(2svw,10px);
    line-height:1.4
}*/
.gw-cap {
    margin: 10px auto;
    width: 95%;
    max-width: 970px;
    text-align: justify;
    color: #fff;
    font-size: min(2svw, 12px);
    line-height: 1.4;
}
.higashisumiyoshi .bnr {
    max-width:1024px;
    width:95%;
    margin:3em auto 0;
    background: #fff;
}
@media screen and (max-width: 640px) {
    .higashisumiyoshi .bnr {
        margin:1.5em auto 0
    }
}

body.over_hidden{overflow: hidden;}
.floating_bk{content: "";display: block;position: fixed;left: 0;top: 0;background: rgba(0,0,0,0.3);width: 100%;height: 100%;z-index: 100;cursor: pointer;}
.floatingBnr02 {
    position:fixed;
    top:50%;
    right:0;left: 0;margin: 0 auto;
    z-index:400;
    width:100%;
    transition:1s;
    /* max-width:800px; */
    max-width:1200px;
    transform: translateY(-50%);
    /* width: 95%; */
    width: 90%;
    background: #fff;
}
.floatingBnr02 .close_btn{
    font-style: normal;
    font-size: 30px;
    cursor: pointer;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
    background: #000;
    z-index: 10000;
}

/* add 20250604 */
@media screen and (min-width: 769px) {
	.sp{display: none!important;}
}
@media screen and (max-width: 768px) {
	.pc{display: none!important;}
}
	
#TopVisial .mv-movie{
	position: relative;
}
.movieover{
	opacity: 0;
	background: #FFF;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	transition: 1s;
}
.movieover::before{
	display: none;
}
.movieover.finished{
	opacity: 1;
}
.movieover.finished::before{
	opacity: 0;
}
.mvslider{
}



/* キャンペーンバナー */

.pre-inc .bnrArea:first-child {
  padding: 30px 0 0;
  margin: 30px auto 0;
}
.pre-inc .bnrArea {
  max-width: 1024px;
  padding: 0;
  margin: 15px auto 0;
}
.pre-inc .bnrArea a {
  max-width: 1024px;
}
.pre-inc .bnrArea a:hover {
  opacity: 0.6;
}
.pre-inc .bnrArea .note {
  margin: 1.5em auto;
  text-align: left;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .pre-inc .bnrArea {
    width: 90%;
  }
  .pre-inc .bnrArea .note {
    margin: 1em auto;
    font-size: 10px;
  }
}




/*# sourceMappingURL=top.css.map */

/* キャンペーンバナー */
.cp_modal_bk {
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000000;
  cursor: pointer;
}
.cp_modal_wrap {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 11000000;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  padding: 0 20px;
}
.cp_modal_btn {
  pointer-events: painted;
	position: relative;
}
.cp_modal_btn a {
  overflow: hidden;
  display: inline-block;
}
.cp_modal_btn a img {
  transition: 0.5s all;
}
.cp_modal_close_btn {
  font-size: 40px;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
  line-height: 1;
  cursor: pointer;
  transition: 0.5s all;
  background: #000;
  z-index: 1000;
}
@media screen and (min-width: 769px) {
  .cp_modal_close_btn:hover {
    opacity: 0.6;
  }
  .cp_modal_btn a:hover img {
    transform: scale(1.02);
  }
}
@media screen and (min-width: 769px) and (max-height: 809px) {
  .cp_modal_btn {
    height: 90%;
  }
  .cp_modal_btn a {
    height: 100%;
  }
  .cp_modal_btn a img {
    height: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 768px) {
  .cp_modal_wrap {
    padding: 0 15px;
		box-sizing: border-box;
  }
  .cp_modal_close_btn {
    font-size: 30px;
    top: 0;
    right: 0;
  }
	.cp_modal_btn a img {
    max-width: 100%;
		vertical-align: bottom;
		backface-visibility: hidden;
		image-rendering: crisp-edges;
  }
}

@media screen and (max-width: 768px) {
  .cp_modal_btn .pc {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .cp_modal_btn .sp {
    display: none !important;
  }
}