@charset "UTF-8";
/* ---------------------------------------------------------
   BASE
--------------------------------------------------------- */
body {
    font-family: "Noto Sans JP", sans-serif;
    color: #111;
    background: #fff;
}
body.is-menu-open {
    overflow: hidden;
}

html {
  scroll-behavior: smooth;
}

section,
#hyrox,
#program  {
  scroll-margin-top: 120px;
}

/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */
.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: #fff;
}
.header__inner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 120px;
    padding-left: 40px;
}
/* ---------------------------------------------------------
   Logo
--------------------------------------------------------- */
.header__logo {
    flex-shrink: 0;
    width: 280px;
}
.header__logo a {
    display: block;
}
.header__logo img {
    display: block;
    width: 100%;
    height: auto;
}
/* ---------------------------------------------------------
   Navigation
--------------------------------------------------------- */
.header__nav {
    display: flex;
    align-items: center;
    margin-left: auto;
}
.header__nav-list {
    display: flex;
    align-items: center;
    gap: 40px;
}
.header__nav-list a {
    position: relative;
    display: block;
    padding: 10px 0;
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
    transition: opacity 0.3s ease;
}
.header__nav-list a:hover {
    opacity: 0.5;
}
/* ---------------------------------------------------------
   SNS
--------------------------------------------------------- */
#sns_btn {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 20px;
    margin-left: 50px;
}
#sns_btn a {
    display: block;
    width: 60px;
    height: 60px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: opacity 0.3s ease;
}
#sns_btn a:hover {
    opacity: 0.6;
}
.sns_1 {
    background-image: url("../images/sns_ins.png");
}
.sns_2 {
    background-image: url("../images/sns_line.png");
}
.global-menu__sns {
    display: none;
}
/* ---------------------------------------------------------
   Header Action
--------------------------------------------------------- */
.header__action {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    height: 100%;
    margin-left: 40px;
}
/*  ---------------------------------------------------------
   Reserve
--------------------------------------------------------- */
.header__reserve {
    display: flex;
    align-items: center;
    font-size: 24px;
    width: 240px;
    height: 72px;
    margin-right: 40px;
    color: #fff;
    background: url("../images/btn_arr.png") no-repeat #e60012;
    background-position: 160px center;
    transition: opacity 0.3s ease;
    border-radius: 5px;
}
.header__reserve span {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding-left: 40px;
}
.header__reserve:hover {
    opacity: 0.8;
}
/* ---------------------------------------------------------
   Menu Button
--------------------------------------------------------- */
.header__menu {
    position: relative;
    display: none;
    flex-shrink: 0;
    width: 100px;
    height: 100%;
    cursor: pointer;
    z-index: 1100;
}
.header__menu span {
    position: absolute;
    left: 50%;
    display: block;
    height: 6px;
    background: #111;
    transform: translateX(-50%);
    transition:
        top 0.3s ease,
        width 0.3s ease,
        transform 0.3s ease,
        opacity 0.3s ease;
}
.header__menu span:nth-child(1) {
    width: 30px;
    margin-left: 10px;
}
.header__menu span:nth-child(2) {
    width: 40px;
    margin-left: 5px;
}
.header__menu span:nth-child(3) {
    width: 50px;
}
/*  ---------------------------------------------------------
   Menu Open
--------------------------------------------------------- */
.header__menu.is-active span:nth-child(1) {
    top: 50%;
    width: 40px;
    transform: translate(-50%, -50%) rotate(45deg);
    margin-left: 0px;
}
.header__menu.is-active span:nth-child(2) {
    opacity: 0;
}
.header__menu.is-active span:nth-child(3) {
    top: 50%;
    width: 40px;
    transform: translate(-50%, -50%) rotate(-45deg);
}
/* ---------------------------------------------------------
   GLOBAL MENU
--------------------------------------------------------- */
.global-menu {
    position: fixed;
    top: 120px;
    left: 0;
    z-index: 900;
    width: 100%;
    background: rgba(219, 219, 219, 0.96);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}
.global-menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.global-menu__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 50px;
}
/* ---------------------------------------------------------
   Global Menu Navigation
--------------------------------------------------------- */
.global-menu__nav ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.global-menu__nav a {
    display: inline-block;
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-size: clamp(28px, 3vw, 48px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.04em;
    transition: opacity 0.3s ease;
}
.global-menu__nav a:hover {
    opacity: 0.5;
}
.global-menu__icon.menu-icon-about {
    background-image: url("../images/menu_01.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-hyrox {
    background-image: url("../images/menu_02.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-program {
    background-image: url("../images/menu_03.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-facility {
    background-image: url("../images/menu_04.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-price {
    background-image: url("../images/menu_05.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-access {
    background-image: url("../images/menu_06.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.global-menu__icon.menu-icon-information {
    background-image: url("../images/menu_07.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
/* ---------------------------------------------------------
   Global Menu Contact
--------------------------------------------------------- */
.global-menu__contact {
    margin-top: 40px;
    text-align: center;
}
.global-menu__reserve {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 70px;
    color: #fff;
    background: #e60012;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
}
/***メインイメージ***/
.hero__bg--01 {
    background-image: url("../images/top_1.png");
}
.hero__bg--02 {
    background-image: url("../images/top_2.png");
}
.hero__bg--03 {
    background-image: url("../images/top_3.png");
}
.hero__visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.hero__bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1);
    animation: heroVisual 18s infinite;
}
.hero__bg--01 {
    background-image: url("../images/top_1.png");
    animation-delay: 0s;
}
.hero__bg--02 {
    background-image: url("../images/top_2.png");
    animation-delay: 6s;
}
.hero__bg--03 {
    background-image: url("../images/top_3.png");
    animation-delay: 12s;
}

.hero__overlay_sp{
	display: none;
}

@keyframes heroVisual {
    0% {
        opacity: 0;
        transform: scale(1);
    }
    5% {
        opacity: 1;
    }
    30% {
        opacity: 1;
    }
    38% {
        opacity: 0;
        transform: scale(1.12);
    }
    100% {
        opacity: 0;
        transform: scale(1.12);
    }
}
.typewrite::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 1em;
    margin-left: 8px;
    background: #fff;
    vertical-align: -0.08em;
    animation: typingCursor 0.8s step-end infinite;
}
@keyframes typingCursor {
    0%,
    50% {
        opacity: 1;
    }
    51%,
    100% {
        opacity: 0;
    }
}
.hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.18);
}
.hero__contents {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 6%;
}
.hero__sub {
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
}
.hero__title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(68px, 5vw, 100px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.03em;
}
.hero__title-jp {
    display: inline-block;
    min-height: 1.25em;
}
.hero__lead {
    margin-top: 35px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
}
.hero__buttons {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 45px;
}
.hero__reserve,
.hero__line {
    display: flex;
    align-items: center;
    width: 280px;
    height: 70px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.08em;
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
    border-radius: 5px;
}
.hero__reserve {
    color: #fff;
    background: url(../images/btn_arr.png) no-repeat #e60012;
    background-position: 180px center;
    padding-left: 64px;
}
.hero__line {
    color: #fff;
    border: 2px #fff solid;
    background: url(../images/btn_line.png) no-repeat;
    background-position: 26px center;
    padding-left: 77px;
}
.hero__reserve:hover,
.hero__line:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}
.hero__title {
    line-height: 1.35;
}
.hero__title-jp {
    display: inline-block;
    min-height: 2.7em;
    white-space: pre-line;
}
.txt-red {
    color: #e60012;
}
.txt-blue {
    color: #2602FF;
}
.sp_only {
    display: none;
}
/* ---------------------------------------------------------
   SCROLL ANIMATION
--------------------------------------------------------- */
.fade-up {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    will-change: opacity, transform;
}
.fade-up.is-show {
    opacity: 1;
    transform: translateY(0);
}
/* ---------------------------------------------------------
   Delay
--------------------------------------------------------- */
.delay-1 {
    transition-delay: 0s;
}
.delay-2 {
    transition-delay: 0.15s;
}
.delay-3 {
    transition-delay: 0.3s;
}
.delay-4 {
    transition-delay: 0.45s;
}
/* ---------------------------------------------------------
   ABOUT
--------------------------------------------------------- */
.about {
    position: relative;
    width: 100%;
    background: #fff;
    overflow: hidden;
}
.about__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding: 90px 80px;
}
.about__contents {
    position: relative;
    z-index: 2;
    width: 57%;
    padding-left: 40px;
}
.about__title {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 28px;
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
}
.about__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: #000;
}
.about__catch {
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(42px, 3.5vw, 60px);
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: 0.03em;
}
.about__lead {
    margin-top: 30px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.06em;
}
.about__buttons {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
}
.about__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 60px;
    border: 1px solid #111;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.08em;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}
.about__button:hover {
    color: #fff;
    background: #111;
}
/* ---------------------------------------------------------
   Visual
--------------------------------------------------------- */
.about__visual {
    position: relative;
    z-index: 1;
    width: 44%;
}
.about__visual img {
    display: block;
    width: 100%;
    height: auto;
}
/* ---------------------------------------------------------
   HYROX / PROGRAM
--------------------------------------------------------- */
.hyrox-program {
    width: 100%;
}
.hyrox {
    position: relative;
    overflow: hidden;
    width: 100%;
    color: #fff;
    background:
        linear-gradient(rgba(0, 0, 0, 0.45),
            rgba(0, 0, 0, 0.65)),
        url("../images/hyrox_bg.png") no-repeat center center;
    background-size: cover;
}
.hyrox__inner {
    width: 100%;
    height: 100%;
    padding: 80px 60px;
}
.hyrox__heading {
    margin-bottom: 50px;
}
.hyrox__title {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
}
.hyrox__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: #fff;
}
.hyrox__catch {
    font-size: 46px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.03em;
}
.hyrox__contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}
.hyrox__text {
    width: 43%;
}
.hyrox__lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.04em;
}
.hyrox__game {
    width: 100%;
    margin-top: 30px;
}
.hyrox__game img {
    display: block;
    width: 100%;
    height: auto;
}
.hyrox__description {
    margin-top: 25px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
}
.hyrox__movie {
    width: 54%;
}
.hyrox__movie-inner {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.hyrox__movie-inner iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.hyrox__youtube {
    width: 180px;
    margin-top: 15px;
    margin-left: auto;
}
.hyrox__youtube img {
    display: block;
    width: 100%;
    height: auto;
}
/* ---------------------------------------------------------
   PROGRAM
--------------------------------------------------------- */
.program {
    position: relative;
    width: 100%;
    background: #f2f2f2;
}
.program__inner {
    width: 100%;
    height: 100%;
    padding: 80px 60px;
}
.program__heading {
    margin-bottom: 35px;
}
.program__title {
    display: flex;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
}
.program__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: #111;
}
.program__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.program__item {
    position: relative;
    width: 100%;
    height: 210px;
    overflow: hidden;
    background: #111;
}
.program__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.program__item:hover .program__image {
    transform: scale(1.04);
}
.program__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg,
            rgba(0, 0, 0, 0.75) 0%,
            rgba(0, 0, 0, 0.45) 45%,
            rgba(0, 0, 0, 0.05) 100%);
}
.program__contents {
    position: absolute;
    top: 50%;
    left: 30px;
    z-index: 2;
    color: #fff;
    transform: translateY(-50%);
}
.program__name {
    margin-top: 5px;
    font-family: "Oswald", sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.04em;
}
.program__lead {
    margin-top: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.04em;
}
/* ---------------------------------------------------------
   FACILITY
---------------------------------------------------------*/
.facility {
    width: 100%;
    overflow: hidden;
}
.facility__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 100px 80px;
    background: #fff url("../images/logo_tit2.png") no-repeat;
    background-position: right 100px top 100px;
}
.facility__heading {
    margin-bottom: 50px;
}
.facility__title {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
}
.facility__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: #111;
}
.facility__catch {
    font-size: 46px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.03em;
}
.facility__gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 320px 320px;
    gap: 15px;
}
.facility__gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.facility__photo:nth-child(1),
.facility__photo:nth-child(5) {
    grid-column: span 2;
}
.facility__photo {
    display: block;
    overflow: hidden;
    cursor: pointer;
}
.facility__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.facility__photo:hover img {
    transform: scale(1.04);
}
/* ---------------------------------------------------------
   MORE THAN GYM
--------------------------------------------------------- */
.more-gym {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
    background: #000;
    color: #fff;
}
.more-gym__visual,
.more-gym__visual img {
    display: block;
    width: 100%;
    height: 100%;
}
.more-gym__visual img {
    object-fit: cover;
}
.more-gym__contents {
    position: absolute;
    top: 60px;
    left: 8%;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 90%;
    transform: translateY(-50%);
}
.more-gym__title {
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    font-weight: 700;
}
.more-gym__catch {
    font-size: 52px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.03em;
    background: url("../images/ceo_catch.png") no-repeat;
    padding-top: 60px;
}
/* PRICE */
.price {
    width: 100%;
    overflow: hidden;
    background: #f7f7f7 url("../images/price01.png") center / cover no-repeat;
}
.price__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 100px 80px;
}
.price__heading {
    position: relative;
    margin-bottom: 40px;
}
.price__title {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}
.price__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: #111;
}
.price__catch {
    margin-bottom: 10px;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: .03em;
}
.price__lead {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}
.price__hyrox {
    display: grid;
    grid-template-columns: .9fr 1fr 1fr .8fr;
}
.price__hyrox-heading,
.price__plan,
.price__option {
    padding: 0 35px;
    border-left: 1px solid #999;
}
.price__hyrox-heading {
    padding-left: 0;
    border-left: 0;
}
.price__hyrox-heading h3,
.price__other-item h3 {
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .03em;
}
.price__hyrox-heading {
    position: relative;
    padding-left: 23px;
    border-left: 0;
}
.price__hyrox-heading::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 8px;
    background: linear-gradient(to bottom,
            #e60012 0%,
            #e60012 50%,
            #2412ff 50%,
            #2412ff 100%);
}
.price__hyrox-heading h3 {
    margin-bottom: 15px;
    padding-left: 0;
    border-left: 0;
    font-size: 62px;
}
.price__hyrox-heading p {
    padding-left: 5px;
    font-family: "Oswald", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .08em;
    color: #999;
}
.price__plan h4,
.price__option h4 {
    margin-bottom: 15px;
    padding: 7px 10px;
    background: #666;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}
.price__option h4 {
    background: #ddd;
    color: #000;
}
.price__plan:nth-child(3) h4 {
    background: #dceeff;
    color: #000;
}
.price__plan dl>div {
    padding: 12px 5px;
    border-bottom: 1px solid #aaa;
}
.price__plan dt,
.price__option dt,
.price__other-item dt {
    margin-bottom: 3px;
    font-size: 16px;
    font-weight: 500;
}
.price__plan dd {
    font-family: "Roboto", sans-serif;
    font-size: 34px;
    font-weight: 900;
    padding-top: 6px;
    line-height: 1.1;
}
.price__plan dd span {
    font-size: 24px;
}
.price dd small {
    font-size: 18px;
    font-weight: 700;
}
.price__option {
    padding-right: 0;
}
.price__option dl>div {
    padding: 9px 5px;
    border-bottom: 1px solid #aaa;
}
.price__option dd {
    font-family: "Roboto", sans-serif;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
    text-align: right;
    padding-top: 2px;
}
.price__option dd span {
    font-size: 20px;
}
.price__other {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    width: 100%;
    margin-top: 40px;
}
.price__other-item h3 {
    margin-bottom: 15px;
    font-family: "Oswald", sans-serif;
    font-size: 38px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .03em;
}
.price__other-item>div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0px;
}
.price__other-item dl {
    padding-left: 15px;
    border-left: 4px solid #efb5c5;
}
.price__other-item dl.blue {
    border-left: 4px solid #C7BEFF;
}
.price__other-item dt {
    margin-bottom: 3px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}
.price__other-item dd {
    font-family: "Roboto", sans-serif;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
}
.price__other-item dd span {
    font-size: 20px;
}
.price__other-item dd small {
    font-size: 16px;
    font-weight: 700;
}
/* ---------------------------------------------------------
   BOTTOM AREA
---------------------------------------------------------*/
.bottom-area {
    width: 100%;
    overflow: hidden;
    background: #000;
}
.bottom-area__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
        "access information instagram"
        "try    try         try";
    width: 100%;
}
.bottom-area__access,
.bottom-area__information,
.bottom-area__instagram,
.bottom-area__try {
    min-width: 0;
}
/* ---------------------------------------------------------
   ACCESS
---------------------------------------------------------*/
.bottom-area__access {
    grid-area: access;
}
.access {
    color: #fff;
    background: #050505;
}
.access__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32%;
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 50px 40px;
}
.access__contents {
    min-width: 0;
}
.access__title {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    font-family: "Oswald", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
}
.access__title::after {
    content: "";
    width: 160px;
    height: 1px;
    margin-left: 20px;
    background: rgba(255, 255, 255, .6);
}
.access__catch {
    font-size: 25px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: .03em;
}
.access__info {
    margin-top: 25px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
}
.access__station {
    margin-top: 18px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
}
.access__map {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 250px;
    height: 48px;
    margin-top: 25px;
    border: 1px solid rgba(255, 255, 255, .8);
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .04em;
    transition:
        color .3s ease,
        background .3s ease;
    padding-right: 46px;
    background: url(../images/btn_arr.png) no-repeat;
    background-position: 165px center;
}
.access__map:hover {
    color: #111;
    background: url(../images/btn_arr3.png) #fff no-repeat;
    background-position: 165px center;
}
.access__visual {
    min-width: 0;
}
.access__visual img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center center;
}
/* ---------------------------------------------------------
   INFORMATION
--------------------------------------------------------- */
.bottom-area__information {
    grid-area: information;
}
.information {
    background: #eee;
    color: #111;
}
.information__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 50px 40px 35px;
}
.information__title {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-bottom: 25px;
    font-family: "Oswald", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
}
.information__title::after {
    content: "";
    flex: 1;
    height: 1px;
    margin-left: 20px;
    background: #aaa;
}
/* ---------------------------------------------------------
   NEWS
--------------------------------------------------------- */
.information__news {
    flex-shrink: 0;
    height: 175px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 12px;
    scrollbar-width: thin;
    scrollbar-color: #888 transparent;
}
/* Chrome / Edge / Safari */
.information__news::-webkit-scrollbar {
    width: 5px;
}
.information__news::-webkit-scrollbar-track {
    background: transparent;
}
.information__news::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}
.information__news::-webkit-scrollbar-thumb:hover {
    background: #555;
}
.information__item {
    display: block;
    padding: 9px 5px;
    border-bottom: 1px solid #ccc;
}
.information__item:first-child {
    padding-top: 0;
}
.information__item time {
    display: block;
    margin-bottom: 3px;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    color: #777;
}
.information__item p {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}
/* INFORMATION SLIDER
--------------------------------------------------------- */
.information__slider {
    position: relative;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin-top: 20px;
    overflow: hidden;
}
.information__slider .swiper-wrapper {
    align-items: flex-start;
}
.information__slider .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: auto;
}
.information__slider .swiper-slide a {
    display: block;
    width: 100%;
}
.information__slider .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
}
/* Swiper Arrow
--------------------------------------------------------- */
.information__slider .swiper-button-prev,
.information__slider .swiper-button-next {
    width: 30px;
    height: 45px;
    margin-top: 0;
    color: #aaa;
    transform: translateY(-50%);
}
.information__slider .swiper-button-prev {
    left: 5px;
}
.information__slider .swiper-button-next {
    right: 5px;
}
.information__slider .swiper-button-prev::after,
.information__slider .swiper-button-next::after {
    font-size: 24px;
    font-weight: 700;
}
/* INSTAGRAM
--------------------------------------------------------- */
.bottom-area__instagram {
    grid-area: instagram;
}
.instagram {
    color: #fff;
    background: #050505;
}
.instagram__inner {
    height: 100%;
    padding: 50px 40px 35px;
}
.instagram__heading {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
}
.instagram__title {
    display: flex;
    align-items: center;
    flex: 1;
    font-family: "Oswald", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
}
.instagram__title::after {
    content: "";
    flex: 1;
    height: 1px;
    margin-left: 20px;
    background: rgba(255, 255, 255, .6);
}
.instagram__icon {
    flex-shrink: 0;
    width: 28px;
    height: auto;
    margin-left: 15px;
}
.instagram__widget {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
/* LightWidget iframe */
.instagram__widget iframe {
    display: block;
    width: 100% !important;
    max-width: 100%;
    border: 0;
}
/*LightWidget 設置前*/
.instagram__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 4;
    background: #222;
    color: #777;
    font-family: "Oswald", sans-serif;
    font-size: 16px;
    letter-spacing: .08em;
}
/* TRY 8GYM
--------------------------------------------------------- */
.bottom-area__try {
    grid-area: try;
}
.try-gym {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(rgba(0, 0, 0, .25),
            rgba(0, 0, 0, .25)),
        url("../images/footer.png") center top / cover no-repeat;
}
.try-gym__inner {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 260px;
    padding: 40px 7%;
}
.try-gym__contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.try-gym__title {
    font-family: "Oswald", sans-serif;
    font-size: clamp(54px, 4.5vw, 86px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
}
.try-gym__buttons {
    display: flex;
    align-items: center;
    gap: 20px;
}
.try-gym__reserve,
.try-gym__line {
    display: flex;
    align-items: center;
    height: 65px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .05em;
    transition: opacity .3s ease;
}
.try-gym__reserve {
    width: 230px;
    padding-left: 50px;
    background:
        url("../images/btn_arr.png") no-repeat #e60012;
    background-position: 137px center;
}
.try-gym__line {
    width: 240px;
    padding-left: 75px;
    border: 1px solid #fff;
    background:
        url("../images/btn_line.png") no-repeat;
    background-position: 20px center;
}
.try-gym__reserve:hover,
.try-gym__line:hover {
    opacity: .75;
}
/* COPYRIGHT
--------------------------------------------------------- */
.copyright {
    width: 100%;
    padding: 12px 20px;
    background: #fff;
    text-align: center;
}
.copyright p {
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
}


/* ---------------------------------------------------------
   WIDE PC
   1672px ~
--------------------------------------------------------- */
@media screen and (min-width: 1672px) {
    /* ACCESS
	----------------------------------------------------- */
    .access__inner {
        grid-template-columns: minmax(0, 1fr) 190px;
        gap: 30px;
        padding: 50px 40px;
    }
    .access__visual img {
        height: 240px;
    }
    /* INFORMATION
	----------------------------------------------------- */
    .information__inner {
        padding: 50px 40px 35px;
    }
    .information__slider {
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }
    /* INSTAGRAM
	----------------------------------------------------- */
    .instagram__placeholder,
    .instagram__widget {
        width: 100%;
        max-width: 460px;
        margin-left: auto;
        margin-right: auto;
    }
    .information__item p {
        font-size: 18px;
    }
}



/* ---------------------------------------------------------
   PC LARGE
   1441px ~
--------------------------------------------------------- */
@media screen and (min-width: 1441px) {
    .header__nav {
        display: flex;
    }
    #sns_btn {
        display: flex;
    }
    .header__menu {
        display: none;
    }
    .n1441 {
        display: none;
    }
    .hero {
        position: relative;
        width: 100%;
        margin-top: 120px;
        overflow: hidden;
        height: 890px;
        background: #000;
        color: #fff;
    }
    .hero__bg--01, .hero__bg--02, .hero__bg--03 {
        background-size: 1574px 886px;
        background-position: top right;
    }
    /* HYROX / PROGRAM
--------------------------------------------------------- */
    .hyrox-program {
        display: flex;
        align-items: stretch;
    }
    .hyrox,
    .program {
        width: 50%;
    }
    .hyrox__inner,
    .program__inner {
        min-height: 850px;
    }
    /* HYROX
--------------------------------------------------------- */
    .hyrox__inner {
        padding: 80px 60px;
    }
    .hyrox__contents {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
    .hyrox__heading {
        margin-bottom: 24px;
    }
    .hyrox__text {
        width: 100%;
    }
    .hyrox__movie {
        width: 80%;
        margin-left: 10%;
        margin-top: 30px;
    }
    .hyrox__catch span {
        font-size: 44px;
    }
    .hyrox__game {
        width: 90%;
        margin-top: 24px;
    }
    .hyrox__description {
        margin-top: 24px;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: 0.04em;
    }
    .n_pcmax {
        display: none;
    }
    /* PROGRAM
--------------------------------------------------------- */
    .program__inner {
        padding: 80px 60px;
    }
    .program__item {
        height: 250px;
    }
    .program__list {
        gap: 30px;
    }
    .program__lead {
        font-size: 18px;
    }
    .program__item:first-child .program__image {
        object-position: center top;
    }
    /* FACILITY
--------------------------------------------------------- */
    .facility__gallery {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 320px 320px;
    }
    .more-gym {
        position: relative;
        height: 440px;
    }
    .more-gym__contents {
        left: 6%;
        top: 80px;
    }
    .more-gym__title {
        font-size: 74px;
        line-height: 1.3;
    }
    .more-gym__catch {
        font-size: 22px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.03em;
        margin-left: auto;
        text-align: right;
        margin-top: 60px;
        background-size: 100%;
        padding-top: 120px;
    }
    .more-gym__catch span.small {
        font-size: 16px;
        font-weight: 500;
    }
    .more-gym__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: left center;
    }
}



/* ---------------------------------------------------------
   PC
   1025px ~ 1440px
--------------------------------------------------------- */
@media screen and (min-width: 1025px) and (max-width: 1440px) {
section,
#hyrox,
#program  {
  scroll-margin-top: 100px;
}
	
    .header__inner {
        height: 100px;
        padding-left: 40px;
    }
    .header__nav {
        display: none;
    }
    #sns_btn {
        display: flex;
        gap: 20px;
        margin-left: auto;
    }
    .header__action {
        margin-left: 25px;
    }
    .header__menu {
        display: block;
        width: 100px;
    }
    .header__menu span:nth-child(1) {
        top: 30px;
    }
    .header__menu span:nth-child(2) {
        top: 45px;
    }
    .header__menu span:nth-child(3) {
        top: 60px;
    }
    .global-menu {
        top: 100px;
    }
    .global-menu__inner {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 40px;
    }
    .global-menu__nav {
        width: 100%;
    }
    .global-menu__nav ul {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        width: 100%;
        max-width: 1040px;
        margin: 0 auto;
        gap: 20px;
    }
    .global-menu__nav li:nth-child(1) {
        grid-column: 1 / 3;
    }
    .global-menu__nav li:nth-child(2) {
        grid-column: 3 / 5;
    }
    .global-menu__nav li:nth-child(3) {
        grid-column: 5 / 7;
    }
    .global-menu__nav li:nth-child(4) {
        grid-column: 7 / 9;
    }
    .global-menu__nav li:nth-child(5) {
        grid-column: 2 / 4;
    }
    .global-menu__nav li:nth-child(6) {
        grid-column: 4 / 6;
    }
    .global-menu__nav li:nth-child(7) {
        grid-column: 6 / 8;
    }
    .global-menu__nav a {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        aspect-ratio: 1 / 1;
        color: #111;
        border: 1px solid #555;
        text-align: center;
        transition:
            background 0.3s ease,
            color 0.3s ease;
    }
    .global-menu__nav a:hover {
        color: #fff;
        background: #111;
    }
    .global-menu__icon {
        display: block;
        width: 90px;
        height: 90px;
        margin-bottom: 5px;
    }
    .global-menu__nav strong {
        display: block;
        font-family: "Oswald", sans-serif;
        font-size: 26px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0;
    }
    .global-menu__nav small {
        display: block;
        margin-top: 8px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.4;
    }
    .global-menu__arrow {
        position: relative;
        display: block;
        width: 24px;
        height: 24px;
        margin-top: 15px;
    }
    .global-menu__arrow::before,
    .global-menu__arrow::after {
        content: "";
        position: absolute;
        top: 8px;
        width: 16px;
        height: 4px;
        background: #fff;
    }
    .global-menu__arrow::before {
        left: 0;
        transform: rotate(45deg);
    }
    .global-menu__arrow::after {
        right: 0;
        transform: rotate(-45deg);
    }
    .hero {
        position: relative;
        width: 100%;
        margin-top: 120px;
        overflow: hidden;
        height: 760px;
        background: #000;
        color: #fff;
    }
    .hero__bg--01, .hero__bg--02, .hero__bg--03 {
        background-size: 1350px 760px;
        background-position: right -140px top;
    }
    .hero__title {
        font-size: 72px;
    }
    .hero__lead {
        margin-top: 28px;
        font-size: 22px;
    }
    .hero__buttons {
        margin-top: 35px;
    }
    /* ABOUT
	--------------------------------------------------------- */
    .about__inner {
        max-width: 1240px;
        padding: 70px 50px;
    }
    .about__contents {
        width: 54%;
        padding-left: 0;
    }
    .about__visual {
        width: 42%;
    }
    .about__title {
        margin-bottom: 20px;
        font-size: 24px;
    }
    .about__catch {
        font-size: 42px;
    }
    .about__lead {
        margin-top: 24px;
        font-size: 20px;
        line-height: 1.6;
    }
    .about__buttons {
        margin-top: 30px;
    }
    .about__button {
        width: 230px;
        height: 52px;
        font-size: 20px;
    }
    /* HYROX / PROGRAM
--------------------------------------------------------- */
    .hyrox-program {
        display: block;
    }
    /* HYROX
--------------------------------------------------------- */
    .hyrox__inner {
        padding: 80px 50px 90px;
    }
    .hyrox__title {
        font-size: 24px;
    }
    .hyrox__heading {
        margin-bottom: 20px;
    }
    .hyrox__catch {
        font-size: 42px;
    }
    .hyrox__catch span {
        font-size: 36px;
    }
    .hyrox__contents {
        gap: 50px;
    }
    .hyrox__text {
        width: 48%;
    }
    .hyrox__movie {
        width: 48%;
    }
    .hyrox__lead {
        font-size: 22px;
    }
    .hyrox__description {
        font-size: 18px;
    }
    .hyrox__youtube {
        width: 190px;
    }
    /* PROGRAM
--------------------------------------------------------- */
    .program__inner {
        padding: 80px 50px 90px;
    }
    .program__title {
        font-size: 24px;
    }
    .program__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .program__item {
        height: 300px;
    }
    .program__heading {
        margin-bottom: 20px;
    }
    .program__overlay {
        background:
            linear-gradient(0deg,
                rgba(0, 0, 0, 0.8) 0%,
                rgba(0, 0, 0, 0.3) 60%,
                rgba(0, 0, 0, 0) 100%);
    }
    .program__contents {
        top: auto;
        right: 25px;
        bottom: 25px;
        left: 25px;
        transform: none;
    }
    .program__name {
        font-size: 34px;
    }
    .program__name-jp {
        font-size: 18px;
    }
    .program__lead {
        font-size: 15px;
    }
    /* FACILITY
--------------------------------------------------------- */
    .facility__inner {
        padding: 80px 50px 90px;
        background-size: 140px;
        background-position: right 80px top 80px;
    }
    .facility__heading {
        margin-bottom: 35px;
    }
    .facility__title {
        font-size: 24px;
    }
    .facility__catch {
        font-size: 42px;
    }
    .facility__gallery {
        grid-template-rows: 280px 280px;
        gap: 12px;
    }
    /* MORE THAN GYM
--------------------------------------------------------- */
    .more-gym {
        position: relative;
        height: 440px;
    }
    .more-gym__contents {
        left: 6%;
        top: 80px;
    }
    .more-gym__title {
        font-size: 74px;
        line-height: 1.3;
    }
    .more-gym__catch {
        font-size: 22px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.03em;
        margin-left: auto;
        text-align: right;
        margin-top: 60px;
        background-size: 100%;
        padding-top: 120px;
    }
    .more-gym__catch span.small {
        font-size: 16px;
        font-weight: 500;
    }
    .more-gym__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 100% center;
    }
    /* PRICE */
    .price__inner {
        max-width: 1200px;
        padding: 80px 50px 90px;
    }
    .price__plan dt, .price__option dt, .price__other-item dt {
        font-size: 14px;
    }
    /* ACCESS */
    .bottom-area__grid {
        display: grid;
        grid-template-columns:
            minmax(0, 3fr) minmax(0, 1fr);
        grid-template-areas:
            "access      access"
            "information instagram"
            "try         try";
    }
    .access__inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 50px 50px 50px;
        grid-template-columns: minmax(0, 1fr) 26%;
    }
    .access__visual img {
        width: 90%;
        margin-left: 10%;
    }
    .access__catch {
        font-size: 42px;
        font-weight: 900;
        line-height: 1.4;
        letter-spacing: .03em;
        width: 64%;
        float: left;
    }
    .n_tb {
        display: none;
    }
    .access__info p {
        float: right;
    }
    /* INFORMATION
--------------------------------------------------------- */
    .information__inner {
        height: 100%;
        padding: 40px 40px 0;
    }
    .information__title {
        margin-bottom: 30px;
        font-size: 18px;
    }
    .information__body {
        display: grid;
        grid-template-columns:
            440px minmax(0, 440px);
        align-items: start;
        justify-content: space-between;
        gap: 25px;
    }
    /* NEWS */
    .information__news {
        width: 100%;
        height: 165px;
        max-height: 165px;
        padding-right: 8px;
        overflow-y: auto;
    }
    .information__item {
        padding: 6px 4px;
    }
    .information__item time {
        font-size: 15px;
    }
    .information__item p {
        font-size: 18px;
        line-height: 1.3;
    }
    /* BANNER */
    .information__slider {
        width: 100%;
        max-width: 420px;
        margin: 0;
    }
    .information__slider .swiper-slide img {
        display: block;
        width: 100%;
        height: auto;
    }
    .instagram__inner {
        height: 100%;
        padding: 30px 40px 30px;
    }
    .instagram__heading {
        margin-bottom: 10px;
    }
}


/* ---------------------------------------------------------
   TABLET
   769px ~ 1024px
--------------------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {
section,
#hyrox,
#program  {
  scroll-margin-top: 90px;
}
    .header__inner {
        height: 90px;
        padding-left: 30px;
    }
    .header__logo {
        width: 240px;
    }
    #sns_btn a {
        display: block;
        width: 54px;
        height: 54px;
    }
    .header__reserve {
        font-size: 20px;
        width: 200px;
        height: 64px;
        margin-right: 20px;
        background: url(../images/btn_arr2.png) no-repeat #e60012;
        background-position: 130px center;
    }
    .header__nav {
        display: none;
    }
    #sns_btn {
        display: flex;
        gap: 20px;
        margin-left: auto;
    }
    .header__action {
        margin-left: 25px;
    }
    .header__menu {
        display: block;
        width: 100px;
    }
    .header__menu span:nth-child(1) {
        top: 30px;
    }
    .header__menu span:nth-child(2) {
        top: 45px;
    }
    .header__menu span:nth-child(3) {
        top: 60px;
    }
    .global-menu {
        top: 90px;
    }
    .global-menu__inner {
        display: block;
        width: 100%;
        height: auto;
        min-height: 100%;
        padding: 30px 0 50px;
    }
    .global-menu__nav {
        width: 100%;
    }
    .global-menu__nav ul {
        display: block;
        width: 70%;
        max-width: 700px;
        margin: 0 auto;
    }
    .global-menu__nav li,
    .global-menu__nav li:nth-child(1),
    .global-menu__nav li:nth-child(2),
    .global-menu__nav li:nth-child(3),
    .global-menu__nav li:nth-child(4),
    .global-menu__nav li:nth-child(5),
    .global-menu__nav li:nth-child(6),
    .global-menu__nav li:nth-child(7) {
        grid-column: auto;
        margin: 0;
    }
    .global-menu__nav li {
        border-bottom: 1px dotted #777;
    }
    .global-menu__nav li:last-child {
        border-bottom: none;
    }
    .global-menu__nav a {
        position: relative;
        display: grid;
        grid-template-columns: 150px 1fr 60px;
        grid-template-rows: auto auto;
        align-items: center;
        width: 100%;
        padding: 15px 0;
        border: 0;
        aspect-ratio: auto;
        color: #111;
        text-align: left;
    }
    .global-menu__nav a:hover {
        color: #111;
        background: transparent;
        opacity: 0.6;
    }
    .global-menu__icon {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        width: 80px;
        height: 80px;
        margin: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .global-menu__nav strong {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        display: block;
        font-family: "Oswald", sans-serif;
        font-size: 38px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0;
    }
    .global-menu__nav li:nth-child(7) strong {
        font-size: 38px;
    }
    .global-menu__nav small {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        display: block;
        margin-top: 12px;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.3;
        color: #666;
    }
    .global-menu__arrow {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        position: relative;
        display: block;
        width: 36px;
        height: 24px;
        margin: 0;
    }
    .global-menu__arrow::before,
    .global-menu__arrow::after {
        content: "";
        position: absolute;
        top: 9px;
        width: 22px;
        height: 6px;
        background: #fff;
    }
    .global-menu__arrow::before {
        left: 0;
        transform: rotate(45deg);
    }
    .global-menu__arrow::after {
        right: 0;
        transform: rotate(-45deg);
    }
    .hero {
        position: relative;
        width: 100%;
        margin-top: 90px;
        overflow: hidden;
        height: 690px;
        background: #000;
        color: #fff;
    }
    .hero__bg--01, .hero__bg--02, .hero__bg--03 {
        background-size: 1226px 690px;
        background-position: right -100px top;
    }
	
    .hero__contents {
        justify-content: flex-end;
        padding:
            0 60px 70px;
    }
    .hero__sub {
        margin-bottom: 30px;
        font-size: 20px;
    }
    .hero__title {
        font-size: 60px;
    }
    .hero__lead {
        margin-top: 30px;
        font-size: 20px;
        line-height: 1.6;
    }
    .hero__buttons {
        margin-top: 30px;
    }
    .hero__reserve,
    .hero__line {
        width: 264px;
        height: 58px;
        font-size: 20px;
    }
    /* ABOUT
	--------------------------------------------------------- */
    .about__inner {
        padding: 60px 40px;
    }
    .about__contents {
        width: 59%;
        padding-left: 0;
    }
    .about__visual {
        width: 38%;
    }
    .about__title {
        margin-bottom: 18px;
        font-size: 18px;
    }
    .about__catch {
        font-size: 34px;
    }
    .about__lead {
        margin-top: 16px;
        font-size: 16px;
        line-height: 1.8;
    }
    .about__buttons {
        gap: 12px;
        margin-top: 20px;
    }
    .about__button {
        width: 192px;
        height: 48px;
        font-size: 16px;
    }
    /* HYROX / PROGRAM
--------------------------------------------------------- */
    .hyrox-program {
        display: block;
    }
    /* HYROX
--------------------------------------------------------- */
    .hyrox__inner {
        padding: 70px 40px 80px;
    }
    .hyrox__heading {
        margin-bottom: 20px;
    }
    .hyrox__title {
        margin-bottom: 18px;
        font-size: 18px;
    }
    .hyrox__catch {
        font-size: 34px;
    }
    .hyrox__catch span {
        font-size: 30px;
    }
    .hyrox__contents {
        gap: 35px;
    }
    .hyrox__text {
        width: 48%;
    }
    .hyrox__movie {
        width: 46%;
    }
    .hyrox__lead {
        font-size: 18px;
    }
    .hyrox__game {
        margin-top: 20px;
    }
    .hyrox__description {
        font-size: 14px;
    }
    .hyrox__youtube {
        width: 160px;
    }
    /* PROGRAM
--------------------------------------------------------- */
    .program__inner {
        padding: 70px 40px 80px;
    }
    .program__title {
        font-size: 18px;
    }
    .program__heading {
        margin-bottom: 20px;
    }
    .program__list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
    .program__item {
        height: 260px;
    }
    .program__overlay {
        background:
            linear-gradient(0deg,
                rgba(0, 0, 0, 0.8) 0%,
                rgba(0, 0, 0, 0.25) 65%,
                rgba(0, 0, 0, 0) 100%);
    }
    .program__contents {
        top: auto;
        right: 18px;
        bottom: 20px;
        left: 18px;
        transform: none;
    }
    .program__number {
        font-size: 14px;
    }
    .program__name {
        font-size: 28px;
    }
    .program__name-jp {
        font-size: 15px;
    }
    .program__lead {
        font-size: 13px;
    }
    /* FACILITY
--------------------------------------------------------- */
    .facility__inner {
        padding: 70px 40px 80px;
        background-size: 120px;
        background-position: right 70px top 70px;
    }
    .facility__heading {
        margin-bottom: 30px;
    }
    .facility__title {
        font-size: 18px;
    }
    .facility__catch {
        font-size: 34px;
    }
    .facility__gallery {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 260px 260px;
        gap: 10px;
    }
    .facility__photo:nth-child(1),
    .facility__photo:nth-child(5) {
        grid-column: auto;
    }
    /* MORE THAN GYM
--------------------------------------------------------- */
    .more-gym {
        position: relative;
        height: 360px;
    }
    .more-gym__contents {
        left: 6%;
        top: 80px;
    }
    .more-gym__title {
        font-size: 54px;
        line-height: 1.3;
    }
    .more-gym__catch {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.03em;
        margin-left: auto;
        text-align: right;
        margin-top: 60px;
        background-size: 100%;
        padding-top: 120px;
    }
    .more-gym__catch span.small {
        font-size: 14px;
        font-weight: 500;
    }
    .more-gym__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 120% center;
    }
    /* PRICE */
    .price {
        background: #f7f7f7 url(../images/price01.png) top right -100px / cover no-repeat;
    }
    .price__inner {
        max-width: 900px;
        padding: 70px 40px 80px;
    }
    .price__hyrox {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
    .price__hyrox-heading {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        gap: 30px;
        padding: 0 0 4px 24px;
        border-left: 0;
        margin-bottom: 30px;
    }
    .price__hyrox-heading h3 {
        margin-bottom: 0;
        font-size: 44px;
    }
    .price__catch {
        font-size: 34px;
    }
    .price__lead {
        font-size: 16px;
    }
    .price__catch {
        margin-bottom: 4px;
    }
    .price__heading {
        margin-bottom: 30px;
    }
    .price__hyrox-heading p {
        padding-left: 0;
        font-size: 11px;
    }
    .price__hyrox-heading::before {
        width: 8px;
    }
    .price__hyrox-heading h3 {
        font-size: 44px;
    }
    .price__hyrox-heading p {
        font-size: 14px;
        color: #999;
    }
    .price__plan,
    .price__option {
        padding: 0 25px;
    }
    .price__plan:nth-child(2) {
        padding-left: 0;
        border-left: 0;
    }
    .price__option {
        padding-right: 0;
    }
    .price__plan dd {
        font-size: 30px;
    }
    .price__plan dd span {
        font-size: 20px;
    }
    .price__option dd {
        font-size: 21px;
    }
    .price__option dd span {
        font-size: 18px;
    }
    .price__other {
        display: block;
        max-width: none;
        margin-top: 45px;
    }
    .price__other-item {
        margin-top: 35px;
    }
    .price__other-item:first-child {
        margin-top: 0;
    }
    .price__other-item h3 {
        margin-bottom: 15px;
        font-size: 30px;
    }
    .price__other-item>div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    .price__other-item dd {
        font-size: 23px;
    }
    .price__title {
        font-size: 18px;
    }
    /* BOTTOM AREA
	--------------------------------------------------------- */
    .bottom-area__grid {
        display: grid;
        grid-template-columns:
            36% 64%;
        grid-template-areas:
            "access      access"
            "information information"
            "instagram   try";
    }
    .bottom-area__access {
        grid-area: access;
    }
    .bottom-area__information {
        grid-area: information;
    }
    .bottom-area__instagram {
        grid-area: instagram;
    }
    .bottom-area__try {
        grid-area: try;
    }
    /* ACCESS
	--------------------------------------------------------- */
    .access__inner {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr) 30%;
        align-items: center;
        gap: 25px;
        padding: 40px 7%;
    }
    .access__contents {
        display: grid;
        grid-template-columns:
            minmax(230px, 1fr) 190px;
        grid-template-areas:
            "title info"
            "catch info"
            "map   info";
        align-items: start;
        column-gap: 25px;
    }
    .access__title {
        grid-area: title;
        margin-bottom: 10px;
        font-size: 18px;
    }
    .access__title::after {
        width: 100px;
        margin-left: 14px;
    }
    .access__catch {
        grid-area: catch;
        font-size: 30px;
        line-height: 1.35;
    }
    .access__info {
        grid-area: info;
        align-self: center;
        margin: 10px 0;
        font-size: 15px;
        line-height: 1.55;
    }
    .access__station {
        margin-top: 20px;
        font-size: 20px;
        line-height: 1.4;
        text-align: right;
    }
    .access__info p {
        float: right;
    }
    .access__map {
        grid-area: map;
        width: 265px;
        height: 48px;
        margin-top: 16px;
        font-size: 16px;
    }
    .access__visual {
        width: 100%;
    }
    .access__visual img {
        display: block;
        width: 100%;
        height: auto;
    }
    /* INFORMATION
	--------------------------------------------------------- */
    .information__inner {
        height: auto;
        padding: 40px 7%;
    }
    .information__title {
        margin-bottom: 12px;
        font-size: 18px;
    }
    .information__title::after {
        margin-left: 14px;
    }
    /* NEWS + BANNER */
    .information__body {
        display: grid;
        grid-template-columns:
            50% minmax(0, 1fr);
        align-items: start;
        gap: 20px;
    }
    /* NEWS */
    .information__news {
        width: 100%;
        height: 160px;
        max-height: 160px;
        padding-right: 7px;
        overflow-y: auto;
    }
    .information__item {
        padding: 4px 3px;
    }
    .information__item time {
        font-size: 14px;
    }
    .information__item p {
        font-size: 16px;
        line-height: 1.3;
    }
    /* BANNER */
    .information__slider {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }
    .information__slider .swiper-slide img {
        display: block;
        width: 100%;
        height: auto;
    }
    /* INSTAGRAM
	--------------------------------------------------------- */
    .instagram__inner {
        height: 100%;
        padding: 20px 25px;
    }
    .instagram__heading {
        margin-bottom: 12px;
    }
    .instagram__title {
        font-size: 18px;
    }
    .instagram__title::after {
        margin-left: 12px;
    }
    .instagram__icon {
        width: 20px;
        margin-left: 8px;
    }
    .instagram__widget {
        width: 100%;
        max-width: 190px;
        margin: 0 auto;
    }
    .instagram__placeholder {
        width: 100%;
        aspect-ratio: 1 / 1;
    }
    /* TRY 8GYM
	--------------------------------------------------------- */
    .try-gym__inner {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 25px 30px;
    }
    .try-gym__contents {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        gap: 18px;
    }
    .try-gym__title {
        font-size: 42px;
        line-height: 1;
    }
    .try-gym__buttons {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .try-gym__reserve,
    .try-gym__line {
        height: 48px;
        font-size: 16px;
    }
    .try-gym__reserve {
        width: 200px;
        background: url(../images/btn_arr2.png) no-repeat #e60012;
        background-position: 130px center;
    }
    .try-gym__line {
        width: 200px;
        padding-left: 56px;
        background: url(../images/btn_line.png) no-repeat;
        background-size: 33px;
        background-position: 15px center;
    }
    .try-gym {
        background: linear-gradient(rgba(0, 0, 0, .25), rgba(0, 0, 0, .25)), url(../images/footer.png) right -140px top / cover no-repeat;
    }
    /* COPYRIGHT
	--------------------------------------------------------- */
    .copyright {
        width: 100%;
        padding: 6px 15px;
    }
    .copyright p {
        font-size: 12px;
    }
}


/* ---------------------------------------------------------
   SP
   ~ 768px
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .header__inner {
        height: 120px;
        padding-left: 20px;
    }
    .header__logo {
        width: 310px;
    }
    .header__nav {
        display: none;
    }
    #sns_btn {
        display: none;
    }
    .header__action {
        margin-left: auto;
    }
    .header__reserve {
        width: 220px;
        height: 80px;
        margin-right: 0px;
        background: url(../images/btn_arr2.png) no-repeat #e60012;
        background-position: 160px center;
    }
    .header__reserve span {
        font-size: 28px;
        padding-left: 30px;
    }
    .header__menu {
        display: block;
        width: 120px;
    }
    .header__menu span:nth-child(1) {
        top: 42px;
    }
    .header__menu span:nth-child(2) {
        top: 57px;
    }
    .header__menu span:nth-child(3) {
        top: 72px;
    }
    .global-menu {
        top: 120px;
    }
    .global-menu__inner {
        display: block;
        width: 100%;
        padding: 20px 0;
    }
    .global-menu__nav {
        width: 100%;
    }
    .global-menu__nav ul {
        display: block;
        width: calc(100% - 60px);
        max-width: none;
        margin: 0 auto;
    }
    .global-menu__nav li,
    .global-menu__nav li:nth-child(1),
    .global-menu__nav li:nth-child(2),
    .global-menu__nav li:nth-child(3),
    .global-menu__nav li:nth-child(4),
    .global-menu__nav li:nth-child(5),
    .global-menu__nav li:nth-child(6),
    .global-menu__nav li:nth-child(7) {
        grid-column: auto;
        margin: 0;
    }
    .global-menu__nav li {
        border-bottom: 1px dotted #777;
    }
    .global-menu__nav li:last-child {
        border-bottom: none;
    }
    .global-menu__nav a {
        display: grid;
        grid-template-columns: 100px 1fr 45px;
        grid-template-rows: auto auto;
        align-items: center;
        width: 100%;
        min-height: 140px;
        padding: 12px 70px;
        border: 0;
        aspect-ratio: auto;
        color: #111;
        text-align: left;
    }
    .global-menu__nav a:hover {
        color: #111;
        background: transparent;
        opacity: 0.6;
    }
    .global-menu__icon {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        width: 96px;
        height: 96px;
        margin: 0;
    }
    .global-menu__nav strong {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        font-family: "Oswald", sans-serif;
        font-size: 42px;
        font-weight: 600;
        padding-left: 30px;
        line-height: 1;
    }
    .global-menu__nav small {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin-top: 8px;
        color: #666;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.3;
        padding-left: 30px;
    }
    .global-menu__arrow {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        width: 30px;
        height: 20px;
        margin: 0;
    }
    .global-menu__arrow::before,
    .global-menu__arrow::after {
        top: 7px;
        width: 18px;
        height: 5px;
        background: #fff;
    }
    .global-menu__sns {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 25px;
        width: 100%;
        margin-top: 20px;
        padding: 22px 20px;
        background: #222;
    }
    .global-menu__sns a {
        display: block;
        width: 84px;
        height: 84px;
    }
    .global-menu__sns img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .global-menu__arrow {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        justify-self: center;
        position: relative;
        display: block;
        width: 36px;
        height: 24px;
        margin: 0;
    }
    .global-menu__arrow::before,
    .global-menu__arrow::after {
        content: "";
        position: absolute;
        top: 9px;
        width: 22px;
        height: 6px;
        background: #fff;
    }
    .global-menu__arrow::before {
        left: 0;
        transform: rotate(45deg);
    }
    .global-menu__arrow::after {
        right: 0;
        transform: rotate(-45deg);
    }
    .sp_only {
        display: block;
    }
    .hero {
        position: relative;
        width: 100%;
        margin-top: 120px;
        overflow: hidden;
        height: 1280px;
        background: #000;
        color: #fff;
    }
    .hero__bg--01 {
        background-size: 1839px 1035px;
        background-position: top right -300px;
    }
	.hero__bg--02 {
        background-size: 1839px 1035px;
        background-position: top center;
    }
	.hero__bg--03 {
        background-size: 1839px 1035px;
        background-position: top right -360px;
    }
		.hero__overlay_sp{
	display: block;
		position: absolute;
		width: 100%;
		height: 94%;
		background: #333;
		left: 0px;
		top: 0px;
			background: url(../images/sp_top_bg.png) repeat-x bottom;
}
	
    .hero__contents {
        justify-content: flex-end;
        padding: 0 30px 70px;
    }
    .hero__sub {
        margin-bottom: 400px;
        font-size: 30px;
        line-height: 1.4;
    }
    .hero__title {
        font-size: 74px;
        line-height: 1.35;
    }
    .hero__lead {
        margin-top: 35px;
        font-size: 28px;
        line-height: 1.6;
    }
    .hero__buttons {
        gap: 20px;
        margin-top: 45px;
    }
    .hero__reserve,
    .hero__line {
        width: 340px;
        height: 80px;
        font-size: 28px;
    }
    .hero__reserve {
        background-position: 220px center;
        padding-left: 84px;
    }
    .hero__line {
        background-position: 26px center;
        padding-left: 84px;
    }
    /* ABOUT
	--------------------------------------------------------- */
    .about__inner {
        display: block;
        width: 100%;
        max-width: none;
        padding: 70px 50px 80px;
    }
    .about__contents {
        width: 100%;
        padding: 0;
    }
    .about__title {
        margin-bottom: 25px;
        font-size: 28px;
    }
    .about__catch {
        font-size: 50px;
        line-height: 1.4;
    }
    .about__lead {
        margin-top: 30px;
        font-size: 30px;
        line-height: 1.6;
        letter-spacing: 0.04em;
    }
    .about__br-pc {
        display: none;
    }
    .about__buttons {
        gap: 20px;
        margin-top: 40px;
    }
    .about__button {
        width: 340px;
        height: 80px;
        font-size: 28px;
    }
    .about__visual {
        width: 100%;
        margin-top: 55px;
    }
    .about__visual img {
        width: 100%;
        height: auto;
    }
    /* HYROX / PROGRAM
--------------------------------------------------------- */
    .hyrox-program {
        display: block;
    }
    /* HYROX
--------------------------------------------------------- */
    .hyrox__inner {
        padding: 80px 50px 90px;
    }
    .hyrox__heading {
        margin-bottom: 20px;
    }
    .hyrox__title {
        margin-bottom: 25px;
        font-size: 28px;
    }
    .hyrox__title::after {
        width: 160px;
    }
    .hyrox__catch {
        font-size: 50px;
        line-height: 1.4;
    }
    .hyrox__contents {
        display: block;
    }
    .hyrox__text {
        width: 100%;
    }
    .hyrox__lead {
        font-size: 30px;
        line-height: 1.6;
    }
    .hyrox__game {
        width: 100%;
        margin-top: 35px;
    }
    .hyrox__description {
        margin-top: 30px;
        font-size: 26px;
        line-height: 1.7;
    }
    .hyrox__movie {
        width: 100%;
        margin-top: 50px;
    }
    .hyrox__youtube {
        width: 230px;
        margin-top: 20px;
    }
    /* PROGRAM
--------------------------------------------------------- */
    .program__inner {
        padding: 80px 50px 100px;
    }
    .program__heading {
        margin-bottom: 45px;
    }
    .program__title {
        font-size: 28px;
    }
    .program__title::after {
        width: 160px;
    }
    .program__list {
        display: block;
    }
    .program__item {
        width: 100%;
        height: 340px;
        margin-bottom: 30px;
    }
    .program__item:last-child {
        margin-bottom: 0;
    }
    .program__overlay {
        background:
            linear-gradient(90deg,
                rgba(0, 0, 0, 0.85) 0%,
                rgba(0, 0, 0, 0.25) 65%,
                rgba(0, 0, 0, 0) 100%);
    }
    .program__contents {
        top: 35px;
        right: 35px;
        left: 35px;
        transform: none;
    }
    .program__name {
        font-size: 54px;
    }
    .program__lead {
        margin-top: 34px;
        font-size: 28px;
        line-height: 1.6;
    }
    .program__lead span {
        margin-top: 20px;
        font-size: 24px;
    }
    /* FACILITY
--------------------------------------------------------- */
    .facility__inner {
        padding: 80px 50px 100px;
        background-size: 100px;
        background-position: right 30px top 40px;
    }
    .facility__heading {
        margin-bottom: 45px;
    }
    .facility__title {
        margin-bottom: 25px;
        font-size: 28px;
    }
    .facility__catch {
        font-size: 50px;
        line-height: 1.4;
    }
    .facility__gallery {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 320px 320px 320px;
        gap: 12px;
    }
    .facility__photo:nth-child(1),
    .facility__photo:nth-child(5) {
        grid-column: auto;
    }
    /* MORE THAN GYM
--------------------------------------------------------- */
    .more-gym {
        height: 767px;
        position: relative;
    }
    .more-gym__visual img {
        object-position: center;
    }
    .more-gym__contents {
        top: 60px;
        right: 50px;
        left: 50px;
        transform: none;
    }
    .more-gym__title {
        font-size: 92px;
        line-height: 1.2;
    }
    .more-gym__catch {
        font-size: 30px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.03em;
        background: url("../images/ceo_catch_sp.png") no-repeat;
        padding-top: 74px;
        position: absolute;
        bottom: -280px;
        right: 10px;
    }
    .more-gym__catch span.small {
        font-size: 24px;
        font-weight: 500;
    }
    .n_sp {
        display: none;
    }
    /* PRICE */
    .price {
        background: #f7f7f7 url(../images/price01.png) top right -300px / cover no-repeat;
    }
    .price__inner {
        max-width: none;
        padding: 70px 50px 80px;
    }
    .price__heading {
        margin-bottom: 30px;
    }
    .price__catch {
        margin-bottom: 20px;
        font-size: 50px;
    }
    .price__lead {
        font-size: 28px;
    }
    .price__hyrox {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .price__hyrox-heading {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        gap: 30px;
        margin-bottom: 30px;
        padding: 0 0 4px 24px;
        border-left: 0;
    }
    .price__hyrox-heading::before {
        width: 8px;
    }
    .price__hyrox-heading h3 {
        margin-bottom: 0;
        font-size: 60px;
    }
    .price__hyrox-heading p {
        padding-left: 0;
        font-size: 22px;
        color: #999;
    }
    .price__plan h4, .price__option h4 {
        font-size: 28px;
    }
    .price__plan dt, .price__option dt, .price__other-item dt {
        font-size: 24px;
    }
    .price__plan,
    .price__option {
        padding: 0 25px;
    }
    .price__plan:nth-child(2) {
        padding-left: 0;
        border-left: 0;
    }
    .price__plan:nth-child(3) {
        padding-right: 0;
    }
    .price__plan dd {
        font-size: 44px;
    }
    .price__plan dd span {
        font-size: 30px;
        margin: 0 10px;
    }
    .price dd small {
        font-size: 24px;
        margin-left: 4px;
    }
    .price__option {
        grid-column: 1 / -1;
        margin-top: 30px;
        padding: 0;
        border-left: 0;
    }
    .price__option dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 30px;
    }
    .price__option dd {
        font-size: 34px;
        padding-top: 10px;
    }
    .price__option dd span {
        font-size: 28px;
        margin: 0 8px;
    }
    .price__other {
        display: block;
        max-width: none;
        margin-top: 45px;
    }
    .price__other-item {
        margin-top: 35px;
    }
    .price__other-item:first-child {
        margin-top: 0;
    }
    .price__other-item h3 {
        margin-bottom: 15px;
        font-size: 46px;
    }
    .price__other-item>div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    .price__other-item dd {
        font-size: 34px;
    }
    .price__other-item dd span {
        font-size: 28px;
        margin: 0 8px;
    }
    .price__other-item dt span {
        font-size: 22px;
    }
    .bottom-area__grid {
        display: block;
    }
    .price__title {
        font-size: 28px;
    }
    /* BOTTOM AREA
--------------------------------------------------------- */
    .bottom-area__grid {
        display: block;
    }
    /* ACCESS
--------------------------------------------------------- */
    .access__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 34%;
        align-items: center;
        gap: 35px;
        padding: 50px 40px;
    }
    .access__contents {
        display: block;
        width: 100%;
        min-width: 0;
    }
    .access__visual {
        width: 100%;
        margin-top: 0;
    }
    .access__visual img {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
    }
    .access__title {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .access__title::after {
        width: 160px;
        margin-left: 20px;
    }
    .access__catch {
        width: 100%;
        float: none;
        margin: 0;
        font-size: 38px;
        line-height: 1.4;
    }
    .access__info {
        margin-top: 20px;
        font-size: 24px;
        line-height: 1.5;
    }
    .access__info p {
        float: none;
    }
    .access__station {
        margin-top: 20px;
        font-size: 28px;
        line-height: 1.5;
        text-align: left;
    }
    .n_tb {
        display: none;
    }
    .access__map {
        width: 330px;
        max-width: 330px;
        height: 70px;
        margin-top: 25px;
        font-size: 24px;
        background-position: 220px center;
    }
    .access__visual {
        width: 100%;
        margin-top: 35px;
    }
    .access__visual img {
        display: block;
        width: 100%;
        height: 360px;
        object-fit: cover;
        object-position: center center;
        margin: 0;
    }
    /* INFORMATION
--------------------------------------------------------- */
    .information__inner {
        height: auto;
        padding: 45px 40px;
    }
    .information__title {
        margin-bottom: 34px;
        font-size: 28px;
    }
    .information__body {
        display: block;
    }
    .information__news {
        width: 100%;
        height: 300px;
        max-height: 300px;
        padding-right: 10px;
    }
    .information__item {
        padding: 10px 6px;
    }
    .information__item time {
        font-size: 24px;
    }
    .information__item p {
        font-size: 30px;
        line-height: 1.4;
    }
    .information__slider {
        width: 90%;
        max-width: none;
        margin-top: 30px;
    }
    .information__slider .swiper-slide img {
        display: block;
        width: 100%;
        height: auto;
    }
    /* INSTAGRAM
--------------------------------------------------------- */
    .instagram__inner {
        height: auto;
        padding: 45px 40px;
    }
    .instagram__heading {
        margin-bottom: 25px;
    }
    .instagram__title {
        font-size: 28px;
    }
    .instagram__icon {
        width: 34px;
        margin-left: 20px;
    }
    .instagram__widget {
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .instagram__placeholder {
        width: 90%;
        margin: 0 auto;
        aspect-ratio: 1 / 1;
    }
    /* TRY 8GYM
--------------------------------------------------------- */
    .try-gym {
        background:
            linear-gradient(rgba(0, 0, 0, .25),
                rgba(0, 0, 0, .25)),
            url("../images/footer.png") center center / cover no-repeat;
    }
    .try-gym__inner {
        display: flex;
        min-height: 0;
        align-items: center;
        padding: 75px 40px;
    }
    .try-gym__contents {
        display: block;
        padding-left: 70px;
    }
    .try-gym__title {
        font-size: 68px;
        line-height: 1;
    }
    .try-gym__buttons {
        display: flex;
        margin-top: 35px;
        gap: 15px;
    }
    .try-gym__reserve,
    .try-gym__line {
        height: 70px;
        font-size: 24px;
    }
    .try-gym__reserve {
        width: 240px;
        padding-left: 45px;
        background: url(../images/btn_arr2.png) no-repeat #e60012;
        background-position: 160px center;
    }
    .try-gym__line {
        width: 280px;
        padding-left: 70px;
    }
    /* COPYRIGHT
--------------------------------------------------------- */
    .copyright {
        width: 100%;
        padding: 10px 20px;
    }
    .copyright p {
        font-size: 22px;
    }
}