@charset "UTF-8";
/* CSS Document */
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap);

/******************
画像位置ぞろえ[共通]
******************/

img.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignright{
	margin-left: auto;
	display:block;
}

img.alignleft{
	text-align: left;
}

/******************
オールクリア[共通]
******************/

body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object{
	margin: 0;
	padding: 0;
}

body{
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, 游ゴシック, YuGothic, Helvetica,Arial, sans-serif;
	font-size:94%;
	color:#0e0e0e;
	line-height:185%;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
 -webkit-font-smoothing: antialiased;
-webkit-font-smoothing: subpixel-antialiased;
}
img{
	border:none;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	-webkit-backface-visibility: hidden;
}

li{
	list-style-type:none;	
}

a{
	backface-visibility: hidden; 
	color:#333;
	text-decoration:none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

a:hover{
	color:#890937;
	text-decoration:none;
}

a img{
    -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;
		outline:none;
		box-shadow: #000 0 0 0;
}

a:hover img{
	opacity:0.7;
	-moz-opacity:0.7;
	-webkit-opacity:0.7;
}

table{
	border-collapse:collapse;
	border-color: #333333;
}

th{
	font-weight:500;
}

td{
	vertical-align:top;
}
/******************
ヘッダー
******************/
#wrapper {
    width: 100%;
    overflow: hidden;
	padding-too:0;
}
.headerWakuGra{
	width:100%;
	z-index:20;
	background:url(images/gra-top-main.jpg) no-repeat left top;
	background-size:cover;
	position:relative;
}
.header {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.headerUp{
	width:100%;
	margin:0 auto;
	position:relative;
	background:rgba(140,0,45,.95);
	overflow:hidden;
	padding:8px 0;
}
.header1140{
	width:1140px;
	margin:0 auto;
	position:relative;
}
.headerUpL{
	float:left;
	width:26%;
}
.headerUpR{
	float:right;
	width:28%;
}
.headerUpL ul li{
	float:left;
	width:33%;
}
.headerUpL ul li a{
	width:100%;
	display:block;
	color:#fff;
	font-size:85%;
	text-align:center;
}
.headerUpL ul li a::after{
  border-bottom: solid 1px #fff;
  bottom: 0;
  content: "";
  display:block;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
.headerUpL ul li a:hover::after {
  width: 100%;
}
.headerUpR ul li{
	float:left;
	width:33%;
}
.headerUpR ul li a{
	width:100%;
	display:block;
	color:#fff;
	font-size:85%;
	text-align:center;
	-webkit-transition: none;
	transition: none;
}
.headerUpR ul li a i{
	padding-right:4%;
}
.headerUpR ul li a:hover{
	color:#caea57;
	transition: all .3s ease;
  -webkit-transition: all .3s ease;
}
.headerUnder{
	width:100%;
	margin:0 auto;
	position:relative;
	background:rgba(140,0,45,.6);
	height:58px;
}
.headerLogoGra{
	float:left;
	width:28%;
	margin:0.75% 4% 0 0;
}
.headerLogoGra img{
	max-width:100%;
	display:block;
	margin:0 auto;
	height:auto;
}
.headerMenu{
	width:70%;
	position:relative;
	float:left;
}
.headerMenuGra{
	width:60%;
	position:relative;
	float:left;
}
.gnav-wrapper {
 	position: relative;
}
.gnav {
 	display: block;
 	/*justify-content: space-between;*/
}
.gnav ul {
	box-sizing: border-box;
	width: 100%;
	list-style: none;
	text-align: center;
}
.gnav li {
	padding:15px 0;
 	text-align: center;
 	transition: all .3s ease-in-out;
	display: inline-block;
	/*flex-basis: 16.6%;*/
	width:16%;
	margin:0;
}
.gnav li a {
	text-decoration: none;
	display: block;
	position: relative;
	color:#fff;
	font-size:100%;
	background:transparent;
}
.gnav li:hover {
	background-color:rgba(76,10,34,.7);
}
#wrapper .gnav > li:hover .megamenu {
 max-height: 9999px;
 opacity: 1;
padding: 0;
}
.megamenu-inner a {
 border-left: none;
}
.gnav li:hover {
	background-color:rgba(76,10,34,.3);
}
#header-sp {
    display: none;
}

/******************
コンテンツ
******************/
.contentsGra{
    width: 95%;
    overflow: hidden;
    padding: 50px auto;
    margin: 0 auto;
    clear: both;
}

/******************
フッター(中部)[共通]
******************/
.footer{
	position:relative;
	width:100%;
	overflow:hidden;
	background:#f4e6eb;
	padding:60px 0;
}
.footerUp{
	width:100%;
	padding:0 0 50px 0;
	clear:both;
}
.footerWaku{
	width:1140px;
	margin:0 auto;
	overflow:hidden;
	position:relative;
}
.footerBnr{
	width:100%;
	overflow:hidden;
}
.footerBnr ul li{
	width:22%;
	margin:0 4% 0 0; 
	float:left;
}
.footerBnr ul li:last-child{
	margin:0; 
	float:right;
}
.footerBnr ul li a{
	display:block;
	padding:20px 0;
	text-align:center;
	background:#fff;
	color:#890937;
	color:#111;
   border: 0.5px solid #890937;
}
.footerBnr ul li a:hover{
	color:#ffffff;
	background:#890937;
	border: 0.5px solid #ffffff;
}
.footerBnr ul li{
	text-decoration:none;
	display:inline-block;
	position:relative;
}
.footerBnr ul li::before,
.footerBnr ul li::after{
	content:"";
	display:block;
	position:absolute;
}
.footerBnr ul li::before{
	border-right: 2px solid #890937;
	border-top: 2px solid #890937;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 8px;
	height: 8px;
	right: 0;
	top: 50%;
	margin-top: -4px;
	right: 10%;
}
.footerBnr ul li:hover::before{
	border-right: 2px solid #ffffff;
	border-top: 2px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.footerUnder{
	width:100%;
	overflow:hidden;
}
.footerL{
	float:left;
	width:30%;
}
.footerMidashi{
	font-family: 'Lora', serif;
	font-size:120%;
	margin-bottom:10px;
}
.footerAdd{
	width:100%;
	margin:0 auto;
	padding:0;
	overflow:hidden;
}
.footerAddOne{
	width:100%;
	padding:5px 0;
}
.faddName{
	font-size:90%;
}
.fadd{
	font-size:80%;
	line-height:140%;
}
.fadd br{
	display:none;
}
.faddTel{
	font-size:80%;
	line-height:140%;
}
.faddTel a{
	color:#333;
	cursor:default;
}
.footerR{
	float:right;
	width:65%;
	margin-top:40px;
}
.footerMenu{
	float:left;
	width:21%;
	font-size:80%;
	overflow:hidden;
	border-right:1px solid #ccc;
	padding:0 2%;
	height:115px;
}
.footerMenu:last-child{
	float:right;
	border-right:none;
	padding:0 1% 0 2%;
}
.footerMenu a {
	color:#333;
}
.footerMenu ul li{
	width:100%;
}
.footerMenu ul li a:hover{
	color:#890937;
}
.footerMenu ul li ul{
	margin:0 0 0 5px;
}
.footerMenu ul li ul li{
	padding-left:10px;
	position:relative;
}
.footerMenu ul li ul li::after{
    display: block;
    content: '';
    position: absolute;
    top: 11px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #333;
    border-radius: 100%;
}
.copyWaku{
	clear:both;
	width:100%;
	background: #890937;
	padding:25px 0 3px 0;
}
.footerLogo{
	width:12%;
	margin:0 auto 15px auto;
}
.footerLogo img{
	max-width:100%;
	margin:0 auto;
	height:auto;
	display:block;
}
.copy{
	font-size:65%;
	text-align:center;
	color:#fff;
}

.fNakaMenu{
    width: 1140px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
	padding:0 0 60px 0;
}
.fnmTantai{
	width:100%;
	overflow:hidden;
}
.fnmTantai ul li{
	width:17%;
	float:left;
}
.fnmTantai ul li a{
	width:100%;
	display:block;
	font-size:90%;
}
.fnmTantai ul li i{
	padding-right:3%;
}
.fnmTantai2{
	width:100%;
	overflow:hidden;
}
.fnmTantai2 ul li{
	width:15%;
	float:left;
}
.fnmTantai2 ul li a{
	width:100%;
	display:block;
	font-size:90%;
}
.fnmTantai2 ul li i{
	padding-right:3%;
}
.fnmKoumoku{
	clear:both;
	width:17%;
	padding-top:3px;
}
.fnmKoumoku a{
	width:100%;
	display:block;
	font-size:90%;
}
.fnmKoumoku i{
	padding-right:3%;
}
.fnmKoumokuSub{
	width:98%;
	overflow:hidden;
	margin:0 0 0 1%
}
.fnmKoumokuSub ul li{
	width:16%;
	float:left;
}
.fnmKoumokuSub ul li a{
	width:100%;
	display:block;
	font-size:85%;
	line-height:150%;
}
.fnmKoumokuSub ul li i{
	padding-right:2%;
}

/******************
フッター(下)[共通]
******************/

#pageTopBtn{
	clear:both;
	z-index:9000;
	display:block;
	position: fixed;
	bottom: 15px;
	right: 15px;
}

@media screen and (max-width: 850px) {
#pageTopBtn{
	    bottom: 0;
    right: -73px;
}
#pageTopBtn img{
	width:40%;
}
}

@media screen and (min-width: 851px) and (max-width: 1160px){
.footer{
	padding:40px 0;
}
.footerWaku{
	width:90%;
}
.fNakaMenu{
  width:90%;
}
.fnmTantai ul li , .fnmTantai2 ul li{
    width: 20%;
}
.fnmKoumokuSub ul li {
    width: 25%;
}
}
@media screen and (min-width: 851px) and (max-width: 1000px){
.footerMenu {
    font-size: 70%;
}
}

/******************
スマホ
******************/

@media screen and (max-width: 850px) {
.headerWaku , .headerWakuGra{
	display:none;
}
.header{
	display:none;
}
#header-sp{
	width:100%;
	height:68px;
	z-index:2000;
	box-shadow: 0 2px 2px 0px rgba(0,0,0,0.1);
	display:block;
	padding:1.5% 0 0 0;
	position: fixed;
    background:#890937;
}
header {
  padding:2% 0 1% 3%;
  background:#890937;
}
	#nav-drawer {
  position: relative;
}
.nav-unshown {
  display:none;
}
#nav-open {
  display: inline-block;
  width: 30px;
  height: 25px;
  vertical-align: middle;
}
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;
  width: 30px;
  border-radius: 3px;
  background: #fff;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}
/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%;
  max-width: 80%;
  height: 100%;
  background:#fff;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}
#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#h-logo{
    width: 350px;
    margin: -40px auto 0 auto;
}
#h-logoJhs{
    width: 261px;
    margin: -40px auto 0 auto;
}
#h-logo img , #h-logoJhs img{
	width:100%;
	margin:auto;
	display:block;
}
.sp-menu ul li a{
	display:block;
	padding:16px 2% 16px 4%;
	color:#231815;
	font-size:102%;
}
.sp-menu ul li a i{
	color:#89093F;
	padding-right:2%;
	font-size:85%;
}
.sp-menu ul li a span{
	padding-left:6%;
	font-size:75%;
	color:#6b6b6b;
}
.sp-menu ul li a:hover{
	background-color:rgba(137,10,56,.15);
	text-decoration:none;
}
.sp-menu ul li ul li a{
	display:block;
	padding:8px 2% 8px 5%;
	color:#231815;
	font-size:97%;
}
.sp-logo{
	padding:0 0 10px 0;
}
.sp-logo img{
	width:60%;
	margin:0;
	display:block;
}
.sp-under{
	width:90%;
	margin:30px auto 0 auto;
	padding-bottom:30px;
}
.spmenuUp{
	background-color:#89093F;
	height:4px;
}
.sp-add{
	text-align:left;
	line-height:170%;
	font-size:100%;
}
.sp-add a{
	color:#333;
}
.sp-addName{
	color:#F9AB10;
	font-weight:bold;
	font-size:110%;
	padding:10px 0 2px 0;
}
.sp-addName2{
	color:#EB78BC;
	font-weight:bold;
	font-size:110%;
	padding:10px 0 2px 0;
}
.accBtn {
}
.accBtn:after {
	display: inline-block;
    content: '\f107';
    font-family: 'FontAwesome';
    transition: 0.2s;
	position:absolute;
	right: 3%;
	color:#89093F;
	font-weight:bold;
}
.active:after{
	content: '\f106';
     -ms-transform: rotate(360deg);
     -webkit-transform: rotate(360deg);
     transform: rotate(360deg);
	color:#89093F;
}
.spSunbMenu {
	display: none;
}
.spSunbMenu ul{
	padding:0 0 0 5%!important;
}
.spSunbMenu ul li{
	padding:0!important;
}
.spSunbMenu ul li a{
	width:90%;
	font-size:95%!important;
	padding: 7px 2% 7px 7%;
}
.footer {
	 padding:35px 0;
}
.footerUp{
	padding:0 0 10px 0;
}
.footerWaku{
	width:90%;
}
.footerBnr ul li{
	width:49%;
	margin:0 0 2% 0; 
	float:left;
}
.footerBnr ul li:nth-child(2n){
	margin:0 0 2% 0; 
	float:right;
}
.footerBnr ul li:last-child{
	margin:0 0 2% 0; 
}
.footerBnr ul li a{
	width:100%;
	display:block;
	padding:15px 0;
	text-align:center;
	background:#fff;
	color:#111;
}
.footerUnder{
	width:100%;
	padding:10px 0 0 0;
}
.footerL{
	float:none;
	width:100%;
}
.footerR{
	display:none;
}
.footerMidashi{
	margin-bottom:0;
}
.footerAddOne{
	float:left;
	width:48%;
}
.footerAddOne:nth-child(2n){
	float:right;
}
.copyWaku{
	padding:20px 0 3px 0;
}
.footerLogo{
	width:30%;
	padding: 5px 0 10px 0;
}
.footerLogo img{
	max-width:100%;
	margin:0 auto;
	display:block;
	height:auto;
}
.fNakaMenu{
	display:none;
}
}

@media screen and (max-width: 640px) {
#nav-drawer {
	top:8px;
}
}
@media screen and (min-width: 481px)  and (max-width: 640px) {
#h-logo{
    margin: -30px auto 0 auto;
	width: 320px;
}
}
@media screen and (min-width: 401px)  and (max-width: 480px) {
#h-logo{
	margin: -47px 2% 10px 0;
	width:65%;
	padding:1% 0 0 0!important;
	float:right;
}
}
@media screen and (max-width: 560px) {
.footerAddOne{
	float:none;
	width:100%;
}
.footerAddOne:nth-child(2n){
	float:none;
}
}
@media screen and (max-width: 480px) {
#header-sp{
	height:60px;
}
header {
  padding:3.5% 0 4% 2%;
}
#nav-drawer {
	top:2px;
}
.sp-add{
	text-align:left;
	line-height:150%;
	font-size:90%;
	padding-bottom:5px;
}
.sp-logo img{
	width:70%;
}
.sp-main{
	width:100%;
	display:block;
	}
.footerBnr ul li{
	font-size:90%;
}
.footerLogo{
	width:50%;
	padding: 5px 0;
	margin:0 auto 5px auto;
}
.footerBnr ul li{
	font-size:90%;
}
.footerLogo{
	width:50%;
	padding: 5px 0;
	margin:0 auto 5px auto;
}
}

@media screen and (max-width: 400px) {
#h-logo{
	margin: -42px 2% 10px 0;
	width:65%;
	padding:1% 0 0 0!important;
	float:right;
}
}
