@charset "utf-8";

#mainv {
	width: 1280px;
	margin-top: 0px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	margin-bottom: 15px;
}
#mainv p {
	margin:20px auto 0 auto;
	text-align:center;
}
#mainv ul {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}




.banner_area {
	margin: 0px auto;
	padding: 0px;
	text-align: center;
}
.buner {
	position: absolute;
	left: 140px;
	top: 400px;
	width: 980px;
}
.buner img {
	margin-left: 10px;

}

.top_topics {
	width: 960px;
	margin:100px auto 70px auto;

}
.top_topics table {
	width: 960px;
	margin:0 auto;
	text-align:left;
}
.top_topics img {
	margin-bottom: 20px;
}
.top_topics table tr th {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	color: #666;
	font-weight: normal;
	text-align: left;
	padding-bottom: 15px;
}
.top_topics table tr td {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	color: #666;
	vertical-align: top;
}

.main_btn{
	margin:0 auto;
	padding:5% 0;
	display: flex;
	justify-content: center;
	background: #00a0e9;
}
.main_btn li{
	width: 540px;
}
.main_btn a{
	margin:0 20px;
	display: block;
	background: url("../images/00_index/01_main_ar.png")no-repeat right 30px center #fff;
	border-radius: 50px;
	padding: 20px;
	text-decoration: none;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	color: #00a0e9!important;
}

/*----------------------------------------
	cmn_btn
-----------------------------------------*/
.cmn_btn{
	box-sizing: border-box;
	text-align: center;
	display: flex;
	position: fixed;
	justify-content: space-between;
	z-index: 99;
	width: 100%;
	bottom: 0;
}
.cmn_btn dl{
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	padding: 20px 0;
}
.cmn_btn dd{
	font-size: 2vw;
	padding-left:4%;
}
.cmn_btn dt{
	width:10%;
}
.cmn_btn .tel{
	background:url("../images/rn_cmn/cmn_bottom_btn.png") no-repeat right 5px bottom 5px #ffa800;
	color: #FFF;
	width:100%;
}
.cmn_btn .regist{
	background:url("../images/rn_cmn/cmn_bottom_btn.png") no-repeat right 5px bottom 5px #006ff8; 
	width:100%;
}
.cmn_btn .regist dl{
	color: #fff;
	text-decoration:none;
}
.cmn_btn .see{
	background:url("../images/rn_cmn/cmn_bottom_btn.png") no-repeat right 5px bottom 5px #219bc6; 
	width:100%;
}
.cmn_btn .see dl{
	color: #fff;
	text-decoration:none;
}
.cmn_btn .ex{
	background:url("../images/rn_cmn/cmn_bottom_btn.png") no-repeat right 5px bottom 5px #de6b89; 
	width:100%;
}

/*
------------------------------------
トップ 施設 タイトル
------------------------------------ */
.top_facility{
	margin:0 auto 100px auto;
}

.top_facility .fac_main .pic{
	margin:0 auto;
	padding:7% 10% 10% 10%;
	text-align: center;
	background:url("../images/00_index/03_facility_ttl_bg.jpg")no-repeat center top;
	background-size: 100%;
}

/*
------------------------------------
トップ 施設 フロア共通
------------------------------------ */
.top_facility .fac_floor{
	margin:0 auto;
	position: relative;
	font-family: "Zen Kaku Gothic New", system-ui;
  font-weight: 500;
  font-style: normal;
}

.top_facility .fac_floor .ico{
	position: absolute;
	left:10%;
	top:2%;
	width: 10%;
}

.fac_floor .floor_dt{
	background: #caeeff;
	padding:0 8% 5% 8%;
	font-size: 16px;
}

.fac_floor .floor_dt .floor_btn01{
display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        justify-content: center;
	padding:60px 0;
	margin: 0 auto;
	max-width: 600px;
}
.fac_floor .floor_dt .floor_btn01 li{
	margin: 0 10px;
}
.fac_floor .floor_dt .floor_btn01 a{
	display: block;
	background:url("../images/00_index/03_facility_cmn_btn_ar.jpg")no-repeat center right 20px #115bca;
	border-radius: 50px;
	color: #fff;
	font-weight: 900;
	padding:10px 20px;
	width: 95%;
}
@media only screen and (max-width: 1240px) {
.fac_floor .floor_dt .floor_btn01 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 600px;
  }
}

.fac_floor .floor_dt .floor_btn02{
display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        justify-content: center;
	padding:60px 0;
	margin: 0 auto;
	max-width: 800px;
}
.fac_floor .floor_dt .floor_btn02 li{
	margin: 0 10px;
}
.fac_floor .floor_dt .floor_btn02 a{
	display: block;
	background:url("../images/00_index/03_facility_cmn_btn_ar.jpg")no-repeat center right 20px #115bca;
	border-radius: 50px;
	color: #fff;
	font-weight: 900;
	padding:10px 20px;
	width: 95%;
}
@media only screen and (max-width: 1240px) {
.fac_floor .floor_dt .floor_btn02 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 600px;
  }
}


.fac_floor .floor_dt .floor_dt_in{
	padding: 7% 0 0 0;
	border-top:1px #9b9b9b solid;
}
.fac_floor .floor_dt .floor_second{
	margin: 7% 0 0 0;
}
.fac_floor .floor_dt .floor_dt_in .floor_sec{
	display: flex;
	justify-content: space-between;
}
.fac_floor .floor_dt .floor_sec .mainpic{
	width:55%;
}
.fac_floor .floor_dt .floor_sec .main_txt{
	width:40%;
}
.fac_floor .floor_dt .floor_dt_in .en{
	color: #115bca;
	font-size: 45px;
	line-height: 1.3;
	margin:0 0 10px 0;
	font-family: "Overpass", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: italic;
}
.fac_floor .floor_dt .floor_dt_in .txt dt{
	background:url("../images/00_index/03_facility_subttl_ico.png")no-repeat center left;
	border-radius: 50px;
	font-size: 28px;
	padding:0 0 0 20px;
	margin: 10px 0;
	font-weight: 900;
}

.fac_floor .floor_dt .floor_dt_in .point{
	display: flex;
	justify-content: space-between;
	background: #fff;
	border-radius: 20px;
	padding: 30px;
	position: relative;
	margin: 10% 0 0 0;
}
.fac_floor .floor_dt .floor_dt_in .point .point_ico{
	position: absolute;
	top:-20px;
}
.fac_floor .floor_dt .floor_dt_in .point .pic,
.fac_floor .floor_dt .floor_dt_in .point dl{
	width:48%;
}
.fac_floor .floor_dt .floor_dt_in .point dt{
	font-weight: 900;
}

.fac_floor .floor_dt .floor_dt_in .point02{
	background: #fff;
	border-radius: 20px;
	padding: 30px;
	position: relative;
	margin: 10% 0 0 0;
}
.fac_floor .floor_dt .floor_dt_in .point02 .point_ico{
	position: absolute;
	top:-20px;
}
.fac_floor .floor_dt .floor_dt_in .point02 .pic{
	margin-top:20px;
}
.fac_floor .floor_dt .floor_dt_in .point02 dt{
	font-weight: 900;
}
/*
------------------------------------
2F
------------------------------------ */
.loop_wrap02 {
	 margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-top: 40px;
	height:240px;
	position: relative;
	background:url(../images/00_index/03_facility_2f_free_machine.png);
	animation: topmove02 30s linear infinite;
	-webkit-animation: topmove02 30s linear infinite;
	-moz-animation: topmove02 530s linear infinite;
}
@keyframes topmove02 {
	from { background-position: 0 0; }
    to { background-position: -2920px 0; }
}
@-webkit-keyframes topmove02 {
	from { background-position: 0 0; }
    to { background-position: -2920px 0; }
}
@-moz-keyframes topmove02 {
	from { background-position: 0 0; }
    to { background-position: -2920px 0; }
}

.wifi {
	border-radius: 15px;
	background:url("../images/00_index/03_facility_2f_wifi.png")no-repeat center left 20px #115bca;
	padding: 30px 20px 30px 110px;
	color: #fff;
	font-weight: 900;
	margin: 30px 0 0 0;
}

.free_machine {
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0 0;
}
.free_machine li{
	width: 19%;
}
.pro_sch{
	margin: 40px 0 60px 0;
}
.pro_sch a{
	background:#115bca;
	border-radius: 50px;
	color: #fff!important;
	font-weight: 900;
	padding:10px 30px;
	font-size: 16px;
}
.btn_point{
	margin: 20px 0 0 0;
}
.btn_point a{
	background:#115bca;
	border-radius: 50px;
	color: #fff!important;
	font-weight: 900;
	padding:10px 30px;
	font-size: 16px;
}

/*
------------------------------------
価格
------------------------------------ */
.price{
	margin:100px auto;
	max-width:960px;
	text-align: center;
	padding:5% 10%;
}
.price p{
	font-size: calc(16px + 12 * (100vw - 360px) / 840); 
	font-weight: 900;
	margin-bottom: 40px;
	line-height: 1.7;
}
.price span{
	font-size: calc(22px + 18 * (100vw - 360px) / 840); 
}
.price .small{
	font-size: 13px; 
	font-weight: 400;
	margin-top: 20px;
	text-align: left;
}
.price .small span{
	color: #F30004;
	font-size: 13px; 
}
/*media Queries 
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1000px) {

.fac_main{
	margin:0 auto 10% auto;
}
	
.top_facility .fac_floor .ico{
	position: absolute;
	left:10%;
	top:-30px;
	width: 15%;
}
.fac_floor .floor_dt{
	font-size: 15px;
}

.fac_floor .floor_dt .floor_btn a{
	background-image: none;
}
	
.fac_floor .floor_dt .floor_dt_in{
	padding: 13% 0 0 0;
}
.fac_floor .floor_dt .floor_second{
	margin: 13% 0 0 0;
}
	
.fac_floor .floor_dt .floor_dt_in .floor_sec{
	display: block;
}
.fac_floor .floor_dt .floor_sec .mainpic{
	width: auto;
	margin-bottom: 30px;
}
.fac_floor .floor_dt .floor_sec .main_txt{
	width: auto;
}
.fac_floor .floor_dt .floor_dt_in .en{
	font-size: calc(25px + 15 * (100vw - 360px) / 840); 
}
.fac_floor .floor_dt .floor_dt_in dt{
	font-size: 22px;
}
	
.free_machine {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.free_machine li{
	width: 32%;
	margin: 10px 2% 10px 0;
}
.free_machine li:nth-child(3){
	margin: 10px 0;
}
	
.main_btn{
	display: block;
	margin:0 auto 15% auto;
	padding:8% 3%;
	background: #00a0e9;
}
.main_btn li{
	width:auto;
}
.main_btn li:last-of-type{
	margin:15px auto 0 auto;
}
.main_btn a{
	margin:0 20px;
	display: block;
	background: url("../images/00_index/01_main_ar.png")no-repeat right 20px center #fff;
	background-size: 10px;
	border-radius: 50px;
	padding: 20px;
	text-decoration: none;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	color: #00a0e9!important;
}
	
/*
------------------------------------
価格
------------------------------------ */
.price{
	margin:60px auto;
	padding:0 7%;
}
.price .pricetable{
	 width: 100%;
 overflow-x: auto!important;
}
.price .over_in{
	 width: 900px;
}
.price .over_in img{
	 width: 900px;
}

	
}