/* 共通 */
a.common_btn{
    color: #FFF;
}
.head-min {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 12px;
}

/* header */
header .nav-add-items .item .item-link .text {
    text-align: center;
}

header .nav-add-items .item.item-swimming {
    background: #1cddff;
}

header .nav-add-items .item.item-swimming img {
    width: 30px;
}



/* 共通パーツ */
.common_btn_wrap {
}
.common_btn2 {
    display: block;
    color: #002EA7 !important;
    text-align: center;
    padding: 5px 0;
    border-bottom: 2px #002EA7 solid;
    font-size: 16px;
    font-weight: 600;
    width: fit-content;
    margin: 50px auto 0;
    letter-spacing: 0.09em;
}

.common_btn {
    display: block;
    background-color: #002EA7;
    color: #fff;
    width: 320px;
    max-width: 100%;
    text-align: center;
    padding: 25px;
    font-size: 16px;
    font-weight: 600;
    margin: 30px auto 0;
    letter-spacing: 0.09em;
}

.common_btn:hover {
    color: #fff;
}

.common_btn._pink {
    background-color: #f11757;
}

/* card */
.card.card-training.training3 .card-img img {
    width: 100%;
}
/* facility */
.facility-contents {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.facility-contents::after {
    content: "";
    width: 33%;
    display: block;
}

.facility-box {
    flex: 0 0 33%;
}

.facility-box {
    flex: 0 0 33%;
    margin-bottom: 32px;
}

.facility-img {
    margin-bottom: 12px;
}

.facility-text {
}

.facility-text p {

}

/* news */
.news {
    background-color: #f0f2fd;
    padding: 60px 0;
}

.news .hx {
    color: #002EA7;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 15px;
}

.news ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.news ul li {
    margin-bottom: 20px;
    line-height: 2;
}

.news ul li .img_sum{
    height: 140px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
}

.news ul li a {
    font-size: 1.2em;
}

.news ul li span {
    margin-bottom: 10px;
    color: gray;
}


.slick-dots{
bottom: -40px !important;
}
.slick-dots li button:before {
    font-size: 10px;
    color: #002EA7;
}
.slick-dots li.slick-active button:before {
    color: #002EA7;
}
.slick-prev:before {
    
}


.news .common_btn{
    margin-top: 60px;
}
.facility{
    background-color:#556CBC ;
    padding-bottom: 120px;
}



.facility_box {
    display: flex;
    gap:30px;
    margin:30px auto;
    align-items: center;
    justify-content: center;
}
.facility h2{
    font-weight: 600;
    text-align: center;
    font-size: 34px;
    color: #FFF;
    letter-spacing: 0.12em;
    padding: 120px 0 60px;
}
.facility a{
    display: flex;
    width: 380px;
    height: 260px;
    align-items: center;
    justify-content: center;
    
    color: #FFF;
    font-weight: 600;
    text-align: center;
    font-size: 18px;
    line-height: 1.8;
}
.facility a{
    background-image: url(../img/common/f1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.facility a:nth-child(1){
    background-image: url(../img/common/f2.jpg);

}
.facility a:nth-child(2){
    background-image: url(../img/common/f3.jpg);
}
@media screen and (max-width:980px) {
    .facility h2{
        font-size: 22px;
        letter-spacing: 0.12em;
        padding: 60px 0 20px;
    }
    .facility_box {
        display: block;
    }
.facility a{
    width: 100%;
    height: 145px;
    margin-bottom: 20px;
}
.facility{
    background-color:#556CBC ;
    padding-bottom: 60px;
}

}


.new_btn{
    position: fixed;
    top:50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1000;
    transition: .3s;
    right: -60px;
}
.sc .new_btn{
    right: 0px;
}
.new_btn a{
    display: block;
    padding: 15px 12px 15px;
    background-color: #002EA7;
    color: #FFF;
    font-weight: 600;
    border-radius: 4px 0 0 4px;
    background: url(../img/common/r.svg) no-repeat #002EA7;
    background-size: 5px auto;
    background-position:50% calc(100% - 10px);
    line-height: 1.2;
    
    font-size: 14px;
}
.new_btn a span{
    font-size: 16px;
    opacity: 1;
}
.page-id-4091 .new_btn{
    display: none !important;
}



.enter_new a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 450px;
    background-image: url(../img/common/new2.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
    opacity: 1 !important;
}
.new_img{
    margin-top: 200px;
}
.card.card-method .card-header .card-title .title-sub,
.card.card-method .card-header .card-title .text.text-ja{
    color:#FFF;
    font-size: 24px;
}

.jump_nav{
    max-width: 1100px;
    margin-top: 120px;
    margin: 90px auto;
}
.jump_nav p{
    font-weight: bold;
    color: #002EA7;
    text-align: center;
}
.jump_nav ul{
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}
.jump_nav ul li{
    font-size: 15px;
    font-weight: 500;
    color: #000;
    background: url(../img/common/r.svg) no-repeat;
    background-size: 5px auto;
    background-position: calc(100% - 10px) 50%;
    padding:13px 24px 13px 20px;
    border: #002EA7 1px solid;
    border-radius: 30px;
}

@media screen and (max-width:980px) {
    main.main-top section.staff .slider-wrap .slider-item .caption .position{
        text-align: center;
    }
    main.main-top section.staff .slider-wrap .slider-item .caption h2 .name.name-ja{
        font-size: 24px !important;
        display: block;
        margin-bottom: 10px;
    }
    .slider-item .caption h2 .name.name-en {
        font-size: 22px !important;
    }
    .jump_nav{
        margin:120px auto 60px;
    }
    .jump_nav ul{
        margin-top: 40px;
        display: block;
        justify-content: space-between;
        border-top: 1px solid #707070;
    }
    .jump_nav ul li{
        text-align: center;
        padding: 25px;
        border-bottom: 1px solid #707070;
        font-size: 18px;
        font-weight: 500;
        color: #002EA7;
        border-radius: 0px;
        border-top: none;
        border-left: none;
        border-right: none;
        background: url(../img/common/r.svg) no-repeat;
        background-position: calc(100% - 20px) 50%;
        padding-right: 20px;
    }

    .container>.schedule_e{
width: 100%;
    }
    .enter_new a{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 270px;
        background-image: url(../img/common/new.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
    
    }
.new_img{
    margin-top: 120px;
}
}


/* program */
.program {
    background-color:#002EA7;
    padding: 60px 25px 0;
}

.program .hx {
    color: #002EA7;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 15px;
}

.program ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}

.program ul li {
    margin-bottom: 20px;
    line-height: 2;
    width: calc(33% - 10px);
}
.faq p{
    font-size: 15px !important;
}
.faq a.common_btn {
    border-radius: 6px !important;
    background-position: 20px 50%;
    margin:20px 0 0!important;
    padding: 15px !important;
}

.program ul li .img_sum{
    height: 140px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.program ul li .text_nex1{
    background-color: #FFF;
    padding:10px 20px;
    min-height: 120px;
}
.program ul li a {
    
    color: #000 !important;
}
.program ul li a .s_text{
    color: #000 !important;
    font-weight: 400;
    font-size: 1.3rem;
}

.program ul li span {
    font-size: 1.5rem;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 5px;
}

.hx1{
    font-size: 26px;
    color: #FFF;
    text-align: center;
    padding-bottom: 40px;
    font-weight: 500;
}

.ft-banner{
    background-color:#6A7FC3;
    
}
.ft-banner .container>div{
    display: flex;
    gap:30px;
    width: fit-content;
    justify-content: center;
    margin: auto;
}
.page_new .ft-banner2 .container>div{
    gap:20px;
}
.ft-banner2{
    background-color:#FFF !important;
    
}
.ft-banner2 a img{

}

.ft-banner>div{

}
.schedule_e{
    display: block !important;
}

.ft-banner a{
    display: block;
    margin:0 auto 20px;
    max-width: 420px;
}
.ft-banner a span{
    display: block;
    background-color: #FFF;
    color: #000;
    padding: 15px 15px;
    text-align: center;
}
.ft-banner a span.color1{
    background-color: #FFDB46;
}
.slider-staff .slick-slide > div {
    max-width: 450px;
}
.slider-staff .slick-slide > div h2{
    text-align: left;
}
@media screen and (max-width:980px) {
    .faq p{
        font-size: 13px !important;
    }
    .program ul li {
        margin-bottom: 20px;
        line-height: 2;
        width: calc(50% - 10px);
    }
    .container>div{
        display: block;
        
    }
    .ft-banner .container>div{
        display: block;
    }
    .program ul li .text_nex1{
        background-color: #FFF;
        padding:10px 10px 0;
        min-height: 90px;
    }

}
.faq .container{
padding:60px 0 0 !important;

}
.faq .col-12{ 
    padding:0px 0 !important;
}
.faq .col-12 h2{
    text-align: left;
}

.qa-list{
    margin:20px auto 0;
    max-width: 908px;
  }
  .qa-list dl {
      position: relative;
      margin: 0;
      padding: 28px 30px;
      cursor: pointer;
      max-width: 908px;
      background-color: #FFF;
      border-radius: 10px;
      font-size: 2.1rem;
      border: 1px solid #acacac;
      text-align: left;
      margin-bottom: 20px;
  }
  .qa-list dl:first-child {
  }
  .qa-list dl::before {
      position: absolute;
      top: 45px;
      right: 35px;
      display: block;
      width: 7px;
      height: 7px;
      margin: auto;
      content: '';
      transform: rotate(0deg);
      width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid black;
  }
  .qa-list .open::before {
      transform: rotate(180deg);
  }
  .qa-list a.common_btn {
    display: block;
    background-color: #002EA7;
    color: #fff;
    width: 320px;
    max-width: 100%;
    text-align: center;
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
    margin: 30px auto 0;
    letter-spacing: 0.09em;
    border-radius: 5px;
}
  .qa-list dl dt {
      position: relative;
      margin: 0;
      padding: 0 50px 0 60px;
      font-weight: bold;
      font-size: 20px;
      line-height: 2;
      font-weight: 500;
      width: auto;
  }
  .qa-list dl dt::before {
      font-size: 22px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 0;
      display: block;
      content: 'Q';
      font-size: 3.1rem;
      color: #002EA7;
  }
  .qa-list dl dd::before {
      font-size: 31px;
      line-height: 1;
      position: absolute;
      top: 3px;
      left: 2px;
      display: block;
      content: 'A';
      font-weight: bold;
      color: #666;
  }
  .qa-list dl dd {
      position: relative;
      display: none;
      height: auto;
      margin: 20px 0 0;
      padding: 0 50px 0 60px;
  }
  .qa-list dl dd p {
      margin: 30px 0 0;
      font-size: 2rem;
  }
  .qa-list dl dd p:first-child{
      margin-top: 0;
  }
  .qa-list dl{
    display: block;
  }
  .qa.open dd{
    display: block;
  }
  @media screen and (max-width: 1024px) {
    .faq .container{
        padding:0 20px 60px !important;
        
        }
    .faq .row{
        margin: 0 !important;
        
        }
        
    .qa-list dl::before {
        position: absolute;
        top: 28px;
        right: 25px;
      }
      .qa-list dl dd::before {
          font-size: 20px;
          line-height: 1;
          position: absolute;
          top: 3px;
          left: 2px;
          display: block;
          content: 'A';
        }
    .qa-list dl {
        position: relative;
            margin-bottom: 10px;
        padding: 15px 15px;
      }
    .qa-list dl dt {
        font-size: 14px;
        padding: 0 25px 0 35px;
    }
    .qa-list dl dd {
    padding: 0 25px 20px 35px;
    }
    .qa-list dl dt::before {
        font-size: 20px;
        color:#002EA7;
    }
    .qa-list dl dd::before {
        font-size: 20px;
      }
    .qa-list dl dd p {
        margin: 30px 0 0;
        font-size: 1.2rem;
    }
  }
  



section.contact h2 {
    font-size: 20px;
    letter-spacing: 0.11em;
    font-weight: 600;
    color: #FFF;
    text-align: center;
    
}
section.contact h2 span{
    display: inline-block;
    margin-top: 20px;
    font-size: 14px;
    color: #FFF;
    font-weight: 400;
    letter-spacing: 0.04em;
font-weight: normal;
font-size: 16px;
line-height: 27px;
text-align: center;
color: #fff;

}

section.contact{
    background-image: url(../img/common/footer.jpg);
}
section.contact .banner-wrap{
    display: block !important;
    margin: auto;
    width: fit-content;
}
.page_new .container>div{
    gap:0;
}
.contact .bnr-option,
section.contact .banner-wrap .banner
{

    margin:0 auto 30px!important;
    
    margin-bottom: 30px;
    width: fit-content;
}


section.contact .banner-wrap .banner {
    width:370px !important;
    height: 68px !important;
    background-color: #FFF;
    border-radius: 5px;
}
section.contact .banner-wrap .banner img{
    padding-right: 12px;
}

.contact .bnr-option .option-btn a {
    width:370px !important;
    height: 68px !important;
    background-color:#002EA7;
    border-radius: 5px;
    font-size: 18px;
    padding: 18px !important;
}
.contact .bnr-option .option-btn a span{
    font-size: 18px !important;
}
section.contact{
    height: auto !important;
    padding: 60px 0;
}

.contact .bnr-option img{
    margin-top: 20px;
}


.access-container {
    max-width: 800px;
}

.time-body {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}



.time-body li {
    padding-left: 0.5em;
    position: relative;
    margin-right: 13px;
}
.time-body li:before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: #002EA7;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-30%);
    -webkit-transform: translateY(-30%);
}
.schedule_c{
    background-color: #EAEDF6;
    padding: 60px 0;
    
}
.schedule_c p{
    padding: 20px 22px;
    font-weight:600;
    color: #FFF;
    border-radius: 5px 5px 0 0;
    letter-spacing: 0.11em;
    background:url(../img/common/ci.svg) no-repeat #002EA7;
    background-position: calc(100% - 20px) 50%;
    max-width: 800px;
    margin: auto;


}
.schedule_e ul{
    padding:25px 22px 30px;
    background-color: #FFF;
    border-radius:0 0 5px 5px;
    max-width: 800px;
    margin: auto;
    
}

.schedule_e ul li {
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 30px;
    background:url(../img/common/r.svg) no-repeat;
    background-position: calc(100% - 0px) 50%;
}
.schedule_e ul li::before{
    content:url(../img/common/pdf.svg);
    padding-right: 10px;
    vertical-align: middle;

}

.schedule_e ul li:last-child{
    margin-bottom: 0px;
}

.schedule ul::after {
    content: "";
    width: 30%;
    height: auto;
}

main.page-access .col-table dl dt {
    flex: 1 1 100px;
}

main.page-access .col-table dl dd {
    flex: 1 1 calc(100% - 100px);
}

table.table-access th {
    padding: 20px 20px 20px 30px;
}

/* price */
table.table-price td {
    font-size: 1rem;
    padding: 16px 8px;
}
table.table-price td.center {
    text-align: center;
    font-size: 1.5em;
}
table.table-price td.small {
    font-size: 0.5em;
}
table.table-price td span {
    font-size: 0.75rem;
}
table.table-price td .common_btn {
    width: auto;
    margin-top: 10px;
    padding: 5px;
    font-size: 0.8em;
}
table.table-price tbody .member-div .vertical {
    -ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
    white-space: nowrap;
    margin: 0;
    line-height: 1em;
    font-size: 1em;
    padding: 10px;
}
main.page-price .col-bottom .member-bottom .detail .detail-right .common_btn {
    width: auto;
    margin-top: 0;
    color: #fff;
    padding: 20px 3px;
    font-size: 10px;
    cursor: pointer;
    line-height: 1.5;
}
table.table-price tbody .member-div.c-yellow {
    background: #f5dd56;
    color: #fff;
}
table.table-price tbody .member-div.c-red {
    background: #ff6969;
    color: #fff;
}
table.table-price tbody .member-div.c-blue {
    background: #69aaff;
    color: #fff;
}
table.table-price tbody .member-div.c-gray {
    background: #acacac;
    color: #fff;
}

#sns {
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: #FFF;
}
#sns h2 {
    font-size: 20px;
    letter-spacing: 0.11em;
    font-weight: 600;
    color: #002EA7;
    text-align: center;
    
}
#sns h2 span{
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
    color: #000;
    font-weight: 400;
    letter-spacing: 0.04em;
}
#sns .sns-wrap {
    display: flex;
    justify-content: center;
    gap: 4%;
}
#sns .sns-wrap .sns {
}

.footer-copy .container{
    max-width: 100%;
}
.footer-copy .container .row{
    width: 100%;
    padding: 0 20px;
}

.col-copy{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.footer-copy .copy{
    padding-top: 0 !important;
}

/*===============================================
    ■tablet 画面の横幅が767.98pxまで
===============================================*/
#footer{
    position: relative !important;
}
.card.card-feature .card-img .img-text
{
    font-size: 48px !important;
}
.card.card-feature .card-body .card-sub-title{
    font-size: 26px !important;
    text-align: center;
}
@media screen and (max-width: 980px) {

    .col-copy {
        width: 100%;
    display: block;
}
.metaslider .flexslider .sl#ides li{
    position: relative;
}
.metaslider .flexslider .slides li img{
    position: fixed;
    left: 50%;
    z-index: -1;
    top: 0;
    transform: translate(-50%, 0%);
}

    main.main-top section.mv {
        background: none;
    }
    .section.contact{
        padding-bottom: 20px !important;
        height: auto !important;
    }

    .form-box table {
        width: 100% !important;
        display: block;
    }
    
    .form-box table tr {
        width: 100% !important;
        display: block;
    }
    .form-box table th {
        width: 100% !important;
        display: block;
    }
    .form-box table td{
        padding-top: 5px !important;
    }
    .price font,
    .member-div font{
        font-size: 11px;
        line-height: 1.2;;
    }
    .member-div br{
        display: none !important;
    }
}


/*===============================================
    ■smart 画面の横幅が480pxまで
===============================================*/
@media screen and (max-width: 480px) {
    /* 共通 */
.sp {
    display: block;
}

.pc {
    display: none;
}

    /* header */
    header .nav-add-items .item.item-swimming img {
        width: 24px;
    }

    header .navbar-toggler {
        background: url(../img/header_mneu_open_sp.png) no-repeat center center/30.5px 28.5px;
    }

    /* facility */
    .facility-contents {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }
    
    .facility-box {
        flex: 0 0 100%;
    }
    
    /* price */
    .page-price .table-price {
        table-layout: fixed;
        width: 100%;
    }
    .page-price .table-price thead{
        display: none;
    }
    table.table-price._main tr:not(.sub-row) {
        display: grid;
        grid-template-rows: 63px 92px 92px;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    table.table-price._main tr:not(.sub-row) .member-div {
        grid-row: 1 / 2;
    grid-column: 1 / 3;
    font-size: 14px;
    }
    table.table-price._main tr:not(.sub-row) .time {
        grid-row: 2 / 3;
    grid-column: 1 / 5;
    }
    table.table-price._main tr:not(.sub-row) .gym {
        grid-row: 3 / 4;
    grid-column: 1 / 2;
    }
    table.table-price._main tr:not(.sub-row) .studio {
        grid-row: 3 / 4;
    grid-column: 2 / 3;
    }
    table.table-price._main tr:not(.sub-row) .pool {
        grid-row: 3 / 4;
    grid-column: 3 / 4;
    }
    table.table-price._main tr:not(.sub-row) .spa {
        grid-row: 3 / 4;
    grid-column: 4 / 5;
    }
    table.table-price._main tr:not(.sub-row) .price {
        grid-row: 1 / 2;
    grid-column: 3 / 5;
    margin-top: 20px;
    }
    .page-price .table-price td {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        text-align: center;
    }
    .page-price .table-price td.center {
        align-items: flex-end;
    }
    .page-price .table-price td.member-div {
        background-color: #eee;
        font-weight: bold;
        text-align: center;
        margin-top: 20px;
    }
    .page-price .table-price td::before {
        content: attr(data-label);
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    font-size: 14px;
    }
    .page-price .table-price td.center::before {
    top: 16px;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    width: 100%;
    }
}