#footer #foot_fixed.popup_on[data-cms_editable="true"],
#footer #foot_fixed.popup_on[data-cms_editable="false"]{
    bottom: 0px;
    opacity: 1;
}
body.pace-running #container{
    opacity:0;
    display: block;
}
body.pace-done #container{
    opacity: 1;
    -webkit-transition: all 2s linear 0s;
    -moz-transition: all 2s linear 0s;
    transition: all 2s linear 0s;
}

[data-lib-uuid="187d444a-3167-4171-82ed-7aaaa6dc4b2d"] .fv_cont .fv_img{
	overflow-x: hidden;
}
[data-lib-uuid="187d444a-3167-4171-82ed-7aaaa6dc4b2d"] .fv_cont .fv_img .fv_text .fv_border{
	display: contents;
}
[data-lib-uuid="539f6e74-a259-4b7a-8ec2-1824cb185dab"].lp_contact .link_btn a span::after {
	content: "";
	width: 0;
	height: 0;
}

/*
◆ポップアップ(2019/10/15)
*****************************************/
.popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}/*
.popup#js-popup img{
    max-width: 100%;
    height: auto;
}*/
@media (max-width: 768px){
    .popup img{
      max-width: 100%;
      height: auto;
    }
}
.popup.is-show {
    opacity: 1;
    visibility: visible;
}
.popup-inner {
    height: calc(100vh - 60px);
    top: 60px;
    position: absolute;
    width: 100%;
    /* background-color: #fff; */
    z-index: 2;
}
.popup-inner img {
    width: 100%;
}
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  z-index:10000;
}
.close-btn i {
  font-size: 30px;
  color: #333;
  background: rgba(255,255,255,1);
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.8);
  z-index: 1;
  cursor: pointer;
}

.pay_main {
    height: calc(100% - 30px);
}

.pay_main img {
    width: 100%;
}

.pay_head {
    height: 30px;
   position: relative;
}

.pay_disc {
    height: 100%;
    text-align:left;
}

.pay_disc p {
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    color: #ffffff;
    text-align: center;
}

.pay_disc .pay_shop {
    font-size: 4vw;
    display: contents;
    display: none;
}

.pay_head > .pay_image {
    float:left;
    width: 30%;
    height: 100%;
    position: relative;
    display: none;
}

.pay_image img {
    height: auto;
    width: 70%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.pay_body {
    padding: 2% 5%;
    box-sizing: border-box;
    color: #ffffff;
    height: 90%;
}

.pay_body_box {
    height: 100%;
    border-radius: 1%;
    box-sizing: border-box;
}

.pay_btn, .pay_btn_empty {
    box-sizing: border-box;
    border-radius: 5px;
    padding: 1%;
    margin: 0 2% 2% 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
.pay_btn {
    background: #ffffff;
}

.pay_btn a, .pay_btn_empty a {
    display: block;
    width: 100%;
    height: 100%;
}

.pay_btn img, .pay_btn_empty img {
    width: auto;
}
.pay_btn img.off, .pay_btn_empty img.off {
    display:none;
}

.pay_wrap {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 85%;
}

.pay_btn_empty:last-child {
    margin-right: 0;
}

.pay_btn_empty {
    border: 5px solid rgba(255,255,255,0.5);
    padding: 3%;
}
.pay_btn_empty.off{
    display:none;
}

/* 12個パターン
------------------------------------- */
.btn_layout12 .pay_btn {
    width: calc(96% / 3);
    height: calc(94% / 4);
}

.btn_layout12 .pay_btn:nth-child(3n) {
    margin-right: 0;
}

/* 11個パターン
------------------------------------- */
.btn_layout11 .pay_btn, .btn_layout11 .pay_btn_empty {
    width: calc(96% / 3);
    height: calc(94% / 4);
}

.btn_layout11 .pay_btn:nth-child(3n) {
    margin-right: 0;
}

/* 10個パターン
------------------------------------- */
.btn_layout10 .pay_btn, .btn_layout10 .pay_btn_empty {
    width: calc(96% / 3);
    height: calc(94% / 4);
}

.btn_layout10 .pay_btn:nth-child(3n) {
    margin-right: 0;
}

/* 9個パターン
------------------------------------- */
.btn_layout9 .pay_btn {
    width: calc(96% / 3);
    height: calc(96% / 3);
}

.btn_layout9 .pay_btn:nth-child(3n) {
    margin-right: 0;
}

/* 8個パターン
------------------------------------- */
.btn_layout8 .pay_btn {
    width: calc(98% / 2);
    height: calc(94% / 4);
}

.btn_layout8 .pay_btn:nth-child(2n) {
    margin-right: 0;
}

/* 7個パターン
------------------------------------- */
.btn_layout7 .pay_btn, .btn_layout7 .pay_btn_empty {
    width: calc(98% / 2);
    height: calc(94% / 4);
}

.btn_layout7 .pay_btn:nth-child(2n) {
    margin-right: 0;
}

/* 6個パターン
------------------------------------- */
.btn_layout6 .pay_btn {
    width: calc(98% / 2);
    height: calc(96% / 3);
}

.btn_layout6 .pay_btn:nth-child(2n) {
    margin-right: 0;
}

/* 5個パターン
------------------------------------- */
.btn_layout5 .pay_btn, .btn_layout5 .pay_btn_empty {
    width: calc(98% / 2);
    height: calc(96% / 3);
}

.btn_layout5 .pay_btn:nth-child(2n) {
    margin-right: 0;
}

/* 4個パターン
------------------------------------- */
.btn_layout4 .pay_btn {
    width: calc(98% / 2);
    height: calc(98% / 2);
}

.btn_layout4 .pay_btn:nth-child(2n) {
    margin-right: 0;
}

/* 3個パターン
------------------------------------- */
.btn_layout3 .pay_btn {
    margin-right: 0;
    width: 100%;
    height: calc(96% / 3);
}

/* 2個パターン
------------------------------------- */
.btn_layout2 .pay_btn {
    width: 100%;
    height: calc(98% / 2);
}

.btn_layout2 .pay_wrap {
    height: 50%;
    margin: 5% 0 10%;
}

/* 1個パターン
------------------------------------- */
.btn_layout1 .pay_btn {
    margin-right: 0;
    width: 100%;
    height: 100%;
}

.btn_layout1 .pay_wrap {
    height: 50%;
    margin: 5% 0 10%;
}

/* 1・5?8個パターン 画像サイズ調整
------------------------------------- */
.btn_layout1 .pay_btn img,
.btn_layout5 .pay_btn img,
.btn_layout5 .pay_btn_empty img,
.btn_layout6 .pay_btn img,
.btn_layout7 .pay_btn img,
.btn_layout7 .pay_btn_empty img,
.btn_layout8 .pay_btn img {
    height: 100%;
}

/* 2～4個パターン 画像サイズ調整
------------------------------------- */
.btn_layout2 .pay_btn img,
.btn_layout3 .pay_btn img,
.btn_layout4 .pay_btn img,
.btn_layout9 .pay_btn img,
.btn_layout10 .pay_btn img,
.btn_layout11 .pay_btn img,
.btn_layout12 .pay_btn img {
    width: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* 1?2個パターン 説明文
------------------------------------- */
.pay_discription {
    text-align: center;
    width: 100%;
    height: 10%;
    display: table;
    padding-bottom: 5%;
}
.pay_discription.off{
    display:none;
}

.pay_discription > p {
    display: table-cell;
    vertical-align: middle;
    font-size: 4vw;
}

.pay_discription b {
    font-size: 6vw;
}

.pay_discription > p.disc_bottom {
    display: table-cell;
    /*vertical-align: bottom;*/
    font-size: 3.5vw;
}

.pay_kome {
    font-size: 3vw;
}



/* レイアウト上書き
------------------------------------- */
#footer{
    z-index:10002;
}
.table_pay_off{
    display:block;
}
.table_pay_on{
    display:none;
}
@media screen and (max-width: 768px){
    .table_pay_off,
    .table_pay_on{
        display:none;
    }
    .table_pay_off.off{
        display:block;
    }
    .table_pay_on.on{
        display:block;
    }
    .table_pay_on.on .foot_fixed{
        display:block;
    }
    /*フッターポップアップON 初期設定*/
    .table_pay_on.on #foot_fixed.popup_on{
        bottom: -100px;
        opacity: 0;
        padding: 26px 0 18px;
    	width:100%;
    	transform: initial;
    }
    /*フッターポップアップON TOPポップアップ時*/
    .table_pay_on.on #foot_fixed.on.fixed.popup_on.appear{
        bottom: 0;
        opacity: 1;
        transition: .4s linear;
    }
    .table_pay_on.on #foot_fixed table{
    	width:100%;
    }
    .table_pay_on.on #foot_fixed td{
    	width: 33%;
        padding: 0 1%;
        text-align: center;
    }
    .table_pay_on.on #foot_fixed td .tel{
    	font-size: 6vw;
    }
    .table_pay_on.on #foot_fixed td .tel a{
    	text-decoration:none;
    }
    .table_pay_on.on #foot_fixed td .hours{
    	font-size: 12px;
    }
	.table_pay_on.on .div_section .wrapper{
		width:90%;
	}
    .table_pay_on.on #foot_fixed.fixed table td {
        font-size: 90%;
    }
    .table_pay_on.on #foot_fixed td .contact_btn a {
        display: block;
        padding: 9px 0px 8px;
        text-decoration: none;
        width: auto;
        font-size: 90%;
    }
    
    /*フッターポップアップON ポップアップ時*/
    .table_pay_on.on #foot_fixed.popup_on{
        padding: 20px 0;
    }
    _::-webkit-full-page-media, _:future, :root .table_pay_on.on #foot_fixed.popup_on{
        padding: 20px 0 30px;
    }
    
    .table_pay_on.on #foot_fixed.on.popup_on td .tel{
        font-size: 5.5vw;
    }
    .table_pay_on.on #foot_fixed.on.popup_on td .hours{
        font-size: 12px;
    }
    .table_pay_on.on #foot_fixed.on.popup_on td .contact_btn a{
        display: block;
        padding: 9px 0px 8px;
        text-decoration: none;
        width: auto;
        font-size: 90%;
    }
}
.table_pay_on.on #foot_fixed.popup_on{
    bottom:-111px;
}
.table_pay_on.on #foot_fixed table tr td:first-child {
  display: block;
}
.table_pay_on.on #foot_fixed.on.popup_on table td{
    width:33%;
    max-width:none;
    display: table-cell;
    padding:0;
    font-size: 3vw;
    color:{=resource('color','accent')=};
}
.table_pay_on.on #foot_fixed.on.popup_on table td i{
    font-size: 10vw;
    color:{=resource('color','accent')=};
}
.table_pay_on.on #foot_fixed table td a{
    color:{=resource('color','accent')=};
    text-decoration:none;
}
.pay_click button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    
    color:{=resource('color','accent')=};
    font-size: 3vw;
}
.pay_btn.pay_off{
    display:none;
}


/*改善追記*/

/*126*/
@media (max-width: 768px) {
    .more_btn a{
      min-width: 90%;
      padding:1rem
    }
}

/*20210908*/
@media (max-width: 375px) {
    .header_wrapper .header_wrapper_in{
        padding: 10px;
        box-sizing: border-box;
    }
    .logo img {
        max-height: 60px;
        max-width: 150px;
    }
    .ft_top img{
        max-width: 280px;
    }
}
