@charset "utf-8";

/* style.css
 * **************************************************
 * Body
 * Header
 * Global Navigation
 * Common Elements
 * Content
 * Footer
 * Media Queries
 * **************************************************
 */

/* Body
-------------------------------------------------- */

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Font：基本サイズ（16 * 0.625 = 10px） */
html {
    font-size: 62.5%;
}

body {
    color: #001e50;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic,
        "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
        "メイリオ", sans-serif;
    font-feature-settings: "palt";
    font-size: 15px;
    font-size: 1.5em;
    overflow-x: hidden;
}

@media only screen and (max-width: 1280px) {
    body {
        font-size: 1.17vw;
    }
}

.inner {
    margin: 0 auto;
    padding: 0;
    position: relative;
}

/* Header
-------------------------------------------------- */

#header .inner {
    padding: 1.09% 2.03% 1.01%;
    width: 1280px;
}

@media only screen and (max-width: 1280px) {
    #header .inner {
        width: 100%;
    }
}

/* logo */
#header .logo {
    width: 8.43%;
}

/* Common Elements
-------------------------------------------------- */

/* img */
img {
    vertical-align: bottom;
    max-width: 100%;
}

/* link */
a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

a:hover {
    color: inherit;
    text-decoration: none;
}

/* columns */
.columns {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* hadeline */
h2,
h3,
h4 {
    margin: 0 auto;
}

/* paragraph */
p {
    letter-spacing: 0.2em;
    line-height: 2.2;
}

br.sp {
    display: none;
}

p.notes {
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    line-height: 1.8;
    text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    p.notes {
        font-size: 0.93vw;
    }
}

/* entry */
#content .entry {
    text-align: center;
}

#content .entry#sticky {
    background: url(../images/bg_entry_01.jpg) no-repeat center;
    background-size: cover;
    padding: 40px 0 28px;
}

#content .entry#sticky {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100%);
    transition: transform 0.3s;
    width: min(100vw, 1280px);
    z-index: 5;
}

#content .entry.fixed#sticky {
    transform: translate(-50%, 0);
}

#content .entry p {
    color: #ffffff;
    font-size: 1.8rem;
    letter-spacing: 0.38em;
    line-height: 1.6;
}

#content .entry#sticky p {
    color: inherit;
}

#content .entry ul {
    display: flex;
    gap: 0 25px;
    justify-content: center;
    list-style: none;
    font-size: 0;
    margin: 1.95% 0 0 0;
}

#content .entry#sticky ul {
    margin-top: 1.01%;
}

#content .entry ul li {
    display: inline-block;
    width: 20.93%;
}

#content .entry ul li a {
    border: 1px solid #001e50;
    border-radius: 0.55em;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.28em;
    padding: 0.61em 0;
    text-align: center;
}

_:-ms-input-placeholder,
:root #content .entry ul li a {
    padding: 0.91em 0 0.61em;
}

#content .entry ul li.store a {
    background-color: #ccffb8;
    color: #001e50;
}

#content .entry ul li.home a {
    background-color: #001e50;
    color: #ccffb8;
}

#content .entry ul li.online a {
    background-color: #001e50;
    border-color: #ccffb8;
    color: #ccffb8;
}

#content .entry#sticky ul li.store a {
    background-color: #001e50;
    color: #ffffff;
}

#content .entry#sticky ul li.online a {
    background: transparent;
    border-color: #001e50;
    color: #001e50;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content .entry p,
    #content .entry ul li a {
        font-size: 1.4vw;
    }
}

/* bg */
#content .bgBlue {
    background: -webkit-linear-gradient(left, #001e32, #001e50, #001e32);
    background: linear-gradient(to right, #001e32, #001e50, #001e32);
}

/* tab */
#content .tabs {
    list-style: none;
    margin: 0 auto;
}

#content .tabs li {
    background-color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 0.54em;
    color: #001e50;
    cursor: pointer;
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    opacity: 0.5;
    padding: 0.9em 0;
    text-align: center;
    width: 47%;
}

_:-ms-input-placeholder,
:root #content .tabs li {
    padding: 1.1em 0 0.7em;
}

#content .tabs li.select {
    background-color: #001e50;
    border-color: #001e50;
    color: #ffffff;
    opacity: 1;
}

#content .bgBlue .tabs li.select {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #001e50;
}

#content .tabContent {
    display: none;
}

#content .tabContent.show {
    display: block;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content .tabs li {
        font-size: 1.71vw;
    }
}

/* Content
-------------------------------------------------- */

main {
    background-color: #ffffff;
    display: block;
}

/* content */
#content {
    background-color: #cddcdc;
    margin: 0 auto;
    padding: 0;
    width: 1280px;
}

@media only screen and (max-width: 1280px) {
    #content {
        width: 100%;
    }
}

/* mv */
#content #mv {
    background-color: #ffffff;
    padding: 0 0 4.68%;
    position: relative;
}

#content #mv h1 {
    margin: 0 auto 4.68%;
    width: 68.75%;
}

.titleSp {
    display: none;
}

.no-overflow {
    height: 100%;
    overflow: hidden;
}

.videoModal[screen-mode] {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 100;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.75);
    transition: border-radius 0.25s, width 0.5s, height 0.5s, top 0.5s,
        left 0.5s;
    transition-delay: 0.25s, 0s, 0s, 0s, 0s;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .videoModal {
        transition: none;
    }
}

.videoModal.is-active {
    position: fixed;
}

.videoModal:not([screen-mode="settings"]) > .settings,
.videoModal:not([screen-mode="player"]) > .player {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.videoModal:not([screen-mode="thumbnail"]) .thumbnail {
    opacity: 0;
    pointer-events: none;
}

.videoModal:not([screen-mode="thumbnail"]) .thumbnail::after {
    opacity: 0;
}

.videoModal[screen-mode="thumbnail"] {
    width: 15.23%;
    height: 28.23%;
    top: 66.95%;
    left: 75.87%;
    border-radius: 50%;
    z-index: 2;
}

.videoModal .thumbnailWrap {
    height: 100%;
    padding: 0 10px;
    position: relative;
    width: 100%;
}

.videoModal .thumbnail {
    cursor: pointer;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
}

.videoModal .thumbnail video {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.video-close {
    cursor: pointer;
    position: absolute;
    top: 69.86%;
    left: 87.87%;
    width: 25px;
    z-index: 3;
}

.videoModal:not([screen-mode="thumbnail"]) + .video-close {
    display: none;
}

.videoModal [close-modal] {
    position: absolute;
    top: 22px;
    right: 17px;
    width: 54px;
    height: 54px;
    background: url(../images/icon-close.svg) no-repeat center;
    background-size: 34px 34px;
}

.videoModal .player {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: 0.5s opacity;
}

.videoModal .player .video-container {
    width: 80%;
}

.loop {
    align-items: center;
    display: flex;
    gap: 0 40px;
    overflow: hidden;
}

.loop ul {
    animation: loop-slide 30s infinite linear 1s both;
    display: flex;
    gap: 0 40px;
    list-style: none;
}

.loop ul li {
    height: 450px;
}

.loop ul li img {
    height: 100%;
    max-width: initial;
    width: auto;
}

@keyframes loop-slide {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    .loop ul li {
        height: 35.15vw;
    }
}

/* intro */
#content #intro {
    margin-top: -0.1%;
}

#content .introHead {
    padding: 11.71% 0 15.625%;
}

#content .introHead p {
    color: #ffffff;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.54em;
    line-height: 1.75;
    margin: 0.4em 0 0 0;
    text-align: center;
}

#content .introHead p:has(img) {
    margin: 0 auto;
    width: 32.03%;
}

#content .introContent {
    background: #ffffff;
    padding: 6.56% 0;
}

#content .introContent p {
    font-size: 1.7rem;
    letter-spacing: 0.28em;
    line-height: 1.8;
    text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content .introHead p {
        font-size: 1.56vw;
    }

    #content .introContent p {
        font-size: 1.32vw;
    }
}

/* about */
#content .about {
    padding-bottom: 13.28%;
}

#content .aboutHead {
    -webkit-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
    position: relative;
    margin-top: -0.3%;
}

#content .aboutHead p {
    position: absolute;
    top: 245px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 29.53%;
}

#content .aboutContent {
    padding: 6.25% 0 4.68%;
}

#content .aboutContent p {
    font-size: 1.7rem;
    letter-spacing: 0.28em;
    line-height: 1.8;
    text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content .aboutHead p {
        top: 49.19%;
    }

    #content .aboutContent p {
        font-size: 1.32vw;
    }
}

/* training */
#content .training {
    padding-bottom: 13.28%;
}

#content .trainingHead {
    position: relative;
    margin-top: -0.3%;
}

#content .trainingHead p {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 38.75%;
}

#content .trainingContent .inner {
    padding: 7.62% 0 0;
    width: 728px;
    width: 56.87%;
}

#content .trainingContent h2 {
    width: 75.82%;
}

/* training / menu */
#content #menu .trainingHead p {
    top: 56.59%;
}

#content #menu .trainingContent .trainingMenu {
    margin: 8.92% -276px 0;
    width: 1280px;
}

#content #menu .trainingContent .pagination {
    background-color: #001e50;
    border-radius: 1em;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 1.36%;
    justify-content: center;
    margin: 0 auto;
    padding: 5px 0.93%;
    width: 660px;
    width: 51.56%;
}

#content #menu .trainingContent .swiper-pagination-menu span {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 0.36em;
    cursor: pointer;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    padding: 0.31em 1.05em;
    text-align: center;
}

_:-ms-input-placeholder,
:root #content #menu .trainingContent .swiper-pagination-menu span {
    padding: 0.66em 0 0.2em;
}

#content #menu .trainingContent .swiper-pagination-menu-active span {
    background-color: rgba(255, 255, 255, 1);
}

#content #menu .trainingContent .swiper-pagination-01 {
    margin-top: 4.68%;
}

#content
    #menu
    .trainingContent
    .swiper-pagination-01
    .swiper-pagination-menu:nth-child(1)
    span::after {
    content: "身体機能改善";
}

#content
    #menu
    .trainingContent
    .swiper-pagination-01
    .swiper-pagination-menu:nth-child(2)
    span::after {
    content: "ボディメイク";
}

#content
    #menu
    .trainingContent
    .swiper-pagination-01
    .swiper-pagination-menu:nth-child(3)
    span::after {
    content: "シェイプアップ/ダイエット";
}

#content
    #menu
    .trainingContent
    .swiper-pagination-01
    .swiper-pagination-menu:nth-child(4)
    span::after {
    content: "スポーツパフォーマンス向上";
}

#content
    #menu
    .trainingContent
    .swiper-pagination-01
    .swiper-pagination-menu:nth-child(5)
    span::after {
    content: "健康維持向上";
}

.swiper-button-next,
.swiper-button-prev {
    background-size: 15px 30px;
    height: 30px;
    margin-top: -48px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
}

.swiper-button-next {
    background-image: url(../images/arrow_slide_next.svg);
    left: calc(50% + 185px);
}

.swiper-button-prev {
    background-image: url(../images/arrow_slide_prev.svg);
    left: calc(50% - 200px);
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content #menu .trainingContent .trainingMenu {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        width: 100vw;
    }

    .swiper-button-next,
    .swiper-button-prev {
        background-size: 1.171vw 2.343vw;
        height: 2.343vw;
        margin-top: -3.75vw;
        width: 1.171vw;
    }

    .swiper-button-next {
        background-image: url(../images/arrow_slide_next.svg);
        left: calc(50% + 14.45vw);
    }

    .swiper-button-prev {
        background-image: url(../images/arrow_slide_prev.svg);
        left: calc(50% - 15.625vw);
    }

    #content #menu .trainingContent .swiper-pagination-menu span {
        font-size: 1.25vw;
    }
}

/* training / fee */
#content #fee .trainingContent h2 {
    width: 82%;
}

#content #fee .trainingHead p {
    top: 43.37%;
}

#content #fee .trainingContent .tabs {
    margin-top: 8.79%;
}

#content #fee .trainingContent .trainingFee {
    margin: 9.06% 0 0 0;
}

#content #fee .trainingContent .trainingFee h3 {
    margin-bottom: -8px;
    width: 60.98%;
}

#content #fee .trainingContent .trainingFee ul {
    border: 1px solid #ffffff;
    border-radius: 1.66em;
    list-style: none;
    padding: 3.57% 7.55% 0;
}

#content #fee .trainingContent .trainingFee ul li {
    padding: 4.87% 0;
}

#content #fee .trainingContent .trainingFee ul li + li {
    border-top: 3px solid #ffffff;
}

#content #fee .trainingContent p.notes {
    color: #ffffff;
    margin: 5.49% 0 0 0;
    text-align: center;
}

/* training / feature */
#content #feature .trainingHead {
    -webkit-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.trainingHead {
    -webkit-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 14px 14px 0 rgba(0, 0, 0, 0.2);
    z-index: 1;
}

#content #feature .trainingHead p {
    top: 48.19%;
}

#content #feature .inner {
    background-color: #cddcdc;
    border-bottom-left-radius: 1.33em;
    border-bottom-right-radius: 1.33em;
    padding-left: 7.1%;
    padding-right: 7.1%;
    padding-bottom: 7.03%;
}

#content #feature .trainingContent h2 {
    width: 100%;
}

#content #feature .trainingContent h2 + p {
    margin-top: 5.67%;
}

#content #feature #personalMethod {
    margin-top: 12.82%;
    position: relative;
}

#content #feature #personalMethod dl {
    margin: 13.55% 0 0 49.81%;
}

#content #feature #personalMethod dl dt {
    width: 98.16%;
}

#content #feature #personalMethod dl dd {
    margin: 12.82% 0 0 0;
    width: 100%;
}

#content #feature #personalMethod .image {
    position: absolute;
    top: 105px;
    left: -48%;
    width: 95.6%;
}

#content #feature #personalMethod .image + p {
    margin-top: 24.97%;
}

#content #feature #personalMethod .image + p img {
    display: block;
    margin: 0 0 0 -1.33em;
    width: 6.26em;
}

#content #feature #personalMethod p.more {
    margin-top: 6.04%;
    width: 93.04%;
}

#content #feature #performance {
    margin-top: 14.65%;
}

#content #feature #performance p {
    margin-top: 11.72%;
    width: 65.56%;
}

#content #feature #performance ul {
    list-style: none;
    margin: 9.15% 0 0 0;
    position: relative;
}

#content #feature #performance ul::before {
    background: url(../images/img_training_feature_03.png) no-repeat center top;
    background-size: 100%;
    content: "";
    display: block;
    height: 162px;
    position: absolute;
    top: -86px;
    right: 13.86%;
    width: 21.03%;
}

#content #feature #performance ul::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}

#content #feature #performance ul li {
    float: left;
}

#content #feature #performance ul li:nth-child(even) {
    float: right;
}

#content #feature #performance ul li + li {
    margin-top: 6.95%;
}

#content #feature #performance ul li:first-child {
    width: 54.39%;
}

#content #feature #performance ul li:nth-child(2) {
    width: 51.46%;
}

#content #feature #performance ul li:nth-child(3) {
    width: 65.93%;
}

#content #feature #performance ul li:nth-child(4) {
    width: 78.57%;
}

#content #feature #performance ul li:nth-child(5) {
    width: 75.64%;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content #feature #personalMethod .image {
        top: 8.2vw;
    }

    #content #feature #performance ul::before {
        height: 12.89vw;
        top: -6.75vw;
    }
}

/* details */
#content #details {
    padding: 0 0 8.59%;
}

#content #details .detailsContent {
    background-color: #ffffff;
    border: 1px solid #001e50;
    border-top: none;
    border-bottom-left-radius: 1.33em;
    border-bottom-right-radius: 1.33em;
    margin: 0 auto;
    padding: 7.81% 1.56% 6.25%;
    width: 720px;
    width: 56.25%;
}

#content #details .detail > div {
    padding: 0 6.17%;
}

#content #details .detail > .image {
    border-radius: 1em;
    margin: 4.69% 0 0 0;
    overflow: hidden;
    padding: 0;
}

#content #details .detail .attraction {
    padding: 0;
}

#content #details .detail .attraction h2 {
    width: 47.78%;
}

#content #details .detail .attraction div {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 4.42% 0 0 0;
}

#content #details .detail .attraction div:nth-of-type(2) {
    margin-top: -9%;
}

#content #details .detail .attraction div:nth-of-type(3) {
    margin-top: -3.71%;
}

#content #details .detail .attraction .columns img {
    width: 37.64%;
}

#content #details .detail .attraction p {
    margin: 0 0 0 5.03%;
}

#content #details .detail .attraction div:nth-of-type(2) p {
    margin-left: 7.55%;
}

#content #details .detail .qa {
    margin: 13.27% 0 0 0;
}

#content #details .detail .qa .bg {
    background-color: #001e50;
    border-radius: 1.33em;
    padding: 14.26% 8.38% 4.19%;
}

#content #details .detail .qa h2 {
    width: 63.3%;
}

#content #details .detail .qa dl {
    font-size: 1.8rem;
    letter-spacing: 0.22em;
    line-height: 1.6;
    padding: 14.11% 0;
    white-space: nowrap;
}

#content #details .detail .qa dl + dl {
    background: url(../images/img_detail_qa_03.png) no-repeat center top;
    background-size: 100%;
    padding-top: 16.93%;
}

#content #details .detail .qa dl dt,
#content #details .detail .qa dl dd {
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 8.26%;
    padding: 1% 0 0 10.48%;
}

#content #details .detail .qa dl dt {
    background-image: url(../images/img_detail_qa_01.png);
    color: #ffffff;
    min-height: 68px;
}

#content #details .detail .qa dl dd {
    background-image: url(../images/img_detail_qa_02.png);
    color: #ccffb8;
    font-weight: bold;
    margin: 7.05% 0 0 0;
}

#content #details .detail .qa dl dd .notes {
    color: #ffffff;
    display: block;
    font-size: 1.3rem;
    font-weight: normal;
    letter-spacing: 0;
    margin: 1.3em 0 0 1em;
    text-indent: -1em;
}

#content #details .detail .qa dl dd .notes + .notes {
    margin-top: 0;
}

#content #details .detail .qa dl dd .image {
    margin: 7.05% 0 0 -10.48%;
    width: 110.08%;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
    #content #details .detail .qa dl {
        font-size: 1.4vw;
    }

    #content #details .detail .qa dl dt {
        min-height: 5.31vw;
    }

    #content #details .detail .qa dl dd .notes {
        font-size: 1.01vw;
    }
}

/* others */
#content #details .others {
    margin: 10.93% auto 0;
    width: 716px;
    width: 55.93%;
}

#content #details .others h2 {
    width: 88.68%;
}

#content #details .others p.notes {
    margin-top: 2.09%;
}

#content #details .others .tabs {
    margin-top: 9.77%;
}

#content #details .others .item {
    margin: 6.28% 0 0 0;
}

#content #details .others .item + .item {
    margin-top: 4.18%;
}

#content #details .others .item + p.notes {
    margin-top: 4.18%;
}

/* bottom */
#content #bottom {
    padding: 0 0 3.51%;
}

#content #bottom .entry {
    padding: 5.07% 0 3.28%;
}

#content #bottom > img {
    display: block;
    margin: 0 auto;
    width: 32.1%;
}

/* pageTop */
#pageTop {
    background: #37bdff;
    border-radius: 50%;
    height: 50px;
    opacity: 0.7;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    z-index: 99;
}

#pageTop a {
    display: block;
    position: relative;
    height: 50px;
    width: 50px;
}

#pageTop a::before {
    color: #fff;
    content: "\f106";
    font-family: FontAwesome;
    font-size: 25px;
    position: absolute;
    top: 46%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* Footer
-------------------------------------------------- */

#footer {
    background-color: #ffffff;
}

#footer .inner {
    padding: 3.9% 0;
    width: 1280px;
}

#footer ul {
    font-size: 0;
    list-style: none;
    text-align: center;
}

#footer ul li {
    display: inline-block;
    margin: 0 3.04%;
    width: 15.93%;
}

@media only screen and (max-width: 1280px) {
    #footer .inner {
        width: 100%;
    }
}

/* Media Queries
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
    /* Body
	-------------------------------------------------- */

    body {
        font-size: 10px;
        font-size: 2.66vw;
        min-width: 320px;
    }

    .inner {
        width: auto;
    }

    /* Header
	-------------------------------------------------- */

    #header .inner {
        padding: 7px 9px;
    }

    /* logo */
    #header .logo {
        width: 44px;
    }

    /* Common Elements
	-------------------------------------------------- */

    /* paragraph */
    p {
        letter-spacing: 0.1em;
        line-height: 2;
    }

    br.pc {
        display: none;
    }

    br.sp {
        display: block;
    }

    p.notes {
        font-size: 2.66vw;
    }

    /* entry */
    #content .entry#sticky {
        padding: 5.33% 0;
    }

    #content .entry p {
        font-size: 3.22vw;
        letter-spacing: 0.2em;
        line-height: 1.8;
    }

    #content .entry ul {
        gap: 0 8px;
        margin-top: 3.73%;
    }

    #content .entry#sticky ul {
        margin-top: 3.73%;
    }

    #content .entry ul li {
        width: 42.66%;
    }

    #content .entry ul li a {
        border-radius: 0.38em;
        font-size: 3.2vw;
        letter-spacing: 0.05em;
        padding: 0.69em 0;
    }

    /* tab */
    #content .tabs li {
        border-width: 1px;
        font-size: 2.93vw;
        width: 48%;
    }

    /* Content
	-------------------------------------------------- */

    /* mv */
    #content #mv {
        padding-bottom: 9.06%;
    }

    #content #mv h1 {
        margin-bottom: 5.33%;
        width: 66.66%;
    }

    .titleSp {
        display: block;
        margin: 6.66% auto 0;
        width: 88%;
    }

    .videoModal[screen-mode="thumbnail"] {
        width: 27.66vw;
        height: 27.66vw;
        top: 45.65%;
        left: 68.5%;
    }

    .video-close {
        top: 47.82%;
        left: 90.87%;
        width: 5vw;
    }

    .loop,
    .loop ul {
        gap: 0 30px;
    }

    .loop ul li {
        height: 61.33vw;
    }

    /* intro */
    #content #intro {
        margin-top: -0.3%;
    }

    #content .introHead {
        padding: 21.33% 0;
    }

    #content .introHead p {
        font-size: 2.66vw;
        margin: 5.33% 0 0 0;
    }

    #content .introHead p:has(img) {
        width: 73.06%;
    }

    #content .introContent {
        padding: 9.33% 0;
    }

    #content .introContent p {
        font-size: 2.66vw;
        letter-spacing: 0.05em;
        line-height: 1.9;
    }

    /* about */
    #content .aboutHead {
        -webkit-box-shadow: 0 7px 7px 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 7px 7px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 7px 7px 0 rgba(0, 0, 0, 0.2);
    }

    #content .aboutHead p {
        top: 24vw;
        width: 43.73%;
    }

    #content .aboutContent {
        padding: 13.33% 0;
    }

    #content .aboutContent p {
        font-size: 2.66vw;
        letter-spacing: 0.05em;
        line-height: 1.9;
    }

    /* training */
    #content .training {
        padding-bottom: 13.33%;
    }

    #content .trainingHead p {
        width: 39.73%;
    }

    #content .trainingContent .inner {
        padding-top: 9.6%;
        width: 90.66%;
    }

    #content .trainingContent h2 {
        width: 90%;
    }

    /* training / menu */
    #content #menu .trainingHead p {
        top: 39.41%;
    }

    #content #menu .trainingContent .trainingMenu {
        margin: 6.47% calc(50% - 50vw) 0;
        width: 100vw;
    }

    #content #menu .trainingContent .trainingMenu dl {
        margin-top: 3.46%;
    }

    #content #menu .trainingContent .trainingMenu dl dt {
        width: 35%;
    }

    #content #menu .trainingContent .trainingMenu dl dd {
        margin-top: 1.6%;
    }

    #content #menu .trainingContent .pagination {
        border-radius: 0.8em;
        gap: 3px 4px;
        padding: 4px 7px;
        width: 88%;
    }

    #content #menu .trainingContent .swiper-pagination-menu span {
        border-radius: 0.4em;
        font-size: 2.66vw;
        letter-spacing: 0;
        padding: 0.3em 1em 0.15em;
    }

    #content #menu .trainingContent .swiper-pagination-01 {
        margin-top: 9.41%;
    }

    .swiper-button-next,
    .swiper-button-prev {
        margin-top: -4vw;
    }

    .swiper-button-next {
        left: 86%;
    }

    .swiper-button-prev {
        left: 10%;
    }

    /* training / fee */
    #content #fee .trainingContent h2 {
        width: 87.64%;
    }

    #content #fee .trainingHead p {
        top: 43.24%;
    }

    #content #fee .trainingContent .tabs {
        margin-top: 6%;
    }

    #content #fee .trainingContent .trainingFee {
        margin-top: 8.82%;
    }

    #content #fee .trainingContent .trainingFee ul {
        padding-left: 7.05%;
        padding-right: 7.05%;
    }

    #content #fee .trainingContent .trainingFee ul li {
        padding: 7.58% 0;
    }

    #content #fee .trainingContent .trainingFee ul li + li {
        border-top-width: 2px;
    }

    #content #fee .trainingContent .trainingFee p {
        margin-top: 5%;
    }

    #content #fee .trainingContent p.notes {
        letter-spacing: 0;
    }

    /* training / feature */
    #content #feature .trainingHead {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }

    .trainingHead {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }

    #content #feature .trainingHead p {
        top: 39.18%;
    }

    #content #feature .inner {
        padding-left: 4.8%;
        padding-right: 4.8%;
        padding-bottom: 7.73%;
    }

    #content #feature .trainingContent p {
        margin-left: 7.89%;
    }

    #content #feature .trainingContent h2 + p {
        margin-top: 5.92%;
    }

    #content #feature #personalMethod {
        margin-top: 13.15%;
    }

    #content #feature #personalMethod dl {
        margin: 12.82% 0 0 37.5%;
    }

    #content #feature #personalMethod dl dt {
        margin-left: 4.73%;
        width: 93.68%;
    }

    #content #feature #personalMethod dl dd {
        margin-top: 8.94%;
    }

    #content #feature #personalMethod .image {
        top: 9.86vw;
        left: -9.6vw;
        width: 94.13vw;
    }

    #content #feature #personalMethod .image + p {
        margin-top: 46.69%;
    }

    #content #feature #personalMethod .image + p img {
        width: 8em;
    }

    #content #feature #personalMethod p.more {
        margin-top: 8.22%;
        width: 83.55%;
    }

    #content #feature #performance {
        margin-top: 11.84%;
    }

    #content #feature #performance p {
        margin-top: 11.18%;
        width: 70.06%;
    }

    #content #feature #performance ul {
        margin-top: 8.88%;
    }

    #content #feature #performance ul::before {
        height: 25.86vw;
        top: -12.73vw;
        right: 7.33vw;
        width: 16.55vw;
    }

    #content #feature #performance ul li + li {
        margin-top: 5.26%;
    }

    #content #feature #performance ul li:first-child {
        width: 63.48%;
    }

    #content #feature #performance ul li:nth-child(2) {
        width: 60.19%;
    }

    #content #feature #performance ul li:nth-child(3) {
        width: 76.97%;
    }

    #content #feature #performance ul li:nth-child(4) {
        width: 91.77%;
    }

    #content #feature #performance ul li:nth-child(5) {
        width: 88.15%;
    }

    /* details */
    #content #details {
        padding-bottom: 6.66%;
    }

    #content #details .detailsContent {
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        padding: 8% 2.13% 13.23%;
        width: 340px;
        width: 90.66%;
    }

    #content #details .detail > div {
        padding: 0 1.47%;
    }

    #content #details .detail > .image {
        border-radius: 8px;
        margin-top: 4.32%;
    }

    #content #details .detail .attraction h2 {
        width: 59%;
    }

    #content #details .detail .attraction div {
        display: block;
        margin: 2.16% -2.46% 0;
        position: relative;
    }

    #content #details .detail .attraction div:nth-of-type(2) {
        margin-top: -9.25%;
    }

    #content #details .detail .attraction div:nth-of-type(3) {
        margin-top: -7.4%;
    }

    #content #details .detail .attraction .columns img {
        width: 47%;
    }

    #content #details .detail .attraction div:nth-of-type(2) img {
        margin-left: 53%;
    }

    #content #details .detail .attraction p {
        letter-spacing: 0;
        margin: 0;
        position: absolute;
        top: 50%;
        left: 47%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: 1;
    }

    #content #details .detail .attraction div:nth-of-type(2) p {
        left: 0;
    }

    #content #details .detail .qa {
        margin-top: 12.42%;
    }

    #content #details .detail .qa .bg {
        border-radius: 10px;
        padding: 14.01% 9.55% 0;
    }

    #content #details .detail .qa h2 {
        width: 65.74%;
    }

    #content #details .detail .qa dl {
        font-size: 2.66vw;
        letter-spacing: 0.1em;
        padding: 14.56% 0;
        white-space: normal;
    }

    #content #details .detail .qa dl + dl {
        padding-top: 16.53%;
    }

    #content #details .detail .qa dl br {
        display: none;
    }

    #content #details .detail .qa dl dt,
    #content #details .detail .qa dl dd {
        background-size: 20px;
        padding: 1px 0 0 27px;
    }

    #content #details .detail .qa dl dt {
        min-height: 37px;
    }

    #content #details .detail .qa dl dd {
        margin-top: 19px;
    }

    #content #details .detail .qa dl dd .notes {
        font-size: 2.66vw;
        margin-top: 10px;
        -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
        transform: scale(0.8);
        transform-origin: left center;
        width: 120%;
    }

    #content #details .detail .qa dl dd .image {
        margin: 6.29% 0 0 -17%;
        width: 125%;
    }

    #content #details .detail p.strongth {
        margin-top: 15.43%;
        width: 94.13%;
    }

    #content #details .detail p.strongth + p.notes {
        margin-top: 8.64%;
    }

    /* others */
    #content #details .others {
        margin-top: 13.33%;
        width: 90.66%;
    }

    #content #details .others h2 {
        width: 88.82%;
    }

    #content #details .others p.notes {
        margin-top: 3.23%;
    }

    #content #details .others .item {
        margin-top: 8.52%;
    }

    #content #details .others .item + .item {
        margin-top: 5.29%;
    }

    #content #details .others .item + p.notes {
        margin-top: 3.82%;
        text-align: left;
    }

    /* bottom */
    #content #bottom {
        padding: 0 0 9.33%;
    }

    #content #bottom .entry {
        padding: 10.93% 0 16%;
    }

    #content #bottom > img {
        width: 60.26%;
    }

    /* pageTop */
    #pageTop {
        display: none !important;
        height: 44px;
        bottom: 2%;
        right: 2.5%;
        width: 44px;
    }

    #pageTop a {
        height: 44px;
        width: 44px;
    }

    /* Footer
	-------------------------------------------------- */

    #footer .inner {
        padding: 5.33% 0;
    }

    #footer ul li {
        margin: 0 10px;
        width: 26.66%;
    }
}
