
body {
	background:#FFF;
	text-align: center;
	color: #111111;
	position:relative;
	-webkit-text-size-adjust: 100%;
	padding-top: 130px;
}

html,body{
	height:100%;
}

img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	image-rendering: crisp-edges;
	image-rendering: -webkit-optimize-contrast;
}

.pc{
}
.pc_tab{
}
.sp{
	display: none;
}
.sp_min{
	display: none;
}
.close{
	opacity: .5;
	pointer-events: none;
}

/* caption setting */
figure{
	position: relative;
	line-height: 0;
}
figure img{
	width: 100%;
	line-height: 0;
}
figcaption{
	margin: 0 auto;
	text-align: right;
	font-size: 0.688rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding: 5px 0 0 0;
}
figcaption.cW{
	color: rgba(255,255,255,1.00);
}
figure figcaption{
	position: absolute;
	bottom:10px;
	right:10px;
	padding: 0 0 0 0;
}
figure figcaption.cW{
	color: rgba(255,255,255,1.00);
	text-shadow: 0 0 3px rgba(0,0,0,1.00);
}

a.more{
	display: inline;
	text-align: center;
	box-sizing: border-box;
	padding: 0.5em 1.2em 0.5em 1.8em;
	border: #000 1px solid;
	background: rgba(255,255,255,1.00);
	color: #000;
	position: relative;
	font-size: 1.000rem;
	line-height: 1.1;
	text-decoration: none;
	transition: all 0.5s ease;
}
a.more::before{
	content: "";
	width: 40px;
	height: 11px;
	position: absolute;
	top:50%;
	left: -20px;
	margin: -5px 0 0 0;
	background: url("../img/common/icon_arrow_link.png") center center/100% auto no-repeat;
	transition: all 0.5s ease;
}
a.more:hover{
	transition: all 0.5s ease;
}
a.more:hover::before{
	content: "";
	left: -10px;
}
@media only screen and (max-width: 1240px) {	
	body{
		padding-top: 120px; 
	}
}
@media only screen and (max-width: 960px) {	
	body{
		padding-top: 110px; 
	}
}
@media only screen and (max-width: 768px) {	
	
	.pc{
		display: none;
	}
	.pc_tab{
	}
	.sp{
		display: block;
	}
	.sp_min{
		display: none;
	}
	
	figcaption{
		font-size: 0.625rem;
	}
	
	a.more{
		padding: 5px 24px 5px 34px;
		font-size: 1.000rem;
	}
	
	body{
		padding-top: 50px !important; 
	}
	
}
@media only screen and (max-width: 480px) {
	.pc{
		display: none;
	}
	.pc_tab{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp_min{
		display: block;
	}
}


/*-- 

bace color #5aa4ae

--*/

/* --------------------
	header
--------------------*/
header {
	width:100%;
	-webkit-transition: all .5s;
	transition: all .5s;
	z-index: 999;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: fixed;
	top:0; 
	left:0;
	background: #3b6700 url("../img/common/bg_img.jpg") center center/cover no-repeat;
	padding: 0 0;
	box-sizing: border-box;
}
header .in-box{
	width: 1200px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
header img{ width:100%;}
header h1 { 
	width:360px;
	padding: 30px 0 20px 0;
	-webkit-transition: all .5s;
	transition: all .5s;
}

@media only screen and (max-width: 1240px) {
	header .in-box{
		width: 94%;
	}
	header {
		padding: 0 0;
	}
	header h1 {
		width:28%;
		padding: 30px 0 20px 0;
		box-sizing: border-box;
	}
}
@media only screen and (max-width: 960px) {
	header h1 { 
		width:30%;
		padding: 30px 0 20px 0;
	}
}
@media only screen and (max-width: 768px) {
	header {
		position: fixed;
		top:0; 
		left:0;
		z-index: 1000;
	}
	header h1 { 
		width: 50%;
		height: auto;
		padding: 5px 0 5px 0;
		z-index: 9999;
		text-align: left;
	}
	header h1 img{ 
		width: auto;
		height: 40px;
	}

}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 380px) {

}



/* --------------------
	     gnav
--------------------*/

nav#gNavArea{
	width:calc(100% - 360px);
	margin: 0 0 0 0;
	height:auto;
	padding: 0 0 0 0;
	position: relative;
	z-index: 10;
}
nav#gNavArea #nav_inner{
	width:100%;
	height:auto;
	padding: 30px 0 0 0;
	position: relative;
	z-index: 10;
}

nav#gNavArea ul#sub{
	width: auto;
	margin:0 auto;
	padding: 0 0 15px 0;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: flex-end;
}
nav#gNavArea ul#sub li{
	width: auto;
	margin: 0 1px 0 0;
}
nav#gNavArea ul#sub li a{
	font-size: 0.938rem;
	color: #FFF;
	text-decoration: none;
	padding: 22px;
	background: #000000;
	display: block;
	box-sizing: border-box;
}
nav#gNavArea ul#sub li a:hover{
	background: #31513B;
}
nav#gNavArea ul#sub li i{
	display: block;
}
nav#gNavArea ul#sub li.zaikou{
	width: auto;
	margin: 0 10px 0 0;
}
nav#gNavArea ul#sub li.zaikou a{
	color: #000;
	padding: 10px;
	background: #FFF;
	border: #000 1px solid;
}
nav#gNavArea ul#sub li.zaikou a:hover{
	background: #669c4e;
	color: #FFF;
}
nav#gNavArea ul#sub li.calendar{
	display:none;
}
nav#gNavArea ul#sub li.moushikomi{
	width: auto;
	margin: 0 10px 0 0;
}
nav#gNavArea ul#sub li.moushikomi a{
	color: #FFF;
	padding: 10px;
	background: #c69c6d;
}
nav#gNavArea ul#sub li.moushikomi a:hover{
	background: #967654;
	color: #FFF;
}
nav#gNavArea ul#sub li.mail a{
	padding: 7px 8px;
	display: block;
	background: none;
}
nav#gNavArea ul#sub li.mail a p{
	display: none;
}
nav#gNavArea ul#sub li.mail a i{
	width: 30px;
}
nav#gNavArea ul#sub li.mail a p{
	display: none;
	font-size: 0.938rem;
}
nav#gNavArea ul#sub li.search{
	padding: 6px 8px;
	background: none;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
nav#gNavArea ul#sub li.search i{
	width: 25px;
	cursor: pointer;
}
nav#gNavArea ul#sub li.search #search_wrap{
	display: none;
	width: 200px;
}
nav#gNavArea ul#sub li.search #search_box{
	border-radius: 20px;
}
nav#gNavArea ul#sub li.map a{
	padding: 4px 0px 4px 12px;
	display: block;
	background: none;
}
nav#gNavArea ul#sub li.map a i{
	width: 19px;
}
nav#gNavArea ul#sub li.map a p{
	display: none;
	font-size: 0.938rem;
}


nav#gNavArea ul#gNav{
	width: auto;
	padding: 0 0 0 0;
	margin:0 auto;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
nav#gNavArea ul#gNav li{
	width: auto;
	padding: 0 2.0em 0 0;
	position:relative;
}
nav#gNavArea ul#gNav li a{
	font-size: 0.938rem;
	line-height: 1.0;
	text-decoration: none;
	color: #FFF;
	display: block;
}
nav#gNavArea ul#gNav li:last-child{
	padding: 0 0 0 0;
}
nav#gNavArea ul#gNav li a:hover,
nav#gNavArea ul#gNav li a.current{
	opacity: 0.8;
}

nav#gNavArea ul li a.close{
	cursor: none;
	opacity: .3;
	pointer-events: none;
}

nav#gNavArea ul#gNav li ul.sec_lv{
	width: 15em;
	height: auto;
	padding: 20px 10px 10px 20px;
	background: #669c4e;
	position: absolute;
    top: 1.1em;
	left: -10px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	box-sizing: border-box;
	visibility: hidden;
    opacity: 0;
    z-index: 1;
}
nav#gNavArea ul#gNav li:hover ul.sec_lv{
	top: 1.3em;
    visibility: visible;
    opacity: 1;
}
nav#gNavArea ul#gNav li ul.sec_lv li{
	text-align: left;
	padding: 0 0 15px 0;
}
nav#gNavArea ul#gNav li ul.sec_lv li p{
	line-height: 1.4;
}
nav#gNavArea ul#gNav li ul.sec_lv li:last-child{
	padding: 0 0 0 0;
}

/* sp nav setting */
div#toggle,
div#toggle-area{
	display:none;
	overflow:hidden;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	margin:0 auto 0 auto;
}
.menu-trigger span {
	position: absolute;
	left: 50%;
	width: 25px;
	height: 3px;
	border-radius: 10px;
	background-color: #FFF;
	margin: 0 0 0 -11.5px;
}
.menu-trigger span:nth-of-type(1) {
	top: 15px;
}
.menu-trigger span:nth-of-type(2) {
	top: 24px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 14px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}
@media only screen and (max-width: 1240px) {
	nav#gNavArea{
		width:calc(100% - 31%);
		margin: 0 0 0 0;
		z-index: 10;
	}
	nav#gNavArea #nav_inner{
		padding: 20px 0 0 0;
	}

	nav#gNavArea ul#sub{
		padding: 0 0 15px 0;
	}
	nav#gNavArea ul#sub li{
		margin: 0 1px 0 0;
	}
	nav#gNavArea ul#sub li a{
		font-size: 0.938rem;
		padding: 19px;
	}


	nav#gNavArea ul#gNav{
		padding: 0 0 0 0;
	}
	nav#gNavArea ul#gNav li{
		padding: 0 1.4em 0 0;
	}
	nav#gNavArea ul#gNav li a{
	}
	
	nav#gNavArea ul#gNav li ul.sec_lv{
		width: 15em;
		padding: 20px 10px 10px 10px;
		left: -5px;
	}
}
@media only screen and (max-width: 960px) {
	nav#gNavArea{
		width:calc(100% - 31%);
	}

	nav#gNavArea ul#sub{
		padding: 0 0 10px 0;
	}
	nav#gNavArea ul#sub li{
		margin: 0 1px 0 0;
	}
	nav#gNavArea ul#sub li a{
		font-size: 1.5vw;
		padding: 18px;
	}

	nav#gNavArea ul#gNav{
		padding: 0 0 0 0;
	}
	nav#gNavArea ul#gNav li{
		padding: 0 1.0em 0 0;
	}
	nav#gNavArea ul#gNav li a{
		font-size: 1.5vw;
	}
	
	nav#gNavArea ul#gNav li ul.sec_lv{
		width: 14em;
		padding: 20px 10px 10px 10px;
		left: -10px;
	}
}
@media only screen and (max-width: 768px) {
	nav#gNavArea{
		width:100%;
		height:auto;
		padding:0 0 0 0;
		position:fixed;
		top:0;
		bottom: auto;
		left:0;
		z-index:999;
		display: block;
		-webkit-transition: all .6s;
		transition: all .6s;
		overflow-y: auto;
	}
	
	nav#gNavArea #nav_inner{
		width:100%;
		height:auto;
		padding: 50px 0 0 0;
		position: relative;
		z-index: 999;
		display:none;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	nav#gNavArea #nav_inner::before{
		content: "";
		width: 100%;
		height: 50px;
		background: #3b6700 url("../img/common/bg_img.jpg") center center/cover no-repeat;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
	}
	
	nav#gNavArea ul#sub{
		width: 100%;
		padding: 0 0 0 0;
		background: #669c4e;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		order: 2;
	}
	nav#gNavArea ul#sub li{
		width: 50%;
		margin: 0 0 0 0;
	}
	nav#gNavArea ul#sub li a{
		font-size: 0.875rem;
		color: #FFF;
		padding: 1em 0;
		border: none;
	}
	nav#gNavArea ul#sub li.zaikou{
		width: 50%;
		margin: 0 0 0 0;
		order: 1;
		text-align: center;
	}
	nav#gNavArea ul#sub li.zaikou a{
		color: #FFF;
		padding: 1.0em 10px;
		background:#669c4e !important;
		border: none;
		border-top: #FFF 1px solid;
		border-bottom: #FFF 1px solid;
	}

	nav#gNavArea ul#sub li.calendar{
		display:block;
		width: 100%;
		margin: 0 0 0 0;
		order: 4;
		text-align: center;
	}
	nav#gNavArea ul#sub li.calendar a{
		color: #FFF;
		padding: 1.0em 10px;
		background:#669c4e !important;
		border: none;
		border-top: #FFF 1px solid;
	}
	
	nav#gNavArea ul#sub li.moushikomi{
		width: 100%;
		margin: 0 0 0 0;
		order: 5;
		text-align: center;
	}
	nav#gNavArea ul#sub li.moushikomi a{
		color: #FFF;
		padding: 18px 10px;
		background: #c69c6d;
	}
	nav#gNavArea ul#sub li.moushikomi a:hover{
		background: #967654;
		color: #FFF;
	}
	nav#gNavArea ul#sub li.mail{
		width: 50%;
		order: 2;
		text-align: center;
	}
	nav#gNavArea ul#sub li.mail a{
		padding: 1.0em 10px;
		display: block;
		background: none;
		color: #FFF;
		border-top: #FFF 1px solid;
		border-bottom: #FFF 1px solid;
	}
	nav#gNavArea ul#sub li.mail a p{
		display: block;
		color: #FFF;
		font-size: 0.875rem;
	}
	nav#gNavArea ul#sub li.mail a i{
		display: none;
	}

	nav#gNavArea ul#sub li.search{
		padding: 0.5em 1em;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		box-sizing: border-box;
		order: 3;
		width: 50%;
	}
	nav#gNavArea ul#sub li.search i{
		width: 23px;
		padding: 4px 0 0 0;
		cursor: none;
	}
	nav#gNavArea ul#sub li.search #search_wrap{
		display: block !important;
		width: calc(100% - 30px);
		box-sizing: border-box;
	}
	nav#gNavArea ul#sub li.search #search_wrap input{
		width: 100%;
		padding: 5px;
		box-sizing: border-box;
		display: block;
		font-size: 0.875rem;
	}

	nav#gNavArea ul#sub li.map{
		order: 4;
		width: 50%;
		padding: 0 0 0 1em;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		box-sizing: border-box;
	}
	nav#gNavArea ul#sub li.map a{
		padding: 0.5em 10px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		border: none !important;
	}
	nav#gNavArea ul#sub li.map a i{
		width: 15px;
		margin: 0 10px 0 0;
	}
	nav#gNavArea ul#sub li.map a p{
		display: block;
		font-size: 0.875rem;
	}


	nav#gNavArea ul#gNav{
		width: 100%;
		padding: 20px 0 0 0;
		margin:0 auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		background:#669c4e !important;
		z-index:999;
		order: 1;
	}
	nav#gNavArea ul#gNav li{
		width: 100%;
		padding: 0 0 1.5em 0;
		position:relative;
		border-bottom: none;
		box-sizing: border-box;
	}
	nav#gNavArea ul#gNav li:last-child{
		padding: 0 0 1.5em 0;
	}
	nav#gNavArea ul#gNav li a{
		font-size: 0.938rem;
		text-align: center;
		color: #FFF;
	}
	nav#gNavArea ul#gNav li a p{
		font-weight: 700 !important;
	}
	
	nav#gNavArea ul#gNav li ul.sec_lv{
		display: none;
	}
	
	div#toggle-area{
		width:50px;
		height:50px;
		margin:0 auto;
		padding:0 0 0 0;
		display: block;
		position:fixed;
		top:0px;
		right:10px;
		z-index:9999;
		-webkit-transition: all .6s;
		transition: all .6s;
	}
	div#toggle-area.scroll {
		top:0;
		right:0;
		height:50px;
		left:auto;
		-webkit-transition: all .9s;
		transition: all .9s;
	}
	div#toggle{
		width: 100%;
		height:100%;
		display:block;
		position: relative;
		float:right;
		text-align:center;
		line-height:0;
	}

	div#toggle p{
		display:block;
		border-bottom:none;
	}
	
	div#toggle a{
		width:100%;
		height:100% !important;
		display:block;
		padding:0 0 0 0;
		margin:0 0 0 0;
		line-height:0;
		overflow:hidden;
	}
	a.menu-trigger {
	  position: relative;
		border: none;
		padding: 0 0 0 0;
	}
}
@media only screen and (max-width: 320px) {
	nav#gNavArea ul#sub li a{
		font-size: 0.813rem;
		padding: 1.0em 0;
	}
	nav#gNavArea ul#sub li.search{
		padding: 0.5em 10px;
		width: 60%;
	}
	nav#gNavArea ul#sub li.search #search_wrap input{
		font-size: 0.750rem;
		padding: 2px 5px;
	}

	nav#gNavArea ul#gNav li{
		padding: 1.0em 5% 1.0em 5%;
	}
	nav#gNavArea ul#gNav li a{
		font-size: 0.750rem;
	}
	
	nav#gNavArea ul#gNav li ul.sec_lv{
		padding: 7px 0 0 0;
	}
	nav#gNavArea ul#gNav li ul.sec_lv li{
		padding: 0 0 5px 0;
	}
	nav#gNavArea ul#gNav li ul.sec_lv li p{
		line-height: 1.4;
		font-size: 0.875rem;
	}
}


/* --------------------
	content
--------------------*/
#content{
	width:100%;
	margin:0 auto 0 auto;
	clear:both;
	overflow: hidden;
	text-align: center;
	position: relative;
	padding: 35px 0 0 0;
}
#content img{
	width:100%;
	line-height: 0;
}

#content #head_area{
	width:100%;
	margin:0 auto 0 auto;
	clear:both;
	text-align: center;
	position: relative;
	background: #FAFAE4;
	display: flex; 
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}
#content #head_area:before{
	content: "";
	display: block;
	padding-top: 25.38%;
}
#content #head_area.cms:before{
	content: "";
	display: block;
	padding-top: 15.38%;
}
#content #head_area .inner{
	position: relative;
	width: 100%;
}
#content #head_area h2{
	width: 100%;
	position: relative;
	font-size: 2.5rem;
    font-weight: 600;
	text-align: center;
	padding: 0 0 15px 0;
	display: block;
}
#content #head_area h3{
	width: 100%;
	position: relative;
	font-size: 1.5rem;
	text-align: center;
	display: block;
}
#content #head_area.deteil h2{
	width: 1180px;
	margin: 0 auto;
	text-align: left;
	padding: 0 380px 15px 0;
	box-sizing: border-box;
	line-height: 1.4;
}
#content #head_area p{
	width: 940px;
	margin: 0 auto;
	position: relative;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #000;
	text-align: center;
	display: block;
	padding: 30px 0 0 0;
}

#content #head_area.cms .inner{
	width: 940px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#content #head_area.cms.clm2 .inner{
	width: 1180px;
}
#content #head_area.cms .inner.center{
	justify-content: center;
}
#content #head_area.cms .inner .box{
	width: 380px;
	margin: -10px 0 0 0;
}
#content #head_area.cms h2{
	text-align: left;
}
#content #head_area.cms h3{
	text-align: left;
}
#content #head_area.cms .inner p{
	width: 560px;
	margin: -15px 0 0 0;
	text-align: left;
	padding: 0 0 0 0;
}
#content #head_area.cms .inner.center p{
	width: 100%;
	margin: 0 0 0 0;
	text-align: center;
	padding: 0 0 0 0;
}

.in-box{
	width: 940px;
	margin:0 auto;
	position:relative;
	text-align:left;
	box-sizing: border-box;
}
#content .note{
	font-size:0.813rem;
	text-align:left;
	line-height:1.4;
	margin:0 auto 0 auto;
}

/*------ effects ------*/

/* effect setting */
.slEtL{
	display: block;
	opacity: 0;
	-webkit-transition: all 0.6s;
  	-webkit-transform: translate(0, 50px);
	transition: all 0.6s;
  	transform: translate(0, 50px);
}
.slEtLSlow{
	display: block;
	opacity: 0;
	-webkit-transition: all 1.0s;
  	-webkit-transform: translate(-100px, 0);
	transition: all 1.0s;
  	transform: translate(-100px, 0);
}
.slEtRSlow{
	display: block;
	opacity: 0;
	-webkit-transition: all 1.0s;
  	-webkit-transform: translate(100px, 0);
	transition: all 1.0s;
  	transform: translate(100px, 0);
}

.slEtLmove{
	opacity: 1;
  	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
@media only screen and (max-width: 1189px) {
	#content #head_area.cms .inner{
		width: 940px;
	}
	#content #head_area.deteil .inner{
		width: 94%;
		margin: 0 auto;
	}
	#content #head_area.cms.clm2 .inner{
		width: 94%;
	}
	#content #head_area.deteil h2{
		width: 100%;
		padding: 0 32.20% 15px 0;
	}
	
	#content #head_area.cms .inner .box{
		width: 380px;
		margin: -10px 0 0 0;
	}
	#content #head_area.cms .inner p{
		width: calc(100% - 400px);
		margin: -15px 0 0 0;
	}
	
}
@media only screen and (max-width: 960px) {
	#content{
		padding: 35px 0 0 0;
	}

	.in-box{
		width:96%;
	}
	#content .note{
		font-size:0.750rem;
	}
	

	#content #head_area:before{
		content: "";
		display: block;
		padding-top: 35.38%;
	}
	#content #head_area.cms:before{
		content: "";
		display: block;
		padding-top: 24.38%;
	}
	#content #head_area h2{
		font-size: 2.25rem;
		padding: 0 0 15px 0;
	}
	#content #head_area h3{
		font-size: 1.375rem;
	}
	#content #head_area p{
		width: 96%;
		font-size: 1.000rem;
		padding: 20px 0 0 0;
	}
	
	#content #head_area.deteil h2{
		width: 100%;
		padding: 0 32.20% 15px 0;
	}
	#content #head_area.cms .inner{
		width: 96%;
		align-content: center;
	}
	#content #head_area.cms.clm2 .inner{
		width: 94%;
	}
	#content #head_area.cms .inner .box{
		width: 350px;
		margin: 0px 0 0 0;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		align-content: center;
	}
	#content #head_area.cms .inner p{
		width: calc(100% - 380px);
		margin: 0px 0 0 0;
		padding: 0 0 0 0;
	}
	
}

@media only screen and (max-width: 768px) {
	#content{
		padding: 0 0 0 0;
	}
	
	.in-box{
		width:90%;
	}
	#content .note{
		font-size:0.688rem;
	}
	
	#content #head_area:before{
		content: "";
		display: block;
		padding-top: 40.38%;
	}
	#content #head_area.cms:before{
		content: "";
		display: block;
		padding-top: 22.38%;
	}
	#content #head_area h2{
		font-size: 1.625rem;
		padding: 0 0 10px 0;
	}
	#content #head_area h3{
		font-size: 1.125rem;
	}
	#content #head_area p{
		width:90%;
		font-size: 0.938rem;
		padding: 15px 0 0 0;
	}
	#content #head_area.cms .inner{
		width: 90%;
		align-content: flex-start;
	}
	#content #head_area.cms.clm2 .inner{
		width: 90%;
	}
	#content #head_area.deteil .inner{
		width: 90%;
		margin: 0 auto;
	}
	#content #head_area.deteil h2{
		width: 100%;
		padding: 0 0% 15px 0;
	}
	
	#content #head_area.cms .inner .box{
		width: 100%;
		margin: 0 0 0 0;
	}
	#content #head_area.cms .inner p{
		width: 100%;
		margin: 0 0 0 0;
	}
}

@media only screen and (max-width: 480px) {
	#content{
		padding: 0 0 0 0;
	}
	.in-box{
		width:90%;
	}
	#content .note{
		font-size:0.625rem;
	}
	
	#content #head_area:before{
		content: "";
		display: block;
		padding-top: 55.38%;
	}
	#content #head_area.cms:before{
		content: "";
		display: block;
		padding-top: 35.38%;
	}
	#content #head_area h2{
		font-size: 1.625rem;
		padding: 0 0 10px 0;
	}
	#content #head_area h3{
		font-size: 1rem;
	}
	#content #head_area p{
		font-size: 0.813rem;
		padding: 15px 0 0 0;
	}
	
	#content #head_area.cms .inner{
		width: 90%;
	}
	#content #head_area.cms.clm2 .inner{
		width: 90%;
	}
	#content #head_area.deteil .inner{
		width: 90%;
		margin: 0 auto;
	}
	#content #head_area.deteil h2{
		width: 100%;
		padding: 0 0% 15px 0;
		font-size: 1.500rem;
		line-height: 1.4;
	}
}
@media only screen and (max-width: 380px) {
	
	#content #head_area:before{
		content: "";
		display: block;
		padding-top: 65.38%;
	}
	#content #head_area.cms:before{
		content: "";
		display: block;
		padding-top: 35.38%;
	}
	#content #head_area h2{
		font-size: 1.500rem;
		padding: 0 0 10px 0;
	}
	#content #head_area h3{
		font-size: 0.938rem;
	}
	#content #head_area p{
		font-size: 0.813rem;
		padding: 15px 0 0 0;
	}
	#content #head_area.deteil h2{
		width: 100%;
		padding: 0 0% 15px 0;
		font-size: 1.375rem;
	}
}


/* 404 */
.page404#content > .out-box{
	width: 1180px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 60px 0 60px 0;
	margin: 0 auto;
}
.page404#content > .out-box p{
	width: 100%;
	font-size: 1.125rem;
	line-height: 2.0;
	text-align: center;
}
.page404#content > .out-box p a{
	width: 15em;
	font-size: 1.125rem;
	line-height: 1.1;
	text-align: center;
	border: #CCCCCC 1px solid;
	padding: 0.8em 1em;
	display: block;
	text-decoration: none;
	margin: 30px auto 0 auto;
	background: #457702;
	color: #FFFFFF;
}
.page404#content > .out-box p a:hover{
	background: #71B01C;
}
@media only screen and (max-width: 1189px) {
	.page404#content > .out-box{
		width: 94%;
		padding: 60px 0 60px 0;
	}
	.page404#content > .out-box p{
		font-size: 1.125rem;
	}
	.page404#content > .out-box p a{
		font-size: 1.125rem;
	}
}
@media only screen and (max-width: 960px) {
	.page404#content > .out-box{
		width: 94%;
		padding: 50px 0 50px 0;
	}
	.page404#content > .out-box p{
		font-size: 1.000rem;
	}
	.page404#content > .out-box p a{
		font-size: 1.000rem;
	}
}
@media only screen and (max-width: 768px) {
	.page404#content > .out-box{
		width: 90%;
		padding: 40px 0 40px 0;
	}
	.page404#content > .out-box p{
		font-size: 0.938rem;
	}
	.page404#content > .out-box p a{
		font-size: 0.938rem;
	}
}
@media only screen and (max-width: 480px) {
	.page404#content > .out-box{
	}
	.page404#content > .out-box p{
		font-size: 0.875rem;
	}
	.page404#content > .out-box p a{
		font-size: 0.875rem;
	}
}



/* search */
.search#content #entry_list{
	width: 100%;
}

.search#content #entry_list p{
	width: 100%;
	font-size: 1.000rem;
	text-align: center;
	padding: 60px 0;
}

.search#content #entry_list dl{
	width: 100%;
	text-align: left;
	font-size: 1.000rem;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	color: #4d4d4d;
}
.search#content #entry_list dl dt{
	width: 0;
	padding: 0 0 0 0;
	line-height: 1.4;
	font-size: 1.00rem;
	border-bottom: #d6d6d6 1px solid;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

.search#content #entry_list dl dd{
	width: 100%;
	padding: 45px 0 45px 0;
	line-height: 1.6;
	text-align: left;
	box-sizing: border-box;
	border-bottom: #d6d6d6 1px solid;
}
.search#content #entry_list dl dd a{
	text-decoration: none;
	color: #4d4d4d;
}
.search#content #entry_list dl dd a h3{
	width: 100%;
	font-size: 1.125rem;
	font-weight: bold;
	padding: 0 0 10px 0;
	position: relative;
	box-sizing: border-box;
}
.search#content #entry_list dl dd a p{
	width: 100%;
	font-size: 1.000rem;
	text-align: left;
	padding: 0 0 0 0;
}
.search#content #entry_list dl dd a[href$=".pdf"] h3::after{
	padding-right: 15px;
	width: 20px;
	height: 25px;
	display: inline-block;
	content: "";
	background: url("../img/common/icon_pdf.png") center right/ contain no-repeat;
	vertical-align: middle;
}
@media only screen and (max-width: 960px) {
	.search#content #entry_list{
		width: 100%;
		padding: 0 0 0 0;
	}
	.search#content #entry_list p{
		font-size: 0.938rem;
		padding: 50px 0;
	}
	
	
	.search#content #entry_list dl{
		font-size: 0.938rem;
	}
	.search#content #entry_list dl dt{
		width: 0;
		padding: 0 0 0 0;
		font-size: 0.938rem;
	}

	.search#content #entry_list dl dd{
		width: 100%;
		padding: 20px 0 20px 0;
	}
	.search#content #entry_list dl dd a h3{
		font-size: 1.000rem;
	}
	.search#content #entry_list dl dd a p{
		font-size: 0.938rem;
	}
}

@media only screen and (max-width: 768px) {
	/* search */
	.search#content #entry_list{
		width: 100%;
		padding: 0 0 0 0;
	}
	.search#content #entry_list p{
		font-size: 0.875rem;
		padding: 40px 0;
	}
	.search#content #entry_list dl{
		font-size: 0.875rem;
	}
	.search#content #entry_list dl dt{
		width: 100%;
		padding: 25px 0 25px 0;
		font-size: 0.875rem;
		border-bottom: none;
		justify-content: flex-start;
	}

	.search#content #entry_list dl dd{
		width: 100%;
		padding: 20px 0 20px 0;
	}
	.search#content #entry_list dl dd a h3{
		font-size: 0.938rem;
	}
	.search#content #entry_list dl dd a p{
		font-size: 0.875rem;
	}
}
@media only screen and (max-width: 480px) {
}


/* pagenation*/
#content #pagenation{
	width:100%;
	margin: 75px 0 75px 0;
	clear: both;
	text-align: center;
}
#content #pagenation.deteil{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#content #pagenation a, #content #pagenation span {
	text-decoration: none;
	padding: 0.3em 0.7em;
	margin: 0 0.4em;
	font-size: 1.25rem;
	background: #FFF;
	border: #000 1px solid;
	color: #000;
}
#content #pagenation a.prevpostslink{
	margin: 0 0.4em 0 0;
}
#content #pagenation a.nextpostslink{
	margin: 0 0 0 0.4em;
}
#content #pagenation a:hover, #content #pagenation span.larger {
	background: #000;
	color: #FFF;
	font-weight: normal;
	border: #000 1px solid;
}

#content #pagenation.deteil a{
	text-decoration: none;
	padding: 0 0;
	margin: 0 0.4em;
	background: none;
	border: none;
	color: #000;
	width: 47%;
}
#content #pagenation.deteil a.prev{
	margin: 0 0.4em 0 0;
	text-align: left;
}
#content #pagenation.deteil a.next{
	margin: 0 0 0 0.4em;
	text-align: right;
}
#content #pagenation.deteil a.prev h3,
#content #pagenation.deteil a.next h3{
	font-size: 1.125rem;
	padding: 0 0 10px 0;
}
#content #pagenation.deteil a.prev p,
#content #pagenation.deteil a.next p{
	font-size: 1.000rem;
	line-height: 1.8;
}
#content #pagenation.deteil a.prev p{
	padding: 0 0 0 1em;
}
#content #pagenation.deteil a.next p{
	padding: 0 1em 0 0;
}

@media only screen and (max-width: 960px) {
	/* pagenation*/
	#content #pagenation{
		margin: 75px 0 75px 0;
	}
	#content #pagenation a, #content #pagenation span {
		font-size: 1.125rem;
	}
}

@media only screen and (max-width: 768px) {
	/* pagenation*/
	#content #pagenation{
		margin: 65px 0 65px 0;
	}
	#content #pagenation a, #content #pagenation span {
		font-size: 1.000rem;
	}
	
	#content #pagenation.deteil a{
		width: 47%;
	}
	#content #pagenation.deteil a.prev h3,
	#content #pagenation.deteil a.next h3{
		font-size: 1.000rem;
	}
	#content #pagenation.deteil a.prev p,
	#content #pagenation.deteil a.next p{
		font-size: 0.937rem;
	}
}
@media only screen and (max-width: 480px) {
	#content #pagenation{
		margin: 55px 0 55px 0;
	}
	#content #pagenation a, #content #pagenation span {
		font-size: 0.938rem;
	}
	#content #pagenation.deteil a.prev h3,
	#content #pagenation.deteil a.next h3{
		font-size: 0.937rem;
	}
	#content #pagenation.deteil a.prev p,
	#content #pagenation.deteil a.next p{
		font-size: 0.875rem;
	}
}


/* --------------------
	  pagepath
--------------------*/
#pagepathWrap-new{
	width: 100%;
	padding: 15px 0;
	margin: 0 0 0 0;
	text-align: left;
	box-sizing: border-box;
	border-top: rgba(203,203,203,1.00) 1px solid;
}
#pagepathWrap-new ul#pagepath{
	width: 940px;
	margin: 0 auto;
	text-align: left;
	display: block;
}
#pagepathWrap-new ul#pagepath li{
	padding: 0 10px 0 0;
	font-size: 1.000rem;
	text-align: left;
	display: inline;
}
#pagepathWrap-new ul#pagepath li a{
	padding: 0 20px 0 0;
	color: #000;
	text-decoration: none;
	position: relative;
}
#pagepathWrap-new ul#pagepath li a::before{
	content: "";
	border-top: solid 1px #5aa4ae;
	border-right: solid 1px #5aa4ae;
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
	position: absolute;
	top:50%;
	right: 5px;
	margin: -3px 0 0 0;
}
#pagepathWrap-new ul#pagepath li a:hover{
	background: #5aa4ae;
	color: rgba(255,255,255,1.00);
	transition: all 0.5s ease;
}
#pagepathWrap-new ul#pagepath li a:hover::before{
	content: "";
	border-top: solid 1px rgba(255,255,255,1.00);
	border-right: solid 1px rgba(255,255,255,1.00);
}
#pagepathWrap-new ul#pagepath li.current-item{
	width: auto;
	display: inline;
}


@media only screen and (max-width: 960px) {
	#pagepathWrap-new{
		padding: 15px 0;
	}
	#pagepathWrap-new ul#pagepath{
		width: 94%;
	}
	#pagepathWrap-new ul#pagepath li{
		padding: 0 10px 0 0;
		font-size: 0.938rem;
	}
}

@media only screen and (max-width: 768px) {
	#pagepathWrap-new{
		padding: 10px 0;
	}
	#pagepathWrap-new ul#pagepath{
		width: 90%;
		display: block;
	}
	#pagepathWrap-new ul#pagepath li{
		padding: 0 10px 0 0;
		font-size: 0.875rem;
		display: inline;
	}
	#pagepathWrap-new ul#pagepath li.current-item{
		width: auto;
		display: inline;
	}
}

@media only screen and (max-width: 480px) {
	#pagepathWrap-new{
		padding: 10px 0;
	}
	#pagepathWrap-new ul#pagepath li{
		padding: 0 10px 5px 0;
		font-size: 0.813rem;
	}
}



/* --------------------
	  under link
--------------------*/
#under_link{
	width: 100%;
	position: relative;
	background: #000;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#under_link li{
	width: calc(100% / 3);
	border-right: #FFF 2px solid;
	text-align: center;
	font-size: 1.562rem;
	box-sizing: border-box;
}
#under_link li:last-child{
	border-right: none;
}
#under_link li a{
	padding: 30px 0;
	display: block;
	color: #FFF;
	text-decoration: none;
}
#under_link li a:hover{
	opacity: 1.0;
	background: #31513B;
}

@media only screen and (max-width: 960px) {
	#under_link{
	}
	#under_link li{
		font-size: 1.375rem;
	}
	#under_link li a{
		padding: 30px 0;
	}
}
@media only screen and (max-width: 768px) {
	#under_link{
	}
	#under_link li{
		font-size: 1.25rem;
	}
	#under_link li a{
		padding: 20px 0;
	}
}
@media only screen and (max-width: 480px) {
	#under_link li{
		font-size: 3.5vw;
	}
	#under_link li a{
		padding: 15px 0;
	}
}



/* --------------------
	  under_request 
--------------------*/
#under_request{
	width: 100%;
	position: relative;
	background: #FFF;
}
#under_request .in-box{
	padding: 50px 0 50px 0;
	margin: 0 auto;
}
#under_request h2{
	font-size: 1.875rem;
	line-height: 1.8;
	text-align: center;
	padding: 0 0 20px 0;
	color: #000000;
}
#under_request h3{
	font-size: 1.000rem;
	line-height: 2.2;
	text-decoration: underline;
	text-underline-offset: 0.4em;
	text-decoration-color: #457702;
	text-align: center;
	color: #000000;
}
#under_request .btn_area{
	width: 800px;
	margin: 0 auto;
	padding: 30px 0 0 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#under_request .btn_area a{
	width: 370px;
	display: block;
	padding: 25px 0;
	background: #31513B url("../img/common/bg_img.jpg") center center/cover no-repeat;
	font-size: 1.75rem;
	font-weight: 700;
	text-align: center;
	color: #FFF;
	border-radius: 50px;
	text-decoration: none;
}
#under_request .btn_area a:hover{
	opacity: 0.9;
	filter: brightness(125%);
}
@media only screen and (max-width: 960px) {
	#under_request .in-box{
		padding: 50px 0 50px 0;
		margin: 0 auto;
	}
	#under_request h2{
		font-size: 1.75rem;
		padding: 0 0 20px 0;
	}
	#under_request h3{
		font-size: 0.938rem;
	}
	#under_request .btn_area{
		width: 85%;
		padding: 30px 0 0 0;
	}
	#under_request .btn_area a{
		width: 45%;
		padding: 20px 0;
		font-size: 1.625rem;
	}
}
@media only screen and (max-width: 768px) {
	#under_request .in-box{
		padding: 30px 0 30px 0;
		margin: 0 auto;
	}
	#under_request h2{
		font-size: 1.625rem;
		padding: 0 0 20px 0;
	}
	#under_request h3{
		font-size: 0.875rem;
	}
	#under_request .btn_area{
		width: 80%;
		padding: 20px 0 0 0;
	}
	#under_request .btn_area a{
		width: 100%;
		padding: 20px 0;
		font-size: 1.375rem;
		margin: 0 0 10px 0;
	}
}
@media only screen and (max-width: 480px) {
	#under_request .in-box{
	}
	#under_request h2{
		font-size: 1.25rem;
		padding: 0 0 20px 0;
	}
	#under_request h3{
		font-size: 0.813rem;
	}
	#under_request .btn_area{
		width: 85%;
		padding: 20px 0 0 0;
	}
	#under_request .btn_area a{
		width: 100%;
		padding: 20px 0;
		font-size: 1.25rem;
	}
}


/* --------------------
	  pagetop
--------------------*/
#pagetop{
	width: 100%;
	position: relative;
}
#pagetop a{
	width: 100%;
	display: block;
	position: relative;
	background: #d8d8d8;
    text-decoration: none;
	text-align: center;
	font-size: 1.125rem;
	font-weight: 700;
	color: #000000;
	padding: 13px 0 15px 0;
}

@media only screen and (max-width: 768px) {
	
}
@media only screen and (max-width: 480px) {
	
}



/* --------------------
	footer
--------------------*/
footer{
	width:100%;
	padding: 75px 0 20px 0;
	background: #669c4e;
}
footer img{
	width:100%;
	line-height: 0;
}
footer .in-box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items:flex-start;
}
footer .in-box #f_info{
	width: 350px;
}
footer .in-box #f_info h1{
	width: 323px;
	padding: 0 0 90px 0;
}
footer .in-box #f_info .access{
	width: 100%;
	padding: 0 0 90px 0;
}
footer .in-box #f_info .access h3{
	width: 100%;
	padding: 0 0 24px 0;
	font-size: 1.625rem;
	color: #FFFFFF;
	text-align: left;
}
footer .in-box #f_info .access h4{
	width: 100%;
	padding: 0 0 15px 0;
	font-size: 1.25rem;
	color: #FFFFFF;
	text-align: left;
}
footer .in-box #f_info .access h4 a{
	text-decoration: none;
	color: #FFFFFF;
}
footer .in-box #f_info .access address{
	width: 100%;
	padding: 0 0 25px 0;
	font-size: 1.00rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: #FFFFFF;
	text-align: left;
}
footer .in-box #f_info .access address a{
	color: #FFFFFF;
}

footer .in-box #f_info .access .calendar{
	display:none;
}


footer .in-box #f_info .links {
	width: 300px;
	padding: 0 0 20px 0;
}
footer .in-box #f_info .links a{
	width: 100%;
	display: block;
	padding: 10px 0 10px 0;
	margin: 0 0 10px 0;
	font-size: 1.5rem;
	line-height: 1.6;
	color: #FFFFFF;
	text-align: center;
	border: #FFFFFF 1px solid;
	position: relative;
	text-decoration: none;
}
footer .in-box #f_info .links a[target="_blank"]::after{
	content: "";
	width: 20px;
	height: 20px;
	background: url("../img/common/icon_arroe_box_b.png") center center/100% auto no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -8px 0 0 0;
}
footer .in-box #f_info ul.sns {
	width: 300px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
footer .in-box #f_info ul.sns li{
	margin: 0 0 0 0;
}
footer .in-box #f_info ul.sns li:nth-child(1){
	width: 43px;
}
footer .in-box #f_info ul.sns li:nth-child(2){
	width: 50px;
}
footer .in-box #f_info ul.sns li:nth-child(3){
	width: 42px;
}
footer .in-box #f_info ul.sns li:nth-child(4){
	width: 101px;
}


footer .in-box #f_nav{
	width: 505px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
footer .in-box #f_nav dl{
	width: 230px;
	border-top: #FFF 1px solid;
	padding: 25px 0 60px 0;
	text-align: left;
}
footer .in-box #f_nav dl dt{
	width: 100%;
	padding: 0 0 25px 0;
	font-size: 1.437rem;
	color: #FFF;
}
footer .in-box #f_nav dl dd{
	width: 100%;
	padding: 0 0 12px 0;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #FFF;
}
footer .in-box #f_nav dl dt a,
footer .in-box #f_nav dl dd a{
	color: #FFF;
	text-decoration: none;
	position: relative;
}
footer .in-box #f_nav dl dd a[target="_blank"]{
	padding: 0 20px 0 0;
}
/*footer .in-box #f_nav dl dd a[target="_blank"]::after{
	content: "";
	width: 15px;
	height: 15px;
	background: url("../img/common/icon_arroe_box.png") center center/100% auto no-repeat;
	position: absolute;
	bottom: 0%;
	right: 0px;
	margin: 0 0 0 0;
}*/

footer #copy_area{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 30px 60px;
	box-sizing: border-box;
}

footer #copy_area .banner{
	display: flex;
	justify-content: flex-end;
	padding: 0px 0 20px 0;
}

footer #copy_area .banners{
	width: 100%;
      display: flex;
      justify-content: flex-end;
      gap: 2rem;
	flex-wrap: wrap;
}

footer #copy_area .banner img{
	height:100px;
	width:auto;
}


footer #copy_area aside{
	width: 55%;
}
footer #copy_area aside ul{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
footer #copy_area aside ul li{
	text-align: left;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	padding: 0 25px 0 0;
}
footer #copy_area aside ul li a{
	padding: 0 20px 0 0;
	display: block;
	position: relative;
	color: #FFFFFF;
	text-decoration: none;
}
footer #copy_area aside ul li a[target="_blank"]::after{
	content: "";
	width: 15px;
	height: 15px;
	background: url("../img/common/icon_arroe_box.png") center center/100% auto no-repeat;
	position: absolute;
	top: 50%;
	right: 0px;
	margin: -8px 0 0 0;
}

footer #copy_area .copyright{
	width: 35%;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	color: #FFFFFF;
	text-align: right;
}

@media only screen and (max-width: 1200px) {

	footer #copy_area{
		padding: 30px 30px;
		flex-wrap: wrap;
	}
	footer #copy_area aside{
		width: 100%;
		padding: 0 0 20px 0;
	}
	footer #copy_area aside ul{
		margin: 0 auto;
	}
	footer #copy_area aside ul li{
		font-size: 0.875rem;
	}

	footer #copy_area .copyright{
		width: 100%;
		font-size: 0.75rem;
		text-align: center;
	}
}
@media only screen and (max-width: 960px) {
	footer{
		padding: 60px 0 10px 0;
	}
	footer .in-box #f_info{
		width: 36%;
	}
	footer .in-box #f_info h1{
		width: 80%;
		padding: 0 0 70px 0;
	}
	footer .in-box #f_info .access{
		padding: 0 0 70px 0;
	}
	footer .in-box #f_info .access h3{
		padding: 0 0 24px 0;
		font-size: 1.500rem;
	}
	footer .in-box #f_info .access h4{
		padding: 0 0 15px 0;
		font-size: 1.125rem;
	}
	footer .in-box #f_info .access address{
		padding: 0 0 25px 0;
		font-size: 0.938rem;
	}
	footer .in-box #f_info .links {
		width: 90%;
		padding: 0 0 20px 0;
	}
	footer .in-box #f_info .links a{
		padding: 10px 0 10px 0;
		font-size: 1.375rem;
	}
	footer .in-box #f_info .links a[target="_blank"]::after{
		content: "";
		width: 20px;
		height: 20px;
		right: 20px;
		margin: -8px 0 0 0;
	}
	footer .in-box #f_info ul.sns {
		width: 90%;
	}
	footer .in-box #f_info ul.sns li{
		margin: 0 0 0 0;
	}
	footer .in-box #f_info ul.sns li:nth-child(1){
		width: 14.33%;
	}
	footer .in-box #f_info ul.sns li:nth-child(2){
		width: 16.66%;
	}
	footer .in-box #f_info ul.sns li:nth-child(3){
		width: 14%;
	}
	footer .in-box #f_info ul.sns li:nth-child(4){
		width: 33.66%;
	}

	footer .in-box #f_nav{
		width: 62%;
	}
	footer .in-box #f_nav dl{
		width: 49%;
		padding: 25px 0 50px 0;
	}
	footer .in-box #f_nav dl dt{
		padding: 0 0 25px 0;
		font-size: 1.375rem;
	}
	footer .in-box #f_nav dl dd{
		padding: 0 0 12px 0;
		font-size: 0.813rem;
	}


	footer #copy_area{
		padding: 30px 30px;
	}
	footer #copy_area aside{
		padding: 0 0 20px 0;
	}
	footer #copy_area aside ul li{
		font-size: 0.813rem;
	}

	footer #copy_area .copyright{
		font-size: 0.688rem;
	}
}
@media only screen and (max-width: 768px) {
	footer{
		padding: 40px 0 10px 0;
	}
	footer .in-box #f_info{
		width: 100%;
	}
	footer .in-box #f_info h1{
		width: 60%;
		margin: 0 auto;
		padding: 0 0 50px 0;
	}
	footer .in-box #f_info .access{
		padding: 0 0 50px 0;
	}
	footer .in-box #f_info .access h3{
		padding: 0 0 24px 0;
		font-size: 1.500rem;
	}
	footer .in-box #f_info .access h4{
		padding: 0 0 15px 0;
		font-size: 1.125rem;
		letter-spacing: 0.1em;
	}
	footer .in-box #f_info .access address{
		padding: 0 0 25px 0;
		font-size: 0.938rem;
	}
	footer .in-box #f_info .access .calendar{
		display:block;
	}
	footer .in-box #f_info .links {
		width: 100%;
		padding: 0 0 20px 0;
	}
	footer .in-box #f_info .links a{
		padding: 10px 0 10px 0;
		font-size: 1.375rem;
		letter-spacing: 0.1em;
	}
	footer .in-box #f_info .links a[target="_blank"]::after{
		content: "";
		width: 20px;
		height: 20px;
		right: 20px;
		margin: -8px 0 0 0;
	}
	footer .in-box #f_info ul.sns {
		width: 60%;
	}
	footer .in-box #f_info ul.sns li{
		margin: 0 0 0 0;
	}
	footer .in-box #f_info ul.sns li:nth-child(1){
		width: 14.33%;
	}
	footer .in-box #f_info ul.sns li:nth-child(2){
		width: 16.66%;
	}
	footer .in-box #f_info ul.sns li:nth-child(3){
		width: 14%;
	}
	footer .in-box #f_info ul.sns li:nth-child(4){
		width: 33.66%;
	}


	footer .in-box #f_nav{
		width: 100%;
	}
	footer .in-box #f_nav dl{
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		border-top: none;
		padding: 25px 0 0 0;
	}
	footer .in-box #f_nav dl dd{
		width: 50%;
		font-size: 0.875rem;
	}
	footer .in-box #f_nav dl:not(:last-child){
		display: none;
	}
	footer .in-box #f_nav dl:last-child dd:not(.sp_v){
		display: none;
	}


	footer #copy_area{
		padding: 20px 5%;
	}
	
	footer #copy_area .banners{
		justify-content: center;
	}
	footer #copy_area .banner{
		justify-content: center;
		order: 2;
	}
	footer #copy_area .banner a{
		width: 100%;
	}
	footer #copy_area .banner img{
		width: 100%;
		height:auto;
	}
	footer #copy_area aside{
		padding: 0 0 20px 0;
		order: 1;
	}
	footer #copy_area aside ul li{
		font-size: 0.813rem;
		margin: 0 0 10px 0;
	}

	footer #copy_area .copyright{
		font-size: 0.688rem;
		font-weight: normal;
		order: 3;
	}
}
@media only screen and (max-width: 480px) {
	footer{
		padding: 40px 0 10px 0;
	}
	footer .in-box #f_info h1{
		width: 80%;
		padding: 0 0 40px 0;
	}
	footer .in-box #f_info .access{
		padding: 0 0 40px 0;
	}
	footer .in-box #f_info .access h3{
		padding: 0 0 24px 0;
		font-size: 1.500rem;
	}
	footer .in-box #f_info .access h4{
		padding: 0 0 15px 0;
		font-size: 1.125rem;
	}
	footer .in-box #f_info .access address{
		padding: 0 0 25px 0;
		font-size: 0.875rem;
	}
	footer .in-box #f_info .links {
		width: 100%;
		padding: 0 0 20px 0;
	}
	footer .in-box #f_info .links a{
		padding: 7px 0 7px 0;
		font-size: 1.25rem;
	}
	footer .in-box #f_info .links a[target="_blank"]::after{
		content: "";
		width: 18px;
		height: 18px;
		right: 18px;
		margin: -8px 0 0 0;
	}
	footer .in-box #f_info ul.sns {
		width: 100%;
	}


	footer #copy_area{
		padding: 20px 5%;
	}
	footer #copy_area .banner a{
		width: 100%;
	}
	footer #copy_area aside{
		padding: 0 0 15px 0;
	}
	footer #copy_area aside ul li{
		font-size: 0.813rem;
		margin: 0 0 10px 0;
		padding: 0 15px 0 0;
	}

	footer #copy_area .copyright{
		font-size: 0.625rem;
		font-weight: normal;
	}
}

#no_land {
	display: none;
}
@media screen and (orientation: landscape) {
    /*.is-mobile #no_land {
        position: fixed;
		top: 0;
		left: 0;
		background: rgba(0,0,0,0.60);
		width: 100vw;
		height: 100vh;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		z-index: 99999;
    }
	.is-mobile #no_land p{
       color: rgba(38,38,38,1.00);
		font-size: 1.125rem;
		text-align: center;
		line-height: 1.6;
		padding: 1em 2em 1.2em;
		background: rgba(255,255,255,1.00);
		border-radius: 15px;
    }*/
}

/* --------------------
	floating banner
	--------------------*/
#fl_banner{
	width: 70px;
	position: fixed;
	top: 400px;
	right: 0;
	z-index: 999;
}
#fl_banner a{
	width: 100%;
	display: block;
}
#fl_banner img{
	width: 100%;
}
@media only screen and (max-width: 768px) {
	#fl_banner{
		width: 60px;
		position: fixed;
		top: auto;
		bottom: 20px;
		right: 5%;
	}
}