@charset "utf-8";

/*********************
* メインサイト
*********************/

/* PC */
@media print,screen and (min-width: 1001px) {
/*********************
* HEADER
*********************/

header .logo a {
	width: 110px;
	border-right: none;
	padding-right: 0;
}

header .h_nav .menu2 > li.reservation {
	border-radius: 40px;
}

/*********************
* FOOTER
*********************/

footer .footer_top .btns {
	justify-content: flex-end;
}

footer .footer_bottom .left {
	width: 75%;
}

footer .footer_bottom .right {
	display: block;
	width: 25%;
}

footer .footer_bottom .right .menu1 {
	width: 100%;
}

footer .footer_bottom .right .menu1 li {
	font-size: 1.143em;
}

/*********************
* トップページ
*********************/

#top .s8::before {
	display: none;
}

#top .s8_list dd div .btns li {
	width: 45%;
	margin-top: 20px;
}

#top .s8_list dd div .btns li:nth-child(even) {
	margin-left: 20px;
}

#top .s8_list dd div .btns li .btn1 {
	width: 100%;
	background-image: none;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-right: 30px;
}
#top .s8_list dd div .btns li.maebashi .btn1 {
	background-color: #1872d9;
}

#top .s9 {
  margin-bottom: 60px;
}

#top .s9 .contents_inner {
  background: url(../images/top/img22_mainsite.jpg) no-repeat right top;
  padding-top: 100px;
}

#top .s9 .caption {
  margin-bottom: 70px;
}

#top .s9 .list {
  margin-bottom: 450px;
}

#top .s9 .list li {
  font-size: 1.286em;
  background: no-repeat left center;
  background-size: 22px auto;
  padding-left: 35px;
}
#top .s9 .list li.circuit1 {
  background-image: url(../images/membership/icon_map01.png);
}
#top .s9 .list li.circuit2 {
  background-image: url(../images/membership/icon_map02.png);
}

#top .s9 .list li + li {
  margin-top: 20px;
}

#top .s9_box {
	padding-bottom: 150px;
	position: relative;
}

#top .s9_box::before {
	content: "";
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 96.25vw;
	height: calc(100% - 50px);
	background-color: #f8f8f8;
	border-radius: 20px;
}

#top .s9_box .item + .item {
	margin-top: 70px;
}

#top .s9_box .item .img {
	width: 53.34%;
}

#top .s9_box .item .img img {
	border-radius: 20px;
}

#top .s9_box .item .text {
	width: 40%;
}

#top .s9_box .item .text h3 {
	font-size: 2.143em;
	line-height: 1.3;
	letter-spacing: .1em;
	margin-bottom: 30px;
}

#top .s9_box .item .text h3 .f_en {
	display: block;
	font-size: .533em;
	color: #425744;
	line-height: 1;
}
#top .s9_box .item.maebashi .text h3 .f_en {
	color: #2379db;
}

#top .s9_box .item .text p {
	font-size: 1.143em;
}

#top .s9_box .item .text dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-top: 10px;
}

#top .s9_box .item .text dl dt {
	width: 5em;
	font-size: 1.143em;
	margin-bottom: 10px;
}

#top .s9_box .item .text dl dd {
	width: calc(100% - 5em);
	font-size: 1.143em;
	line-height: 1.5;
	margin-bottom: 10px;
}

#top .s9_box .item .text dl dd small {
	font-size: .875em;
}

#top .s9_box .item .text .btns {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

#top .s9_box .item .text .btns li {
	width: 49%;
}

#top .s9_box .item .text .btns li .btn1 {
	width: 100%;
	background-position: right 20px center;
	padding: 7px 60px 7px 30px;
}
#top .s9_box .item.maebashi .text .btns li .btn1 {
	background-color: #1872d9;
}

#top .s9_box .item .text .btns li .btn1 span {
	display: block;
	font-size: .889em;
}

/*********************
* はじめての方へ
*********************/

#for_beginners .s6_box::after {
	content: "";
	display: block;
  width: 31.67%;
}

#for_beginners .s6_box .item {
  width: 31.67%;
	padding-right: 1.67%;
}

#for_beginners .s6_box .item:nth-child(even) {
  margin-top: 0;
  padding: 0 1.67% 0 0;
}
#for_beginners .s6_box .item:nth-child(2) {
	margin-top: 60px;
}
#for_beginners .s6_box .item:nth-child(3) {
	margin-top: 120px;
}
#for_beginners .s6_box .item:nth-child(4) {
	margin-top: -60px;
}

#for_beginners .s6_box .item .text {
  width: 100%;
  margin: -20px 0 0 auto;
  padding: 4.17%;
  position: relative;
	right: -5.56%;
}

#for_beginners .s6_box .item .text h3 {
	font-size: 1.857em;
	margin-bottom: 0;
}

#for_beginners .s6_box .item .text h4 {
	color: #43bf86;
	margin-bottom: 10px;
}

/*********************
* カートの楽しみ方
*********************/

#htek .s1 .item.item6 .text .btns {
  display: flex;
	justify-content: space-between;
}

#htek .s1 .item.item6 .text .btns li {
  width: 49%;
}

#htek .s1 .item.item6 .text .btns li a {
	line-height: 1.3;
	border-radius: 40px;
}

#htek .s2 .sidebar .btns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
  margin-top: 10px;
}

#htek .s2 .sidebar .btns li {
	width: 48%;
	margin-top: 20px;
}

#htek .s2 .sidebar .btns li a {
	display: block;
	font-size: 1.286em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: .1em;
	background-color: #425744;
	border-radius: 40px;
	padding: 15px 0;
	transition: ease all .5s;
}
#htek .s2 .sidebar .btns li.toki a {
	padding: 4px 0 3px;
}
#htek .s2 .sidebar .btns li.maebashi a {
	background-color: #1872d9;
}

#htek .s2 .sidebar .btns li a span {
	display: block;
}

#htek .s2 .sidebar .btns li a:hover {
	opacity: .7;
}

/*********************
* サイトマップ
*********************/

#sitemap .s1 .left dl {
	width: calc(100% / 3);
}

/*********************
* 予約
*********************/

#reservation .s1 {
  margin: 120px 0 180px;
}

#reservation .s1_box > p {
	font-size: 1.286em;
	text-align: center;
}

#reservation .s1_box .select_facilities {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	margin: 50px auto 0;
}

#reservation .s1_box .select_facilities::after {
	content: "";
	display: block;
	width: 326px;
}

#reservation .s1_box .select_facilities li {
	list-style-type: none;
	width: 326px;
	height: 186px;
	background-repeat: no-repeat;
	margin-bottom: 20px;
	position: relative;
}

#reservation .s1_box .select_facilities li.hamana {
	background-image: url(../images/reservation/img04.jpg);
}
#reservation .s1_box .select_facilities li.maishima {
	background-image: url(../images/reservation/img05.jpg);
}
#reservation .s1_box .select_facilities li.hanna {
	background-image: url(../images/reservation/img06.jpg);
}
#reservation .s1_box .select_facilities li.maebashi {
	background-image: url(../images/reservation/img07.jpg);
}
#reservation .s1_box .select_facilities li.toki {
	background-image: url(../images/reservation/img08.jpg);
}

#reservation .s1_box .select_facilities li a img {
	display: block;
	position: absolute;
	top: 82px;
	left: 0;
}

#reservation .s1_box .select_facilities li a img:hover {
	opacity: .7;
}

#reservation .s1_box .select_shop {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}

#reservation .s1_box .select_shop::after {
	content: "";
	display: block;
	width: 31.67%;
}

#reservation .s1_box .select_shop li {
	list-style-type: none;
	width: 31.67%;
	min-height: 285px;
	font-size: 2.286em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	margin-bottom: 20px;
	position: relative;
}

#reservation .s1_box .select_shop li a {
	display: block;
	height: 100%;
	color: #fff;
	text-decoration: none;
	background: #425744 url(../images/reservation/img01.png) no-repeat center 40px;
	background-size: 87px auto;
	border-radius: 20px;
	padding: 100px 10px 0;
	transition: ease all .5s;
}
#reservation .s1_box .select_shop li.maebashi a {
	background-color: #fe8236;
}

#reservation .s1_box .select_shop li a small {
	display: block;
	font-size: .8125em;
}

#reservation .s1_box .select_shop li a p {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: .5625em;
	color: #fff;
	text-align: center;
	border-top: 1px solid #fff;
	padding: 20px 0;
}

#reservation .s1_box .select_shop li a:hover {
	background-color: rgba(66, 87, 68, .7);
}
#reservation .s1_box .select_shop li.maebashi a:hover {
	background-color: rgba(254, 130, 54, .7);
}

} /* @media print,screen and (min-width: 1001px) */



/* SP */
@media screen and (max-width: 1000px) {
/*********************
* HEADER
*********************/

header .logo a {
	width: 20.3125vw;
	border-right: none;
	padding-right: 0;
}

.g_nav .g_nav_box .right .menu2 li:not(.english) {
	width: 100%;
}

.g_nav .g_nav_box .right .menu2 li.reservation a {
	border-radius: 40px;
}

/*********************
* FOOTER
*********************/

footer .footer_top {
	display: block;
	position: relative;
}

footer .footer_top .shop_info {
	width: 100%;
}

footer .footer_top .btns {
	position: absolute;
	top: 0;
	right: 0;
}

/*********************
* トップページ
*********************/

#top .s8::before {
	display: none;
}

#top .s8_list dd div .btns li {
	width: 100%;
	margin-top: 3vw;
}

#top .s8_list dd div .btns li .btn1 {
	width: 100%;
	text-align: center;
	background-image: none;
	padding: 3vw 0;
}
#top .s8_list dd div .btns li.maebashi .btn1 {
	background-color: #1872d9;
}

#top .s9 {
  margin-bottom: 10vw;
}

#top .s9 .contents_inner {
  background: url(../images/top/img22_sp_mainsite.jpg) no-repeat center 15vw;
  background-size: 90.9375vw auto;
  padding: 0;
}

#top .s9 .caption {
  margin-bottom: 7vw;
  padding-left: 10.9375vw;
}

#top .s9 .caption span {
  display: block;
}

#top .s9 .list {
  margin-bottom: 65vw;
  padding-left: 10.9375vw;
}

#top .s9 .list li {
  font-size: 1.077em;
  background: no-repeat left center;
  background-size: 4.6875vw auto;
  padding-left: 7vw;
}
#top .s9 .list li.circuit1 {
  background-image: url(../images/membership/icon_map01.png);
}
#top .s9 .list li.circuit2 {
  background-image: url(../images/membership/icon_map02.png);
}

#top .s9 .list li + li {
  margin-top: 1.5vw;
}

#top .s9_box {
	padding: 0 7vw;
	padding-bottom: 13vw;
	position: relative;
}

#top .s9_box::before {
	content: "";
	position: absolute;
	top: 13.125vw;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	width: 100%;
	height: calc(100% - 13.125vw) ;
	background-color: #f8f8f8;
	border-radius: 20px;
}

#top .s9_box .item + .item {
	margin-top: 10vw;
}

#top .s9_box .item .img {
	width: 100%;
	margin-bottom: 5vw;
}

#top .s9_box .item .img img {
	border-radius: 20px;
}

#top .s9_box .item .text {
	width: 100%;
}

#top .s9_box .item .text h3 {
	font-size: 1.385em;
	line-height: 1.3;
	letter-spacing: .1em;
	margin-bottom: 3vw;
}

#top .s9_box .item .text h3 .f_en {
	display: block;
	font-size: .667em;
	color: #425744;
	line-height: 1;
}
#top .s9_box .item.maebashi .text h3 .f_en {
	color: #2379db;
}

#top .s9_box .item .text dl {
	margin-top: 3vw;
}

#top .s9_box .item .text dl dd {
	line-height: 1.5;
	margin-bottom: 3vw;
}

#top .s9_box .item .text dl dd small {
	font-size: .923em;
}

#top .s9_box .item .text .btns {
	margin-top: 3vw;
}

#top .s9_box .item .text .btns li + li {
	margin-top: 3vw;
}

#top .s9_box .item .text .btns li .btn1 {
	width: 100%;
	background-position: right 20px center;
	padding: 2vw 55px 2vw 7vw;
}
#top .s9_box .item.maebashi .text .btns li .btn1 {
	background-color: #1872d9;
}

#top .s9_box .item .text .btns li .btn1 span {
	display: block;
}

/*********************
* はじめての方へ
*********************/

#for_beginners .s6_box .item .text h3 {
	font-size: 1.231em;
	margin-bottom: 0;
}

#for_beginners .s6_box .item .text h4 {
	font-size: .923em;
	color: #43bf86;
	margin-bottom: 3vw;
}

/*********************
* カートの楽しみ方
*********************/

#htek .s1 .item.item6 .text .btns li + li {
	margin-top: 3vw;
}

#htek .s1 .item.item6 .text .btns li a {
	line-height: 1.3;
	border-radius: 40px;
	padding: 1vw 0;
}

#htek .s2 .sidebar .btns {
	width: calc(90vw * .9);
  margin: 3vw auto 0;
}

#htek .s2 .sidebar .btns li + li {
	margin-top: 3vw;
}

#htek .s2 .sidebar .btns li a {
	display: block;
	font-size: 1.077em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: .1em;
	background-color: #425744;
	border-radius: 40px;
	padding: 3vw 0;
}
#htek .s2 .sidebar .btns li.maebashi a {
	background-color: #1872d9;
}

/*********************
* 予約
*********************/

#reservation .s1 {
  margin: 13vw 0;
}

#reservation .s1_box .select_facilities {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 326px;
	margin: 7vw auto 0;
}

#reservation .s1_box .select_facilities li {
	list-style-type: none;
	width: 326px;
	height: 186px;
	background-repeat: no-repeat;
	margin-bottom: 7vw;
	position: relative;
}

#reservation .s1_box .select_facilities li.hamana {
	background-image: url(../images/reservation/img04.jpg);
}
#reservation .s1_box .select_facilities li.maishima {
	background-image: url(../images/reservation/img05.jpg);
}
#reservation .s1_box .select_facilities li.hanna {
	background-image: url(../images/reservation/img06.jpg);
}
#reservation .s1_box .select_facilities li.maebashi {
	background-image: url(../images/reservation/img07.jpg);
}
#reservation .s1_box .select_facilities li.toki {
	background-image: url(../images/reservation/img08.jpg);
}

#reservation .s1_box .select_facilities li a img {
	display: block;
	position: absolute;
	top: 82px;
	left: 0;
}

#reservation .s1_box .select_shop {
	margin-top: 7vw;
}

#reservation .s1_box .select_shop li {
	list-style-type: none;
	font-size: 1.846em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1.3;
}

#reservation .s1_box .select_shop li + li {
	margin-top: 5vw;
}

#reservation .s1_box .select_shop li a {
	display: block;
	height: 100%;
	color: #fff;
	text-decoration: none;
	background: #425744 url(../images/reservation/img01.png) no-repeat center 7vw;
	background-size: 87px auto;
	border-radius: 20px;
	padding-top: 18vw;
}
#reservation .s1_box .select_shop li.maebashi a {
	background-color: #fe8236;
}

#reservation .s1_box .select_shop li a small {
	display: block;
	font-size: .75em;
}

#reservation .s1_box .select_shop li a p {
	font-size: .583em;
	color: #fff;
	text-align: center;
	border-top: 1px solid #fff;
	margin-top: 5vw;
	padding: 3.5vw 0;
}

} /* @media screen and (max-width: 1000px) */