/* CSS Document */
@font-face {
font-family: "hannari";
  src: url("fonts/hannari.woff") format("woff");
}
@font-face {
font-family: "minamoto_l";
  src: url("fonts/minamoto_l.woff") format("woff");
}

html,body { width: 100%; }
body {
	color: #221714;
	margin: 0 auto;
	font-family: "游明朝", "YuMincho", serif,"minamoto_l";
	background: #ffffff;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }

.pb0 { padding-bottom: 0px !important; }
.pb10 { padding-bottom: 10px !important; }
.p15 { padding: 0 15px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }

.mb05em { margin-bottom: 0.5em !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }
.mb4em { margin-bottom: 4em !important; }
.pb05em { padding-bottom: 0.5em !important; }
.mr0 { margin-right: 0 !important; }

li { list-style: none; }

p {
	text-align: justify;
	-ms-text-justify: auto;
	text-justify: auto;
	text-justify: inter-ideograph;
}
img { vertical-align: bottom; max-width: 100%; }

.noborder { border: none !important; }
.nomargin { margin: 0 0 !important; }

.ta_r { text-align: right; }
.ta_c { text-align: center; }

.cf:before,.cf:after { content:""; display:table; }
.cf:after { clear:both; }
.cf { zoom:1; }

	a {
		color: #231815;
		text-decoration: none;
	}
	h3,h4,h5 { font-weight: normal; }



	body { font-size: 4vw; line-height: 1.5; }
	.mb20 { margin-bottom: 2.6vw !important; }
	.mb25 { margin-bottom: 3.3vw !important; }
	.mb30 { margin-bottom: 4vw !important; }
	.mb40 { margin-bottom: 5.3vw !important; }
	.mb50 { margin-bottom: 6.6vw !important; }
	.mb60 { margin-bottom: 8vw !important; }
	.mb70 { margin-bottom: 9.3vw !important; }
	.mb80 { margin-bottom: 10.6vw !important; }
	.mb90 { margin-bottom: 12vw; }
	.mb100 { margin-bottom: 13.3vw !important; }
	.mb120 { margin-bottom: 16vw !important; }
	.pt50 { padding-top: 6.6vw !important; }
	.ls-1 { letter-spacing: -1px; }
	.ls-2 { letter-spacing: -2px; }
	.ls-3 { letter-spacing: -3px; }
	.ls-4 { letter-spacing: -4px; }


	body { width:100%; }
	.wrap { width: 100%; overflow: hidden; /*padding-top: 14.5vw;*/}
	.for_pc { display: none !important; }
	
	.cf_s:before,.cf_s:after { content:""; display:table; }
	.cf_s:after { clear:both; }
	.cf_s { zoom:1; }


/* #fnav(追従ナビ) */
	#fnav { display: none; width:100%; position:fixed; left:0; top:0; z-index:2000; }
	
	#fnav_in { /*position: fixed; left: 0; top: 0;*/ width: 100%; height: 100vh; overflow: auto;
		text-align: center; background: #ffffff; padding-top: 23vw; padding-bottom: 12vw; }
	#fnav_in .mainw { width: 88vw; margin: 0 auto; display: flex; justify-content: flex-end; }
	/*#fnav_in h2 { text-align: center; margin-bottom: 6vw; }
	#fnav_in h2 img { width: 45vw; }*/
	#fnav_in #btn_close_f { width: 13.5vw; }
	#fnav_in #btn_close_f a { width: 100%; }
	#fnav_in #btn_close_f a img { width: 100%; }
	#fnav_in ul.f_gnav { width: 56vw; text-align: left; border-top: 1px solid #c9c9c9; }
	#fnav_in ul.f_gnav li { border-bottom: #c9c9c9 1px dotted; height: 11vw; line-height: 11vw; }
	#fnav_in ul.f_gnav li:last-child { border-bottom: #c9c9c9 1px solid; }
	#fnav_in ul.f_gnav li a { display: block; width: 100%; height: 11vw; line-height: 11vw; position: relative; font-size: 3.8vw; padding-left: 3vw; }
	#fnav_in ul.f_gnav li a::after { content: "\f054"; font-family: "FontAwesome"; color: #026237; position : absolute; right: 3vw; }
	#fnav_in ul.f_gnav li:nth-child(5) a::after , #fnav_in ul.f_gnav li:nth-child(8) a::after { content: "\f055"; font-family: "FontAwesome"; }


/*header*/
	h1#logo { text-align: center;background-color: #000000; height: 17vw; }
	h1#logo img { width: 75vw; vertical-align: middle; }

	header#topnavi { width: 100%; /*position: relative; top:0; left: 0; z-index: 3000;*/ }
	header.fixed { position: fixed; top:0; left: 0; z-index: 3000; }
	header .mainw { width: 100%; }
	header #sphead { position: relative; }

	header #sphead .sphead_menu ul { display: flex; width: 100%; padding-right: 14.5vw; }
	header #sphead .sphead_menu ul li { display: flex; width: calc( 100% / 2 ); justify-content: center; align-items: center; position: relative; }
	header #sphead .sphead_menu ul li a { display: flex; width: 100%; height: 100%; justify-content: inherit; align-items: center;
							position: relative; line-height: 1.2; padding-left: 3vw; }
	header #sphead .sphead_menu ul li a::after {	content: ""; width: 1px; height: 9vw; background-color: #c9caca; right: 0; position: absolute; }
	header #sphead .sphead_menu ul li:last-child a::after {	content: ""; width: 1px; height: 9vw; background-color: transparent; right: 0; }						
	header #sphead .sphead_menu ul li:nth-child(1) a img { height: 6vw; margin-right: 2vw; }
	header #sphead .sphead_menu ul li:nth-child(2) a img { height: 6vw; margin-right: 1vw; }
	header #sphead .sphead_menu ul li:nth-child(3) a img { height: 6vw; }
	.sphead_menu ul li span.menusubtxt { display: inline-block; position: absolute; bottom: 1vw; left: 2vw; font-size: 2.5vw; line-height: 1; }
	header #sphead .sphead_menu ul li:first-child a { font-size: 3.2vw; }
	header #sphead .sphead_menu ul li:first-child a span span { font-size: 2.4vw; }

	#sphead .sphead_menu ul { display: flex; justify-content:flex-end; }
	/*#sphead.show { background: #ffffff; }*/
	#sphead .sphead_menu { display: flex; background-color: #FFFFFF; height: 14.5vw; }
	/*#sphead.show h1 a { display: block; }*/

	header #menu_sp { width: 14.5vw; height: 14.5vw; background: #026237; display: block;
		color: #ffffff; padding-top: 8vw; z-index: 3000; position: absolute; left: -14.5vw; }
	header #menu_sp span{ position: absolute; display: block; width: 8vw;  height: 1px;  
		background: #ffffff; left: 3vw; transform:rotate(0); }
	header #menu_sp span:first-child { top:4vw; }
	header #menu_sp span:nth-child(2) { top:6vw; }
	header #menu_sp span:nth-child(3) { top:8vw; }
	header #menu_sp span:last-child { width: 14.5vw; left: 0; bottom: 0.7vw; text-align: center; height: auto;
		background: none; font-size: 3.2vw; }

	#fnavmenuwrap { display: flex; position: absolute;top: 0; right: -56.5vw; z-index: 200;
			-webkit-transition: 0.3s ease-in-out;
		   -moz-transition: 0.3s ease-in-out;
			 -o-transition: 0.3s ease-in-out;
				transition: 0.3s ease-in-out; }
	#fnavmenuwrap ul.f_gnav { width: 56.5vw; height: 100vh; text-align: left; border-top: 1px solid #c9c9c9; background-color: #FFFFFF; }
	#fnavmenuwrap ul.f_gnav li { border-bottom: #c9c9c9 1px dotted; height: 11vw; line-height: 11vw; }
	#fnavmenuwrap ul.f_gnav li:last-child { border-bottom: #c9c9c9 1px solid; }
	#fnavmenuwrap ul.f_gnav li a { display: block; width: 100%; height: 11vw; line-height: 11vw; position: relative; font-size: 3.8vw; padding-left: 3vw; }
	#fnavmenuwrap ul.f_gnav li a::after { content: "\f054"; font-family: "FontAwesome"; color: #026237; position : absolute; right: 3vw; }
	/*#fnavmenuwrap ul.f_gnav li:nth-child(6) a::after ,
	#fnavmenuwrap  ul.f_gnav li:nth-child(9) a::after
	 { content: "\f055"; font-family: "FontAwesome"; }*/
	#fnavmenuwrap.find_fnav { right: 0; }

/*
	.member { position: relative; width: 88vw; margin: 0 auto; }

	.member li { font-size: 3.7vw; font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; text-align: left;
		line-height: 6vw; }
	.member li a { font-size: 3.7vw; display: block; text-align: center; line-height: 12vw;
		 width: 80vw; height: 12vw; position: relative; padding-right: 4vw; color: #ffffff;
		 background: url("../images/icon_arrow.svg") right 4vw center no-repeat #00469b;
		 background-size: 3vw auto; margin: 0 auto 2vw; }

	.member li.tel { font-size: 4vw; text-align: center;
		 font-family:"minamoto_l","游明朝", "YuMincho", serif; }
	.member li.tel a { background: url("../images/icon_tel.svg") left center no-repeat; font-size: 7.2vw;
		padding-left: 7vw; background-size: 5vw auto; color: #231815; }
	.member li.tel a:before { content: ""; }
	.member li.tel p { text-align: center; }
	.member li.tel p:last-child { font-size: 3.7vw; }
*/


/*footer*/

	#sns { padding: 14.5vw 0 5.2vw; }
	#sns ul.mainw { display: flex; flex-wrap: wrap; justify-content: center; width: 64vw; margin: auto; } 
	#sns ul li { margin-right: 5.9vw; margin-bottom: 4vw; width: 17.2vw; height: 17.2vw; }
	#sns ul li:nth-child(3) , #sns ul li:nth-child(5) { margin-right: 0; }
	#sns ul li a { display: block; width: 100%; }
	#sns ul li a img { width: 100%; }

	#pagetop_sp { width: 100%; /*height: 18vw; margin: 16vw auto 4vw;*/ position: relative; /*margin: 6vw auto ;*/
		z-index: 20; }
	#pagetop_sp a { display: block; width: 100%; /*height: 18vw;*/ position: relative; background: #231815; 
		color: #ffffff; text-align: center; padding: 5vw 0 ; font-size: 4vw; font-weight: normal; }
	/*#pagetop_sp a:before { content: "\f106"; font-family: FontAwesome; position: absolute; top:2vw;
		width: 18vw; text-align: center; left: 0; color: #918e4c; }*/
	
	footer { background: #eeeeee; text-align: center; padding: 5vw 0 18vw; position: relative; color: #221714; }
	footer #footnav { margin-bottom: 9.2vw; }
	footer #footnav ul { display: flex; flex-wrap: wrap; }
	footer #footnav ul li { width: 50%; border-bottom: #9fa0a0 1px dotted; }
	footer #footnav ul li:first-child { width: 100%; }
	footer #footnav ul li:last-child , footer #footnav ul li:last-child(2) { border-bottom: #9fa0a0 1px solid; }
	footer #footnav ul li a { display: block; width: 100%; padding-left: 8vw; position: relative;
								height: 12.5vw; line-height: 12.5vw; font-size: 3.4vw;  text-align: left; letter-spacing: -0.2vw; }
	footer #footnav ul li a::before { content:"\f054"; font-family: "FontAwesome"; position: absolute; left: 4vw; font-size: 2.6vw; color: #026237; }
	
	footer .address h2 { width: 75.2vw; text-align: center; margin: 0 auto 3.3vw; }
	footer .address h2 img { width: 100%; }
	footer address { font-style: normal; margin-bottom: 6.6vw; }
	footer address p { font-size: 4vw; line-height: 6.5vw; text-align: center; margin-bottom: 4vw; }
	footer address p .address_tel { font-size: 6vw; }
	footer address p .address_fax { font-size: 4.5vw; }
	footer .footer_contact { background-color: #FFFFFF; padding: 4.6vw 0 6vw; }
	footer .footer_contact p { text-align: center; margin-bottom: 2vw; }
	footer .footer_contact a { display: block; width: 77.3vw; height:11.8vw; margin: 0 auto; color: #232323; border:1px solid #232323;
								font-size: 4vw; line-height: 11.8vw; position: relative; }
	footer .footer_contact a::after { content: "\f0da"; font-family: "FontAwesome"; color: #026237; position: absolute; right: 2.5vw; }
	footer .copy { font-size: 3.4vw; text-align: center; height: 13.2vw; line-height: 13.2vw; }
	#call { background-color: #232323; text-align: center; padding: 4vw 0 2.6vw; font-family: "游明朝", "YuMincho", serif;
			position: fixed; left: 0; bottom: 0; width: 100%; z-index: 3000; }
	#call a { display: block; width: 100%; }			
	#call .clubname { color: #FFFFFF; font-size: 4vw; text-align: center; line-height: 1; }
	#call .telnumber { color: #baac53; font-size: 5.2vw; text-align: center; }
	#call .telnumber span { color: #FFFFFF; font-size: 3.3vw; }


/*common*/
	.mainw { width: 88vw; margin: 0 auto; }
	.w700 { width: 88vw; margin: 0 auto; }
	.w800 { width: 88vw; margin: 0 auto; }
	.w900 { width: 88vw; margin: 0 auto; }
	.w1000 { width: 88vw; margin: 0 auto; }
	p.lead { font-size: 4vw; line-height: 6vw; text-align: center; /*width: 92vw;*/ 
		margin: 0 auto 5vw; }
	h2.mainh2 { background: url("../images/bg_ttl_sp.jpg") center center no-repeat; height: 18vw;
		text-align: center; font-size: 8.2vw; line-height: 5vw; padding-top: 4vw;
		background-size: cover; border-bottom: #0c0c0c 1px solid; }
	h2.mainh2 span { font-size: 2.6vw; color: #e2b065; }
	
	#mv { 
		 width: 100%; height: 53vw; text-align: center; position: relative; }
	#mv p { position: absolute; width: 20vw; top:2vw; left: 2vw; }
	#mv h2 { width: auto; left: 5vw; bottom: 20vw; height: auto; padding: 0; 
		position: absolute; }
	
	#p0 { position: relative; margin-top: -10vw; z-index: 10; background-color: #FFFFFF; padding-top: 7vw; }
	#p0 strong { color: #a7272d; font-weight: normal; }
	#p0 h3 { text-align: center; margin-bottom: 3.9vw; font-size: 5vw; font-family: "hannari"; letter-spacing: 0.5vw; }
	#p0 h3 strong { color: #00469b; font-weight: normal; }
	p.lead { text-align: center; line-height: 1.5; }

	.lead { text-align: center; margin-bottom: 6vw; }
	.lead h4 { font-size: 5vw; text-align: center; margin-bottom: 2vw; line-height: 6vw; }
	.lead p { font-size: 3.7vw; line-height: 6vw; text-align: left; }

	.anchor { padding-top: 8vw; }
	
	h3.ch3 { text-align: center; margin-bottom: 6vw; font-size: 6vw; line-height: 6vw;
		font-family: "hannari"; }
	h3.ch3 span { font-size: 3.2vw; display: inline-block; line-height: 5vw; font-family: "Playfair Display"; }
	h3.ch3 span.for_sp { display: inline; }

	h3.ch3ttl { font-size: 7.4vw; padding-top: 6.6vw; margin-bottom: 5.2vw; position: relative; text-align: center; line-height: 1; }
	h3.ch3ttl::before { content: ""; width: 8vw; height: 0.6vw; background: #026237; position: absolute; top: 0; left: 50%; margin-left: -4vw;}
	h3.ch3ttl span { font-size: 3.4vw; }

	h3.ttl2 { color: #FFFFFF; font-size: 7.4vw; padding-top: 6.6vw; margin-bottom: 5.2vw; position: relative; line-height: 0.7; }
	h3.ttl2 span { font-size: 3.5vw; }

	.cmenu { width: 100%; position: relative;
		text-align: left; margin: 0 auto; }
	.cmenu li { width: 100%; height: 12vw; line-height: 12vw; border-bottom: #d8d8d8 1px solid;
		 border-top: #d8d8d8 1px solid; margin-bottom: 2vw; }	
	.cmenu li a { display: block; width: 100%; height: 12vw; position: relative; text-align: center;
		padding-left: 3.4vw; font-size: 4vw; }
	.cmenu li a:after { content: "\f078"; font-family: FontAwesome; position: absolute; top: 0;
		right: 4.6vw; color: #88854c; font-size: 2vw; }

	/*cb...color box*/
	.cb { background: url("../images/bg_cb.jpg") repeat; }
	.cb2 { background: url("../images/bg_cb2.jpg") repeat; border: #bcb38e 1px solid; }

	/*.bb { width: 100%; box-shadow: 2px 2px 5px #cccccc; padding-bottom: 4vw; margin-bottom: 13vw; }*/
	/*cbd...common border*/
	.cbd { height: 2.6vw; width: 100%; background: url("../images/border.jpg") repeat-x;
		background-size: auto 2.6vw; }

	.cbtn { font-size: 4vw; display: block; text-align: center; line-height: 12vw;
		 width: 88vw; height: 12vw; position: relative; color: #232323;
		 background: url("../images/icon_arrow_rg.svg") right 4vw center no-repeat ;
		 background-size: 2vw auto; border: 1px solid #232323; }
	/*.cbtn.l2_sp { height: 16vw; line-height: 6vw; padding-top: 2vw; }*/

	.cbtn2 { font-size: 4vw; color: #ffffff; display: block; text-align: center;
		 width: 88vw; height: 12vw; line-height: 12vw; position: relative;
		 background: #026237; }

	.cbtn3 { font-size: 4vw; color: #ffffff; display: block; text-align: center;
		 width: 88vw; height: 12vw; line-height: 12vw; position: relative;
		 background: transparent; border: 1px solid #FFFFFF; }
	.cbtn3::after { content: "\f055"; font-family: "FontAwesome";  
	 				position: absolute; right: 4vw; }
	
	table.ctable { border-collapse: collapse; width: 100%; font-size: 3.7vw; border-top: #b8aa9d 1px solid; }
	/*table.ctable tr:first-child th { border-top: #282828 1px solid; }
	table.ctable tr:first-child td { border-top: #282828 1px solid; }*/
	table.ctable th,table.ctable td { border-bottom: #b8aa9d 1px solid; padding: 2vw; 
		text-align: left; }
	table.ctable th:before { content: "◆"; font-size: 2.4vw; display: inline-block; padding-right: 2vw; color: #88854c; }
	
	/*.cb table.ctable { border-top: #D8CAAD 1px solid;
		 border-bottom: #565656 1px dashed; }
	.cb table.ctable th,.cb table.ctable td { border-bottom: #565656 1px dashed; }
	.cb table.ctable th { border-right: #565656 1px dashed; }*/

	/*table.ctable2 { border-collapse: collapse; width: 100%; border-top: #c4c0b7 1px solid;
		 font-size: 3.7vw; }
	table.ctable2 th,table.ctable2 td { padding: 2vw 0; text-align: left; border-bottom: #c4c0b7 1px solid; }
	table.ctable2 td { }
	table.ctable2 th { color: #6d2c67; width: 30vw; text-align: center; }
	table.ctable2 th:before { content: "●"; font-size: 2.4vw; display: inline-block; padding-right: 2vw; }*/
	
	/*cul...common ul*/
	.cul { border-top: #b8aa9d 1px solid; }
	.cul li { font-size: 3.7vw; line-height: 5.8vw; margin-bottom: 2vw; text-indent: -1em; padding: 2vw 2vw 2vw 2em;
		border-bottom: #b8aa9d 1px solid;  }
	.cul li:before { content: "◆"; display: inline-block; padding-right: 1vw; color: #88854c; font-size: 3vw; }

	/*cdl...common dl*/
	.cdl { width: 100%; border-top: #b8aa9d 1px solid; font-size: 3.7vw; }
	.cdl dt { text-align: left; border-bottom: #b8aa9d 1px dashed;
		text-align: left; padding: 2vw 2vw 2vw 4vw; }
	.cdl dt:before { content: "◆"; display: inline-block; padding-right: 1vw; color: #00469b; }
	.cdl dd { border-bottom: #b8aa9d 1px dashed; text-align: left; padding: 2vw 2vw 2vw 8vw; }
	.cdl dd:last-child { border-bottom: #b8aa9d 1px solid; }

	ul.bn { text-align: center; margin: 13vw auto 20vw; }
	ul.bn li { margin-bottom: 2.6vw; }


/* フッターグループ */
ul.footer_group li {
	background-color: #fff;
	text-align: center;
	margin: 10px 0;
}

ul.footer_group li:last-of-type {
	margin-bottom: 0;
}

ul.footer_group li a {
	display: block;
	width: 100%;
	height: 100%;
	color: #0E6835;
	/* padding: 28px 18px 23px; */
	padding: 20px;
}

ul.footer_group .footer_nav_txt {
	margin-top: 13px;
	font-size: 14px;
	text-align: center;
}