/*!
 * style.css
 */

/* # =================================================================
   # ABSORBER
   # ================================================================= */


body {
  line-height: 1.5;
  font-weight: 200;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

body {
    animation: fadeIn 1.6s ease 0s 1 normal;
    -webkit-animation: fadeIn 1.6s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

body, html {
	position: relative;
	color: #333;
	font: 14px/1.8 'メイリオ', "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
	padding: 0 0 0 0;
	background-image: url(../images/bg_page.jpg);
	background-repeat: repeat;
}

a {
  color: #0a1e61;
  text-decoration: none;
}

a:active, 
a:hover {
  color: #0a1e61;
  text-decoration: none;
}

iframe, img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s
}

img {
    pointer-events: none;
}

.clearfix:after, .inner:after {
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden
}

.text-center {
  text-align: center
}




/* # =================================================================
   # space
   # ================================================================= */

.space6 {
	padding: 0 0 0 6px;
}

.space8 {
	padding: 0 0 0 8px;
}

.space12 {
	padding: 0 0 0 12px;
}

.space14 {
	padding: 0 0 0 14px;
}

.space16 {
	padding: 0 0 0 16px;
}

.space6r {
	padding: 0 8px 0 0;
	font-size: 0.8em;
}

.space8r {
	padding: 0 8px 0 0;
}

.space12r {
	display: inline-block;
	padding: 0 12px 0 0;
	font-size: 1em;
}

.space14r {
	padding: 0 14px 0 0;
}

.space16r {
	padding: 0 16px 0 0;
}

/* # =================================================================
   # splash
   # ================================================================= */

#splash {
    /*fixedで全面に固定*/
	position: fixed;
	z-index: 99999;
	width: 100%;
	height: 100%;
	text-align:center;
	color:#fffef8;
}

/* # =================================================================
   # splash
   # ================================================================= */

#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background-image: url(../images/bg_page.jpg);
	background-repeat: repeat;
	text-align:center;
	/*color: #000;*/
	z-index: 10000;
}

#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#splash_logo svg {
	width: 640px;
	/*
	width: 90%;
	max-width: 600px;
	height: auto;
	*/
}

/*---------------------------------------------------------------------- */
/* Under 1024px Styles
------------------------------------------------------------------------ */

@media screen and (max-width: 1600px) {

	#splash_logo svg {
		width: 640px;
	}

}

/*---------------------------------------------------------------------- */
/* Under 768px Styles
------------------------------------------------------------------------ */

@media screen and (max-width: 768px) {

	#splash_logo svg {
		width: 500px;
	}

}

/*---------------------------------------------------------------------- */
/* Under 667px Styles
------------------------------------------------------------------------ */

@media screen and (max-width: 667px) {

	#splash_logo svg {
		width: 400px;
	}

}

/*---------------------------------------------------------------------- */
/* Under 424px Styles
------------------------------------------------------------------------ */

@media screen and (max-width: 428px) {

	#splash_logo svg {
		width: 300px;
	}

}

#mask path {
		fill-opacity: 0;
		transition: fill-opacity 1s;
		fill: none;
		stroke: #111;
		stroke-miterlimit: 3;
	}

#mask.done path {
	  fill: #111;
	  fill-opacity: 1;
	  stroke: none;
	}

/*
#mask .st0 {
        fill: #0f345b;
      }
*/

#container {
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow-x: hidden;
}

#sub_container {
	position: relative;
	padding: 0 0 100px 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 500px;
	overflow-x: hidden;
}



/* # =================================================================
	 # header
	 # ================================================================= */

#header {
	display: block;
	position:fixed;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: 100px;
	top: 0;
	left: 0;
	z-index: 1000;
	/*
	background-color:rgba(255,255,255,0.6);
	box-shadow: 0px 4px 8px -2px rgba(0,0,0,0.2);
	*/
}

.header_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1920px;
	height: 100px;
	z-index: 50;
}


@media only screen and (max-width: 940px) {

}



#header.UpMove {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
	from {
		opacity: 1;
	transform: translateY(0);
	}
	to {
		opacity: 0;
	transform: translateY(-100px);
	}
}

/* */

#header.DownMove {
	animation: DownAnime 1.0s forwards;
}
@keyframes DownAnime {
	from {
		opacity: 0;
	transform: translateY(-100px);
	}
	to {
		opacity: 1;
	transform: translateY(0);
	}
}










#container #header .head_logo {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 30px;
	left: 0;
	width: 260px;
	height: auto;
	filter: brightness(0) invert(1);
	transition: filter 0.3s ease;
	z-index: 100;
}

#sub_container #header .head_logo {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 30px;
	left: 0;
	width: 260px;
	height: auto;
	z-index: 100;
}

#header .head_logo a {
	display: block;
}

.g-nav-content_inner .head_logo {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 30px;
	left: 0;
	width: 260px;
	height: auto;
	z-index: 100;
}


#container #header .head_logo img,
#sub_container #header .head_logo img,
.g-nav-content_inner .head_logo img {
	width: 100%;
	height: auto;
}



@media only screen and (max-width: 940px) {

	#header .head_logo {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 30px;
		left: 0;
		width: 240px;
		height: auto;
			z-index: 100;
	}

}

@media only screen and (max-width: 768px) {
	
	#container #header .head_logo {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 34px;
		left: 0;
		width: 220px;
		height: auto;
		filter: brightness(0) invert(1);
		transition: filter 0.3s ease;
		z-index: 100;
	}
	
	#sub_container #header .head_logo {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 34px;
		left: 0;
		width: 220px;
		height: auto;
		z-index: 100;
	}

	.g-nav-content_inner .head_logo {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 34px;
		left: 0;
		width: 220px;
		height: auto;
		z-index: 100;
	}
	
}

/* 100pxスクロール後は元の黒いPNGに戻す */
#container #header.is-scrolled .head_logo {
	filter: none;
}









.header_lead {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 80px 0 0;
	text-align: right;
	top: 12px;
	right: 40px;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: -0.5px;
	font-size: 1em;
	line-height: 1.2em;
	color: #fff;
}

.header_tel_txt {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 80px 6px 0;
	text-align: right;
	top: 48px;
	right: 330px;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: -0.5px;
	font-size: 1.2em;
	line-height: 1em;
	color: #fff;
}

.header_tel_num {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 80px 6px 0;
	text-align: right;
	top: 36px;
	right: 40px;
	font-size: 3.6em;
	line-height: 1em;
	font-family: "STIX Two Text", serif;
	font-weight: 600;
	color: #fff;
	z-index: 2000;
}

.header_tel_num a {
	color: #fff;
}

/*
@media only screen and (max-width: 1200px) {

	.header_tel_txt {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 80px 6px 0;
		text-align: right;
		top: 58px;
		right: 334px;
		font-weight: 400;
		font-family: 'Noto Sans JP', sans-serif;
		letter-spacing: -0.5px;
		font-size: 1.2em;
		line-height: 1em;
	}
	
	.header_tel_num {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 80px 6px 0;
		text-align: right;
		top: 43px;
		right: 40px;
		font-size: 3.6em;
		line-height: 1em;
		font-family: "STIX Two Text", serif;
		font-weight: 600;
	}

}
*/

@media only screen and (max-width: 920px) {

	.header_lead,
	.header_tel_txt {
		display: none;
	}

}
	
@media only screen and (max-width: 820px) {
	
	.header_tel_num {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 80px 6px 0;
		text-align: right;
		top: 43px;
		right: 40px;
		font-size: 2.8em;
		line-height: 1em;
		font-family: "STIX Two Text", serif;
		font-weight: 600;
	}

}

@media only screen and (max-width: 670px) {

	.header_tel_num {
		display: none;
	}

}




/* 100pxスクロール後 */
#container #header.is-scroll .header_tel_num a,
#container #header.is-scroll .header_tel_txt,
#container #header.is-scroll .header_lead {
	color: #74975c;
}

#sub_container .header_tel_num a,
#sub_container .header_tel_txt,
#sub_container .header_lead {
	color: #74975c;
}





/*===========================================================*/
/* Side_MENU
/*===========================================================*/

.openbtn {
	position:fixed;
	z-index: 10000; 
	top: 0;
	right: 0;
	cursor: pointer;
	width: 100px;
	height: 100px;
	color: #fff;
	background-color: #74975c;
}

.openbtn.active {
	background-color: #74975c;
	cursor: pointer;
}

	

@media only screen and (max-width: 1480px) {
	
	.openbtn {
		position:fixed;
		z-index: 10000;
		top: 0;
		right: 0;
		cursor: pointer;
		width: 100px;
		height: 100px;
		color: #fff;
		background-color: #74975c;
	}	
	
}
	

/*==================================================

===================================*/

/*
.openbtn{
	position: relative;
	background:#DBB82E;
	cursor: pointer;
		width: 50px;
		height:50px;
	border-radius: 5px;
}
*/

/*ボタン内側*/

.openbtn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 25px;
		height: 3px;
	background-color: #fff;
	}


.openbtn span:nth-of-type(1) {
	top: 36px;	
		width: 50%;
}

.openbtn span:nth-of-type(2) {
	top: 50px;
		width: 30%;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
		top: 40px;
		left: 29px;
		transform: translateY(6px) rotate(-45deg);
		width: 40%;
}

.openbtn.active span:nth-of-type(2) {
		top: 52px;
		left:29px;
		transform: translateY(-6px) rotate(45deg);
		width: 40%;
}

.openbtn p {
	display: block;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100px;
	text-align: center;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	font-size: 0.9em;
	line-height: 1.1em;
	font-weight: 600;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 0.5px;
}


/*===========================================================*/
/*
/*===========================================================*/


#g-nav {
	position:fixed;
	top: 0;
	right: -600px;
	width: 480px;
	height: 100vh; 
	height: 100svh; 
	background-color:rgba(255,255,255,1);
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	transition: all 0.8s;
	box-shadow: 0px 0px 10px 4px rgba(0, 0, 0, 0.2);
	z-index: 9999;
}

#g-nav.panelactive {
		right: 0;
		width: 480px;
		height: 100vh; 
		height: 100svh; 
}


#g-nav #g-nav-content {
		position: fixed;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		z-index: 9999; 
		width: 480px;
		height: 100vh; 
		height: 100svh; 
		overflow: auto;
		-webkit-overflow-scrolling: touch;
}

#g-nav #g-nav-content::-webkit-scrollbar{
	display: none;
}

.g-nav-content_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1600px;
	height: 100px;
	z-index: 9999;
}

@media screen and (max-width:768px) {

	#g-nav {
		display: block;
		position:fixed;
		z-index: 9999;
		top: 0;
		right: -1000px;
		width: 100%;
		height: 100vh; 
		height: 100svh; 
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		transition: all 0.6s;
	}
	
	#g-nav.panelactive {
			right: 0;
			width: 100%;
			height: 100vh; 
			height: 100svh; 
	}

	#g-nav #g-nav-content {
		position: fixed;
		z-index: 9999; 
		width: 100%;
		height: 100vh; 
		height: 100svh; 
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
		
}




#gnavSp {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 0 80px 0;
	margin: 0 0 0 0;
	
}
/*
@media only screen and (max-width: 1200px) {

	#g-nav {
		position:fixed;
		top:0;
		right: -100%;
		width: 100%;
		height: 100vh; 
		background-color:rgba(255,255,255,1);
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		transition: all 0.6s;
		z-index: 5000;
	}
	
	#g-nav.panelactive {
			right: 0;
	}
	
	#g-nav #g-nav-content {
			position: fixed;
			padding: 0 0 0 0;
			margin: 0 0 0 0;
			z-index: 999; 
			width: 100%;
			height: 100vh;
			overflow: auto;
			-webkit-overflow-scrolling: touch;
	}
	
	.g-nav-content_inner {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
		width: 95%;
		max-width: 1600px;
		height: 100px;
		z-index: 50;
	}
	
	.g-nav-content_inner {
		display: block;
	}

	#gnavSp {
		display: block;
		width: 100%;
		height: 100%;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
	}
	
}
*/

#gnavSp li {
	list-style: none;
}
			
#gnavSp .first {
	display: block;
	width: 100%;
	margin: 0 0 0 0;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #cbcbcb;
	border-bottom: none;
}

@media only screen and (max-width: 1480px) {
		
	#gnavSp .first {
		display: block;
		width: 100%;
		margin: 0 0 0 0;
		border-top: 1px solid #cbcbcb;
		border-bottom: 1px solid #cbcbcb;
		border-bottom: none;
	}	  
		
}  
	
	
/*
@media screen and (max-width: 560px) {
	
	#gnavSp .first {
		display: block;
		width: 100%;
		margin: 0 0 0 0;
		border-top: 1px solid #cbcbcb;
		border-bottom: 1px solid #cbcbcb;
		border-bottom: none;
	}	  

}
*/

	
#gnavSp .first > li > a {
	display: block;
	background-color: #f6f3e6;
	padding: 0 0 0 24px;
	font-size: 1.3em;
	color: #736b4a;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	border-bottom: 1px solid #cbcbcb;
	text-decoration: none;
	width: 100%;
	height: 62px;
	line-height: 62px;
}

/*
#gnavSp .first > li.inqnav > a {
	display: block;
	background-color: #f7b550;
	padding: 0.8em 0.7em;
	font-size: 1.3em;
	color: #fff;
	border-bottom: 1px solid #fff;
	width: 100%;
}      
*/       
				
#gnavSp .first > li > a strong,
#gnavSp .first > li > a em {
					display: block; }
					
#gnavSp .first > li > a:hover {
					text-decoration: none; }
					
#gnavSp .first > li > a em {
					font-size: 8px;
					line-height: 1.2; }
					
					
#gnavSp .first > li.a > a {
				color: #fff;
				background-color: #74975c;
				border-bottom: 1px solid #fff;
}
				
				
				
				
				
				
#gnavSp .first > li.b > a {
	color: #fff;
	background-color: #5c978f;
	border-bottom: 1px solid #fff;
	font-style: normal; 
}
				
#gnavSp .first > li.c > a {
	color: #fff;
	background-color: #1b6089;
	border-bottom: 1px solid #cbcbcb;
}  
				
#gnavSp .first > li.d > a {
	color: #fff;
	background-color:  #b40f51;
	border-bottom: 1px solid #cbcbcb;
}  
				
#gnavSp .first > li.e > a {
	color: #fff;
	background-color: #2b3853;
	border-bottom: 1px solid #cbcbcb;
}   
				
	
				

#gnavSp .first > li.drop > a {
	background-position: right 22px center;
	background-repeat: no-repeat;
	background-image: url(../images/icon-bg-plus_02.png);
}
				
#gnavSp .first > li.drop > a.active {
	background-image: url(../images/icon-bg-mainas_02.png);
}
					
#gnavSp .first > li.drop li {
	border-top: 1px solid #cbcbcb;
}
				
#gnavSp .first > li.drop li br {
	display: none;
}
				
#gnavSp .first > li.drop li:first-child {
	border-top: 0;
}
				 
#gnavSp .first > li.drop li:last-child {
	border-bottom: 1px solid #cbcbcb;
}
					
#gnavSp .first > li.drop li a {
	display: block;
	background-color: #f6f6f6;
	padding: 0 0 0 38px;
	font-size: 1.1em;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	color: #333;
	text-decoration: none;
	height: 52px;
	line-height: 52px;
}
					
#gnavSp .first > li .dropList {
				display: none; }
				
				
				
				
				
				
				
#gnavSp .second {
			background-color: #fff;
			border-bottom: 1px solid #fff;
			display: table;
			width: 100%;
			-webkit-box-align: center;
			-webkit-align-items: center;
					-ms-flex-align: center;
							align-items: center; }
							
#gnavSp .second a {
				display: table-cell;
				vertical-align: middle;
				width: 50%;
				padding: 0.8em 0.7em;
				color: #fff;
				line-height: 1.2; }
				
#gnavSp .second a:first-child {
					border-right: 1px solid #7a7a7a; }
					
#gnavSp .third {
			background-color: #11a4a7;
			padding: 1.2em; }
			
#gnavSp .fifth {
			background-color: #a9a9a9;
			padding: 1.2em; }
			
#gnavSp .third a {
				display: block;
				width: 100%;
				border-radius: 4px;
				text-align: center;
				line-height: 1.2;
				padding: 0.7em;
				font-size: 14px;
				background-color: #f6f5f5;
				border: 1px solid #d0d0d0;
				color: #11a4a7; }
				
#gnavSp .fifth a {
				display: block;
				width: 90%;
				border-radius: 4px;
				text-align: center;
				line-height: 1.2;
				padding: 0.7em 5% 0.7em 5%;
				font-size: 16px;
				background-color: #357e8b;
				border: 2px solid #fff;
				color: #fff; }   
 










/* footer --------------------------------- */
				
#footer {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 120px 0 0 0;
	width: 100%;
	height: auto;
}


/* footer-top --------------------------------- */

#footer-top-inner {
	padding-top: 27px;
}






/* footer-mid --------------------------------- */

#footer-mid {
	display: block;
	position: relative;
	padding: 0 0 40px 0;
	margin: 0 0 0 0;
	width: 100%;
	min-height: 240px;
	background-color: #74975c;
	overflow: hidden;
}

#footer-mid-inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 980px;
	min-height: 240px;
	padding: 17px 0 25px 0;
}


#footer-mid-01 {
	min-height: 200px;
	float: left;
	width: 50%;
	margin-top: 20px;
	color: #fff;
	font-size: 1.2em;
}

#footer-mid-01 ul li {
	font-size: 1.2em;
	padding-bottom: 8px;
	margin-left: 28px;
	list-style-position: outside;
	list-style: disc;
}

#footer-mid-01 ul li a {
	color: #fff;	
	text-decoration: none;
}

#footer-mid-01 ul li a:hover,
#footer-mid-01 ul li a:focus {
	text-decoration: underline;
}

#footer-mid-02 {
	min-height: 200px;
	float: right;
	width: 50%;
	margin-top: 20px;
	color: #fff;
	font-size: 1.2em;
	text-align: right;
}

#footer-mid-02 .footer-logo {
	padding-top: 10px;
	padding-bottom: 14px;
	padding-right: 34px;
}

#footer-mid-02 .footer-logo2 {
	margin-left: 60px;
	margin-top: -70px;
	position: absolute;
	display: block;
	z-index: 600;
	overflow: hidden;
}

#footer-mid-02 .add {
	padding-left: 0;
	padding-bottom: 16px;
	padding-right: 0;
	padding-top: 8px;
	font-size: 1.2em;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 1px;
	color: #fff;
}

#footer-mid-02 .tel {
	line-height: 1.2em;
	padding-left: 0;
	padding-bottom: 2px;
	padding-right: 0;
	padding-top: 0px;
	letter-spacing: 0.06em;
	font-size: 2.1em;
	color: #fff;
}


#footer-mid-02 .add a,
#footer-mid-02 .tel a {
	color: #fff;
}



@media only screen and (max-width: 980px) {

	#footer-mid-01 {
		display: none;
	}

	#footer-mid-02 {
		min-height: 200px;
		float: none;
		width: 100%;
		margin-top: 20px;
		color: #fff;
		font-size: 1.2em;
		text-align: center;
	}

	#footer-mid-02 .footer-logo {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
	}
	
	#footer-mid-02 .footer-logo2 {
		display: block;
		position: relative;
		padding: 18px 0 18px 0;
		margin: 0 0 0 0;
		z-index: 600;
		overflow: hidden;
	}
	
	
}


@media only screen and (max-width: 640px) {

	#footer-mid-02 .add {
		padding-left: 0;
		padding-bottom: 16px;
		padding-right: 0;
		padding-top: 8px;
		font-size: 1em;
	}
	
	#footer-mid-02 .tel {
		line-height: 1.2em;
		padding-left: 0;
		padding-bottom: 2px;
		padding-right: 0;
		padding-top: 0px;
		letter-spacing: 0.06em;
		font-size: 1.4em;
	}

}




/* copyright */

#copyright {
	text-align: center;
	padding: 0 0 60px 0;
	margin-top: 20px;
	border-width: 100%;
	display: block;
	float: none;
	clear: both;
	background-position: 0 bottom;
	font-size: 1.3em;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 1px;
	color: #74975c;
}

#copyright a {
	color: #74975c;
	text-decoration: none;
}

#copyright br {
	display: none;
}



@media only screen and (max-width: 768px) {

	#copyright br {
		display: block;
	}

}



/* footer-address */

#footer-address {
	margin: 10px 0 6px 415px;
	color: #fff;
	font-size: 1.2em;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
	letter-spacing: .1em;
}

#footer-address a {
	color: #fff;
	text-decoration: none;
}

/* footer-links */

#footer-links {
	margin-left: 415px;
	color: #fff;
	font-size: 1.2em;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
	display: block;
	overflow: hidden;
}

#footer-links li {
	float: left;
}

#footer-links li:first-child,
#footer-links li:first-child a {
	margin-right: 5px;
}

#footer-links li a {
	color: #fff;
	text-decoration: none;
}

#footer-links li a:hover,
#footer-links li a:focus {
	text-decoration: underline;
}

/* footer-bot --------------------------------- */


#footer-bot {
	display: block;
	position: relative;
	width: 100%;
	min-height: 220px;
}

#footer-bot-inner {
	display: block;
	position: relative;
	padding: 40px 0 40px 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 980px;
	min-height: 220px;
}




.bot {
	color: #71592e;
	font-size: 1.3em;
	line-height: 1.8em;
	padding: 0 18px 14px 18px;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 1px;
	text-align: justify;
}

.bot2 {
	font-size: 1.2em;
	line-height: 1.8em;
	padding: 0 18px 14px 18px;
	text-indent: 1em;
	font-weight: 400;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 1px;
	text-align: justify;
}




















.section-header h1 {
		display: block;
		position: relative;
		margin: 36px 0 12px 0;
		padding: 0 0 0 0;
		font-size: 2.4em;
		line-height: 1.3em;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
		letter-spacing: 1px;
}
				
				
@media only screen and (max-width: 768px) {				

	.section-header h1 {
			display: block;
			position: relative;
			margin: 36px 0 12px 0;
			padding: 0 8px 0 8px;
			font-size: 1.8em;
			line-height: 1.3em;
			font-family: "Noto Serif JP", serif;
			font-weight: 700;
			letter-spacing: 1px;
	}

}

@media only screen and (max-width: 540px) {				

	.section-header h1 {
			display: block;
			position: relative;
			margin: 36px 0 12px 0;
			padding: 0 8px 0 8px;
			font-size: 1.4em;
			line-height: 1.3em;
			font-family: "Noto Serif JP", serif;
			font-weight: 700;
			letter-spacing: 1px;
	}
	
	.section-header h1 br {
			display: none;
	}

}


.menu-section-lead {
		display: block;
		position: relative;
		margin: 36px 12px 0 12px;
		padding: 0 0 0 0;
		font-size: 1.3em;
		font-weight: 400;
		font-family: "BIZ UDPGothic", sans-serif;
		letter-spacing: 1px;
}


.menu-section-lead p {
		display: block;
		position: relative;
		margin: 36px 6px 60px 6px;
		font-size: 0.7em;
		line-height: 2em;
		text-justify: inherit;
}	

.menu-section-lead p br {
		display: block;
}	


@media screen and (max-width: 768px) {

	.menu-section-lead p br {
			display: none;
	}	


}







/* # =================================================================
 # modal
 # ================================================================= */


/* 画面全体を覆う背景 */
.image-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 40px;
	background: rgba(0, 0, 0, 0.85);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

/* 表示中 */
.image-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* 画像とキャプション */
.image-modal__inner {
	max-width: 100%;
	max-height: 100%;
	text-align: center;
}

.image-modal__image {
	display: block;

	max-width: 90vw;
	max-height: 85vh;

	width: auto;
	height: auto;

	margin: 0 auto;
	object-fit: contain;

	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* キャプション */
.image-modal__caption {
	margin: 12px 0 0;
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
}

/* 閉じるボタン */
.image-modal__close {
	position: absolute;
	top: 15px;
	right: 22px;

	padding: 0;
	border: 0;
	background: transparent;

	color: #fff;
	font-size: 48px;
	line-height: 1;

	cursor: pointer;
}

/* モーダル表示中は背景をスクロールさせない */
body.is-modal-open {
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.image-modal {
		padding: 50px 15px 25px;
	}

	.image-modal__image {
		max-width: 100%;
		max-height: 80vh;
	}

	.image-modal__close {
		top: 8px;
		right: 12px;
	}
}




	

/* # =================================================================
	 # page-top
	 # ================================================================= */

#page-top a {
	display: block;
	width: 60px;
	height: 60px;
	color: #fff;
	transition:all 0.3s;
}

#page-top a img {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 60px;
	height: 60px;
}

#page-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 20000;
	opacity: 0;
	transform: translateX(100px);
	
}

#page-top.LeftMove{
	animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
	from {
		opacity: 0;
	transform: translateX(100px);
	}
	to {
		opacity: 1;
	transform: translateX(0);
	}
}

#page-top.RightMove{
	animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
	from {
		opacity: 1;
	transform: translateX(0);
	}
	to {
		opacity: 1;
	transform: translateX(100px);
	}
}

@media screen and (max-width: 430px) {

	#page-top,
	#page-top a {
		display: none;
	}

}
