@charset "utf-8";
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "繝偵Λ繧ｮ繝手ｧ偵ざ Pro", "Hiragino Kaku Gothic Pro", "繝｡繧､繝ｪ繧ｪ", "Meiryo", sans-serif;
	font-size:100%;
	line-height:180%;
	color: #222;
}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd, ol, ol li, table, th, td {
	background-image:url(../image/spacer.gif);
}
iframe { border: none;}

a:link {color:#06F; outline:none; }
a:visited {color:#06F;}
a:hover {color: #333;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70);}

#wrapper {}
#base {}

i.material-icons { vertical-align: middle;}
.pc {display:block;}
.sm {display:none;}

.anchor {position: relative;}
.anchor a {position:absolute; top:-150px;}

/* SNS BUTTON */
.sns { overflow: hidden;}
.sns div { float: left;}
.sns div+div { margin-left: 10px;}
.sns div a {
	display: block; width: 25px; height: 25px;
	text-indent: -9999px;
	background-size: 100% auto !important;
}
.sns div a:hover { opacity: 0.7; filter: alpha(opacity=70);}
.sns .sns_yt a { background: url("../image/sns_yt.png") no-repeat;}
.sns .sns_tw a { background: url("../image/sns_tw.png") no-repeat;}
.sns .sns_fb a { background: url("../image/sns_fb.png") no-repeat;}
.sns .sns_in a { background: url("../image/sns_in.png") no-repeat;}
.sns .sns_li a { background: url("../image/sns_li.png") no-repeat;}
.sns .sns_li2 a { width: auto; height: auto; text-indent: 0; line-height: 25px; background:none;}
.sns .sns_li2 a img { width: auto; height:25px;}
@media only screen and (max-width:800px){
	.sns div+div { margin-left:7px;}
}

/*====================================================================================================
  HEADER
====================================================================================================*/
#header { 
	position: sticky; top: 0; left: 0;
	width:100%;
	overflow: hidden;
	z-index: 999999999999;
	background:rgba(255,255,255,0.95);
}
#header.sticky_head {
	background:rgba(255,255,255,0.95);
	box-shadow: 0 0 3px 0 rgba(0, 0, 0,0.30);
}
#header .h_box {
	margin: auto; padding: 20px;
	max-width: 1000px;
	overflow: hidden;
}
#header .sns { position: relative; top:12px; margin-left:20px;}

/*** LOGO ******************************************************************/
#header h1,
#header h1 a { display: block; height:60px; transition: 0.5s;}
#header h1 { float: left; width:28%; max-width:270px;}
#header h1 a { 
	width:100%;
	text-indent: -9999px;
	background: url(../image/h_logo1.png) no-repeat left center;
	background-size: 100% auto;
}
@media only screen and (max-width:950px){
	#header h1,
	#header h1 a { height:80px;}
	#header h1 { max-width:150px;}
	#header h1 a { 
		background:url(../image/f_logo1.png) no-repeat left center;
		background-size:150px auto;
	}
}


/*** NAVIGATION ************************************************************/
#Nav { float: right; position: relative; top:10px; transition: 0.5s;}
#Nav ul { padding-bottom:10px;}
#Nav ul::after { /*float_clear*/ display:block; clear:both; content:"";}
#Nav ul li { float: left;}
#Nav ul li p a { display: block; text-decoration: none;}
#Nav ul li p a {
	display: block;
	padding:15px 10px;
	font-family: 'Noto Serif JP', serif;
	color: #222;
	font-weight:normal;
	text-align: center;
	text-decoration: none;
	line-height: 130%;
	box-sizing: border-box;
	transition: 0.5s;
	border-bottom: 3px solid rgba(255,255,255,0);
}
#Nav ul li:hover p a { border-bottom: 3px solid #F9D32B;}
#Nav ul li ul { width: 100%; padding: 10px; background: #f6f6f6;}
#Nav ul li ul li { float:none; width:100%; border-left:none; background: #fff;}
#Nav ul li ul li+li { margin-top: 5px;}
#Nav ul li ul li a { padding:15px;}
#Nav ul li#nav1,
#Nav ul li#nav6 { display: none;}
#Nav ul li { position: relative; }
#Nav ul li ul { position: absolute; top:50px; left:0; height:0; overflow: hidden; opacity: 0; transition: all 0.3s;}
#Nav ul li:hover ul { display: block; height: auto; opacity: 10; }
@media only screen and (max-width:950px){
	#Nav ul li p a{ padding:15px 5px;}
	#Nav ul li p a { font-size:95%;}
}



/*====================================================================================================
  CONTENT
====================================================================================================*/
#content { clear:both; width:100%; }


/*====================================================================================================
  FOOTER
====================================================================================================*/
#footer { clear:both; width:100%; background:#F9D32B;}
#footer .f_box { 
	margin: auto; padding:50px 0;
	width:96%; max-width: 1000px;
	overflow: hidden;
}
#footer .logo {
	float: left;
	width: 200px; height:120px;
	text-indent: -9999px;
	background: url("../image/f_logo1.png") no-repeat left center;
	background-size: 170px auto;
	transition: 0.5s;
}
#footer .add {
	float: left;
	padding: 30px 20px;
	width:480px; min-height: 120px;
	border-left:1px solid rgba(0,0,0,0.20);
	border-right:1px solid rgba(0,0,0,0.20);
	transition: 0.5s;
}
#footer .add p { position: relative; font-size: 95%; line-height: 150%;}
#footer .add p strong {
	display: block;
	margin-bottom: 10px;
	font-family: 'Noto Serif JP', serif;
	font-size:112.5%;
	font-weight: normal;
}
#footer .add p a.map {
	display: block;
	position: absolute; top:20px; right: 0;
	padding:10px 0 10px 35px;
	width:125px;
	color: #000;
	line-height: 100%;
	font-size: 87.5%;
	text-decoration: none;
	border: 1px solid #000;
	border-radius: 50px;
	background: url("../image/icon_pin.png") no-repeat 10px center;
	background-size: 20px auto;
	box-sizing: border-box;
	transition: 0.5s;
}
#footer .add p a.map:hover { background-color: #fff; border: 1px solid #fff;}
#footer .add .sns { margin-top:15px;}
#footer .add .sns::before {
	float: left;
	margin-right: 20px;
	content:"OFFICIAL ACCOUNTS";
	font-family: 'Noto Serif JP', serif;
	font-size: 75%;
}
#footer ul.f_nav {
	float: left;
	padding-left: 15px;
	width:320px;
	overflow: hidden;
	transition: 0.5s;
}
#footer ul.f_nav li { float: left; width: 38%; transition: 0.5s;}
#footer ul.f_nav li:nth-child(odd) {width: 62%;}
#footer ul.f_nav li a {
	font-family: 'Noto Serif JP', serif;
	color: #222;
	font-size: 87.5%;
	text-decoration: none;
	transition: 0.5s;
}
#footer ul.f_nav li::before { content:"・";}
#footer ul.f_nav li a:hover { text-decoration: underline;}
#footer .copy { 
	padding: 15px 0;
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-size: 75%;
	text-align: center;
	background: #fff;
}
@media only screen and (max-width:1050px){
	#footer .add{border-right:none;}
	#footer ul.f_nav { padding:20px 0 0; width:100%; text-align: center;}
	#footer ul.f_nav li { display: inline; float: none; width:auto !important;}
	#footer ul.f_nav li::before { content:"";}
	#footer ul.f_nav li+li::before { margin: 0 5px; content:"/";}
}
@media only screen and (max-width:800px){
	#footer { margin-bottom: 65px; }
	#footer .f_box { padding:25px 0 50px; }
	#footer .logo { float: none; margin: auto; width: 170px;}
	#footer .add {position:static;top:0; border:none; padding: 0; width: 100%; min-height: inherit; text-align: center;}
	#footer .add p a.map { display: block; margin:20px auto 0; padding: 10px 0; position: static; width:50%; }
	#footer .add .sns { display: none; margin:25px auto 0; width: 130px;}
	#footer .add .sns::before {	float: left; margin-bottom:10px; width: 100%;}
	#footer ul.f_nav { display: none; }	
}


/*====================================================================================================
  FIX CONTENT
====================================================================================================*/
#page,
#page a { display:block; width:50px; height:50px;}
#page { position: fixed; bottom:50px; right:50px; z-index: 999999;}
#page a { text-indent: -9999px; background:#F9D32B url(../image/page_top.png) no-repeat;}

#fix_nav { 
	display: block;
	position: fixed; top: 200px; right: 0;
	width:50px; height: 240px;
	background:#F7F6F0;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0,0.30);
	overflow: hidden;
}
#fix_nav p a { 
	display: block;
	padding:50px 15px 15px;
	line-height: 120%;
	width:50px; height: 240px;
	color: #222;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	background:url("../image/icon_blog.png") no-repeat center 10px;
	background-size: auto 35px;
	box-sizing: border-box;
	text-align: center;
	writing-mode: vertical-rl;
}
#fix_nav .sns { display: none;}

/*====================================================================================================
  COLOR eto.. [No Touch]
====================================================================================================*/
.light-blue { color: #40A6DD;}
.blue { color: #0000FF;}
.dark-blue { color: #000099;}
.purple { color: #660099;}
.pink { color: #FF6699;}
.red { color: #FF0000;}
.orange { color: #FF6600;}
.yellow { color: #FFCC00;}
.white { color: #FFFFFF;}
.gray { color: #666666;}
.brown { color: #663300;}
.green { color: #339900;}
.italic { font-style: italic;}
.strong { font-weight: bold;}
.large { font-size: 115%; line-height: 140%;}
.small { font-size: 80%;}
.underline { text-decoration: underline;}
.line-through { text-decoration: line-through;}
.left { text-align: left;}
.center { text-align: center;}
.right { text-align: right;}