:root{
	--primary-color: #419dc3;
}

@media screen and (min-width: 801px) {
	div#container div#content div#main_visual div.page_navi_large p.text>br,
	div#container div#content div#main_visual div.wrap p.text{display:none;}/*PCではwrapのテキストを非表示*/
}

@media (min-width: 801px) and (max-width: 1280px) {
	div#container div#content div#main_visual div.wrap h2 img{width:70%;}
}

@media screen and (max-width: 800px) {
	div#container div#content div#main_visual div.wrap p.text{display:block;}
	div#container div#content div#main_visual div.wrap p.text>br,
	div#container div#content div#main_visual div.page_navi_large p.text{display:none;}/*SPではnaviのテキストを非表示*/
	
	h3{
		font-size: 40px;
	}
	
	
	/***header***/
	
	
	div#container div#header h1{
		position: absolute;
    	top: 17px;
    	left: 17px;
	}
	
	p.menu_bt{
		z-index: 100;
	}
	
	div.g_navi{
		background:rgba(0,0,0,0.85);
		height: 100vh;
		width: 100%;
		position: fixed;
		top: -100vh;
		left: 0;
		z-index: 20;
	}
	.g_navi.open{
		top: 70px;
		transition:0.3s;
	}
	
	div.g_navi ul{
		width: 100%;
		position: absolute;
		top: 10%;
		left: 0;
	}
	
	div.g_navi ul li.menu_detail_bt{
		font-size: 18px;
		clear:both;
  		padding: 0 0;
		margin: 15px 0 15px;
		width: 100%;
	}
	div#container div#header ul li > a:after {
		opacity: 1;
		font-size: 12px;
	}
	
	div#container div#header p.conversion a{
		position: absolute;
		top: 13px;
		right: 55px;
		padding: 12px 20px;
	}
	p.menu_bt{
		display: block;
		position: absolute;
    	top: 23px;
    	right: 15px;
	}
	
	div#container div#header p.conversion a{
        position: absolute;
        top: 13px;
        right: 50px;
        background:#FFFFFF;
        height: 18px;
        border-radius: 25px;
        padding: 12px 40px 12px 25px;
        font-size: 13px;
	}
	div#container div#header p.conversion span.img{
		position: absolute;
		top: 12px;
		left: 126px;
	}
	
	div#container div#header div.page_navi{
		position: fixed;
		top:60px;
		background: var(--primary-color);
		width: 100vw;
		height: 44px;
		z-index: 30;
	}
	
	div#container div#header div.page_navi ul {
    	position: relative;
    	top: 0;
    	left: 0;
   	 	text-align: center;
    	width: 300px;
    	height: 50px;
    	margin: 0 auto;
	}
	div#container div#header div.page_navi ul li {
   		font-size: 14px;
   		float: left;
  	  	padding: 0 0;
    	margin: 6px 25px;
		position: relative;
	}
	div#container div#header div.page_navi ul li span{
   		position: absolute;
        top: 12px;
        left: -35px;
        margin: 5px -130px 0 0;
        text-align: center;
        font-size: 12px;
        width: 120px;
        transform: scale(0.6);
	}
	
	
	p.menu_bt_pc{
		display: none;
	}
	
	p.close_bt{
		display: none;
	}
	
	
	/**kv****/
	

div#container div#content div#main_visual::after{
	width:80%;
	height: 90%;
}	
	div#container div#content div#main_visual div.wrap {
    	width: 85vw;
    	max-width: 550px;
    	padding: 20px;
	}
	div#container div#content div#main_visual div.wrap p{
    	margin: 20px 0 0 0;
	}
	div.cam{
		width: 180px;
		position: absolute;
		right: 5%;
		bottom: 3%;
	}
	div.cam img{
		width: 100%;
		
	}
	div.page_navi_large{
        position: absolute;
        bottom: -50px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        text-align: center;
        width:auto;
		z-index:2;
	}
	
	div.page_navi_large ul {
		display:block;
	}
	
	div.page_navi_large ul li a{
        font-size: 17px;
        display: block;
        border: 1px solid white;
        width: 280px;
        height: 33px;
        border-radius: 80px;
        line-height: 36px;
        margin: 20px 0;
        position: relative;
	}
	div.page_navi_large ul li.kofu a{
		line-height: 36px;
	}
	
	div.page_navi_large ul li span{
		position: relative;
		display: inline;
		top:-1px;
		margin: 0 0 0 0;
	}

	
	
	/***news***/
	
	div#container div#content div#news{
		padding: 40px 20px 40px;
	}
	div#container div#content div#news h3{
		margin: 0 0 20px 0;
	}
	div#container div#content div#news p.newsitem{
		font-size: 14px;
		margin: 10px auto 25px;
		text-align: center;
	}
	div#container div#content div#news p.newsitem span.date{
		display: block;
		font-size: 14px;
		margin: 0 0 5px 0;	
	}
	
	
	
	
	/***about***/
	
	div#container div#content div#about{
		padding: 40px 20px 40px;
	}
	div#container div#content div#about div.carousel_banner {
    	margin: 40px 0 80px;
	}
	div#container div#content div#about p {
    	line-height: 2.2em;
    	letter-spacing: 0.1em;
    	font-size: 15px;
		text-align: left;
	}
	div#container div#content div#about p br{
    	display: none;
	}
	
	
	.slick-next {
    	right: -10px;
	}
	.slick-prev {
    	left: -10px;
	}
	
	li.slick-slide{
		margin: 0 18px;
	}
	
	.slick-dots li button:before {
    	font-size: 5px;
    	top: 0;
   	 	left: 3px;
	}
	
	
	/**simulator***/
	
	div#container div#content div#simulator div.wrapper {
        min-width: 100%;
		padding: 0 0 40px 0;
	}
	div#container div#content div#simulator {
    	background: #FFFFFF;
    	padding: 40px 20px 0;
	}
	div#container div#content div#simulator h4 {
    	margin: 0 0 40px 0;
	}
	div#container div#content div#simulator div.left {
    	width: calc(100%);
    	padding: 0 0 0 0;
	}
	div#container div#content div#simulator div.right {
    	width: calc(100%);
    	padding: 0 0 0 0;
	}
	div#container div#content div#simulator div.right h5 {
    	margin: 30px 0 30px 0;
		width: 250px;
	}
	div#container div#content div#simulator div.right p.image {
    	bottom: 135px;
		width: 100px;
	}
	div#container div#content div#simulator div.right p.image2{
    	bottom: 108px;
	}
	div#container div#content div#simulator div.right p.image img{
    	width: 100%;
	}
	div#container div#content div#simulator div.right p.txt {
    	font-size: 18px;
    	letter-spacing: 0.1em;
    	line-height: 1.8;
	}
	div#container div#content div#simulator div.right p.txt br{
    	display: none;
	}
	div#container div#content div#simulator div.wrapper div.p_wrap {
    	width: calc(100%);
    	padding: 0 10px 20px;
    	box-sizing: border-box;
	}
	div#container div#content div#simulator div.space{
		margin: 20px 0 0 0;
	}
	div#container div#content div#simulator div.wrapper div.p_wrap p.title {
   		font-size: 18px;
	}
	div#container div#content div#simulator div.sokutei p.image {
    	padding: 0 40px;
    	box-sizing: border-box;
	}
	
	
	/**practice**/
	
	div#container div#content div#simulator div.practice p.text {
    	text-align: center;
	}
	
	div#container div#content div#simulator div.practice div.wrap div.left {
    	width: calc(100%);
	}
	div#container div#content div#simulator div.practice div.wrap div.right {
   		width: calc(100%);
		padding: 0 0 0 0;
	}
	div#container div#content div#simulator div.practice div.wrap div.right h6{
		font-size: 24px;
		margin: 0 0 20px 0;
		padding: 0 0 0 5px;
	}
	div#container div#content div#simulator div.practice div.wrap div.right p.mode {
    	margin: 25px 0 15px 0;
	}
	div#container div#content div#simulator div.practice div.wrap div.right p.text {
    	font-size: 14px;
		text-align: left;
		margin: 15px 0 0 0;
	}
	div#container div#content div#simulator div.practice div.wrap {
    	margin: 0 0 30px 0;
	}
	
	/*special*/
	
	div#container div#content div#special {
		padding: 60px 20px 60px;
		height: auto;
	}
	
	div#container div#content div#special div.wrap {
        border: none;
        max-width: 700px;
        width: 100%;
        min-height: auto;
        border-radius: 5000px;
	}
	div#container div#content div#special div.wrap h3 {
    	margin:0;
		padding: 20vw 0 0;
		color: var(--primary-color);
	}
	div#container div#content div#special div.wrap h4 {
		color: var(--primary-color);
	}
	div#container div#content div#special div.circle {
    	background: #FFFFFF;
    	height: 80VW;
    	width: 80VW;
    	margin: 0 auto;
    	border-radius: 5000px;
	}
	div#container div#content div#special div.wrap p.atention {
    	font-size: 5vw;
    	width: 52vw;
    	border-bottom: none;
    	margin: 5vw 0 0;
    	color: var(--primary-color);
	}
	div#container div#content div#special div.wrap p.atention span{
	    background: linear-gradient(transparent 70%, #EEEDDA 50%);
	}
	div#container div#content div#special div.wrap p.text {
    	margin: 30px 0 0;
    	line-height: 1.8;
		font-size: 14px;
	}
	div#container div#content div#special div.wrap p.button a {
    	font-size: 14px;
	}
	div#container div#content div#special div.wrap div.in_circle{
		border: none;
		min-height: auto;
		width: 100%;
		height: auto;
		border-radius: 5000px;
		display:block;
		text-align: center;
		margin: 0 0 0 0;
	}
	
	
	/**how**/
	div#container div#content div#how {
    	background: #EEEDDA;
    	padding: 40px 0 40px;
    	text-align: center;
	}
	div#container div#content div#how div.carousel_banner {
    	margin: 40px 0 40px;
	}
	div#container div#content div#how li {
    	
	}
	div#container div#content div#how p.button a {
    	margin: 20px 0 20px;
	}
	div#container div#content div#how div.margin{
		padding: 0 15px;
	}
	div#how .slick-next {
    	right: 10px;
	}
	div#how .slick-prev {
    	left: 10px;
	}
	
	div#container div#content div#how div.app p.apple{
	position: absolute;
	bottom: 28px;
	right: 153px;
	width: 90px;
	}
	div#container div#content div#how div.app p.googleplay{
	position: absolute;
	bottom: 20px;
	right: 21px;
	width: 130px;
	}
	
	
	/***shop****/
	
	div#container div#content div#shop {
    	background: #ffffff;
    	padding: 40px 20px 0;
    	text-align: center;
	}
	div#container div#content div#shop div.wrap {
    	padding: 20px 0 0 0;
    	margin: 0 0 10px 0;
	}
	div#container div#content div#shop h5 {
	    width: 100%;
		font-size: 16px;
    	margin: 40px 0 0;
		padding: 5px 0;
	}
	div#container div#content div#shop div.wrap div.left,
	div#container div#content div#shop div.wrap div.right{
    	width: calc(100%);
		padding:20px 0;
	}	
	div#container div#content div#shop div.wrap div.right div.table1 div.miniwrap_left{
    	width: calc(100%);
		margin: 0;
	}
	div#container div#content div#shop div.wrap div.right div.table1 div.miniwrap_right{
    	width: calc(100%);
	}
	div#container div#content div#shop div.wrap div.right div.set {
    	margin: 0 0 20px 0;
	}
	div#container div#content div#shop h6 {
       	margin: 0 0 10px 0;
	}
	div#container div#content div#shop div.wrap div.right div.table2{
		text-align: center;
	}
	div#container div#content div#shop div.wrap div.right div.table2 div.miniwrap_left{
		width: calc(100%);
		padding: 0 0 0 0;
	}
	div#container div#content div#shop div.wrap div.right div.table2 div.miniwrap_right{
		width: calc(100%);
	}
	div#container div#content div#shop div.wrap div.right div.table2 div.set p.title {
	    width: 100%;
		margin: 0 0 5px 0;
	}
	
	
	/****member****/
	
	div#container div#content div#shop div.wrapper div.box {
		margin: 30px auto 20px;
		width: 100%;
	}
	
	div#container div#content div#shop div.wrapper div.box div.member {
    	width: calc(100%);
    	padding: 12px 30px;
    	box-sizing: border-box;
	}
	div#container div#content div#shop div.wrapper div.box div.member p.image{
    	width: calc(60%);
		margin: 0 auto;
	}
	div#container div#content div#shop div.wrapper div.box div.member p.title {
    	margin: 10px 0 8px 0;
	}
	div#container div#content div#shop div.wrapper div.box2 div.wrap {
    	margin: 0 0 0 0;
    	padding: 20px 0 5px;
	}
	div#container div#content div#shop p.button a {
    	margin: 10px 0 50px;
	}
	div#container div#content div#shop div#map {
    	width: 100%;
    	height: 400px;
    	margin: 50px 0 0 -20px;
	}
	div#container div#content div#shop div#map iframe {
    	width: 100vw;
	}
	
	
	/******/
	
	div#container div#content div#price {
    	padding: 40px 20px 40px;

	}
	div#container div#content div#price div.wrapper {
    	max-width: 1000px;
    	min-width: 100%;
    	padding:0;
	}
	div#container div#content div#price div.wrapper div.boxset div.minibox{
		width: calc(100%);
		padding:0 0 20px;
	}
		div#container div#content div#price div.wrapper div.boxset div.halfbox{
		width: calc(100%);
		padding:0 0 20px;
	}
	div#container div#content div#price div.wrapper div.box {
    	margin: 0 0 40px;
	}
	div#container div#content div#price div.wrapper div.box p.detail {
    	padding: 30px 8px 35px;
    	box-sizing: border-box;
	}
	div#container div#content div#price div.wrapper div.boxset div.minibox span.mini {
    	bottom: 25px;
	}
	
	/****reserve****/
	

	div#container div#content div#reserve {
    	background: var(--primary-color);
    	padding: 40px 20px 80px;
    	color: white;
    	text-align: center;
	}
	div#container div#content div#reserve div.wrap h3 {
    	margin: 20px 0 0;
	}
	div#container div#content div#reserve div.wrap p.text {
		margin: 30px 0 0;
		text-align: center;
	}
	
	/***contact***/
	
	div#container div#content div#reserve div.wrap p.button a {
		width: 100%;
    	padding: 15px 0;
	}
	div#container div#content div#contact {

    	padding: 40px 20px 100px;
	}
	div#container div#content div#contact p.button a {
    	margin: 10px 0 20px;
    	padding: 10px 0;
    	width: 100%;
	}
	
	/***footer***/
	
	div#footer {
    	padding: 30px 20px 50px;
	}
	div#footer div.wrap {
		width: 100%;
    	display: block;
    	text-align: center;
	}
	div#footer div.wrap p {
    	clear: both;
		font-size: 16px;
    	margin: 0 0 15px;
		width: 100%;
	}
	
	
	/***/
	body.privacy div.wrapper {
    	margin: 10px auto 150px;
	}
	
	body.privacy div.box {
    	padding: 110px 0 0 0;
	}
	
	body.privacy div.wrapper h2 {
    	margin: 0 0 30px;
	}
	
	
	
    /****tsukuba******/
	/*
	br.br_onoff{
		display: block;
	}

    body.tsukuba div#container div#content div#shop div.wrapper div.box div.member{
        box-sizing: border-box;
        padding: 20px 25px;
		width: calc(100%/2);
    }
	
    body.tsukuba div.cam {
        width: 125px;
        position: absolute;
        right: 5%;
        bottom: 29%;
    }
	
	 body.tsukuba div#container div#content div#main_visual div.wrap {
		 max-width: 550px;
		 width: 85vw;
       position: absolute;
       top: 36%;
       left: 50%;
	}
	
	 body.tsukuba div.page_navi_large {
        position: absolute;
        bottom: -80px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        text-align: center;
        width: auto;
	}
	
	body.tsukuba div#container div#content div#main_visual div.wrap p.text02{
        font-size: 16px;
        color: #FFFFFF;
        margin: 20px auto 0;
        letter-spacing: 0.2em;
        width: 300px;
        text-align: center;
	}
	
	body.tsukuba div#container div#content div#main_visual div.wrap p.text {
		font-size: 12px;
        color: #FFFFFF;
        margin: 20px auto 0;
        letter-spacing: 0.2em;
		width: 250px;
	}
	
	body.tsukuba div#container div#content div#main_visual{
	height: 110VH;
	width: 100%;
	position: relative;
	}*/
	
	/*kofu*/ 
	
/*	body.kofu div#container div#content div#main_visual{
	height: 110VH !important;
	width: 100%;
	position: relative;
	}*/
	
	
	body.kofu div#container div#content div#shop div.wrapper div.box div.member {
		box-sizing: border-box;
		padding: 20px 25px;
		width: 100% !important;
	}
	
	body.kofu div.cam {
width: 125px;
position: absolute;
right: 5%;
bottom: 32%;
}
	

ul.insta_list li {
  width: 50%;
}
	
	
	
}


