body{
	font-family: YuGothic,  /* For Mac */
		"Yu Gothic M", "Yu Gothic Medium",  /* For Windows Firefox, Edge, IE */
		"Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",  /* For Mac Fallback */
		Meiryo,  /* For Windows Fallback (Chrome) */
		sans-serif;
	color: #333;
	box-sizing: border-box;
	overflow: hidden;
}
a:hover{
	opacity:.7;
}
a{
	color: #333;
	text-decoration: underline;
}
span.tsume_01 {
	letter-spacing: -0.1em;
}

@media (max-width: 767px) {
	body {
		min-width: auto;
		width: auto;
	}
	
}


/*pc-cp*/
.ib {
	display: inline-block;
}

@media (min-width: 768px) {
	.pcVisible {  
	}
	.spVisible {
		display: none;
	}
	a[href^="tel:"] {
		pointer-events: none;
		color: #333;
		text-decoration: none;
	}
}
@media (max-width: 767px) {
	.pcVisible { 
		display: none; 
	}
	.spVisible {
	}
}

	

/**/
#header{
	width:100%;
	height: 41.0625%; 
	position: relative;
}
#header .pgr {
	position:absolute;
	top: 0;
	left: 0;
	padding-top: 20px;
	padding-left:20px;
	width: 260px;
	max-width: 39%;
	z-index:10;
}
#header .pgr img {
	width: 100%;
}
#header .prince {
	position:absolute;
	top: 0;
	right: 0;
	padding-top: 10px;
	padding-right: 75px;
	width: 120px;
	max-width: 34.4%;
	z-index:11;
}
#header .prince img {
	width: 100%;
}

@media (max-width: 767px) {
	#header{
		min-width: auto;
		height: 360px;
		overflow: hidden;
	}
	#header .pgr {
		padding-top: 15px;
		padding-left:10px;
		width: 260px;
	}
	#header .prince {
		top: 0;
		left: inherit;
		right: 0;
		padding-top: 10px;
		padding-right:60px;
		width: 100px;
	}
}

#header .h1Box{
	position:absolute;
	left:0;
	top:25%;
	/*top:80px;*/
	width: 100%;
	text-align: center;
	z-index:2;
}
#header p.titleLogo {
	margin: 0 auto;
	text-align: center;
}
#header p.titleLogo img {
	width: 265px;
}
#header .h1Box h1{
	font-family: YuMincho,
		"Yu Mincho", "Yu Mincho Medium",
		"Hiragino Mincho ProN", "Hiragino Mincho Pro", Meiryo;
	text-align:center;
	margin-top: 20px;
	font-size: 60px;
	/*font-size: 40px;*/
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.2em;
	/*text-shadow: 
		1px 1px 1px rgba(0,0,0,0.1),
        1px -1px 1px rgba(0,0,0,0.1),
        -1px 1px 1px rgba(0,0,0,0.1),
        -1px -1px 1px rgba(0,0,0,0.1),
        2px 2px 2px rgba(0,0,0,0.2),
        2px -2px 2px rgba(0,0,0,0.2),
        -2px 2px 2px rgba(0,0,0,0.2),
        -2px -2px 2px rgba(0,0,0,0.2);*/
}

@media (max-width: 767px) {
	#header p.titleLogo img {
		width: 200px;
	}
	#header .h1Box h1{
		font-size: 36px;
		/*font-size: 32px;*/
		line-height: 1.2;
		margin-right: -0.2em;
	}
}

/* Opening
-----------------------------------------*/
.Opening {
	width: 100%;
	margin-bottom: -30px;
}
.Opening ul li{
	overflow: hidden;
	width: 100%;
	text-align: center;
}
.Opening ul li span {
}
.Opening ul li span .Opening__img{
	max-width: inherit;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) and (min-width: 585px) {
	.Opening {
		margin-bottom: 0;
		height: 360px;
	}
	.Opening ul li span {
		display: block;
		text-align: center;
	}
	.Opening ul li span .Opening__img {
		height: 360px;
		width: auto;
	}
}
@media (max-width: 584px) {
	.Opening {
		margin-bottom: 0;
		height: 360px;
	}
	.Opening ul li span {
		display: block;
		margin-left: -50%;
		text-align: center;
	}
	.Opening ul li span .Opening__img {
		height: 360px;
		width: auto;
	}
}


/**/
.ctsWrap {
	width: 100%;
	min-width: 1300px;
	background: #f2f2f2;
	margin: 0;
	padding: 0;
}
.cts{
	width:1240px;
	padding: 0 30px;
	margin: 0 auto;	
}
.bgGrad {
	background: #f6f6f6; /* Old browsers */
	background: -moz-linear-gradient(top,  #f6f6f6 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #f6f6f6 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #f6f6f6 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

@media screen and (max-width: 767px) {
	.ctsWrap {
		width: auto;
		min-width: 320px;
	}
	.cts{
		width: 90%;
		padding: 0 5%;
	}
}


/*info ------------------------------------*/
.secInfo {
	width: 100%;
	position: relative;
	top: -90px;
	left: 0;
	margin-top: 0px;
}
.secInfo figure {
	width: 100%;
}
.secInfo figure img {
	width: 100%;
	
}

@media screen and (max-width: 767px) {
	.secInfo {
		top: -30px;
	}
}

/*secAreaNav ------------------------------------*/
.secAreaNav {
	text-align: center;
	margin: 30px auto 0;
}
.secArea {
	text-align: center;
	margin: 0 auto;
}
.secAreaNav .h2Box,
.secArea .h3Box {
	display: inline-block;
	height: 25px;
	text-align: center;
	margin: 0 auto 50px;
}
.secAreaNav .h2Box h2,
.secArea .h3Box h3 {
	display: inline-block;
	font-size: 25px;
	line-height: 30px;
	height: 25px;
	color: #0e7134;
	padding: 0 30px;
}
.secAreaNav .h2Box::before,
.secAreaNav .h2Box::after,
.secArea .h3Box::before,
.secArea .h3Box::after {
	display: inline-block;
	content: " ";
	width: 110px;
	height: 25px;
	background: url("../images/bg_centerline.gif") repeat-x bottom center / 10px auto;
}

@media screen and (max-width: 767px) {
	.secAreaNav .h2Box h2,
	.secArea .h3Box h3 {
		display: inline-block;
		font-size: 18px;
		line-height: 22px;
		height: 22px;
		padding: 0 0.6em;
	}
	.secAreaNav .h2Box::before,
	.secAreaNav .h2Box::after,
	.secArea .h3Box::before,
	.secArea .h3Box::after {
		display: block;
		height: 22px;
		width: 100%;
	}
}
	
.secAreaNav ul {
	display: flex;
	justify-content: space-between;
	padding: 0 0 50px;
}
.secAreaNav ul li a {
	display: block;
	background: #00481f url("../images/arrow_w.svg") no-repeat left center / auto 45px;
	width: 147px; /*197-50*/
	height: 45px;
	line-height: 45px;
	padding-left: 50px;
	text-align: left;
}
.secAreaNav ul li a {
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.secAreaNav ul {
		display: flex;
		flex-wrap: wrap;
		margin-top: 30px;
	}
	.secAreaNav ul li:nth-child(odd) {
		width: calc(50% - 1px);
		margin-bottom: 2px;
		margin-right: 2px;
	}
	.secAreaNav ul li:nth-child(even) {
		width: calc(50% - 1px);
		margin-bottom: 2px;
	}
	.secAreaNav ul li a {
		width: auto;
		background: #00481f url("../images/arrow_w.svg") no-repeat -5px center / auto 45px;
		padding-left: 32px;
	}
}


/*secArea ------------------------------------*/
.secArea {
	padding: 50px 0;
}


/*courseBox ------------------------------------*/
.courseBox {
	background: #fff;
	padding: 30px;
	-webkit-box-shadow: 2px 2px 4px 1px rgba(0,0,0,0.3);
	-moz-box-shadow: 2px 2px 4px 1px rgba(0,0,0,0.3);
	box-shadow: 2px 2px 4px 1px rgba(0,0,0,0.3);
	text-align: left;
	position: relative;
	margin-bottom: 18px;
}
.courseBox::after {
	display: table;
	content: "";
	clear: both;
	overflow: hidden;
}
.courseBox h4 {
	font-size: 21px;
	font-weight: bold;
	margin-bottom: 28px;
}
.courseBox h4 span {
	font-size: 0.75em;
}
.courseBox h4 a {
	color: #333;
	text-decoration: underline;
}
.courseBox .tel {
	position: absolute;
	 top: 30px;
	 right: 30px;
	 text-align: right;
	 font-size: 21px;
}
.courseBox .courseInfo {
	float: left;
	width: 575px;
}
.courseBox .courseInfo figure,
.courseBox .courseInfo figure img {
	width: 100%;
}
.courseBox .courseInfo figure {
	position: relative;
}
.courseBox .courseInfo figure figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30px;
	display: block;
	text-align: center;
	background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 10%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.5) 90%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 10%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.5) 90%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 10%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.5) 90%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */
}
.courseBox .courseInfo figure figcaption span {
	line-height: 30px;
	font-size: 15px;
	background: url("../images/icon_cup.svg") no-repeat center left / 30px auto;
	padding-left: 35px;
}
.courseBox .courseInfo ul {
	margin: 20px 0 0;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}
.courseBox .courseInfo ul li {
	border: 1px solid #0e7134;
	color: #0e7134;
	text-align: center;
	font-size: 14px;
	width: calc((100% - 12px) / 3);
	margin-right: 3px;
	padding: 0.5em 0 0.5em;
	margin-top: 3px;
}
@media (min-width: 768px) {
	.courseBox .courseInfo ul {
		margin-right: -1px;
	}
	.courseBox .courseInfo ul li:nth-child(3n) {
		margin-right: 0;
	}
}
.courseBox .courseInfo ul li.tomonokaiplus {
	border: 1px solid #c30d23;
	color: #c30d23;
	width: 100%;
	margin-right: 0;
}
.courseBox .courseInfo ul li.tomonokaiplus span:before {
	display: inline-block;
	content: "";
	width: 30px;
	height: 20px;
	background: url("../images/icon_tomonokaiplus.svg") no-repeat center left / auto 100%;
	margin: -5px 0;
}

.courseBox .price {
	float: right;
	width: 575px;
	clear: right;
}
.courseBox .price h5 {
	background: #0e7134;
	color: #fff;
	padding: 0.6em 1em 0.5em;
	font-size: 14px;
	margin-top: 20px;
}
.courseBox .price h5:first-child {
	margin-top: 0;
}
.tblPrice {
	width: 100%;
	text-align: center;
	font-size: 15px;
	line-height: 1.4;
}
.tblPrice th,
.tblPrice td {
	padding: 0.2em 0 0.15em;
	vertical-align: middle;
}
.tblPrice th:nth-child(1) {
	color: #fff;
	background: #727171;
	width: 28%;
}
.tblPrice th:nth-child(2) {
	color: #fff;
	background: #d09c4e url(../images/bg_vline_w.gif) repeat-y;
	width: 24%;
}
.tblPrice th:nth-child(3) {
	color: #fff;
	background: #3f90be url(../images/bg_vline_w.gif) repeat-y;
	width: 24%;
}
.tblPrice th:nth-child(4) {
	color: #fff;
	background: #e08f9c url(../images/bg_vline_w.gif) repeat-y;
	width: 24%;
}
.tblPrice td:nth-child(2),
.tblPrice td:nth-child(3),
.tblPrice td:nth-child(4) {
	font-size: 18px;
}
.tblPrice tr:nth-child(even) td:nth-child(1) {
	background: #f7f8f8;
}
.tblPrice tr:nth-child(even) td:nth-child(2) {
	background: #feeed2 url(../images/bg_vline_w.gif) repeat-y;
}
.tblPrice tr:nth-child(even) td:nth-child(3) {
	background: #d5effb url(../images/bg_vline_w.gif) repeat-y;
}
.tblPrice tr:nth-child(even) td:nth-child(4) {
	background: #fbe4ef url(../images/bg_vline_w.gif) repeat-y;
}
.tblPrice tr:nth-child(odd) td:nth-child(1) {
	background: #e9ebeb;
}
.tblPrice tr:nth-child(odd) td:nth-child(2) {
	background: #f0e1c7 url(../images/bg_vline_w.gif) repeat-y;
}
.tblPrice tr:nth-child(odd) td:nth-child(3) {
	background: #c9e2ee url(../images/bg_vline_w.gif) repeat-y;
}
.tblPrice tr:nth-child(odd) td:nth-child(4) {
	background: #edd8e2 url(../images/bg_vline_w.gif) repeat-y;
}
.courseBox .price .note {
	font-size: 13px;
	line-height: 1.5;
}
.courseBox .price .tblPrice + .note {
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.courseBox {
		background: #fff;
		padding: 30px 10px 10px;
	}
	.courseBox h4 {
		font-size: 18px;
		line-height: 1.4;
		margin-bottom: 0;
	}
	.courseBox .tel {
		display: inline-block;
		position: relative;
		top: 0;
		right: 0;
		text-align: left;
		font-size: 15px;
		margin: 0.7em 0 1em auto;
		/*background: #e9f4ec;
		border: 1px solid #e2e2e2;
		padding: 0.6em 1.2em;*/
	}
	.courseBox .tel a {
		text-decoration: none;
		color: #0e7134;
	}
	.courseBox .courseInfo figure figcaption span {
		font-size: 13px;
	}
	.courseBox .courseInfo {
		float: none;
		width: 100%;
		margin-bottom: 30px;
	}
	.courseBox .courseInfo ul {
		margin: 20px 0 0;
	}
	.courseBox .courseInfo ul li {
		font-size: 12px;
		width: calc((100% - 8px) / 2);
		margin-right: 3px;
	}
	.courseBox .courseInfo ul li:nth-child(odd) {
		margin-right: 3px;
	}
	.courseBox .courseInfo ul li:nth-child(even) {
		margin-right: 0 !important;
	}
	.courseBox .courseInfo ul li.tomonokaiplus {
		margin-right: 1px !important;
	}
	.courseBox .price {
		float: none;
		width: 100%;
		clear: both;
	}
	.tblPrice {
		font-size: 14px;
	}
	.tblPrice th,
	.tblPrice td {
		padding: 0.5em 0 0.45em;
		vertical-align: middle;
	}
	.tblPrice td:nth-child(1) {
		font-size: 13px;
	}
	.tblPrice td:nth-child(2),
	.tblPrice td:nth-child(3),
	.tblPrice td:nth-child(4) {
		font-size: 14px;
	}

}


/**/
#pagetop{
  width: 40px;
  height: 40px;
  position: fixed;
  right: 8px;
  bottom: 10px;
  opacity: 1;
  z-index: 9990;
}
#pagetop img {
	width: 100%;
}
#pagetop a{
  position: relative;
  display: block;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
	#pagetop{
		width: 50px;
		height: 50px;
		bottom: 63px;
	}
}

#footer{
	background: #000;
	margin: 0 0 0;
	padding:0 0 60px;
	color: #fff;
	text-align: center;
}
#footer a,
#footer p{
	font-size: 12px;
	line-height:24px;
	/*max-height: 100%;*/
	color: #fff;
	text-decoration: none;
}
#footer a:hover {
	color: #ccc;
}
#footer .grTop {
	border-bottom: 1px solid #666;
	padding: 30px 10px;
}
#footer .prince,
#footer .seibu {
	display: inline-block;
	text-align: center;
	width: 140px;
	box-sizing: border-box;
	margin: 20px 0px;
}
#footer .prince img,
#footer .seibu img {
	width: 120px;
}
#footer .copyright {
	border-top: 1px solid #666;
	padding: 30px 10px;
}
@media (min-width: 768px) {
	#footer .prince,
	#footer .seibu {
		display: inline-block;
		text-align: center;
		width: 140px;
		box-sizing: border-box;
		margin: 20px 50px;
	}
	#footer .prince img,
	#footer .seibu img {
		width: 140px;
	}
}


/*nav*/
#btnnav{
	position:fixed;
	right:0;
	top:0;
	cursor: pointer;
	z-index:999;
	width: 60px;
	height: 60px;
	background: url("../images/sp_nav.svg") no-repeat;
}
/*
#btnnav.open {
	background: url("../images/sp_nav_close.svg") no-repeat;
}
*/
#navon{
	position:fixed;
	top:0;
	right: -300px;
	width: 300px;
	height: 100%;
	padding: 60px 0 50px;
	background: #3a3f51;
	z-index:997;
	transition:all .5s ease;
	color: #fff;
	font-size: 14px;
	text-align: left;
	overflow-y: auto;
}
#navon.r0{
	right:0;
}
#navon a {
	color: #fff;
	text-decoration: none;
}

#navon ul {
	padding: 0 0 50px;
}
#navon ul li,
#navon ul a li {
	font-size: 12px;
	line-height: 1.2;
	padding: 0.8em 1.5em 0.8em 2.5em;
}
#navon ul a:hover li {
	background: rgba(255,255,255,0.1);
	color: #dbdbdb;
	
}
#navon ul li.subT,
#navon ul a li.subT {
	font-weight: bold;
	padding: 0.8em 0 0.8em 1.5em;
}

@media (max-width: 767px) {
	#btnnav{
		width: 40px;
		height: 40px;
	}
	#navon{
		right: -80%;
		width: 80%;
		max-width: 290px;
		font-size: 16px;
		padding: 40px 0 40px;
	}

}


/*-----------------------------------------------------------------*/
