@charset "utf-8";
/* レスポンシブ設定
------------------------------------- */
@media screen and (min-width: 769px){
	.sp {
		display: none!important;
	}
	body {
		min-width: 1000px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 768px){
	.pc {
		display: none!important;
	}
	/* 基本設定
	------------------------------------- */
	body{
    	font-size: 4.27vw;
		line-height: 1.75;
    	letter-spacing: 0.08vw;
	}

	h2{
		font-size:6.13vw;
	}
	
	/* Header
	------------------------------------- */
	#header {
		width: 100vw;
		height: 58.13vw;
		background: url("../img/bgHeader.png") repeat-x;
		background-size: 20vw 58.13vw;
		background-position: center;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		padding: 4vw;
	}

	#header #boxLeft{
		width: 100%;
		margin: 0;
		transform: translateY(0);
	}

	#header #boxRight{
		display: none;
	}

	#header #boxLeft h1{
		width: 72vw;
		height: 17.07vw;
		background: #58C0E1;
		font-size: 4.8vw;
		text-align: left;
		padding: 2vw 5vw;
		margin: 0;
		line-height: 1.33;
	}

	#header #boxLeft #boxRightSp{
		width: 17.07vw;
		height: 17.07vw;
	}
	
	#header #boxLeft #boxRightSp img{
		width: 100%;
		height: 100%;
	}

	
	#header #boxLeft img#logoHama{
		width: 44.43vw;
		height: 18.33vw;
		margin-top: 8vw;
	}
	
	#header #boxLeft img#logoTono{
		width: 44.38vw;
		height: 18.45vw;
		margin-top: 8vw;
	}
	
	/* Header(Pool)
	------------------------------------- */
	#headerPool {
		position: relative;
		width: 100vw;
		height: 83.2vw;
		background: url("../img/bgHeaderPoolSp.png") repeat-x;
		background-size: 20vw 83.2vw;
		background-position: center;
		z-index: 2;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
	}

	#headerPool h1{
		width: 92vw;
		height: 9.07vw;
		background: #58C0E1;
		font-size: 4vw;
		text-align: center;
		padding: 4vw 5vw;
		margin-top: 4vw;
		line-height: 0;
		border: solid 2px #fff;
		color: #fff;
		font-family: 'Kosugi Maru', sans-serif;
		font-weight: 400;
	}

	#headerPool #boxLeftPool{
		width: 100%;
		position: relative;
		top: 0;
		left: 0;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		margin: 4vw auto 2vw;
	}

	#headerPool #boxLeftPool.hama img:nth-child(1){
		width: 42.32vw;
		height: 17.46vw;
	}

	#headerPool #boxLeftPool.hama a img:nth-child(1){
		margin: 2vw;
	}

	#headerPool #boxLeftPool.hama img:nth-child(2){
		width: 48.27vw;
		height: 22.74vw;
		margin: 0;
	}

	#headerPool #boxLeftPool.tono img:nth-child(1){
		width: 42.55vw;
		height: 17.69vw;
	}

	#headerPool #boxLeftPool.tono a img:nth-child(1){
		margin: 2vw;
	}

	#headerPool #boxLeftPool.tono img:nth-child(2){
		width: 47.33vw;
		height: 21.02vw;
		margin: 0;
	}

	#headerPool #boxRightPool{
		width: 100vw;
		position: relative;
		top: 0;
		left: 0;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}

	#headerPool #boxRightPool p.address{
		width: 100%;
		font-size: 4vw;
		margin-bottom: 10px;
	}

	#headerPool #boxRightPool .boxTel{
		width: 60.8vw;
		height: 24vw;
		border-radius: 1.6vw;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;	
		margin-right: 1.87vw;
		line-height: 1.3;
	}

	#headerPool #boxRightPool .boxTel p .txtTel{
		font-size: 5.8vw;
		margin-bottom: -1.2vw;
	}
	#headerPool #boxRightPool .boxTel p .txtSmall{
		font-size: 2.80vw;
		letter-spacing: 0;
	}

	#headerPool #boxRightPool .boxTel img{
		width: 9.25vw;
		height: 9.25vw;
		margin-left: 2.67vw;
	}

	#headerPool #boxRightPool .boxTel p{
		margin-right: 2vw;
	}
	#headerPool #boxRightPool .boxContact{
		width: 29.33vw;
		height: 24vw;
		border-radius: 1.6vw;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		letter-spacing: 0.1em;
		font-size: 4vw;
	}

	#headerPool #boxRightPool .boxContact img{
		width: 8.8vw;
		height: 6.4vw;
		margin: 1.6vw auto;
	}

	/* Navi(Pool)
	------------------------------------- */
	#naviPool{
		width: 100vw;
		height: 75.47vw;
		background: url("../img/bgHeaderNaviSp.png") repeat-x;
		background-size: 20vw 75.47vw;
		background-position: center;
		position: relative;
		top: -7.2vw;
		z-index: 1;
		padding: 10vw 0;
	}

	ul#gnavi{
    	width: 100%;
    	height: auto;
    	margin: 0 auto;
    	display: flex;
    	flex-direction: row;
    	flex-wrap: wrap;
    	justify-content: space-around;
    	align-items: center;
	}

	ul#gnavi li,
	ul#gnavi li a{
    	display: flex;
    	flex-direction: column;
    	width: 30vw;
    	letter-spacing: 0;
    	font-size: 4.27vw;
    	text-align: center;
    	line-height: 1.3;
    	margin: 1vw auto;
	}


	ul#gnavi li span{
    	margin: 0px auto 1.67vw;
	}

	ul#gnavi li:nth-child(1) span{
    	display: block;
    	width: 14.19vw;
    	height: 14.58vw;
    	background: url("../img/iconGnavTop.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(2) span.hama{
    	display: block;
    	width: 18.56vw;
    	height: 12.58vw;
    	background: url("../img/iconGnavAboutHama.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(2) span.tono{
    	display: block;
    	width: 24.21vw;
    	height: 10.12vw;
    	background: url("../img/iconGnavAboutTono.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(3) span{
    	display: block;
    	width: 11.1vw;
    	height: 11.95vw;
    	background: url("../img/iconGnavPrice.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(4) span{
    	display: block;
    	width: 18.4vw;
    	height: 15.37vw;
    	background: url("../img/iconGnavClass.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(5) span{
    	display: block;
    	width: 15.14vw;
    	height: 11.95vw;
    	background: url("../img/iconGnavRules.png") no-repeat;
    	background-size: contain;
	}
	ul#gnavi li:nth-child(6) span{
    	display: block;
    	width: 10.65vw;
    	height: 13.55vw;
    	background: url("../img/iconGnavPrivacy.png") no-repeat;
    	background-size: contain;
	}

	
	
    /* Period
    ------------------------------------- */
    #period{
        padding: 0 0.5em 0 0;
        font-size: 4vw;
    }

    #period li span{
        background: #f39c12;
        color: #fff;
        padding: 0.3vw 1.5vw;
        margin-right: 25px;
        display: inline-block;
        position: relative;
        font-weight: 500;
        border: none;
    }

#period li span::after{
    content: "";
    position: absolute;
    top: 50%;
    right: -0.55em;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 1em solid transparent;
    border-bottom: 1em solid transparent;
    border-left: 1em solid #f39c12; /* 背景色と同じにする */
}

	/* Contents
	------------------------------------- */
	#contents{
		width: 100vw;
	    margin-top: 5vw;
		padding: 4vw;
	}
	
	/* Pool Select
	------------------------------------- */
	#poolSelect{
		width: 100%;
		flex-flow: row wrap;
		justify-content: center;
		align-items: center;
		margin-top: 0vw;
		margin-bottom: 15vw;
	}

	#poolSelect.bottom{
		margin-top: 20vw;
		margin-bottom: 0vw;
	}
	
	#poolSelect.bottomPool{
		margin-top: -15vw ;
		margin-bottom: 15vw;
	}
	
	#poolSelect a#btnHama, #poolSelect a#btnTono{
		margin: 12.8vw auto 0;
	}

	#poolSelect a#btnHama img, #poolSelect a#btnTono img{
		width: 42.4vw;
		height: 60.27vw;
	}

	#poolSelect a.backTop img{
		width: 38.07vw;
		height: 28.32vw;
		margin-bottom: 2vw;
	}

	#poolSelect a.backInfoList img{
		width: 38.55vw;
		height: 28.71vw;
		margin-bottom: 2vw;
	}
	
	/* Information(TOP PAGE)
	------------------------------------- */
	#infoTop{
		width: 100%;
		flex-direction: column-reverse;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 4vw;
	}

	#infoTop #infoBoard{
		width: 100%;
		background: url("../img/infoBoardMidSp.png") repeat-y;
		background-size: 92vw 13.33vw;
		margin: 8vw auto 0;
	}

	#infoTop #infoBoard::before{
		content: "";
		display: block;
		width: 92vw;
		height: 11.6vw;
		background: url("../img/infoBoardTopSp.png") no-repeat;
		background-size: 92vw 11.6vw;
	}

	#infoTop #infoBoard::after{
		content: "";
		display: block;
		width: 92vw;
		height: 13.6vw;
		background: url("../img/infoBoardBottomSp.png") no-repeat;
		background-size: 92vw 13.6vw; 
	}

	#infoTop #infoBoard .infoBoardText{
		padding: 0 8vw;
	}

	#infoTop #infoBoard .infoBoardText h2{
		font-size: 6.13vw;
	}

	#infoTop #infoBoard .infoBoardText p.date{
		font-size: 4.27vw;
		margin: 6vw 0 0;
		padding-left: 1vw;
	}

	#infoTop #infoBoard .infoBoardText p.hama{
		width: 6.4vw;
		height: 6.4vw;
		background: url("../img/iconInfoHama.png") no-repeat;
		background-size: contain;
		margin-left: 1.07vw;
		margin-bottom: -0.53vw;
	}

	#infoTop #infoBoard .infoBoardText p.tono{
		width: 6.4vw;
		height: 6.4vw;
		background: url("../img/iconInfoTono.png") no-repeat;
		background-size: contain;
		margin-left: 1.07vw;
		margin-bottom: -0.53vw;
	}

	#infoTop #infoBoard .infoBoardText p.title{
		font-size: 4vw;
		padding-left: 2px;
	}

	#infoTop #infoBoard .infoBoardText p.infoList{
		font-size: 4vw;
		text-align: right;
		margin-top: 4vw;
		margin-bottom: 8vw;
	}

	#infoTop #infection{
		width: 100%;
		padding: 12vw 6.4vw 13.33vw;
	}

	#infoTop #infection p:nth-child(1){
		font-size: 6.13vw;
		line-height: 1.56;
		margin-bottom: 5.87vw;
	}

	#infoTop #infection p:nth-child(2){
		font-size: 4.27vw;
		margin-bottom: 5.87vw;
	}

	#infoTop #infection .btnPdf{
		width: 41.6vw;
		height: 35.73vw;
		border-radius: 1.07vw;
		font-size: 5.33vw;
		line-height: 1.2;
		padding-bottom: 4vw;
	}

	#infoTop #infection .btnPdf img{
		width: 11.47vw;
		height: 15.2vw;
		margin-top: 4vw;
	}

	#infoTop #infection img{
		width: 35.73vw;
		height: 35.73vw;
	}
	
	/* poster
	------------------------------------- */
	#poster{
		margin: 0 auto 10vw;
        width: 100%;
	}
	
	#poster img{
		width: 40vw;
		height: auto;
		margin: 2vw;
	}

	#poster a{
		border: solid 0.27vw #10A5D4;
		margin: 6vw 1vw 4vw;
	}

	/* Information
	------------------------------------- */
	#information.widthInfolist{
		width: 100%;
	}

	#information.widthInfoDetail{
		width: 86.67vw;
		margin-bottom: 9.07vw;
	}

	#information p.date{
		font-size: 4.27vw;
		margin: 6.27vw 0 1.0vw;
		padding-left: 1.0vw;
	}

	#information p.hama{
		width: 6.4vw;
		height: 6.4vw;
		background: url("../img/iconInfoHama.png") no-repeat;
		background-size: contain;
		margin-left: 1.07vw;
		margin-bottom: -0.53vw;
	}

	#information p.tono{
		width: 6.4vw;
		height: 6.4vw;
		background: url("../img/iconInfoTono.png") no-repeat;
		background-size: contain;
		margin-left: 1.07vw;
		margin-bottom: -0.53vw;
	}

	#information p.title{
		font-size: 4vw;
		padding-left: 0.53vw;
		margin-top: 0.5vw;
		margin-bottom: 2.33vw;
	}

    #information p.body img{
        margin: 6vw auto !important;
        width: 100%;
        height: auto;
    }

	#information ul.backNumber {
		margin-top: 10vw;

	}
	#information ul.backNumber li {
		width: 10vw;
		height: 10vw;
	}
	#information ul.backNumber li:not(:first-child) {
		margin-left: 3vw;
	}
	#information ul.backNumber li a {
		border-radius: 2vw;
	}

	#information ul.backNumber li.back a,
	#information ul.backNumber li.next a {
		padding-bottom: 1vw;
	}

    #information .navi{
        width: 100%;
        text-align: center;
        padding-top: 13.33vw;
        margin-bottom: 13.33vw;
    }

    
	/* Information(Pool Top)
	------------------------------------- */
	#infoGuide{
		text-align: center;
		flex-direction: column;
		line-height: 1.6;
		margin: 20vw auto 10vw;
	}

	
	#infoGuide img{
		width: 70px;
		height: 72px;
		margin: 0 auto 2.5vw;
	}
	.infoGuide::before{
		content: "";
		display: inline-block;
		background: url("../img/iconInfoGuide.png") no-repeat;
		background-size: contain;
		width: 18.67vw;
		height: 19.2vw;
		position: relative;
		top: -100px;
		right: 0;
	}

	
	/* Contact
	------------------------------------- */
	#contact{
		width: 100%;
		margin: 0 auto 26.67vw;
	}

	#contact p{
		text-align: center;
		font-size: 4.53vw;
	}

	#contact #mailForm{
		display: flex;
		width: 86.67vw;
		margin-top: 9.07vw;
		flex-direction: column;
	}

	#contact #mailForm dl{
		flex-flow: row wrap;
		padding-bottom: 5.33vw;
		border-bottom: solid 0vw #454545;
		width: 100%;
	}

	#contact #mailForm dl dt{
		font-size: 4.27vw;
		color: #0F9FD3;
		height: 10vw;
		width: 50.67vw;
		padding-top: 2.93vw;
	}

	#contact #mailForm dl dt span{
		font-size: 3.47vw;
	}

	#contact #mailForm dl dd{
		position: relative;
		width: 86.67vw;
		height: 10.93vw;
		font-size: 4.27vw;
	}
	
	#contact #mailForm dl dd.boxTextarea{
		position: relative;
		width: 86.67vw;
		height: 40vw;
		font-size: 4.27vw;
	}
	
	#contact #mailForm dl dd p{
		position: absolute;
		bottom: 0;
		right: 2vw;
		font-size: 3.47vw;
		width: 9.07vw;
		height: 5.9vw;
		border-radius: 1.07vw;
	}

	#contact #mailForm dl dd input[type="text"],
	#contact #mailForm dl dd input[type="email"],
	#contact #mailForm dl dd input[type="tel"]
	{
		width: 100%;
		height: 100%;
		font-family: 'M PLUS Rounded 1c', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
		font-size: 4.53vw ;
		padding-left: 2.67vw;
		padding-right: 13.33vw;
		color: #454545;
	}

	#contact #mailForm dl dd input[type="checkbox"]{
		position: relative;
		width: 4vw;
		height: 4vw;
	}

	#contact #mailForm dl dd label{
		display: inline-block;
		margin-right: 2.67vw; 
		padding-top: 2.67vw;
	}

	#contact #mailForm dl dd textarea{
		width: 100%;
		height: 100%;
		font-family: 'M PLUS Rounded 1c', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
		font-size: 4.53vw;
		color: #454545;
	}

	#contact #mailForm .btnSubmit{
		width: 60vw;
		height: 14vw;
		background: #0F9FD3 url("../img/iconBtnSubmit.png") no-repeat;
		background-size: 9vw 7vw;
		background-position: 10% 50%;	
		margin: 5.33vw auto;
		padding-left: 5.33vw;
		font-size: 5vw;
	}

	.btnSubmit:hover {
		opacity:0.75;
		filter: alpha(opacity=75);
		-ms-filter: "alpha(opacity=75)";
		-moz-opacity:0.75;
		-khtml-opacity: 0.75;
		zoom:1;
	}

	.btnSubmit:active {
    	position: relative;
    	top: 0.53vw;
    	left: 0.53vw;
	}

	/* Schedule
	------------------------------------- */
	#schedule{
		width: 100%;
		margin: 0 auto 13.33vw;
	}

	#schedule #calendar{
		width: 92vw;
		height: 112.27vw;
		margin: 0 auto;
		position: relative;
	}

	
	/* SNS
	------------------------------------- */
	#sns{
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		margin: 20vw auto 0;
	}

	#sns #facebook, #sns #instagram{
		margin: 0 auto;
		width: 100%;
	}

	#sns h2{
		font-size: 7.47vw;
		margin: 0 auto 12vw;
		left: 7vw;
	}

    #sns #instagram h2{
        left: 6vw;
    }
    
	#sns #facebook h2::before{
		content: "";
		display: inline-block;
		width: 13.33vw;
		height: 13.33vw;
		background: url("../img/iconFacebook.png") no-repeat;
		background-size: contain;
		position: absolute;
		top: -6.66vw;
		left: -15.33vw;
	}
	
	#sns #instagram h2::before{
		content: "";
		display: inline-block;
		width: 13.33vw;
		height: 13.33vw;
		background: url("../img/iconInsta.png") no-repeat;
		background-size: contain;
		position: absolute;
		top: -6.66vw;
		left: -15.33vw;
	}

	#sns #instagram .insta_list{
    	gap: 2vw;
    	margin: 5vw auto;
	}

	#sns #instagram .insta_list li{
    	position: relative;
    	width: calc((100% - 2vw)/2);
	}
    
	/* About
	------------------------------------- */
	#about {
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	#about h2{
		width: 100%;
	}

	#about .boxFacility{
		width: 118.4vw;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: center;
		margin: 20px auto;
	}

	#about .boxFacility .txtTitle{
		width: 100%;
		text-align: center;
		color: #0F9FD3;
		font-size: 5.33vw;
		font-weight: 500;
		margin-bottom: 2.13vw;
	}

	#about .boxFacility img{
		width: 100%;
		height: auto;
	
	}

	#about .boxFacility .txtBody{
		width: 100%;
		text-align: left;
		font-size: 4.53vw;
		font-weight: 400;
		margin: 2.13vw auto 2.67vw;	
	}

	/* Access
	------------------------------------- */
	#access{
		flex-flow: column nowrap;
		text-align: center;
		width: 100%;
	}
	
	#access h2{
		font-size: 7vw;
	}

	#access p{
		margin: 2.67vw auto;
	}

	#access p.lead{
		text-align: center;
		font-size: 4vw;
		font-weight: 500;
	}

	#access p.body{
		text-align: left;
		font-size: 4vw;
		line-height: 1.6;
		margin-bottom: 8vw;
	}

	#access iframe{
		margin: 0vw auto 5.33vw;
		width: 80vw;
	}

	/* Price
	------------------------------------- */
	#price{
		flex-flow: column nowrap;
		text-align: center;
		width: 100%;
		font-size: 4.53vw;
	}

	#price h2{
		position: relative;
		margin: 7.33vw auto 19.33vw;
		width: 100%;
	}
	
	#price h2 a .btnCashless{
		position: absolute;
		top: 14vw;
		right: 23.5vw;
		width: 46.48vw;
		height: 14.4vw;
		background: #f00;
		border-radius: 1.33vw;
		flex-flow: row nowrap;
		justify-content: space-around;
		align-items: center;
		transform: rotate(0deg);
	}

	#price h2 a .btnCashless img{
		width: 6.48vw;
		height: 9.79vw;
	}

	#price h2 a .btnCashless p{
		font-size: 3.2vw;
		color: #fff;
		text-align: left;
		line-height: 1.2;
		letter-spacing: 0;
		margin-right: 1vw;
	}

	#price h2 a:active .btnCashless{
		position: absolute;
		top: 12vw;
		right: -3vw;
	}

	#price h2#exemption, #price h2#exclusiveuse, #price h2#cashless, #price h2#mirairo{
		margin: 17vw auto 7.33vw;
	}
	
	#price .boxTables{
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;	
	}

	#price .boxTables table{
		width: 100vw;
		align-self: flex-start;
		margin: 6vw auto;
		font-size: 4.5vw;
	}

	#price .boxTables table th.ttl{
		font-size: 5.87vw;
		color: #fff;
		border-bottom: solid #0F9FD3 0.53vw;
		background: #0F9FD3;
		text-align: center;
	}

	#price .boxTables table th{
		padding: 1.87vw;
		border-bottom: solid #009FD3 0.27vw;
		text-align: left;
	}

	#price .boxTables table td{
		padding: 1.87vw;
		border-bottom: solid #009FD3 0.27vw;
		text-align: right;
	}

	#price .boxTables table tr:nth-child(even){
		background: #E6F8FF;
	}

	#price .boxTables table tr.last{
		border-bottom: solid #009FD3 0.53vw;
	}
	
	#price .boxTables table td.addition{
		border: none;
	}

	#price ul.additionPrice{
		text-align: left;
		list-style: "※";
		margin: 5.33vw auto 18.67vw;
	}

	#price ul.additionPrice li{
		line-height: 1.4;
		margin-bottom: 2.67vw;
	}

	#price .txtBody{
		width: 100%;
		text-align: left;
		margin: 0 auto;
	}

	#price ul.points{
		width: 90%;
		list-style: "■";
		text-align: left;
		margin: 8vw auto;
	}

	#price ul.points li{
		line-height: 1.4;
		margin-bottom: 2.67vw;
	}

	#price .paymentTypes{
		border: solid 0.27vw #0F9FD3;
		margin: 8vw auto 0;
		padding: 2.67vw 5.33vw;
	}

	#price .titleTxtBox{
		width: 80%;
		margin: 10.67vw 60% 0 10%;
		background: #0F9FD3;
		color: #fff;
		font-size: 4.5vw;
		padding: 1.6vw;
	}

	#price .txtBox{
		width: 100%;
		border: solid 0.27vw #0F9FD3;
		padding: 2vw;
		margin: 0 auto 8vw;
	}

	#price .txtBox .txtBody{
		width: 90%;
		text-align: left;	
	}	

	#price .txtBox ul{
		width: 90%;
		list-style: "■";
		text-align: left;
		margin: 5.33vw auto 2.67vw;
	}

	#price .txtBox ul li{
		line-height: 1.4;
		margin-bottom: 2.67vw;
	}

	
	/* Class
	------------------------------------- */
	#class{
		width: 100%;
	}

	#class h2:nth-child(n+2){
		margin-top: 26.67vw;
	}

	#class .boxTables{
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;	
	}

	#class .boxTables table{
		width: 112vw;
		align-self: flex-start;
		margin: 8vw auto;
		font-size: 4.53vw;
		color: #454545;
		line-height: 1.7;
	}

	#class .boxTables table span{
		font-size: 0.8em;
	}

	#class .boxTables table th.ttl{
		font-size: 5.33vw;
		color: #fff;
		border-bottom: solid #0F9FD3 0.53vw;
		background: #0F9FD3;
		text-align: center;
		letter-spacing: 0.1em;
	}

	#class .boxTables table td.detail{
		border-bottom: solid #0F9FD3 0.53vw;
		text-align: left;
		padding: 2.67vw;
	}

	#class .boxTables table th, #class .boxTables table td{
		padding: 1.87vw;
		border-bottom: solid #009FD3 0.27vw;
		text-align: left;
	}

	#class .boxTables table th{
		color: #0F9FD3;
		font-weight: 500;
		letter-spacing: 0.3em;
        width: 16vw;
	}

	#class .boxTables table tr.last{
		border-bottom: solid #009FD3 0.53vw;
	}
	
	/* 場内規則
	------------------------------------- */
	#rules{
   	 	position: relative;
    	width: 92vw;
    	text-align: left;
    	letter-spacing: 0.1em;
    	line-height: 1.4;
    	margin: 0 auto;
	}	

	#rules h2{
		margin: 15vw auto 5vw;
	}

	#rules h2:nth-child(1){
		margin: 5vw auto 5vw;
	}

	
	#rules .boxFlex{
    	width: 100%;
    	display: flex;
    	flex-wrap: wrap;
    	flex-direction: row;
   	 justify-content: flex-end;
    	align-items: center;
	}

	#rules .boxFlex p{
		margin: 0vw auto 5vw;
	}

	#rules .txtBody{
		width: 85%;
		text-align: left;
		margin: 0 auto;
	}

	#rules ul.points{
		width: 75%;
		list-style: "■";
		text-align: left;
		margin: 8vw auto;
	}

	#rules ul.points li{
		line-height: 1.4;
		margin-bottom: 2.67vw;
	}

	#rules .boxFlex .img1{
    	width: 31.47vw;
    	height: 27.2vw;
    	margin: 7vw auto 0;
	}
	
	#rules .boxFlex .img2sp{
    	width: 65.68vw;
    	height: 16.53vw;
    	margin: 10vw auto 0;
	}
	
	#rules .boxFlex .img3{
    	width: 33.06vw;
    	height: 27.61vw;
    	margin: 7vw auto 0;
	}
	
	#rules .boxFlex .img4{
   	 	width: 30.93vw;
    	height: 25.6vw;
    	margin: 7vw auto 0;
	}

	#rules .boxFlex .rules1,
	#rules .boxFlex .rules2,
	#rules .boxFlex .rules3,
	#rules .boxFlex .rules4{
    	width: 100%;
    	border-left: none;
    	margin: 6.67vw 0;
    	padding-left:7vw;
		padding-right: 4vw;
	}

	#rules .boxFlex ul {
    	margin-bottom: 2em;
    	list-style-type: none;
    	counter-reset: cnt;
    	line-height: 1.4;
	}

	#rules .boxFlex ul li{
    	margin: 1em auto;
	}

	#rules .boxFlex ul li:first-of-type{
	    margin: 0.5em auto 1em;
	}

	#rules .boxFlex ul li:last-of-type{
   		margin: 1em auto -1.5em;
	}

	#rules .boxFlex ul li::before{
    	content: "";
    	width: 3.2vw;
    	height: 3.2vw;
    	display: inline-block;
    	background-color: #0F9FD3;
    	position: relative;
	    top: 0.27vw;
    	left: -4.27vw;
    	margin-right: -3.2vw;
	}


	#rules .boxFlex ol {
   	 	margin-bottom: 2em;
    	list-style-type: none;
    	counter-reset: cnt;
    	line-height: 1.4;
    	margin-left: 1.2em;
	}

	#rules .boxFlex ol li{
    	margin: 0.5em auto !important;
	}

	#rules .boxFlex ol li::before{
    	counter-increment: cnt;  /* カウンタの値を計算していく */
   		content: "("counter(cnt)")";
    	display: inline-block;
   		width: 0.8em;
    	height: 0;
   		background-color: #fff;
  		position: relative;
    	top: 0;
    	left: -1.8em;
	}

	
	/* 個人情報保護方針
	------------------------------------- */
	#privacy{
    	width: 92vw;
    	text-align: left;
    	letter-spacing: 0.1em;
    	line-height: 1.8;
    	margin: 0 auto 10vw;
		font-size: 4vw;
	}

	#privacy h2{
		margin-bottom: 7vw;
	}

	#privacy p{
    	margin: 5.33vw auto;
	}

	#privacy ol {
		margin: 10vw auto 10.67vw;
		list-style-position: outside;
    	counter-reset: cnt;
    	padding-left: 1.6em;
		width: 86.67vw;
	}

	#privacy ol li {    
    	margin-bottom: 1em;
	}

	#privacy .signature{
    	width: 55vw;
    	display: block;
    	text-align: left;
    	position: relative;
    	left: 38vw;
	}

	
	/* Bottom Navi
	------------------------------------- */
	#bottomNavi{
		height: 78.13vw;
		width: 100vw;
		background: url("../img/bgBottomNaviSp.png") no-repeat;
		background-size: 100vw 78.13vw;
		background-position: center;
		padding-bottom: 28vw;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		margin-top: 0vw;
	}

	#bottomNavi a.contact{
		flex-direction: column;
		align-items: center;
	}

	#bottomNavi a.contact img{
		width: 15.28vw;
		height: 10.92vw;
		margin-bottom: 1.2vw;
	}

	#bottomNavi a.contact p{
		font-size: 4.8vw;
		letter-spacing: 0.1em;
	}


	#bottomNavi a.backTopCommon img{
		width: 37.33vw;
		height: 26.67vw;
	}

	#bottomNavi a.backTopHama img, #bottomNavi a.backTopTono img{
		width: 44.13vw;
		height: 24.33vw;
	}

	#bottomNavi a.backTopCommon, #bottomNavi a.backTopHama, #bottomNavi a.backTopTono{
		margin: 0 2.67vw;
	}

	/* Footer
	------------------------------------- */
	#footer{
		letter-spacing: 0.27vw;
		line-height: 1.429;
		flex-direction: column;
		width: 100vw;
		height: 41.6vw;
	}

	#footer p:nth-child(1){
		font-size: 3.73vw;
		margin: 5.87vw auto 0;
	}

	#footer p:nth-child(2){
		font-size: 2.93vw;
		padding: 6vw 8vw;
		text-align: left;
	}
	
	}
