@charset "utf-8";

/* Top Container
------------------------------------ */

#top {
    z-index: 1
}

#top.swiper-container {
    width: 100%;
    height: 100vh
}

#top .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#top .swiper-slide img {
/*    height: 100vh;*/
    width: 100vw;
    height: auto;
}

@keyframes zoomOut {
    0% {
        transform: scale(1.15);
    }

    100% {
        transform: scale(1);
    }
}

#top .swiper-slide-active .slide-img,
#top .swiper-slide-duplicate-active .slide-img,
#top .swiper-slide-prev .slide-img {
    animation: zoomOut 10s linear 0s;
    animation-fill-mode: both;
}

/* text animation
------------------------------------ */

.textAnime span {
    opacity: 0;
}

.textAnime.appeartxt span {
    animation: text_anime_on 1s ease-out forwards;
}

@keyframes text_anime_on {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.svg-logo {
    position: absolute;
    width: 100%;
    bottom: 53%;
    z-index: 2;
}

.svg-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/* ニュースタブ
---------------------------- */

.tab-news {
  position: absolute;
  right: 0;
  top: 183px;
  z-index: 1000
}

.tab-news img {
  width: 50px;
}
.tab-sp {
  display: none;
}

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

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







/* Top contents
---------------------------- */

#top-inner section {
    margin: 20% 0;
    padding: 0 5%;
}

#main-copy h2 {
  text-align: center;
  margin-bottom: 5%;
  font-size: 4rem;
  font-family: 'NotoSansCJKjp';
  white-space: nowrap;
}
#main-copy p {
  width: 60%;
  margin: 0 auto;
  line-height: 3;
}

.top-movie-area {
    margin-top: 10%;
    display: flex;
    flex-direction: column;
    align-items: center
}

.top-movie-area h4 {
    font-size: 2rem;
    margin-bottom: 3%;
    color: dimgray;
}

.top-movie-area a {
    filter: drop-shadow(2px 4px 6px dimgray);
}

.top-movie-area a:hover {
    filter: none;
    transform: translate(1px,1px);
}

.top-news-wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: flex-start;
}

.top-news-wrap h2 {
  padding-right: 5%;
}

.top-news-inner {
  display: flex;
  padding: 2rem 0 2rem 1rem;
  width: 100%;
}
.top-news-inner ul {
  width: 100%;
}
.top-news-inner li {
  padding: 2rem 0 2rem .5rem;
  border-bottom: 1px solid lightgray;
  position: relative;
  list-style: none;
  width: 100%;
}

.top-news-inner li:first-of-type {
  border-top: 1px solid lightgray;
}

.top-news-inner li p:nth-child(2)::after {
  content: '';
  position: absolute;
  right: 10%;
  top: 50%;
  width: 80px;
  height: 8px;
  border-bottom: 1px solid black;
  border-right: 1px solid black;
  transform: skew(45deg);
  opacity: 0;
  transition: .5s;
}

.top-news-inner li:hover p:nth-child(2)::after {
  opacity: 1;
  transition: .5s;
}

.top-news-inner .datetime {
  font-size: 1rem!important;
  line-height: 2.5;
}

#top-news .btn-more {
  text-align: right;
}

#top-about .about-wrap {
  display: flex;
  align-items: center;
}

#top-about p {
  margin: 2rem 0;
  line-height: 2;
}

.about-wrap .about-image {
  width: 100%;
}

.about-wrap .about-image img {
  width: 90%;
}

.about-wrap .about-inner {
  width: 100%;
}

#top-about .btn-more {
  text-align: center;
}

#top-concept p {
    margin: 2rem 0;
    line-height: 2;
}

#top-inner section#top-concept {
    padding: 0 0 0 5%;
}

.concept-wrap {
  display: flex;
  align-items: center;
}

.concept-wrap .concept-inner {
  width: 40%;
  z-index: 2;
}
.concept-wrap .concept-image {
  padding-left: 5%;
  z-index: 1;
}

#top-brands .ttl-section {
  width: 60%;
  margin: 0 auto;
}

#top-brands .ttl-section h2 {
  text-align: center;
}

#top-brands p {
  margin: 2rem 0;
  line-height: 2;
}

.brands-box {
    display: flex;
    justify-content: space-around;
}

.brands-box figure {
    display: block;
    width: 100%;
}

.box-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    color: white;
}
.brands-box .premium-box {
    background: var(--vady-color);
    height: 100px;
}
.brands-box .centurion-box {
    background: var(--centurion-color);
    height: 100px;
}
.brands-box .plus-box {
    background: var(--plus-color);
    height: 100px;
}
.brands-shopname {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.brands-box .box-1 {
    height: 300px;
    background-color: #f00000c0;
    background-image:
      url(../img/shinsaibashi/DSC08947.webp);
    background-size: cover;
    background-position: 20% 50%;
    background-blend-mode: screen;
    transition: background-color linear .3s;
}
.brands-box .box-1:hover,
.brands-box .box-2:hover,
.brands-box .box-3:hover,
.brands-box .box-4:hover,
.brands-box .box-5:hover {
    background-color: rgba(255, 255, 255, 0);
}
.brands-box .box-2,
.brands-box .box-3 {
    height: 150px;
    background-color: rgba(255, 217, 0, 0.7);
    /*background-image:
      radial-gradient(white 35%, transparent 36%),
      radial-gradient(white 35%, transparent 36%);
      */
    background-size: cover;
    background-blend-mode: screen;
    transition: background-color linear .3s;
}
.brands-box .box-2 {
    background-image: url(../img/dojima/top_trim_dojima.webp);
}
.brands-box .box-3 {
    background-image: url(../img/uehonmachi/top_trim_uehonmachi.webp);
    background-position: bottom;
}
.brands-box .box-4,
.brands-box .box-5 {
    height: 150px;
    background-color: rgba(64, 120, 224, 0.7);
    background-size: cover;
    background-blend-mode: screen;
    transition: background-color linear .3s;
}
.brands-box .box-4 {
    background-image: url(../img/kobe/top_trim_kobe.webp);
}
.brands-box .box-5 {
    background-image: url(../img/tamatsukuri/top_trim_tmtkr.webp);
}
.brands-box h4 {
    text-align: center;
}
.brands-shopname h4 {
    font-size: 1.6rem;
    background:linear-gradient(transparent 40%, rgb(255, 255, 255) 40%);
}
.brands-shopname span {
    margin-top: .5rem;
    font-size: 1.2rem;
    font-weight: bold;
}

#top-brands .btn-more {
    text-align: center;
    margin-top: 5%;
}


.btn-more a {
  margin-top: 1rem;
  width: 200px;
  display: inline-block;
  padding: 2rem 0;
  text-align: center;
  font-size: 1rem
}
.btn-more a {
  color: white;
  border-radius: 0;
  background-image: linear-gradient(90deg, #b40000 0%, #daa520 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}
.btn-more a:hover {
  -webkit-transform: skew(0);
  transform: skew(0);
  color: #fff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
}


.faq-wrap {
	margin: 2em auto 8%;
	text-align: left;
}
.accordion {
	width: 100%;
    padding: 0 5%;
}
.accordion-hidden{
	display: none;
}
.accordion-open {
	display: block;
	padding: .8em 80px .8em .8em;
	cursor: pointer;
	margin: 5px 0;
	position: relative;
	font-weight: bold;
    font-size: 1rem;
    padding: 3rem 0;
    border-bottom: 1px solid lightgray;
}
.accordion-hidden:checked + .accordion-open {
    border-bottom: 0;
}
.accordion-hidden:checked + .accordion-open + .accordion-close {
    border-bottom: 1px solid lightgray;
}
.accordion-open::before,
.accordion-open::after {
	content: '';
	width: 20px;
	height: 3px;
	background: #000;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
}
.accordion-open::after {
	transform: translateY(-50%) rotate(90deg);
	transition: .5s;
}
.accordion-hidden:checked + .accordion-open:after {
	transform: translateY(-50%) rotate(0);
}
.accordion-close {
	display: block;
	height: 0;
	overflow: hidden;
	padding: 0;
	opacity: 0;
	transition: .5s;
}
.accordion-hidden:checked + .accordion-open + .accordion-close {
	height: auto;
	opacity: 1;
	padding: 3rem 0;
    margin-left: .6rem;
}
.accordion_qa .Q {
	position: relative;
}
.accordion_qa .accordion-open {
	padding-left: 2.5em;
}
.accordion_qa .Q::before {
	content: 'Q.';
	font-size: 1.5em;
	display: block;
	position: absolute;
    top: 0;
	left: -1.4em;
}
.accordion_qa .Q p {
    margin: 0 0 0 1rem;
    font-size: 1rem!important;
    line-height: 1.7;
}
.accordion_qa .A {
	position: relative;
	padding: 0 2em ;
}
.accordion_qa .A::before {
	content: 'A.';
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	position: absolute;
	left: 0;
}
.accordion_qa .A p {
    margin: 1rem 0 0 1.7rem;
    font-size: 1rem!important;
    line-height: 1.7;
}

#top-inner section.trial {
    margin: 0!important;
}

#top-inner section#top-faq {
    margin-bottom: 10%;
}





.top-footer {
    border-top: 1px dotted lightgray;
    margin-bottom: 3%;
    padding: 0 5%;
}

#top-inner section.top-footer {
    margin: 0 0 3%;
}

.top-footer ul {
    padding: 3% 0 0;
    display: flex;
    justify-content: space-around;
}
.top-footer li {
    text-align: center;
    width: 33%;
    font-size: 1rem;
    font-weight: bolder;
}
.top-footer li a::before {
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 600;
    padding-right: 0.5rem;
    color: crimson;
  }
  

.top-footer li a {
    display: block;
}

/* concept
---------------------------- */
.concept-0 {
    margin: 0 auto;
    padding: 20% 3% 10%;
    width: 90%;
}
.concept-0 h3,
.featureTtl {
    text-align: left!important;
    margin-bottom: 2rem;
    font-size: 2rem!important;
    line-height: 1.7;
}
.concept-0 h3:nth-child(1),
.featureTtl {
    letter-spacing: .1em;
    text-shadow: 6px 2px 0 rgb(220 220 220);
}

.concept-0 h3 + h3 {
    font-size: 1.7rem!important;
}


.concept-0 p {
    margin: 2rem 0;
    font-size: 1rem;
    line-height: 3;
}


.conceptlist {
    margin: 0 auto;
    padding: 100px 3% 0;
    width: 90%;
    height: 100%;
}

.conceptlist li {
    list-style: none;
    padding: 5% 10%;
    font-size: 1rem;
}

li.featurelist {
    list-style: none;
    padding: 5% 0;
    font-size: 1rem;
}
.conceptlist li:first-child {
    padding-top: 0;
}

.conceptlist .number {
    font-family: 'NHaasGrotesk';
    font-weight: bold;
    font-size: 1.5rem;
    display: inlilne-block;
    width: 100%;
    position: relative;
    margin-bottom: 2rem;
}

.conceptlist .number:after {
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: #000;
}

.conceptlist .number span {
    position: relative;
    padding-right: 1rem;
    background: #fff;
    z-index: 2;
}

.conceptlist li h3 {
    margin-bottom: 2rem;
}

.conceptlist li p {
    margin: 2rem 0;
    font-size: 1rem;
    line-height: 3;
}
/* for Shop Page
------------------*/
#wrapper-gym .conceptlist li p {
    margin: 2rem 0;
    font-size: 1rem;
    line-height: 2;
}

.conceptlist li .btn {
    text-align: center;
    margin-top: 5rem;
}

.conceptlist li .btn a {
    display: inline-block;
    padding: 2rem 6rem;
    border: solid 1px black;
}

.conceptlist li:nth-child(2) h3.listTtl + p + img {
    margin: 2rem 0 6rem;
}

.concept02-inner {
    height: auto;
}

#concept-inner section h3 {
    text-align: center;
    font-style: normal;
    font-size: 1.2rem;
}

.flexBox {
    display: flex;
    justify-content: space-around
}

#concept-inner .flexBox div {
    width: 45%;
}

#concept-inner .flexBox .concept02 {
    margin-top: 3%;
}

#concept-inner .concept02 h4 {
    text-align: center;
}

#concept-inner .concept02 p {
    height: 13rem;
}

.conceptlist li ol {
    counter-reset: item;
    list-style-type: none;
    padding-left: 0;
}

.conceptlist li ol li {
    text-indent: -1.3em;
    font-size: .8rem;
    padding: .5rem 1rem;
    color: white;
}

.conceptlist li ol li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
    font-weight: bold;
    color: var(--vady-color);
}

.concept03-inner {
    background: url(../img/img_concept03.webp);
    background-position: center;
    width: calc(100% + 200px);
    margin: 0 -100px;
    padding: 3%;
}

.concept03-inner .flexBox {
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
}

.concept03-l {
    color: black;
    padding: 2%;
    position: relative;
    height: 272px;
    backdrop-filter: blur(3px) saturate(180%);
    background-color: rgba(255, 255, 255, .35);
    border-radius: 12px;
    border: 2px solid rgba(240, 240, 240, .1);
}

.concept03-l img {
    position: absolute;
    top: 0;
    right: 0;
    height: 270px;
    width: auto;
}

.conceptlist li p.concept03text {
    font-size: .8rem;
    width: 70%;
}

.concept03-r {
    display: flex;
    justify-content: center;
    align-items: center;
}

.concept03-r ol {
    border-radius: 8px;
    padding: 5% 10% !important;
    backdrop-filter: blur(5px) saturate(180%);
    background-color: rgba(0, 0, 0, .5);
    border-radius: 12px;
    border: 2px solid rgba(50, 50, 50, .2);
}
/* 追記
********/
.conceptlist-2 {
    margin: 0 auto;
    height: 100%;
}
.conceptlist-2 li section {
    margin: 0 auto;
    width: 80%;
}
.conceptlist-2 li {
    list-style: none;
    padding: 5% 10%;
    font-size: 1rem;
}
.conceptlist-2 li h3 {
    position: relative;
    padding: 0 65px;
    text-align: center;
    margin-bottom: 3rem;
}
.conceptlist-2 li h3:before {
position: absolute;
top: calc(50% - 1px);
left: 0;
width: 100%;
height: 1px;
content: '';
background: lightgray;
}
.conceptlist-2 li h3 span {
position: relative;
padding: 0 1em;
background: #fff;
}
.conceptlist-2 li p {
    margin: 2rem 0;
    font-size: 1rem;
    line-height: 2;
}
.conceptlist-2 li p.concept03text {
    font-size: .8rem;
    width: 70%;
}
#concept-inner .concept02 p {
    height: 16rem;
}
.conceptlist-2 li .concept-image {
    width: 90%;
    margin: 10% auto 3%;
}
.conceptlist-2 li section.concept03-inner {
    margin: 0 auto;
    width: 100%;
}
.conceptlist-2 li ol {
    counter-reset: item;
    list-style-type: none;
    padding-left: 0;
}
.conceptlist-2 li ol li {
    text-indent: -1.3em;
    font-size: .8rem;
    padding: .5rem 1rem;
    color: white;
}
.conceptlist-2 li ol li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
    font-weight: bold;
    color: var(--vady-color);
}
.conceptlist-2 .concept03-r {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 1rem;
}
.conceptlist-2 .concept03-r ol {
    border-radius: 8px;
    padding: 5% !important;
    backdrop-filter: blur(3px) saturate(180%);
    background-color: rgba(0, 0, 0, .5);
    border-radius: 12px;
    border: 2px solid rgba(50, 50, 50, .2);
    margin: 0 1rem;
}
.conceptlist-2 li:nth-child(2) h3 + p,
.conceptlist-2 li:nth-child(2) .concept03-inner + p {
    text-align: center;
}
.conceptlist-2 .concept03-l img {
    top: -12;
}
.concept-feature h4,
.tab-body__item h4 {
    text-align: center;
    font-size: 1.2rem;
    margin-top: 3rem;
}
.conceptlist.concept-feature {
    padding: 100px 0 0 0;
}

.missionImg {
    padding: 0 20% 5%;
}

.tab-body__item {
    margin: 0 auto;
    padding: 100px 3% 0;
    width: 70%;
}

.tab-body__item h3 {
    margin-bottom: 2rem;
}
.tab-body__item p {
    margin: 1.2rem 0;
    font-size: 1rem;
    line-height: 2;
}
.tab {
    display: flex;
    flex-direction: row;
    text-align: center;
    background-color: #fff !important;
    margin: 0 !important;
    padding-top: 5%;
}
.tab__item {
    flex: 1;
    display: inline-block;
    font-weight: 600;
    margin: 0 6px;
    /*background: whitesmoke;
    box-shadow: 3px 1px 5px lightgrey;*/
    opacity: 1;
    transition: .2s ease-in;
}
.tab__item:hover {
    opacity: .5;
    transition: all .2s ease-out;
}
.tab__link {
    position: relative;
    display: block;
    text-decoration: none;
    color: #444;
    cursor: pointer;
    font-size: 1.6rem;
    padding-bottom: .5rem;
    margin: 1rem;
}
.tab__link:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 50%;
    width: 0;
    height: 2px;
    background-color: #444;
    transition: all 0.4s ease-out;
}
.tab__link:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #444;
    transition: all 0.4s ease-out;
}
.tab__link.on:before {
    width: 50%;
}
.tab__link.on:after {
    width: 50%;
}
.tab__link i {
    transition: all 0.4s ease-out;
}
.tab__link.on i {
    transform: rotate(-90deg);
}
.tab-body {
    position: relative;
    display: flex;
    justify-content: center;
}
.tab-body__item {
    position: absolute;
    opacity: 0;
    transition: all 0.6s ease-out;
}
.tab-body__item.on {
    opacity: 1;
}



.trial {
    width: 100%;
    display: block;
    border-top: solid var(--vady-color) 3px;
    background: url(../img/bg_footer_02.webp);
    background-size: cover;
    background-position: center;
    transition: .5s;
}

.trial-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10% 0;
    font-size: 2rem;
    color: white;
}

a.trial-link {
    border: solid 1px white;
    padding: 1% 3% 3%;
    transition: .5s;
    color: white;
}

.trial-container span,
.trial-link h4 {
    margin-right: 1rem;
    font-style: italic;
}

.trial-link h4 {
    text-align: center;
}

.trial-link span::after {
    content: '\A';
    white-space: pre;
}

.trial-link span {
    border-bottom: solid 1px white;
    line-height: 1.9;
}

.trial:hover a.trial-link {
    background: rgb(189, 50, 50);
    opacity: 1;
}
.trial:hover a.trial-link:hover {
    opacity: .7;
}

/* about
----------------------------------- */
#about {
    background: url(../img/bg_about_01.webp) center no-repeat;
    z-index: 1;
    background-attachment: fixed;
    background-size: covesr;
    position: relative
}

#about .ttlArea h2:nth-child(2)::first-letter {
    color: var(--vady-color);
}

#about-catch {
    position: relative;
    background: rgba(0, 0, 0, 0.5);
}

#about-catch .commit1 {
    background: url(../img/bg_about_03.webp) center no-repeat !important;
    z-index: 1;
    height: 80vh;
    background-attachment: fixed;
    background-size: cover;
    position: relative
}

#about-catch .commit1 .textBox {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

#about-catch .textBox {
    color: white;
    z-index: 3
}

.textBox h2 {
    font-size: 6.5rem;
}

.textBox h2:first-letter {
    color: var(--vady-color);
}

#about-catch .textBox h3 {
    font-size: 2.5rem;
}

#about-catch .textBox h3 span:before {
    content: "\A";
    white-space: pre;
}

#about-catch .textBox strong {
    color: var(--vady-color);
}

#about-catch .commit1 .textBox h3 {
    position: absolute;
}

#about-catch .commit1 .textBox h3:nth-child(2) {
    left: -30%;
    bottom: -140%;
}

#about-catch .commit1 .textBox h3:nth-child(3) {
    right: -40%;
    bottom: -280%;
}

#about-catch .commit2 {
    background: url(../img/bg_about_02.webp) center no-repeat !important;
    z-index: 1;
    height: 80vh;
    background-attachment: fixed;
    background-size: cover;
    position: relative
}

#about-catch .commit2 .textBox h3:nth-child(1) {
    position: absolute;
    left: 10%;
    bottom: 50%;
}

#about-catch .commit2 .textBox h3:nth-child(2) {
    position: absolute;
    right: 10%;
    bottom: 30%;
}

#about-catch img.overlay-01 {
    position: absolute;
    top: 30%;
    z-index: 2
}

.contact-area {
    text-align: center;
    width: 100%;
}

.contact-area a {
    padding: 3rem;
    display: block;
    background: var(--vady-color);
    color: white
}

#about-main {
    margin: 0 auto;
    padding: 100px 0 0;
}

#about-main .textBox h2 {
    text-align: center;
}

#about-main .textBox h3 {
    text-align: center;
    font-size: 2rem;
    margin: 3% 0
}

#about-main .textBox h3 strong {
    font-size: 2em;
    margin-right: 1rem
}

#about-main .textBox .section-inner {
    margin-bottom: 10%;
    padding: 5% 10% 0
}

.section-inner img {
    margin: 3% 0
}

#about-main .textBox p {
    color: #333;
    line-height: 1.7
}

.strength02 h3,
.strength02 p,
.strength03 h3,
.strength03 p,
.strength05 p {
    color: white!important;
}

.strength01 p {
    margin-bottom: 3%;
}

.trainer-sample {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.trainer-sample a {
    width: 33%;
}

.linkbtn {
    text-align: center;
    margin-top: 5rem
}

.linkbtn a {
    padding: 3% 5%;
    border: 1px solid black;
    font-weight: bold;
    font-size: 1.5rem
}

.linkbtn a:hover {
    background: black;
    color: white;
    opacity: 1
}

a.white {
    background: rgba(255, 255, 255, .7);
}

.section-inner {
    width: 70%;
    margin: 0 auto;
}

#strength .section-inner {
    counter-reset: number 0;
}

#strength .section-inner h3 {
    counter-increment: number 1;
}

#strength .section-inner h3::before {
    content: "0"counter(number);
    font-size: 4rem;
    margin-right: 1rem;
}

#strength .strength02 .section-inner h3 {
    counter-increment: number 2;
}

#strength .strength03 .section-inner h3 {
    counter-increment: number 3;
}

#strength .strength04 .section-inner h3 {
    counter-increment: number 4;
}

#strength .strength05 .section-inner h3 {
    counter-increment: number 4;
}

.strength02,
.strength05 {
    z-index: 1;
    height: 65vh;
    background-attachment: fixed;
    background-size: cover;
}

.strength02 {
    background: url(../img/bg_about_04.webp)center no-repeat !important;
}

.bg-slide {
    height: 60vh;
    background-size: cover;
}

.strength05 {
    background: url(../img/bg_about_05.webp)center no-repeat !important;
    color: white;
    text-align: center;
    height: 75vh
}

.strength05 dl {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 3rem
}

.strength05 dt {
    font-style: italic;
}

.strength05 dd {
    font-weight: bold;
}

.before-after {
    padding: 100px 0 1px;
    background: gold;
}

.before-after .textBox h3 {
    text-align: left !important;
}

.before-after .section-inner {
    width: 70%;
    padding: 5% 10% 0 !important;
    margin-bottom: 2% !important;
}

.bf-image {
    position: relative;
    margin: 3rem 0;
}

.bf-image ul {
    display: flex;
    background: url(../img/bg_gradation_01.webp)no-repeat;
    background-size: contain;
    background-position: left 40% bottom 50%;
}

.bf-image ul li {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.bf-image ul li figcaption h4::first-letter {
    color: var(--vady-color);
}

.bf-image ul li figcaption {
    font-size: 1.5rem;
    width: 45%;
    margin-top: 8rem;
}

.bf-image ul li figcaption dl {
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.bf-image ul li figcaption dt {
    font-size: 1rem;
    text-align: left;
}

.bf-image ul li figcaption dl dd {
    font-weight: bold;
    font-size: 1rem
}

.bf-image ul li figcaption dl dd span {
    font-size: 1.4em
}

.bf-image .result {
    position: absolute;
    transform: rotate(5deg);
}

.bf-image .result dl {
    border-radius: 50%;
    height: 200px;
    width: 200px;
    position: relative;
    font-weight: bold;
    color: white;
    filter: drop-shadow(0 2px 4px indianred);
}

.bf-image .result dt {
    position: absolute;
    top: 31%;
    left: 25%;
    font-size: 2em
}

.bf-image .result dd {
    position: absolute;
    top: 43%;
    left: 15%;
    font-size: 2em
}

.bf-image .result dd span {
    font-size: 2.3em
}

.bf-image .result1 {
    top: -35px;
    right: 0;
    z-index: 3
}

.bf-image .result2 {
    top: 45px;
    right: -145px;
    z-index: 2
}

.bf-image .result1 dl {
    background: tomato;
}

.bf-image .result2 dl {
    background: salmon;
}

.bf-image .deco {
    position: absolute;
    top: 44%;
    right: 34%;
}

.deco img {
    transform: scale(-1, 1);
}

.diet {
    text-align: center;
    margin: 3% 0 0;
}
.diet h4 {
    font-size: 2rem;
    padding: 3% 0;
}

#aboutprice {
    padding: 100px 0 0;
}

.price-shop ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.price-shop ul li {
    text-align: center;
    width: 30%
}
.price-shop ul::before {
    content: "";
    width: 12%;
    order: 1;
}
.price-shop ul::after {
    content: "";
    width: 12%;
}

.price-shop ul li figcaption {
    margin-top: 1rem;
    font-size: 2rem;
    font-weight: bold;
}

.price-shop h3 {
    padding: 5% 0 2%;
}

/* Trainer
----------------------------------- */
#trainer {
    background: url(../img/bg_trainer_01.webp) center no-repeat;
    z-index: 1;
    background-attachment: fixed;
    background-size: cover;
    position: relative
}

#trainer .ttlArea h2::first-letter {
    color: var(--vady-color);
}

#trainer .ttlArea h2:nth-child(2)::first-letter {
    color: var(--centurion-color);
}

.trainer-wrap {
    margin-bottom: 10%;
    padding: 5% 10% 0;
}

.trainer-wrap .section-inner {
    margin-bottom: 5%;
    width: 90%
}

.trainer-ttl {
    text-align: center;
}

.trainer-ttl h3 {
    position: relative;
    padding: 0 65px;
    font-size: 2rem;
    margin-bottom: .7rem
}

.trainer-ttl h3::before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: black;
}

.trainer-ttl h3 span {
    position: relative;
    padding: 0 1em;
    background: white;
}

.trainer-ttl h4 {
    font-size: 1rem;
    margin-bottom: 1rem
}

.trainer-ttl p {
    text-align: justify;
    line-height: 1.5
}

.trainer-panels {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0 auto;
}

.trainer-panels::before {
    content: "";
    width: 33%;
    order: 1;
}

.trainer-panels::after {
    content: "";
    width: 33%;
}

.panel {
    width: 33%;
    margin: 1% 0;
}

.panel figure {
    position: relative;
    overflow: hidden;
    filter: grayscale(70%);
    transition: 0.5s;
}

.panel img {
    margin: 0;
}
.panel .belong {
    filter: grayscale(0%);
    color: white;
    position: absolute;
    top: 0;
    right: 0;
    padding: 1% 3%;
}
.panel .belong p {
    font-size: .8rem;
}
.panel .belong.var-s {
    background: var(--vady-color);
}
.panel .belong.var-c {
    background: var(--centurion-color);
}
.panel .belong.var-p {
    background: var(--plus-color);
}
.panel .belong.var-2 {
    background: linear-gradient(-71deg, #b40000 0%, #b40000 50%, #daa520 50%, #daa520 100%);
}

.panel figcaption {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    opacity: 0;
    color: white;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px;
    width: 100%;
    height: 50%;
    font-family: acumin-pro-condensed, sans-serif;
    font-style: normal;
    font-weight: 300;
    transition: 0.5s;
}

.panel figcaption p {
    font-size: 1.7rem
}

.panel.blk figcaption p {
    color: black;
}

.panel:hover figcaption {
    opacity: 1;
    transition: 0.5s;
}

.panel:hover figure {
    filter: grayscale(0%);
    transition: 0.5s;
}

/* modal */
.modal__overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .6);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    position: fixed;
    z-index: 1002;
}

.modal__container {
    background-color: rgba(0, 0, 0, .7);
    max-height: 95vh;
    max-width: 80vw;
    overflow-y: auto;
    padding: 30px;
    width: fit-content;
}

.modal__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    color: white;
}

.modal__close {
    background: transparent;
    border: 0;
}

.modal__header .modal__close::before {
    content: "\2715";
    color: white;
    font-size: 2rem;
}

.modal__content {
    line-height: 1.5;
    margin-bottom: 2rem;
    margin-top: 2rem;
}

/* モーダルアニメーション */
@keyframes mmfadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-10%);
    }
}

.micromodal-slide {
    display: none;
}

.micromodal-slide.is-open {
    display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform;
}

.modal__container {
    border-radius: 15px;
}

.modal__header h3 {
    font-size: 3.5em
}

.modal__header h3::first-letter {
    color: var(--centurion-color);
}

.modal__header h3 small {
    margin-left: 3rem;
    font-size: .7em;
}

.profile {
    display: flex;
    margin-top: 1rem;
    color: white;
    position: relative;
}

.modal-ttl-area {
    display: flex;
}

.modal-ttl-area .instagram {
    font-family: 'billabongregular', "NotoSansCJKjp", "Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
    font-size: 2rem;
    margin-left: 5rem;
    background: -webkit-linear-gradient(45deg, rgba(193, 0, 156, 1) 30%, rgba(245, 0, 3, 1) 50%, rgba(254, 187, 28, 1) 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.modal-ttl-area .instagram a {
    display: flex;
    align-items: flex-end;
}

.modal-ttl-area .instagram a:hover {
    opacity: 1 !important
}

.modal-ttl-area .instagram img {
    width: 40px;
    height: 40px;
    margin-right: 1.5rem;
}

.modal-ttl-area .instagram span {
    padding-right: 0.1rem;
}

.profile img {
    width: 100%;
    height: auto;
}

.profile-txt {
    font-size: 1rem;
    width: 80%;
    margin-left: 3%
}

.profile-txt dt {
    font-style: italic;
    font-weight: bold;
    margin: .5rem 0;
    border-bottom: 1px dotted gray;
    padding-bottom: 1rem;
    color: goldenrod
}

.profile-txt dd {
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.fa-external-link-alt {
    color: cadetblue;
    margin-left: 1%;
}

/* Facilities
----------------------------------- */
#brands {
    background: url(../img/bg_brands_01.webp) center no-repeat;
    z-index: 1;
    background-attachment: fixed;
    background-size: cover;
    position: relative
}

#brands .top-txtbox {
    width: 100%
}

#brands .ttlArea {
    flex-wrap: wrap
}

#brands .ttlArea h2:nth-child(2)::first-letter {
    color: var(--vady-color);
}

#facilities-main {
    background: white;
    padding: 5% 0;
}

#facilities-main section {
    padding-bottom: 10%;
}

#facilities-main #brands-wrap .brands-header {
    text-align: center;
    margin-bottom: 4rem;
}

#facilities-main #brands-wrap .brand-list {
    display: flex;
    justify-content: space-around;
}

#facilities-main #brands-wrap .brand-list li:first-child {
    background: linear-gradient(45deg, rgba(215, 128, 102, 1) 0%, rgba(255, 255, 255, 1) 23%, rgba(255, 255, 255, 1) 42%, rgba(228, 89, 79, 1) 100%);
    background-size: 100% 200%;
    transition: all 0.4s ease-out;
}

#facilities-main #brands-wrap .brand-list li:first-child:hover {
    background-position: 0 100%;
}

#facilities-main #brands-wrap .brand-list li:nth-child(2) {
    background: linear-gradient(45deg, rgba(184, 161, 46, 1) 0%, rgba(255, 255, 255, 1) 23%, rgba(255, 255, 255, 1) 42%, rgba(184, 166, 24, 1) 100%);
    background-size: 100% 200%;
    transition: all 0.4s ease-out;
}

#facilities-main #brands-wrap .brand-list li:nth-child(2):hover {
    background-position: 0 100%;
}

#facilities-main #brands-wrap .brand-list li:nth-child(3) {
    background: linear-gradient(45deg, rgba(102, 192, 215, 1) 0%, rgba(255, 255, 255, 1) 23%, rgba(255, 255, 255, 1) 42%, rgba(79, 190, 228, 1) 100%);
    background-size: 100% 200%;
    transition: all 0.4s ease-out;
}

#facilities-main #brands-wrap .brand-list li:nth-child(3):hover {
    background-position: 0 100%;
}

#facilities-main #brands-wrap .brand-inner {
    text-align: center;
    width: 33.4%;
    padding: 3% 1%;
}

#facilities-main #brands-wrap .brand-inner h3 {
    text-align: center;
    padding: 2rem 0 1rem;
}

#facilities-main #brands-wrap .brand-inner img {
    width: 170px;
}

#facilities-main #brands-wrap .brand-inner p {
    text-align: left;
    line-height: 1.7;
    font-size: .9rem;
    padding: 1rem
}

#facilities-main #brands-wrap .brand-inner .btn-area {
    display: flex;
    justify-content: center;
}

#facilities-main #brands-wrap .brand-inner .btn-area .btn {
    border: 1px solid black;
    border-radius: 30px;
    margin: 0 2%;
    transition: .3s
}

#facilities-main #brands-wrap .brand-inner .btn-area .btn:hover {
    border: 0;
    transform: scale(1.1);
}

#facilities-main #brands-wrap .brand-inner .btn-area .btn a {
    display: block;
    padding: 1rem;
}

#facilities-main #brands-wrap .brand-inner .btn-area .btn a:hover {
    color: white;
    opacity: 1;
}

#facilities-main #brands-wrap .brand-inner:first-child .btn-area .btn:hover {
    background: var(--vady-color);
}

#facilities-main #brands-wrap .brand-inner:nth-child(2) .btn-area .btn:hover {
    background: var(--centurion-color);
}

#facilities-main #brands-wrap .brand-inner:nth-child(3) .btn-area .btn:hover {
    background: var(--plus-color);
}

#section-shinsaibashi h2::first-letter,
#section-shinsaibashi .infoLeft p span {
    color: var(--vady-color);
}

#section-kobe h2::first-letter,
#section-kobe .infoLeft p span,
#section-tamatsukuri h2::first-letter,
#section-tamatsukuri .infoLeft p span {
    color: var(--plus-color);
}

#section-dojima h2::first-letter,
#section-dojima .infoLeft p span,
#section-uehonmachi h2::first-letter,
#section-uehonmachi .infoLeft p span {
    color: var(--centurion-color);
}

#facilities-main .logo-center {
    width: 100px;
    position: absolute;
    bottom: 10%;
    right: 5%;
    z-index: 9999
}

#facilities-main .textBox {
    padding: 3% 0;
    text-align: center;
}

#facilities-main .textBox h2 {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 1rem;
    position: relative;
}

#facilities-main .textBox h2:before {
    position: absolute;
    bottom: -25px;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    border-radius: 3px;
}

#section-shinsaibashi .textBox h2:before {
    background: var(--vady-color);
}

#section-dojima .textBox h2:before,
#section-uehonmachi .textBox h2:before {
    background: var(--centurion-color);
}

#section-kobe .textBox h2:before,
#section-tamatsukuri .textBox h2:before {
    background: var(--plus-color);
}

#facilities-main .textBox h3 {
    padding-top: 2rem;
    font-weight: 500;
}

#section-shinsaibashi .information {
    background: url(../img/bg_txt_shinsaibashi.webp)no-repeat;
}

#section-dojima .information {
    background: url(../img/bg_txt_dojima.webp)no-repeat;
}

#section-uehonmachi .information {
    background: url(../img/bg_txt_uehonmachi.webp)no-repeat;
}

#section-kobe .information {
    background: url(../img/bg_txt_kobe.webp)no-repeat;
}

#section-tamatsukuri .information {
    background: url(../img/bg_txt_tamatsukuri.webp)no-repeat;
}

#facilities-main .information {
    padding-top: 2em;
    display: flex;
    justify-content: space-between;
    text-align: left;
    background-size: contain;
    background-position: center;
}

#facilities-main .infoLeft {
    width: 50%;
    padding-right: 40px;
    margin-top: 1em;
    padding-left: 5%;
    display: flex;
    align-items: center;
}

#facilities-main .infoLeft p {
    line-height: 2.3;
    font-size: 1rem;
}

#facilities-main .infoLeft p span {
    font-size: 1.5rem;
}

#facilities-main .infoRight {
    width: 50%;
    padding-left: 40px;
    /*border-left: 1px solid #ddd;*/
}

#facilities-main address dl {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    vertical-align: middle;
}

#facilities-main address div {
    display: flex;
}

#facilities-main address dt {
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
    -ms-flex-preferred-size: 120px;
    flex-basis: 90px;
    margin-right: 10px;
}

#facilities-main address dd,
#facilities-main address p {
    font-size: 16px;
    line-height: 28px;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}

#facilities-main .section-inner > p {
    line-height: 1.7
}

/* Price
----------------------------------- */
#price {

    background: black;

}

#price_top {

    background: url(../img/bg_price_01.webp) center no-repeat;
    background-size: cover;
    background-attachment: fixed;
    position: relative;

}

#price-wrap {
    padding: 5% 2% 0;
}

#price-wrap .section-inner {
    margin-bottom: 5%;
    width: 90%
}

.price-ttl {
    text-align: center;
}

.price-ttl h3 {
    position: relative;
    padding: 0 65px;
    font-size: 2rem;
    margin-bottom: .7rem
}

.price-ttl h3::before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: black;
}

.price-ttl h3 span {
    position: relative;
    padding: 0 1em;
    background: white;
}

.price-ttl h4 {
    font-size: 1rem;
    margin-bottom: 1rem
}

.price-ttl p {
    margin-top: 3rem;
    text-align: center;
    line-height: 1.5
}

#price-wrap table {
    width: 100%;
    font-size: 1rem;
    margin: 3% 0 3rem;
    text-align: center;
    border-collapse: collapse;
}

#price-wrap table tbody th h3 {
    text-align: center;
    padding: 0rem 0.8rem 1rem;
    font-size: 1.5rem;
}

#price-wrap table tbody th h3 i {
    font-size: 1.3rem;
}

#price-wrap table thead th {
    text-align: left;
    padding: 1rem 0
}

#price-wrap table thead th:nth-child(1) {
    width: 16%;
}

#price-wrap table tbody th img {
    width: 36%;
}

#price-wrap table tbody td {
    padding: 1rem;
}

#price-wrap table tbody tr:nth-of-type(1) td span {
    text-decoration: line-through;
}

#price-wrap table tbody tr:nth-of-type(1) td p {
    padding-top: 1%;
    font-size: 2.2rem;
}

#price-wrap table tbody tr:nth-of-type(1) td p small {
    font-size: .4em;
}

#price-wrap table tbody tr:nth-of-type(1) td p strong {
    color: var(--vady-color);
    font-size: 1.5em;
}

#price-wrap table tbody td span {
    display: block;
    margin-top: 1rem;
    font-weight: normal;
    font-size: .8rem
}

#price-wrap table thead th:nth-child(2),
#price-wrap table thead th:nth-child(3),
#price-wrap table thead th:nth-child(4) {
    width: 28%;
}

#price-wrap table thead th p {
    font-size: .8rem;
    margin-top: 1rem;
    padding: 0 1rem;
    line-height: 1.5
}

#price-wrap table thead th figure + p {
    color: var(--vady-color);
    text-align: center;
    margin-top: 1.6rem;
}

#price-wrap table thead th figure {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

#price-wrap table thead th figure img {
    width: 150px;
    border-radius: 6px;
    padding: 1.5rem 2rem;
    box-shadow: lightgray 1px 3px 6px;
}

#price-wrap table thead th figure img.card-1 {
    background: linear-gradient(45deg, #fff 0%, #fff 45%, #ececec 70%, #f1f1f1 85%, #fff 90% 100%);
}

#price-wrap table thead th figure img.card-2 {
    background: linear-gradient(45deg, #B40000 0%, #cf5555 45%, #db9696 70%, #c35151 85%, #B40000 90% 100%);
}

#price-wrap table thead th figure img.card-3 {
    background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
}

#price-wrap table thead th figcaption {
    font-size: 1.5rem;
    position: relative;
    padding: 1rem 1.5rem 1.8rem;
}

#price-wrap table thead th figcaption:before {
    position: absolute;
    bottom: 0;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    border-radius: 3px;
    background: #000;
}

#price-wrap table tbody td {
    font-weight: bold;
    font-size: 2.5rem;
    border-bottom: white 1px solid;
    vertical-align: middle;
}

#price-wrap table tbody td small {
    font-size: 1rem;
    margin-left: .5rem
}

#price-wrap table tbody tr:nth-child(1) td:nth-child(2),
#price-wrap table tbody tr:nth-child(2) td:nth-child(2),
#price-wrap table tbody tr:nth-child(3) td:nth-child(2) {
    background: whitesmoke;
}

#price-wrap table tbody tr:nth-child(1) td:nth-child(3),
#price-wrap table tbody tr:nth-child(2) td:nth-child(3),
#price-wrap table tbody tr:nth-child(3) td:nth-child(3) {
    background: gainsboro;
}

#price-wrap table tbody tr:nth-child(1) td:nth-child(4),
#price-wrap table tbody tr:nth-child(2) td:nth-child(4),
#price-wrap table tbody tr:nth-child(3) td:nth-child(4) {
    background: silver;
}

.shop-link-wrap {
    display: flex;
    flex-direction: column;
    align-items: center
}

.shop-link-wrap p {
    margin: 3% 0;
}

.shop-link-inner {
    display: flex;
    justify-content: space-around;
    width: 100%
}

.shop-link-inner .brand-inner {
    text-align: center;
    width: 33.4%;
    padding: 3% 0;
}

.shop-link-inner .brand-inner img {
    width: 170px;
}

.shop-link-inner .brand-inner h3 {
    text-align: center;
    padding: 2rem 0 1rem;
}

.shop-link-inner .brand-inner .btn-area {
    display: flex;
    justify-content: center;
}

.shop-link-inner .brand-inner .btn-area .btn {
    border: 1px solid black;
    border-radius: 30px;
    margin: 0 2%;
    transition: .3s;
    font-size: 0.8rem;
}

.shop-link-inner .brand-inner .btn-area .btn:hover {
    border: 0;
    transform: scale(1.1);
}

.shop-link-inner .brand-inner .btn-area .btn a {
    display: block;
    padding: 1rem 0.5rem;
}

.shop-link-inner .brand-inner .btn-area .btn a:hover {
    color: white;
    opacity: 1;
}

.shop-link-inner .brand-inner:first-child .btn-area .btn:hover {
    background: var(--vady-color);
}

.shop-link-inner .brand-inner:nth-child(2) .btn-area .btn:hover {
    background: var(--centurion-color);
}

.shop-link-inner .brand-inner:nth-child(3) .btn-area .btn:hover {
    background: var(--plus-color);
}



.brands-link {
    text-align: center;
    padding: 15% 10%;
    position: relative;
    background: url(../img/bg_price_brandlink.webp)no-repeat center, rgb(207 156 18 / 80%);
    background-size: cover;
    background-blend-mode: hard-light;
    background-attachment: fixed;
}

.brands-link h3 {
    color: white;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.brands-link .linkbtn a {
    background: white;
    border: 0;
}

.brands-link .linkbtn a:hover {
    background: goldenrod;
}

.corp-plan {
    display: flex;
    margin-bottom: 5%;
}

.corp-txt {
    text-align: left;
    padding: 5% 10% 10% 3%;
}

.corp-txt h3 {
    margin-bottom: 5%;
    position: relative;
    padding: 1rem .5rem;
}

.corp-txt h3::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-gradient(linear, left top, right top, from(#fa709a), to(#fee140));
    background-image: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
    background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
}

.corp-txt p a {
    color: #b40000;
    border-bottom: 2px solid #b40000;
}

.corp-txt p {
    line-height: 1.7;
}

.corp-img {
    width: 40%;
    padding-left: 5%;
}



/* thanks
----------------------------------- */

#thanks {

    margin-top: 15vh;
}

.thanks_t {

    font-size: 2rem;
    color: #b40000;
    margin: 3vh;
}

.thanks img {

    width: 50%;
}

.thanks p {

    padding: 10px;
}

/* 404
----------------------------------- */

#notfound {

    margin-top: 15vh;
}

.notfound_t {

    font-size: 2rem;
    color: #b40000;
    margin: 3vh;
}

.notfound img {

    width: 50%;
}

.notfound p {

    padding: 10px;
}

/* Privacy Policy & Terms Of Use
----------------------------------- */

#policy-wrap,
#terms-wrap,
#legal-wrap {
    width: 90%;
    margin: 0 auto 10%;
}

#policy-wrap p,
#terms-wrap p,
#legal-wrap p {
text-indent: 1.2rem;
}

#policy-wrap p,
#policy-wrap li,
#terms-wrap p,
#terms-wrap li,
#legal-wrap table {
    font-size: 1rem!important;
    line-height: 1.8;
}
#policy-wrap li,
#terms-wrap li,
#legal-wrap li {
    margin: 1rem 0;
}

#policy-wrap h3 {
    font-style: normal;
    margin: 5% 0 3%;
}

.policy-intro {
    margin-bottom: 5%;
    padding-right: 35%;
}

.policy-main,
.terms-main,
.legal-main {
    padding: 0 5%;
}

.policy-main ol,
.terms-main ol {
    list-style-type: none;
    counter-reset: item;
}

.policy-main ol li::before,
.terms-main ol li::before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: 1rem;
    font-weight: bold;
}

.policy-main ol ol,
.policy-main ol ol ol,
.terms-main ol ol {
    margin: 1% 0;
}

#policy-wrap ol li,
#terms-wrap ol li {
    text-indent: -1.9rem;
    padding-left: 3.2rem;
}

.policy-main ol ol li,
.terms-main ol ol li {
    counter-increment: cnt;
    text-indent: -2.4rem!important;
}

.policy-main ol ol li::before,
.terms-main ol ol li::before {
    content: "(" counter(cnt) ")";
}

.policy-main ol ol ol li::before {
    content: '';
}

.policy-main ol ol ol li span {
    font-weight: bold;
}
.policy-main a,
.legal-main a {
    color: var(--vady-color);
}

.terms-main li dl,
.legal-main li dl {
    margin: 1rem 0;
    display: flex;
}
.terms-main li dl {
    justify-content: space-between
}
.terms-main li dt {
    margin-right: 2rem;
}
.terms-main li dt
.legal-main li dt {
    font-weight: bold;
    margin-left: 5%;
    width: 5%;
}
.terms-main li dd,
.legal-main li dd {
    width: 90%;
}

/* Legal Notice
----------------------------------- */
.legal-main tr {
    display: flex;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: #b40000 solid 1px;
}
.legal-main tr:first-child {
    border-top: #b40000 solid 1px;
    padding-top: 1.5rem;
}
.legal-main th {
    width: 25%;
    font-size: 1rem;
    border-right: rgba(180, 0, 0, .3) dotted 1px;
}
.legal-main td {
    width: 70%;
    font-size: 1rem;
    margin-left: 3%;
}
#legal-wrap li:first-child {
    margin: 0;
}
.legal-main li::before {
    content: "・";
}
.legal-main ul.before-no li::before {
    content: none;
}
.legal-main ul.before-no li dt::before {
    content: "・";
}
.legal-main ul.before-no li dl {
    display: flex;
    flex-direction: column
}
.legal-main ul.before-no li dl dd {
    margin-left: 1rem;
}



/* Outline
---------------- */

#outline-wrap {
    width: 90%;
    margin: 0 auto 10%;
}
.outline-main {
    padding: 5%;
    font-size: 1rem;
}
.outline-main dl {
    display: flex;
    width: 70%;
    margin: 0 auto 3%;
    border-bottom: dotted lightgray 1px;
    padding-bottom: 1%;
}

.outline-main dt {
    width: 25%;
}

.outline-main dl:nth-of-type(7) dd {
    width: 70%;
}

.outline-main dl:nth-of-type(7) dd ul {
    display: flex;
    flex-direction: column;
}

.outline-main dl:nth-of-type(7) dd li {
    display: flex;
    flex-direction: column;
}

.outline-main dl:nth-of-type(7) dd li:last-child dl {
    border: none;
}

.outline-main dl:nth-of-type(7) dd li dl {
    width: 100%;
    padding-bottom: 3%;
    align-items: center
}

.outline-main dl:nth-of-type(7) dd li dt {
    width: 30%;
}

.outline-main dl:nth-of-type(7) dd li dd {
    width: 70%;
    line-height: 2;
}

.outline-main dl:nth-of-type(8) li {
    margin-left: 3%;
    width: 100%;
    line-height: 2;
}



/* information index
----------------------------------- */
#information {
    background: url(../img/bg_information_01.webp) center no-repeat;
    z-index: 1;
    background-attachment: fixed;
    background-size: cover;
    position: relative
}

/*.latestContainer li.article {
  margin: 0 1%;
}*/
.latestContainer li.article figure {
    position: relative;
}

.latestContainer li.article figure img {
    width: 100%;
    height: auto;
    border-radius: 10px
}

.latestContainer li.article figure img.info-overlay {
    position: absolute;
    bottom: 0;
}

.latestContainer li.article figcaption {
    width: 100%;
    color: white;
    position: absolute;
    bottom: 5%;
    left: 2%;
    display: flex;
    flex-direction: column
}

h3.article-ttl {
    padding-right: 2rem;
    font-size: 1rem;
    line-height: 1.4;
}

.latestContainer li.article figcaption .flexBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.latestContainer li.article figcaption span.date {
    display: inline-block;
    font-size: .8rem;
    padding-top: 2%
}

.latestContainer li.article figcaption span.shop {
    margin-right: 4%;
    display: block;
    padding: 10px;
    border-radius: 4px;
    font-size: .8rem
}

span.vady,
span.shinsaibashi {
    background: var(--vady-color)
}

span.dojima,
span.uehonmachi {
    background: var(--centurion-color)
}

span.kobe,
span.tamatsukuri {
    background: var(--plus-color)
}

span.abo {
    background: var(--abo-color)
}

.latestContainer li.article img {
    width: 100%
}

#latestWrap .swiper-parent {
    position: relative
}

#latestWrap .swiper-pagination {
    margin-bottom: -50px
}

#latestWrap .swiper-container {
  overflow: hidden;
    padding-bottom: 50px;
}

#latestWrap {
    overflow-y: visible;
    overflow-x: clip;
}

#latestWrap .swiper-slide {
    max-width: 400px;
}

#latestWrap .swiper-button-prev,
.swiper-button-next {
    top: calc((100% - 50px) * 0.5)
}

.scroll-archive {
    width: 111px;
    text-align: center;
    vertical-align: baseline
}

.scroll-archive span {
    top: -70px;
    font-size: 2rem
}

/* archives
----------------------------------- */
#archive {
    background: whitesmoke;
}

.archive-wrap {
    margin-bottom: 60%;
}

.archive-inner {
    min-height: 500px;
}

.archive-inner .flexBox {
    flex-wrap: wrap;
    justify-content: flex-start
}

.archive-inner li.achv-articles {
    margin: 0 1% 5rem;
    width: 31%;
    position: relative;
}

.archive-inner li figure {
    position: relative;
}

.archive-inner li figure img {
    width: 100%;
    height: auto;
    border-radius: 10px
}

.archive-inner li figure img.info-overlay {
    position: absolute;
    bottom: 0;
}

.archive-inner li figcaption {
    width: 100%;
    color: white;
    position: absolute;
    bottom: 5%;
    left: 2%;
    display: flex;
    flex-direction: column
}

.archive-inner li figcaption .article-ttl {
    color: black
}

.archive-inner li figcaption .flexBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.archive-inner li figcaption span.date {
    display: inline-block;
    font-size: .8rem;
    padding-top: 2%
}

.archive-inner li figcaption span.shop {
    margin-right: 4%;
    display: block;
    padding: 10px;
    border-radius: 4px;
    font-size: .8rem
}

.archive-inner li img {
    width: 100%
}

.cat-list {
    display: flex;
    position: relative;
}

.cat-list::before {
    content: "";
    padding-top: 70%;
    /*overflow-y: scroll; !!!! ここをどうするか、要検討 !!!!
  /* 無限スクロール https://haniwaman.com/infinite-scroll/
  https://firstlayout.net/install-infinite-scroll-in-wordpress/
  それか普通にabsoluteのheight取得 */
}

.cat-list .archive-switch {
    margin: 0 1rem 0 0;
}

.cat-list .archive-switch span {
    margin-right: 4%;
    display: inline-block;
    padding: 10px 1rem;
    border-radius: 4px;
    font-size: .8rem;
    color: white;
    width: max-content;
}

.cat-list .archive-inner {
    margin-top: 5rem;
    position: absolute;
    height: 100%;
    width: 100%
}

.cat-list .archive-inner li.achv-articles {
    width: 18%;
}

.cat-list .archive-inner li.achv-articles .article-ttl {
    position: absolute;
    top: 52px;
    font-style: normal;
    font-size: .8rem
}

.article-empty {
    color: black;
    font-size: 3rem;
    font-weight: bold;
    margin: 1rem 0 0 3rem;
    line-height: 1.7;
}

.article-empty::first-letter {
    color: var(--vady-color)
}

/* single.php
----------------------------------- */
.info-top {
    padding-top: 100px;
    padding: 6rem 6rem 0;
    position: relative;
}

.info-top small {
    font-weight: bold;
    font-size: 2rem;
    margin-left: 2rem;
}

#post-inner {
    margin: 0 auto;
    padding: 0 6rem;
    padding-bottom: 3rem;
    border-top: 1px dotted lightgray;
}

.img-eyecatch {
    width: 40%;
}

.img-eyecatch img {
    width: 80%
}

.content-wrap {
    width: 60%;
    padding-right: 10rem;
}

#post-inner .flexBox {
    justify-content: space-evenly;
}

#post-inner img {
    height: auto;
}

#post-inner p {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1rem
}

.content-wrap a {
  color: crimson;
  border-bottom: 1px solid crimson;
  font-weight: bold;
}

figure.wp-block-image {
    margin-bottom: 1rem
}

.post-ttlArea {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}

.entry {
    text-align: right;
    margin: 1rem 0 2rem;
    font-size: 1rem
}

.entry-date {
    margin-bottom: .5rem
}

.shopname {
    font-weight: bold;
    display: inline-block;
    padding: 1rem;
    color: white;
}

.entry .vady,
.entry .shinsaibashi {
    background: var(--vady-color)
}

.entry .dojima,
.entry .uehonmachi {
    background: var(--centurion-color)
}

.entry .kobe,
.entry .vady-plus,
.entry .tamatsukuri {
    background: var(--plus-color)
}

.post-ttl {
    font-size: 2rem;
    margin-bottom: 1rem;
    position: relative;
}

.post-ttl:after {
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 80%;
    height: 6px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-gradient(linear, left top, right top, from(#fa709a), to(#fee140));
    background-image: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
    background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
}

.img-eyecatch {
    max-width: 600px
}

.post-nav {
    border-top: solid 1px lightgray;
}

.post-nav .flexBox {
    justify-content: center !important;
}

.post-nav .flexBox li {
    width: 30%;
    display: block;
    text-align: center;
    font-size: 1rem;
    padding: 2% 0;
    transition: .6s;
}

.post-nav .flexBox li span {
    width: 100%;
    display: block;
    padding: 0 1%;
}

.post-nav .flexBox li:hover {
    background: lightgray;
    transition: .6s;
}

.has-accent-color {
  color: crimson;
  font-size: 1.2em;
}

/* Contact Form 7
-------------------------------- */
.wpcf7 {
    text-align: -webkit-center;
}

.inquiry {
    width: 83%;
}

.inquiry th {
    text-align: left;
    vertical-align: middle;
    font-size: .9rem;
    color: #444;
    padding: 1%;
    width: 40%;
    min-width: 310px;
    background: #f7f7f7;
    border: solid 1px white;
}

.inquiry td {
    font-size: .9rem;
    border: solid 1px white;
    padding: 1%
}

/*横の行とテーブル全体*/
.entry-content .inquiry tr,
.entry-content table {
    border: solid 1px #d7d7d7;
}

/*必須の調整*/
.haveto {
    font-size: 7px;
    padding: 1% 2%;
    background: crimson;
    color: white;
    border-radius: 2px;
    margin-right: 5px;
    position: relative;
    bottom: 1px;
}

/*任意の調整*/
.any {
    font-size: 7px;
    padding: 1% 2%;
    background: darkblue;
    color: white;
    border-radius: 2px;
    margin-right: 5px;
    position: relative;
    bottom: 1px;
}

.verticallist .wpcf7-list-item {
    display: block;
}

input,
select,
textarea {
    appearance: auto;
    cursor: text;
    background: #cfd5e2;
    padding: 2%;
    border-radius: 5px;
    font-family: 'NotoSansCJKjp';
}

label {
    cursor: pointer;
}

select,
input[type="radio"i],
input[type="checkbox"i] {
    cursor: pointer;
}

input[type="radio"i] {
    margin-bottom: 0.6%;
}

input[type="text"i],
input[type="tel"i],
input[type="email"i],
select {
    width: 300px;
}
input[type="date"i] {
    width: 150px;
}
textarea {
    width: 500px;
}

input[type="date"i] {
    justify-content: flex-start
}

.inquiry + p {
    font-size: 1rem
}

.wpcf7-list-item-label {
    margin-left: .5rem;
}

.wpcf7-list-item {
    margin-right: 1rem;
}

.wpcf7-not-valid-tip {
    color: red;
    display: block;
    padding-top: 0.5rem;
}

.screen-reader-response ul,
.wpcf7-response-output {
    display: none;
}

.screen-reader-response {
    display: block;
    margin-bottom: 1rem;
    color: red;
}

.screen-reader-response p {
    font-size: 1.2rem !important;
}


#formbtn,
#confirmbtn {
    display: block;
    padding: 1em 0;
    margin-top: 30px;
    width: 100%;
    background: navy;
    color: white;
    font-size: 18px;
    font-weight: bold;
    border-radius: 2px;
    border: none;
    transition: 1s;
}

/*送信ボタンマウスホバー時*/
#formbtn:hover,
#confirmbtn:hover {
    opacity: .8;
    transition: .6s;
    cursor: pointer
}

#confirmbtn {
    background: lightsteelblue;
    color: navy
}

.inquiry h4 {
    margin: 1% 0 2%
}

.inquiry li {
    position: relative;
    padding-left: 15px;
    margin-left: .8%;
    margin-bottom: 1%
}

.inquiry li:before {
    content: "";
    position: absolute;
    top: .1em;
    left: 0;
    -webkit-transform: rotate(50deg);
    -ms-transform: rotate(50deg);
    transform: rotate(50deg);
    width: 5px;
    height: 10px;
    border-right: 2px solid var(--vady-color);
    border-bottom: 2px solid var(--vady-color);
}

.optional-btn {
    margin: 1% 0 1%;
    background: #cfd5e2;
    padding: 2%;
    border-radius: 5px;
}

.out-table {
    font-size: .8rem;
    width: 83%;
}

.inquiry td label {
    display: block;
    margin-left: 1%;
    padding: 1% 0 0 1%;
}

.googleform {
    position:relative;
    width:100%;
    height:0;
    padding-top:75%;
}

.googleform iframe{
  	position:absolute;
  	top:0;
  	left:0;
  	width:100%;
  	height:4000px;
}

#post-inner .btn {
    border: 1px solid black;
    display: inline-block;
    padding: 1rem;
    margin-top: 1.2rem;
}

#post-inner .btn a {
  color: black;
  border: 0;
  font-size: 1rem
}

.lineme {
    display: none;
}



@media screen and (min-width: 769px) {

    /* Container
    ---------------------- */
    #about {
        background: url(../img/bg_about_01.webp) center no-repeat;
        z-index: 1;
        background-attachment: fixed;
        background-size: cover;
        position: relative
    }

    #concept {
        background: url(../img/bg_concept_01.webp) center no-repeat;
        z-index: 1;
        position: relative
    }

    #concept-catch {
        background: url(../img/bg_concept_02_2.webp)center no-repeat;
        background-size: cover;
        padding: 0 3%
    }

    #concept-inner {
        background: white
    }

    .catch-inner {
        background: white;
        text-align: center;
        width: 70%;
        height: 100%;
        padding: 0 10% 7%;
        margin: 0 auto;
        position: relative;
        z-index: 100;
    }

    .catch-inner h3 {
      padding: 100px 0 20px;
    }

    .catch-inner .inner-text {
        line-height: 3;
        font-size: 1rem;
        transition-delay: .5s
    }

    .catch-inner .inner-text span:before {
        white-space: pre;
        content: '\A';
    }

    .catch-inner .scrolldownBlk {
      height: 0;
    }

    .inner-text {
      margin-top: 1rem;
    }

    #information {
        background: url(../img/bg_information_01.webp) center no-repeat;
        z-index: 1;
        position: relative
    }

    .latestContainer li.article {
        margin: 0 1%;
    }

    .latestContainer li.article figure {
        position: relative;
    }

    .latestContainer li.article figure img {
        border-radius: 10px;
    }


    .latestContainer li.article figure img.info-overlay {
        position: absolute;
    }

    .latestContainer li.article figcaption {
        width: 100%;
        color: white;
        position: absolute;
        bottom: 5%;
        left: 2%;
        display: flex;
        flex-direction: column
    }

    .latestContainer li.article figcaption .flexBox {
        display: flex;
        justify-content: space-between;
        align-items: flex-end
    }

    .latestContainer li.article figcaption span.date {
        display: inline-block;
        font-size: .8rem;
        padding-top: 2%;
    }

    .latestContainer li.article figcaption span.shop {
        margin-right: 4%;
        display: block;
        padding: 10px;
        border-radius: 4px;
        font-size: .8rem
    }

    .latestContainer li.article figcaption span.centurion {
        background: var(--centurion-color);
    }

    .latestContainer li.article figcaption span.vadyplus {
        background: var(--plus-color);
    }

    .latestContainer li.article img {
        width: 100%;
    }

    #latestWrap .swiper-parent {

        position: relative;
    }

    #latestWrap .swiper-container {
        padding-bottom: 50px;
    }

    #latestWrap .swiper-button-prev,
    #latestWrap .swiper-button-next {
        top: calc((100% - 50px) * 0.5);
    }

    .archive {
        width: 111px;
        text-align: center;
        vertical-align: baseline;
    }

    .archive span {
        top: -70px;
        font-size: 2rem
    }

}




@media screen and (max-width: 1366px) and (min-width: 769px) {
    .inner {
        width: 90% !important;
    }

    .inner-text {
        margin-top: 1.5rem;
        font-size: .9rem;
    }

    .catch-inner {
        width: 90%;
        background: rgba(255, 255, 255, 0.7);
    }

    .catch-inner h3 {
        padding: 100px 0 50px;
    }


    .top-image {

        padding: 2rem;

    }


    #about-catch .commit1,
    #about-catch .commit2 {
        height: 80vh;

    }

    /* about
  ------------------------------- */
    #about-catch .commit1 .textBox {
        top: 25%;
    }

    #about-catch .textBox h3 {
        font-size: 1.8rem;
    }

    #about-catch .commit1 .textBox h3:nth-child(3) {
        right: -60%;
        bottom: -350%;
    }

    .textBox h2 {
        font-size: 4rem;
    }

    .bf-image .result1 {
        top: -40px;
        right: -12px;
    }

    .bf-image .result dl {
        height: 180px;
        width: 180px;
    }

    .bf-image .result dd {
        font-size: 1.8em;
    }

    #about-main .textBox h3 {
        font-size: 1.8rem;
    }

    /* trainer
  ------------------------------- */
    .profile-txt {
        width: 100%;
    }

    .modal__container {
        max-height: 95vh;
        max-width: 95vw;
    }


}



@media screen and (max-width: 768px) {
    #top .swiper-slide img {
      width: 100%;
    }

    #concept {
        height: 100vh;
        background: url(../img/bg_concept_sp_01.webp) center no-repeat;
        background-attachment: initial;
        background-size: cover;
        position: relative;
    }

    .scrolldown,
    .scrolldownBlk {

        height: auto;
    }

    .top-flexbox {
        display: block;
    }

    .top-txtbox {
        width: 100%;
        margin-bottom: 2rem;
    }

    .top-imgbox {
        width: 100%;
        margin-bottom: 2rem;
    }

    #concept-catch {
        padding: 1rem;
        position: relative;
    }

    .catch-inner {
        margin: 10px 1rem 1rem;
    }

    .catch-inner h3 {
        line-height: 1.5;
    }

    .catch-inner .inner-text {
        line-height: 2;
    }

    #concept-inner {
        padding: 1rem;
    }

    .conceptlist {
        width: 100%;
    }

    .conceptlist li {
        padding: 0;
        margin-bottom: 5rem;
    }

    .conceptlist li .btn {
        margin-top: 5rem;
    }

    .conceptlist li h3 {
        line-height: 1.5;
    }

    .conceptlist li p {
        font-size: .8rem;
        margin: 2rem 0 0;
        line-height: 2;
    }

    .conceptlist li:nth-child(2) h3.listTtl + p + img {
        margin: 0rem 0 5rem;
    }

    .flexBox {
        flex-direction: column;
    }

    #concept-inner .flexBox div {
        width: 100%;
        margin-bottom: 3rem;
    }

    #concept-inner .flexBox div:nth-child(2) {
        margin-bottom: 0;
    }

    #concept-inner .concept02 p {
        height: 8rem;
    }

    .concept-0 {
        padding: 20% 0 10%;
    }

    .concept-0 h3 + h3 {
        font-size: 1.4rem!important;
    }

    .concept-0 p {
        line-height: 2;
    }

    #concept-inner .flexBox .concept02 {
        margin-top: 11%;
    }

    .concept03-inner {
        padding: 0;
        margin: 0;
        width: 100%;
        background: url(../img/img_concept03_sp.webp);
        background-size: cover;
    }
    .concept03-inner .concept03-l .concept03text {
      width: 82%;
      margin: 1rem 0 0;
      padding-bottom: 2.8rem;
    }
    .concept03-l img {
      top: 130px;
      right: -8px;
      height: 210px;
    }

    #concept-inner .flexBox {
        padding-bottom: 4rem;
        padding-top: 2rem;
        margin: 0 auto;
        flex-direction: column-reverse;
    }
    .conceptlist-2 .concept03-r ol {
        margin: 0;
        padding: 5% !important;
    }

    #concept-inner .flexBox div.concept03-l {
        width: 80%;
        margin: 10px;
        height: auto;
    }

    #concept-inner .flexBox div.concept03-r {
        margin: 0 0 2rem;
    }

    .conceptlist li ol li {
        padding: 0;
        margin-bottom: 1rem;
    }

    .conceptlist li ol {
        width: 80%;
    }

    /* 追記
    ---------*/
    .conceptlist-2 li {
        list-style: none;
        padding: 0;
        font-size: 1rem;
        margin-bottom: 25%;
    }
    .conceptlist-2 li h3 {
        padding: 0;
        margin-bottom: 1rem;
        font-size: 1.2rem;
        text-align: left;
    }
    .conceptlist-2 li h3:before {
        content: '';
        position: static;
    }
    .conceptlist-2 li h3 span {
        padding: 0;
    }
    .conceptlist-2 li .concept-image {
        width: 100%;
    }
    .conceptlist-2 li section {
        width: 94%;
    }
    #concept-inner .conceptlist-2 .concept02 p {
        height: 18rem;
    }
    #concept-inner .conceptlist-2 .flexBox div.concept03-l {
        width: 90%;
    }
    #concept-inner .conceptlist-2 .flexBox div.concept03-r {
        width: 90%;
    }
    #concept-inner .conceptlist-2 .flexBox div.concept03-r li {
        margin-bottom: 0;
    }
    .conceptlist-2 li:nth-child(2) h3 + p, .conceptlist-2 li:nth-child(2) .concept03-inner + p {
        text-align: left;
    }
    .missionImg {
        padding: 0 0 5%;
    }
    .tab {
        flex-direction: column;
        padding-top: 25%;
    }

    .tab__link {
        font-size: 1.2rem;
    }
    .tab__item {
        margin-top: 3%;
    }
    .tab-body__item {
        width: 100%;
        padding: 30px 0;
    }
    h3.listTtl {
        font-size: 1.1rem!important;
    }



    .trial-container {
        flex-direction: column;
        font-size: 1.2rem;
    }

    .trial-container span:nth-child(1) {
        margin-bottom: 1rem;
    }

    .trial-link {
        padding-top: 0;
    }

    .trial-container span i {
        transform: rotate(90deg);
    }

    /* about
    ----------------------------------- */

    #about {
        background: url(../img/bg_about_sp_01.webp);
        background-attachment: initial;
        background-size: cover;
        height: 100vh;
    }

    #about .ttlArea {
        flex-direction: initial
    }

    #about .top-image {
        padding-bottom: 6rem;
    }

    .textBox h2 {
        font-size: 3rem;
    }

    #brands h2 {

        font-size: 3rem;

    }

    #about-catch .commit1 {
        background: url(../img/bg_about_sp_03.webp) center no-repeat !important;
        background-attachment: initial;
        background-size: cover !important;
    }

    #about-catch .commit2 {
        background: url(../img/bg_about_sp_02.webp) center no-repeat !important;
        background-attachment: initial;
        background-size: cover !important;
    }

    #about-catch img.overlay-01 {
        top: 37%;
    }

    #about-catch .textBox h3 {
        font-size: 1.4rem;
        text-align: inherit;
        line-height: 1.9rem;
    }

    #about-catch .commit1 .textBox {
        top: 30%;
        width: 90%;

    }

    #about-catch .commit1 .textBox h3:nth-child(2) {
        left: 0;
        bottom: -260%;
    }

    #about-catch .commit1 .textBox h3:nth-child(3) {
        right: 0;
        bottom: -500%;
    }

    #about-catch .textBox h3 span:before {
        white-space: initial;
    }

    #about-catch .commit2 .textBox {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        width: 90%;
    }

    #about-catch .commit2 .textBox h3:nth-child(1) {
        left: 0px;
        top: -100px;
    }

    #about-catch .commit2 .textBox h3:nth-child(2) {
        position: absolute;
        right: 0%;
        bottom: -100px;
    }

    .contact-area a {
        padding: 1.4rem;
    }

    .contact-area h3 {
        font-size: 1.2rem;
    }

    .section-inner {
        width: 90%;
    }

    #about-main .linkbtn a {
        font-size: 1rem;
    }

    #about-main .textBox h3 {
        font-size: 1.4rem;
    }

    #about-main .textBox .section-inner {
        padding: 5% 1rem 0;
        margin-bottom: 20%;
    }

    #strength .section-inner h3::before {
        font-size: 3.5rem;
    }

    .strength02 {
        background: url(../img/bg_about02_sp.webp)center no-repeat !important;
        background-size: cover !important;

    }

    .strength05 {
        background: url(../img/bg_about04_sp.webp)top no-repeat !important;
        background-size: cover !important;
        height: 80vh;
    }

    .strength05 dl {
        font-size: 1.2rem;
    }

    .before-after {
        padding: 50px 0 20px;
    }

    .before-after .section-inner {
        width: 90%;
        padding: 5% 1rem 0 !important;
    }

    .bf-image .result dl {
        height: 100px;
        width: 100px;
    }

    .bf-image .result1 {
        right: 47px;
        top: 200px;
    }

    .bf-image .result2 {
        top: 260px;
        right: -23px;
    }

    .bf-image .result dt {
        top: 20%;
        left: 19%;
        font-size: 1.6em;
    }

    .bf-image .result dd {
        top: 40%;
        left: 7%;
        font-size: 1.2em;
    }

    .bf-image ul {
        justify-content: space-between;
    }

    .bf-image ul li {
        width: 45%;
        flex-direction: column;
    }

    .bf-image ul li figcaption {
        width: 90%;
        margin: 0 0 1rem
    }

    .bf-image .deco {
        top: 43%;
        right: 19%;
        width: 30%;
    }

    .diet {

        padding-top: 10%;
    }

    .diet h4 {
        font-size: 0.9rem;
    }


    #aboutprice {
        padding: 30px 0 0;
    }

    #about-main .textBox .price-shop h3 {
        font-size: 1rem
    }

    .price-shop ul {
        margin: 1rem 0
    }

    .price-shop ul li {
        margin-bottom: 1rem
    }

    .price-shop ul li figcaption {
        font-size: 1rem
    }

    /* Trainer
    ----------------------------------- */
    #trainer {
        background: url(../img/bg_trainer_sp_01.webp) center no-repeat;
        background-attachment: initial;
        background-size: cover;
        height: 100vh;
    }

    #trainer .ttlArea {
        flex-direction: initial;
        font-size: 2.8rem;

    }

    #trainer h2 {

        font-size: 2.8rem;
    }

    .trainer-wrap {
        padding: 5% 4% 3%;
    }

    .trainer-wrap .section-inner {
        width: 100%;
    }

    .trainer-ttl h3 {
        font-size: 0.6rem;
    }

    .trainer-panels {
        margin: 1rem 0 auto;
    }

    .panel {
        width: 48%;
    }

    .modal__open {
        margin: 0 auto;
    }

    .panel figure {
        margin-bottom: 0
    }

    .panel .belong p {
        font-size: .6rem!important;
    }

    .modal__container {
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }

    .modal__header {
        margin-top: 10vh;
        align-items: flex-start;
    }

    .modal__header h3 {
        width: 65%;
    }

    .modal__header h3 small {
        display: block;
        margin-left: 0;
        font-size: 0.5em;
        margin-top: 5px;
    }

    .modal-ttl-area {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .modal-ttl-area .instagram {
        color: white;
        background: rgba(0,0,0,0);
        -webkit-background-clip: initial;
        -webkit-text-fill-color: orangered;
        font-size: 1.5rem;
        margin-left: 0;
        margin-top: 0.8rem;
    }
    .modal-ttl-area .instagram a {
      outline:none;
      -webkit-tap-highlight-color:rgba(0,0,0,0);
      cursor:pointer;
    }

    .modal-ttl-area .instagram img {
        width: 30px;
        height: 30px;
        margin-right: 0.5rem;
    }

    .modal-ttl-area .instagram span {
        padding-right: 0.5rem;
    }

    .profile {
        flex-direction: column;
    }

    .profile-txt {
        font-size: 0.8rem;
        width: 100%;
        margin-left: 0;
        padding: 1rem 0;
    }

    .profile-txt dt {
        padding-bottom: 0.6rem
    }

    .profile-txt dd {
        margin-bottom: 1rem;
    }

    /* Facilities
    ----------------------------------- */
    #brands {
        background: url(../img/bg_brands_sp_01.webp) center no-repeat;
        background-attachment: initial;
        background-size: cover;
        height: 100vh;
    }

    #brands .ttlArea {
        text-align: left;
    }

    #facilities-main #brands-wrap .brand-list {
        flex-direction: column;
    }

    #facilities-main #brands-wrap .brand-inner {
        width: 100%;
        padding: 3% 1% 5%;
    }

    #facilities-main .textBox h2 {
        font-size: 1.5rem;
    }

    #facilities-main .textBox h3 {
        font-size: 1.1rem;
        line-height: 1.5;
        margin-bottom: 0.2rem;
    }

    #facilities-main .textBox {
        padding: 3% 0;
    }

    #facilities-main .information {
        flex-direction: column;
        padding: 0;
    }

    #facilities-main .infoLeft {
        width: 100%;
        margin: 0;
        text-align: justify;
        padding: 0 5% 5%;
        background: whitesmoke
    }

    #facilities-main .infoRight {
        width: 100%;
        padding: 3% 5%;
        border-left: none;
        border-top: 1px solid whitesmoke;
    }

    .linkbtn a {
        font-size: 1rem;
    }

    .linkbtn {
        margin-top: 3rem;
    }

    .strength01 {
        margin-bottom: 7rem;
    }

    #facilities-main .linkbtn {
        margin: 1rem 0 2rem;
        font-size: 1rem;
    }

    #facilities-main address dd,
    #facilities-main address p {
        font-size: .8rem;
    }

    /* price
    ----------------------------------- */

    #price_top {
          background-attachment: initial;
          height: 100vh;
        }

    .price-ttl h3 {
        font-size: 1.3rem;
    }

    .price-ttl p {
        margin-top: 1rem;
    }

    #price-wrap {
        margin-bottom: 20%;
    }

    #price-wrap .section-inner {
        width: 100%
    }

    #price-wrap table thead th figure {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding-left: 1rem;
    }

    #price-wrap table thead th figcaption::before {
        display: none;
    }

    #price-wrap table thead th figcaption {
        padding: 0.3rem 0 0.6rem;
        font-size: 1.3rem;
    }

    #price-wrap table thead th figure img {
        margin-right: 1rem;
    }

    #price-wrap table thead th {
        display: block;
        border-radius: 10px;
        margin: 0 auto 10px;
        padding: 0 0 .4rem;
        width: 98% !important;
        background: white;
        box-shadow: lightgrey 2px 2px 2px;
    }

    #price-wrap table thead th p {
        padding: 0 1rem;
        margin: 0;
    }

    #price-wrap table thead th figure + p {
        margin: 0 auto 0.6rem;
        word-break: keep-all;
    }

    #price-wrap table thead th:nth-child(1) {
        display: none;
    }

    #price-wrap table tbody {
        display: block;
        margin-top: 2rem;
    }

    #price-wrap table tbody th img {
        padding: 0;
        width: 40%;
    }

    #price-wrap table tbody th h3 {
        padding: 0.5rem 1rem 0rem;
        font-size: 1rem
    }

    #price-wrap table tbody th h3 i {
        transform: rotate(90deg);
        font-size: 1rem;
    }

    #price-wrap table tbody th {
        display: flex;
        align-items: center;
        justify-content: space-around;
        padding: 0;
    }

    #price-wrap table tbody tr:nth-of-type(1) td p {
        font-size: 1.2rem!important;
    }

    #price-wrap table tbody tr:nth-of-type(1) td p strong {
        font-size: 1.8em;
    }

    #price-wrap table tbody tr:nth-of-type(1) td p small {
        font-size: .83em;
    }

    #price-wrap table tbody td {
        display: block;
        text-align: right;
        font-size: 2rem;
    }

    #price-wrap table tbody td::before {
        content: attr(data-text)":";
        font-size: 1rem;
        color: dimgray;
        margin-right: 1rem
    }

    .shop-link-wrap h3 {
        font-size: 1.1rem;
        padding: 0 1rem;
    }

    .shop-link-inner {
        flex-direction: column;
        margin-top: -3rem;
    }

    .shop-link-inner .brand-inner {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        border-bottom: 1px lightgray dotted;
    }

    .shop-link-inner .brand-inner h3 {
        display: none;
    }

    .shop-link-inner .brand-inner img {
        width: 120px;
    }

    .shop-link-inner .brand-inner .btn-area {
        flex-direction: column;
        justify-content: space-evenly;
        width: 55%;
    }

    .shop-link-inner .brand-inner .btn-area .btn {
        margin: 0 2% 3%;
    }
    .about-brands .brands-link {
        background-attachment: initial;
    }

    .corp-plan {
        flex-direction: column;
        align-items: center;
    }

    .corp-img {
        width: 80%;
        padding: 0;
    }

    /* Privacy Policy
    ----------------------------------- */
    .policy-intro,
    .policy-main {
        padding: 0;
    }
    #policy-wrap ol li {
        padding-left: 2.2rem;
    }
    #policy-wrap li {
        margin: 0.5rem 0;
    }
    #policy-wrap h3 {
        margin: 20% 0 3%;
    }

    /* Terms Of Use
    ----------------------------------- */
    .terms-main {
        padding: 0;
    }
    #terms-wrap ol li {
        padding-left: 2.2rem;
    }
    #terms-wrap li {
        margin: 0.5rem 0;
    }
    #terms-wrap h3 {
        margin: 20% 0 3%;
    }
    .terms-main li dt {
        width: 28%;
        margin-right: 0;
    }
    .terms-main li dd {
        width: 100%;
    }
    

    /* Legal Notice
    ----------------------------------- */
    #legal-wrap table {
        line-height: 1.5;
    }
    .legal-main {
        padding: 0;
    }
    .legal-main tr {
        width: 100%;
        flex-direction: column
    }
    .legal-main th {
        border-right: none;
        margin-bottom: 1rem
    }
    .legal-main th {
        width: 100%;
    }
    .legal-main td {
        width: 95%;
    }
    

    /* Outline
    ----------------------------------- */
    .outline-main dl {
        width: 100%;
        padding: 5% 0;
    }
    .outline-main dt {
        width: 30%;
    }
    .outline-main dd {
        width: 70%;
    }
    .outline-main dl:nth-child(12) dt span::before {
        content: '\A';
        white-space: pre;
    }
    .outline-main dl:nth-of-type(7) dt {
        width: 0;
    }
    .outline-main dl:nth-of-type(7) dd {
        width: 100%;
    }



    /* Information index
    ----------------------------------- */

    #information {
        height: 100vh;
        background: url(../img/bg_information_sp_01.webp) center no-repeat;
        background-size: cover;
    }

    .latestContainer li.article figcaption .flexBox {
        flex-direction: row;
        justify-content: space-between;
    }

    .top-image {
        padding-bottom: 6rem;
        padding: 2rem;
    }
    #information .ttlArea {
        padding-left: 2rem;
    }

    #information.top-image {
        padding-bottom: 6rem;
        padding: 100px 0 0;
    }

    .scroll-archive span {
        top: -25px;
        left: 0;
        font-size: 1.2rem
    }

    #archive .ttlArea {
        flex-direction: column;
        align-items: flex-start;
    }

    .info-top {
        padding: 100px 1rem 1rem;
    }
    #archive.info-top {
      padding: 0 1rem 1rem;
    }

    .info-top small {
        margin-left: 0;
        font-size: 1.5rem;
    }
    #latestWrap .swiper-button-prev, .swiper-button-next {
        top: calc((100%) * 0.5);
    }
    #latestWrap .swiper-pagination {
        margin-bottom: 0;
    }

    .archive-active {
        display: block;
    }

    .archive-cat {
        position: relative;
    }

    .cat-list .archive-inner li.achv-articles {
        width: 100%;
        border-bottom: 1px dotted gray;
        margin-bottom: 1rem
    }

    .cat-list .archive-inner {
        position: unset;
    }

    .cat-list .archive-switch {
        position: absolute;
        margin-top: -1rem;
    }

    .cat-list .archive-inner figure {
        display: none;
    }

    .archive-inner li figcaption {
        position: unset;
        padding-bottom: 0.6rem;
        display: block;
    }

    .archive-inner li figcaption .flexBox {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    .archive-inner li figcaption span.date {
        color: black
    }

    .archive-inner li figcaption span.shop {
        padding: 6px 10px;
        margin: 0
    }

    .cat-list::before {
        content: "";
        padding: 0;
    }

    .article-empty {
        font-size: 2.5rem;
        margin-left: 0
    }

    .cat-list .archive-inner li.achv-articles .article-ttl {
        position: static;
        margin-bottom: 0.4rem;
    }

    .switch-2 {
        left: 79px;
    }

    .switch-3 {
        left: 178px;
    }

    .switch-4 {
        left: 265px;
    }

    .switch-5 {
        left: 0;
        top: 40px;
    }

    .switch-6 {
        left: 98px;
        top: 40px;
    }

    .switch-7 {
        left: 185px;
        top: 40px;
    }

    /* single.php
    -------------------------------- */
    #post-inner {
        padding: 0 1rem;
    }

    .post-ttl {
        font-size: 1.2rem
    }

    .post-ttl:after {
        width: 100%
    }

    .img-eyecatch {
        width: 70%;
        margin: 0 auto;
    }

    .img-eyecatch img {
        width: 100%
    }

    .content-wrap {
        width: 100%;
        margin-top: 1.5rem;
        padding-right: 0
    }

    .post-nav {
        margin-top: 1.5rem;
    }

    .post-nav .flexBox {
        flex-direction: row;
    }

    .post-nav .flexBox li {
        width: 100%;
        padding: 5% 0;
    }

    /* Contact
    -------------------------------- */

    textarea {
        width: 100%;
    }

    .inquiry label {
        cursor: pointer;
        appearance: none;
    }

    .inquiry {
        margin: 0 auto;
        width: 90% !important;
    }

    .inquiry th,
    .inquiry td {
        display: block !important;
        width: 100% !important;
        border-top: none !important;
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
    }

    .inquiry td {
        padding: 3%
    }

    .inquiry tr:first-child th {
        border-top: 1px solid #d7d7d7 !important;
    }

    .inquiry .haveto,
    .inquiry .any {
        font-size: 10px;
    }

    .inquiry th {
        padding: 2%;
        min-width: auto
    }

    /* googleform
    ----------------------------- */

    .googleform iframe {
      height: 70vh;
    }
  
    .lineme {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10%;
    }

    .lineme img {
        height: 36px!important;
        width: 116px!important;
    }

    .linep {
        width: 50%;
        display: contents;
    }

    .linep::after {
        content: '\f101';
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
        margin-right: 2%;
        font-size: 1.4rem;
        color: #0dc751;
    }

    .linep p {
        margin-right: 2%;
    }


    /* thanks
    ------------------------------- */

    #thanks {
        margin-top: 5vh;
    }

    .thanks img {

        width: 100%;
    }

    .thanks_t {
        font-size: 1.5rem;

        margin: 3vh;
    }

    #thanks .linkbtn {

        margin-top: 1rem;


    }

    /* notfound
  ------------------------------- */

    #notfound {
        margin-top: 12vh;
    }

    .notfound img {

        width: 100%;
    }

    .notfound_t {
        font-size: 1.5rem;

        margin: 3vh;
    }

    #notfound .linkbtn {

        margin-top: 1rem;


    }


    /* new toppage
    ------------------------------ */
    #top-inner section {
        margin: 40% 0;
    }
    #top-inner section#main-copy {
        margin-bottom: 70%;
    }
    #main-copy h2 {
        font-size: 1.6rem;
    }
    #main-copy p {
        width: 100%;
    }
    .top-movie-area {
        margin-top: 22%;
    }
    .top-news-wrap {
        flex-wrap: wrap;
    }
    #top-news .btn-more {
        text-align: center;
    }
    .top-news-inner li p:nth-child(2)::after {
        display: none;
    }
    #top-about .about-wrap {
        flex-direction: column;
    }
    .about-wrap .about-image img {
        width: 100%;
    }
    .about-wrap .about-inner {
        margin-top: 1rem;
    }
    .concept-wrap {
        position: relative;
    }
    .concept-wrap .concept-inner {
        width: 90%;
        position: absolute;
    }
    #top-concept h2 {
        color: white;
    }
    #top-concept p {
        margin: 2rem 0;
        background: rgba(255,255,255,0.6);
        padding: 1rem 1rem 1rem 0;
    }
    #top-concept .btn-more {
        padding-top: 60%;
        text-align: right;
    }
    #top-brands .ttl-section {
        width: 100%;
        margin: 0 auto;
    }
    .brands-box {
        display: flex;
        justify-content: space-around;
        flex-direction: column;
    }
    .brands-box .box-1 {
        height: 200px;
    }    
    .brands-box .box-2,
    .brands-box .box-3,
    .brands-box .box-4,
    .brands-box .box-5 {
        height: 100px;
    }
    .brands-box figure {
        margin-bottom: 5px;
    }
    #top-brands .btn-more {
        text-align: center;
        margin-top: 10%;
    }
    #top-faq .accordion {
        padding: 0;
    }
    .accordion-open::before, .accordion-open::after {
        top: 85%;
    }
    section#top-faq {
        margin-bottom: 20%;
    }
    #top-inner section.trial {
        margin: 0!important;
    }
    .top-footer ul {
        flex-direction: column;
        align-items: center;
    }
    .top-footer li {
        width: 100%;
        padding: 5% 0;
        text-align: left;
    }

}

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


    p {
        font-size: 14px !important;
    }

    .section-inner {
        width: 90%;

    }


    .strength02,
    .strength05 {

        height: 45vh;

    }

    .bg-slide {
        
        height: 40vh;

    }

    .shop-container li {

        width: 40%;

    }

    .shop-container {

        justify-content: flex-start;

    }


}





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

    .catch-inner h3 {
        padding: 0;
    }

    .scrolldown,
    .scrolldownBlk {
        bottom: 0;
    }
}

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

    .tab-news img {
        width: 30px;
    }

    .conceptlist-2 li ol li {
        line-height: 1.3;
    }

    .concept03-inner .concept03-l .concept03text {
        width: 82%;
        font-size: .9rem!important;
    }

    .concept03-l img {
        top: 110px;
    }

}