@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Lato", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #38363b;
}

.alumni-sans-pinstripe {
  font-family: "Alumni Sans Pinstripe", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.c-gnav {
    font-family: "Lato", sans-serif;
	font-weight: 700;
	font-size: 2.3em !important;
}

.top-logo img {
    max-width: 80%;
}

/* ロゴ通常時は非表示 */
.l-header__logo .c-headLogo {
  display: none;
}
.l-header__gnav {
  padding: 40px !important;
}
	
/* ロゴスクロール時に表示 */
.l-fixHeader__logo .c-headLogo {
  display: block;
  padding: 0 !important;
}

@media screen and (max-width: 959px) {
.top-logo img {
    max-width: 40%;
}
.sp-center {
	text-align: center;
}	
}

/* 追従サイドバナー（PC用） */
.follow-banner {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 20;
}

.follow-banner a {
  display: flex;
  align-items: center;
  gap: 0.5em;
  writing-mode: vertical-rl;
  color: #fff;
  background-color: var(--color_main);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 1.5em 1em;
  transition: opacity 0.25s;
}

.follow-banner a:hover {
  opacity: 0.8;
}

.follow-banner .swl-inline-icon::after {
  left: 50%;
  transform: translateX(-50%);
}

/* 追従バナー・スマホは非表示 */
@media screen and (max-width: 959px) {
  .follow-banner {
    display: none;
  }
}

/* スマホ画面下に固定追従バナー */
@media screen and (max-width: 959px) {
    body {
		margin-bottom: 60px !important;
    }
    .p-fixBtnWrap {
		bottom: 4.5em; /* 上に戻るボタンの位置を上に */
    }
    #fixed-bottom-menu {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        z-index: 99;
		padding: 1em 0 0 0 !important;
    }
    #fixed-bottom-menu .swell-block-column {
		padding: 0;
    }
    #fixed-bottom-menu .swell-block-button__link[data-has-icon] {
        padding: 1em 1em;
    }    
}
@media screen and (min-width: 960px) {
    #fixed-bottom-menu, #fixed-sidebar-menu {
        display: none;
    }
}

.metaslider .flex-control-nav li {
	display: inline-block;
	padding: 0;		
}
.flex-direction-nav .flex-nav-prev, .flex-direction-nav .flex-nav-next  {
	position: initial;
}

.gym-pt {
	padding-top: 40px !important;
}
@media screen and (max-width: 959px) {
.gym-pt {
	padding-top: 20px !important;		
}
}

@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
flex-direction: column-reverse; 
}
}

/*-----部屋の特徴-----*/
.room-features dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 50px auto 100px auto !important;
}
.room-features dt {
	flex-basis: 30%;
	padding: 25px;
	margin: 0;
	font-weight: normal;
	text-align: left;
	border-bottom: 1px solid #c0c0c0;
}
.room-features dd {
	flex-basis: 70%;
	padding: 25px 10px;
	margin: 0;
	border-bottom: 1px solid #c0c0c0;
}

.room-features dt:first-child {
 	border-top: 1px solid #c0c0c0;
}

.room-features dd:nth-child(2) {
 	border-top: 1px solid #c0c0c0;
}

@media screen and (max-width: 559px) {
	.room-features dl {
		flex-flow: column;
		width: 95%;
		padding: 0 10px;
		border: 0;
	}
	.room-features dt {
		padding: 10px;
		border-bottom: 1px solid #e8e8e8;
	}
	.room-features dd {
		padding: 10px;
		border-bottom: 1px solid #c0c0c0;
	}	
	.room-features dd:nth-child(2) {
	 	border-top: 0;
	}
}

.facilities-box-r {
	margin-right: 100px !important;
}
.facilities-box-l {
    margin-left: 100px !important;
}
@media screen and (max-width: 959px) {
.facilities-box-r {
	width: 100%;
    margin-right: 0px !important;
}
.facilities-box-l {
	width: 100%;
    margin-left: 0px !important;
}
}


/* 無限ループアニメーション（FACILITIESのギャラリー） */
.gallery1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:550px;
  overflow: hidden;
  padding-bottom: 0px !important;
  margin-left: 10% !important;
}
.gallery1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.gallery1 li{
	width:435px;
	list-style: none;
}
.gallery1 ul:first-child {
  animation: slide1 100s -50s linear infinite;
}

.gallery1 ul:last-child {
  animation: slide2 100s linear infinite;
}
@keyframes gallery1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes gallery2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 959px) {
.gallery1 {
  height:300px;
  margin-left: 20% !important;
}
	.gallery1 li{
	width:237px;
}
}


/* 無限ループアニメーション */
.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:826px;
  overflow: hidden;
  padding-bottom: 0px !important;
}
.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width:480px;
	list-style: none;
}
.slider1 ul:first-child {
  animation: slide1 60s -30s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 60s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 959px) {
.slider1 {
  height:360px;
}
	.slider1 li{
	width:210px;
}
}


/* Googleマップの色を変更する */
.googlemap{
  background: #76aaaa;
}

.googlemap iframe{
  filter: grayscale(1);
  vertical-align: bottom;
  opacity: 0.8;
  transition: all 0.3s;
}

.googlemap iframe:hover{
  filter: none;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .googlemap iframe {
    width: 100% !important;
    height: 450px !important;
  }
}

