/**
 * #.# FACILITY_GUIDE
 *
 * 
 */

/*スクロール時*/
html {
    scroll-behavior: smooth;
    scroll-padding-top: 185px;
}
/*トップボタン*/
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2.5px #17C1B0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #17C1B0;
    border-right: 3px solid #17C1B0;
    transform: translateY(20%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
    .pagetop:hover, .pagetop:hover .pagetop__arrow {
        border-color: #fff;
        background: #17C1B0;
    }
}

/* タイトル サイズ調整 */
#facility_guide h2 {
    margin: 40px 0 !important;
    font-size: 26px !important;
}
#facility_guide .title-underline-blue {
    margin-bottom: 20px !important;
}
/* エリアカラー */
.bg-gym-color {
    background: #17C1B0;
}
.bg-personal-color {
    background: #05C3C3;
}
.bg-studio-color {
    background: #E07171;
}
.bg-golf-color {
    background: #339544;
}

/* ナビボタン */
.guide-nav-btn {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 50px;
    gap: 8px;
}
.guide-nav-btn li a{
	position: relative;
	display: inline-block;
	padding: 10px 0 10px 50px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    white-space: nowrap;
}
.guide-nav-btn li a::before{
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    top: calc(50% - 12px);
    left: 10px !important;
    border-radius: 50%;
    background: #17C1B0;
}
.guide-nav-btn li a::after {
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    left: 17px !important;
    border: 0;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg);
}
/*------施設ご利用方法------*/
.usage-method .title-underline-blue::after {
    width: 200px;
}
.usage-method-subtitile {
    padding-left:5px;
    padding-bottom: 10px;
}
.facility-usage-steps {
    margin-bottom:50px;
}
.facility-step-title {
    color: #17c1b0;
    font-size: 22px;
    font-weight: 700;
    border-top: 2px solid;
    border-bottom: 2px solid;
    padding: 10px;
    margin: 20px 0;
}
.facility-step-no {
    padding-right: 15px !important;
}
/*STEP1*/
.usage-instructions {
    display: grid;
    grid-template-columns: 40% auto;
    gap: 40px;
    padding: 10px 20px;
    align-items: center;
}
.facility-step-intro {
    font-size: 20px;
    font-weight: 700;
}
.facility-info {
    line-height: 1.5em;
    padding-top: 10px;
}
.check-in-step .button-blue {
    margin: 25px auto;
}
/*STEP2,STEP3*/
.area-intro {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin:20px auto;
}
.gym-facilities {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    font-weight: 600;
}
.button-personal {
    width: fit-content;
    height: fit-content;
    padding: 8px 35px;
    position: relative;
    display: block;
    background: #05C3C3;
    color: #FFF;
    border-right: 3px solid #008C8C;
    border-bottom: 3px solid #008C8C;
    border-radius: 30px;
    box-shadow: 3px 4px 5px rgba(144, 144, 144, .5);
}
.button-studio {
    width: fit-content;
    height: fit-content;
    padding: 8px 35px;
    position: relative;
    display: block;
    background: #E07171;
    color: #FFF;
    border-right: 3px solid #B96060;
    border-bottom: 3px solid #B96060;
    border-radius: 30px;
    box-shadow: 3px 4px 5px rgba(144, 144, 144, .5);
}
.button-golf {
    width: fit-content;
    height: fit-content;
    padding: 8px 35px;
    position: relative;
    display: block;
    background: #339544;
    color: #FFF;
    border-right: 3px solid #51895A;
    border-bottom: 3px solid #51895A;
    border-radius: 30px;
    box-shadow: 3px 4px 5px rgba(144, 144, 144, .5);
}
.erea-link {
    margin: 20px auto;
}
/*------エリア紹介------*/
.pc-none {
    display: none;
}
.usage-method {
    margin-top: 70px;
}
.usage-method .title-underline-blue::after {
    width: 130px;
}
.facility-note {
    font-size: 15px;
}
.packing-title {
    padding-left: 10px;
    font-size: 18px;
    font-weight: 600;
}
.packing-title.gym {
    border-left: 4px solid #17C1B0;
}
.packing-title.personal {
    border-left: 4px solid #05C3C3;
}
.packing-title.studio {
    border-left: 4px solid #E07171;
}
.packing-title.golf {
    border-left: 4px solid #339544;
}
.bg-yoga-color {
    background: #67b5b7;
}
.bg-pilates-color {
    background: #8d93c8;
}
.bg-boxing-color {
    background: #ea5550;
}
/*------ご利用ルール------*/
.area-guide {
    margin:100px auto;
}
.usage-rules {
    margin-top: 70px;
}
.facility-rules {
    display: flex;
    gap: 30px;
    padding: 30px 20px;
    flex-direction: row-reverse;
    border-bottom: 1px solid #e5e5e5;
}
.facility-rules div{
    flex: 1;
}
.guide-img img{
    width: 500px;
    margin-top: 40px;
}
.studio-img {
    margin-top: 40px;
}
.studio-img img{
    width: 500px;
    margin:10px 0px;
}
.schedule-info {
    margin-top: 70px;
}
.check-in-guide .facility-step-intro {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 600;
}
/*持ち物*/
.items-required{
    display: flex;
    gap: 8px;
    flex-direction: row;
    flex-wrap: wrap;
}
.items-required li {
    justify-content: center;
    font-size: 12px;
    line-height: 12px;
    text-align: center;
    display: flex;
    border-radius: 8px;
    width: 80px;
    height: 100%;
    aspect-ratio: 1;
    color: #fff;
    flex-direction: column;
    position: relative;
    align-items: center;
    padding: 5px;
}
.items-required img {
    width: 50px !important;
}
.items-list-heading {
    font-weight: 600;
    margin: 5px 0px;
    font-size: 14px;
}
.rental-items-free {
    font-weight: normal;
    padding-left: 10px;
    font-size: 14px;
}
.star-color {
    color: #FFCE2D;
}
.star-mark {
    color: #FFCE2D;
    font-size: 16px;
    position: absolute;
    top: 8px;
    left: 6px;
}
.bg-yoga-color {
    background: #67b5b7;
}
.bg-pilates-color {
    background: #8d93c8;
}
.bg-boxing-color {
    background: #ea5550;
}

/* ---------- ヘッダー変更時---------- */
@media screen and (max-width:1365px){
    /*スクロール時*/
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 70px;
    }
}

/* ---------- タブレット版---------- */
@media screen and (max-width:960px){
    /*ナビボタン*/
    .guide-nav-btn {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 50px;
        gap: 8px;
    }
    /*施設ご利用方法*/
    .check-in-step .button-blue {
        margin: 5px auto;
    }
    /*エリア紹介*/
    .facility-rules:nth-of-type(odd) {
        gap: 20px;
        padding: 30px 10px;
    }
    .facility-rules:nth-of-type(even) {
        gap: 20px;
        padding: 30px 10px;
    }
}

/* ---------- sp版---------- */
@media screen and (max-width:768px){
    .pagetop,
    .pagetop__arrow {
        display: none;
    }
    .title-underline-blue {
        font-size: 18px !important;
    }
    /*ナビボタン*/
    .guide-nav-btn {
        display: flex;
        margin-bottom: 10px;
        gap: 4px;
        flex-direction: column;
        margin-left: 10px;
    }
    .guide-nav-btn li a {
        padding: 5px 0 5px 35px;
        font-size: 16px;
    }
    .guide-nav-btn li a::before {
        content: "";
        width: 20px;
        height: 20px;
        position: absolute;
        top: calc(50% - 10px);
        left: 0px !important;
        border-radius: 50%;
        background: #17C1B0;
    }
    .guide-nav-btn li a::after {
        content: "";
        width: 6px;
        height: 6px;
        position: absolute;
        top: calc(50% - 3px);
        left: 6px !important;
        border: 0;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        transform: rotate(45deg);
    }
    /*施設ご利用方法*/
    .usage-method {
        margin-top: 50px;
    }
    .usage-method .title-underline-blue::after {
        width: 165px;
    }
    .facility-usage-steps {
        margin-bottom: 25px;
        margin-top: 30px;
    }
    .facility-step-title {
        font-size: 18px;
        margin: 10px 0;
    }
    .facility-step-intro {
        font-size: 16px;
        font-weight: 700;
    }
    .usage-instructions {
        display: flex;
        gap: 5px;
        padding: 20px 0px;
        flex-direction: column;
    }
    .check-in-step .button-blue {
        margin: 0px auto;
        position: relative;
    }
    .gym-facilities {
        gap: 10px;
    }
    .gym-facilities p {
        font-size: 16px;
    }
    .area-intro {
        display: flex;
        gap: 20px;
        margin: 20px auto;
        flex-direction: column;
    }
    /*エリア紹介*/
    .pc-none{
        display: block;
    }
    .sp-none {
        display: none;
    }
    .area-guide {
        margin-top: 70px;
    }
    .facility-info {
        margin: 10px 0px;
    }
    .check-in-guide .facility-step-intro {
        margin-top: 10px;
        margin-bottom: 0px;
        font-size: 16px; 
        font-weight: 700;
    }
    .items-required {
        display: grid;
        gap: 4px;
        grid-template-columns: repeat(4, 1fr);
        margin: 10px 0px;
    }
    .guide-img img{
        width: 100%;
        margin-top: 0px;
    }
    .studio-img {
        margin-top: 0px;
    }
    .studio-img img{
        width: 100%;
    }
    .items-required li {
        width: auto;
        font-size: 10px;
    }
    .items-required img {
        width: 70% !important;
    }
    .items-list-heading {
        margin: 10px 0 -5px 0px;
    }
    .facility-rules {
        display: flex !important;
        flex-direction: column !important;
    }
}

