@charset "UTF-8";
/*
黄#ffbb00
青#375e97
赤#fb6542
緑#2f681c
紫#C041FB
*/

/*----共通部分----*/
html{
    font-size: 100%;
}
body{
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.7;
    color: #375e97;
    margin:  0%;
    padding :0%;
}
a{
    text-decoration: none;
    color: #375e97;
}
a:hover{
    color: #888;
}
img{
    max-width: 100%;
    margin: auto;
}
ul{
    list-style-position: inside;
}

/*見出し*/
.font-bold {
  font-family: "Rampart One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.page-title,
.blog-page-title,
.heading-large {
    font-size: 3rem;
    text-align: center;
}
    .page-title {
        margin: 4rem 0;
        line-height: 1.4;
        font-size: 3.5rem;
    } 
    .gallery-page-title{
        margin: 1rem;
        padding: 1rem;
        line-height: 1.2;
        font-size: 3.5rem;
        color: #375e97;
        border-radius: 16px;
    }   

.heading-small{
    font-size: 2rem;
    text-align: center;
    line-height: 1;
    margin-bottom: 2rem;
    margin-top: 0;
    padding-top: 0;
}

.about{
    max-width: 736px;
    padding: 0 1.5rem;
    margin: 3rem auto 0;

}
.about p{
    margin-bottom: 3rem;
}
.subheading-large{
    color: #fb6542;
    padding: 1rem;  
    margin-top: 5%;    
}

.white-back{
    background-color: rgba(255, 255, 255, 0.5);
}
.black-back{
    background-color: rgba(100, 100, 100, 0.2);
}

/*レイアウト*/
.wrapper{
    max-width: 1500px;
    margin:auto;
    padding: 0 1.5rem;
}
.align-center{
    text-align: center;
}




/*ヘッダー*/
.cover{
    background-size: cover;
    background-position: center;
    height: 640px;
}
.cover-home{
    background-image: url(../../images/gym.webp);
}
.sub-cover{
    background-size: cover;
    background-position: center bottom;
    height: auto;
}
.sub-cover-home{
    background-image: url(../images/sky.jpg.webp);
    padding: 0 1.5rem;
}
.page-header{
    padding-top: .5rem;
    padding-bottom: .5rem;
}
.logo{
    width: 210px;
}
.main-nav{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .5rem;
    font-size: 1rem;
    list-style: none;
}
.main-nav a{
    color: #375e97;
}
.main-nav a:hover{
    color: #7faaec;
}

#membership{
    background-color: #ffbb00;
    
}
#membership_id{
    color: #fff;
}
#membership:hover{
    background-color: #c7991c;
}



/*ボタン*/
.btn{
    display: inline-block;
    font-size: 1.5rem;
    background-color: #2f681c;
    padding: .75rem 1.5rem;
    color: #ffbb00;
    transition: .5s;
}
.btn:hover{
    background-color: #65b64a;
    scale: 1.2;
}

form .btn{
    font-size: 1rem;
    padding: .5rem 1rem;
} 

/*---サービス---*/
.precautions{
    font-size: 12px;
    color: black;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    width: 70%;
    margin: auto;
    
}
.precautions p{
    padding-bottom: .5rem;
    
    text-align: left;
    justify-content: flex-start;
}
.grid{
    margin: 0 2em 1rem 2rem;
    display: grid;
    gap: 2rem 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
}
.item img{
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 16px;
}
.item{
    display: flex;
    flex-direction: column;
    border-radius: 16px;
}

.item-big{
    grid-column: 1/3;
    grid-row: 1/3;
}
.item-big img{
    width: 100%;
    height: 100%;
}
.item:hover{ 
    background-color: #eee;
	opacity:0.5;
	transition:0.3s;
}

.limtted-hedding{
    color: #375e97;
    background-color: #eee;
    border-radius: 8px;
    font-size: .5rem;
    padding: .25rem .5rem;
}
.width-big-item{
    grid-column: 1/3;
    grid-row: 10/11;
    border-radius: 16px;
}

.medical-check{
    display: flex;
    background-color: #7faaec;
    padding: .5rem;
}
.medical-check:hover{
    background-color: #b6cced;
	opacity:0.5;
	transition:0.2s;
}
.medical-check-centence{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-content: space-between;
}
.medical-check img{
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0;
}
.medical-check-everyone{
    font-size: 16px;
    background-color: #fff;
    margin: 2px;
    border-radius: 16px;
}
.medical-check-title{
    font-size: 20px;
    color: black;
}
.medical-check-detail{
    font-size: 14px;
    color: black;
}



/*フッター*/
.page-footer{
    background-image: url(../images/building.jpg.webp);
    background-size: cover;
    background-position: center bottom;
    padding-top: 4rem;
}
.info{
    width: 100%;
    max-width: 544px;
    margin: auto;
    padding: 0 1.5rem;
    padding-bottom: 1rem;
    border-spacing: 0;
}
.info th,
.info td{
    border-bottom: 1px solid #fff;
}
.info th{
    text-align: left;
    font-weight: normal;
    padding: 1rem;
}
.info td{
    padding: 1rem 1rem 1rem 0;
}

.footer a{
    color: #eee;
}

footer ul{
    padding: 1rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

footer li{
    padding-top: .5rem ;
}

.copyright{
    background-color: #375e97;
    text-align: center;
    padding: 2rem 0;
    margin-top: 4rem;
    color: #fff;
}


/*----デスクトップ版----*/
@media (min-width: 800px){
 /*見出し*/
 
 
 .page-title{
    font-size: 5rem;
 }
 .heading-large{
    font-size: 4rem;
 }
 /*ヘッダー*/
 .page-header{
    background-image: url(../images/sky.jpg.webp);
    background-size: 100%;
    display: flex;
    justify-content: space-between;
    padding-top: 1.5rem;
    width: 100%;
 }
 .logo{
    width: 300px;
}
 .main-nav{
    font-size: 1.5rem;
    gap: 2rem;
    flex-direction: row;
    justify-content: space-between;
 }

 /*HOME*/
 
 .about{
    margin: 4rem auto 0;
 }

 /*---サービス---*/
.grid{
    margin: 0 6rem 4rem 6rem;
    gap: 4rem 2rem;
    grid-template-columns: repeat(3, 1fr);
}

.item img{
    margin-bottom: .5rem;    
}

.item-big img{
    height: 93%;
    width: 100%;
}
.width-big-item{
    grid-column: 1/4;
    grid-row: 7/8;
}
.medical-check img{
    width: 250px;
    height: 250px;
}

.medical-check-everyone{ 
    font-size: 24px;
}
.medical-check-title{
    font-size: 32px;   
}
.medical-check-detail{
    font-size: 20px;
}



 /*フッター*/
 .page-footer{
    background-image: url(../images/building.jpg.webp);
    padding-top: 4rem;
 }
 footer ul{
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 2rem;
}
}