@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700);
@import url(http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700);
@import url(http://fonts.googleapis.com/css?family=EB+Garamond:400,500,700);
@import url(http://fonts.googleapis.com/css?family=Averia+Serif+Libre:400,500,700);
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/*全体の設定
---------------------------------------------------------------------------*/
body{
	max-width: 100%;
	margin:0;
	padding:0;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
	font-size: 14px;
	color: #333;
	background: #FFF;
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,section{
	margin: 0px;
	padding: 0px;
	display: block;
}
ul{
	list-style-type: none;
}

input,textarea,select {
	font-size: 1em;
}

img{
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}

p{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	list-style-type: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}
ul{
	list-style-type: none;
}

li {
	list-style-type: none;
}


img{
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}

p{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	list-style-type: none;
}

input,textarea,select {
	font-size: 1em;
}

.clearfix:after {
	display:block;
    clear:both;
    height:0px;
    visibility:hidden;
    content:".";
}

a {
	outline:none;
}

.overimg:hover img {
	filter:alpha (opacity=70);
	-moz-opacity:0.80;
	opacity:0.80;
}

/* header
-------------------------------------------------- */
header {
		
		width: 100%;
		height: 125px;
		padding:15px 0 0;
		transition: .5s;
		border-bottom:1px solid #CCC;
		background: #EDE9D9;
		z-index: 20;
	}

.is-animation {
		z-index: 20;
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(237, 233, 217, 0.95);
		-webkit-box-shadow: 0 0 4px 0 rgba(117, 110, 84, 0.6);
		-webkit-box-shadow: 0 0 4px 0 rgba(117, 110, 84, 0.6);
		height: 50px;
		box-sizing: border-box;
		padding:15px 0 ;
		border-bottom:none;
	}

@media only screen and  (max-width: 800px) {
header {
		position: fixed;
		top: 0;
		left: 0;
		height: 50px;
		box-sizing: border-box;
		padding:15px 0;
}
.is-animation {
		border-bottom:none;
}
}


/* header #logo */

header #logo{
	display:none;
}

.is-animation #logo{
	width:143px;
	height:20px;
	display:block;
	margin:0 15px;
	float:left;
	background-image:none;
	background-size:auto 20px;
	background-repeat: no-repeat;
	transition: .1s;
	background-image: url(../images/common/logo.png);
}

header #logo a{
	width:143px;
	height:20px;
	text-decoration:none;
	display: block;
	text-indent:-9999px;
	}

@media only screen and  (max-width: 800px) {
header #logo{
	float:none;
	margin:0 auto;
	width:143px;
	height:20px;
	display:block;
	background-image:none;
	background-size:auto 20px;
	background-repeat: no-repeat;
	transition: .1s;
	background-image: url(../images/common/logo.png);
}

.is-animation #logo{
	float:none;
	margin:0 auto;
}
}

/* header #am-logo */

header #am-logo{
	width:245px;
	height:80px;
	display:block;
	margin:0 auto 0;
}

header #am-logo img{
	width:245px;
	height:80px;
}

.is-animation #am-logo{
	display:none;
}

@media only screen and  (max-width: 800px) {
header #am-logo{
	display:none;
}
}

/* nav
--------------------------------------- */
#nav{
  width:445px;
  position: absolute;
  padding:0 0 0 0;
  top:105px;
  left:50%;
  margin-left:-217px;
  z-index:10;
}

.is-animation #nav{
  padding:15px 0 0 0;
  top:0;
}

#nav > a{display: none;}
#nav liposition: relative;}
#nav li a{color: #fff;display: block;}


#nav li {
  float:left;
  display:block;
  margin:0 2px;
  font-size:14px;
  font-family: Roboto,Meiryo,sans-serif;
  letter-spacing:.1em;
  font-weight:700;
  text-transform: uppercase;
  position: relative;
}

#nav li a{
  padding:15px 12px;
  color: #000;
  text-decoration: none;
}

.is-animation #nav li a{
  padding:15px 12px;
}

#nav li a:hover{
  color:#7D7D7D;
  text-decoration: none;
}


.is-animation #nav li a{
  color: #000;
  text-decoration: none;
}

.is-animation #nav li a:hover{
  color:#000;
  text-decoration: none;
}

.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}


#nav > ul > li.mbt:hover > a,
#nav > ul:not( :hover ) > li.mbt.active > a{
	color:#333;
	background: rgba(237, 233, 217, 0.95);
}

a .ft-Caret{display:inline-block;
width:8px;height:9px;
margin-top:0;margin-left:7px;
background-size:8px 5px;
background-image:url(../images/common/arrow-dwbk2.png);
background-position:center center;
background-repeat:no-repeat;
}

#nav > ul > li:hover > a .ft-Caret,
#nav > ul:not( :hover ) > li.active > a .ty-Caret{
	background-image:url(../images/common/arrow-dwbk.png);
}

a:hover .ft-Caret{
background-image:url(../images/common/arrow-dwbk2.png)!important;
}

/* second level */

#nav li ul{
	color:#333;
	background:#EDE9D9;
	background: rgba(237, 233, 217, 0.95);
	-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
	display: none;
	position: absolute;
	top: 33px;
	left: 10px;
	width: 200px;
}

.is-animation #nav li ul{
  top: 33px;
}

#nav li:hover ul{
  display: block;
}

#nav li:not( :first-child ):hover ul{
  left: 0;
}

#nav li ul li{
  box-sizing: border-box;
  width: 100%;
}

#nav li ul a{
  display: block;
  padding: 7px 10px;
  color:#646464;
  font-family: Roboto,Meiryo,sans-serif;
  letter-spacing:.1em;
  font-weight:700;
  text-transform: uppercase;
  ext-decoration: none;
}

.is-animation #nav li ul a{
  color:#646464;
  display: block;
  padding: 7px 10px;
}

#nav li ul li:first-child  a {
	padding: 15px 10px 7px;
}

#nav li ul li:last-child  a {
	padding: 7px 10px 15px;
}

#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a{
  color:#333;
}


a .ftr-Caret{display:inline-block;
width:5px;height:10px;
margin-top:0;margin-right:7px;
background-size:5px 8px;
background-image:url(../images/common/arrow-r.png);
background-position:center center;
background-repeat:no-repeat;
}

a:hover .ftr-Caret{
background-image:url(../images/common/arrow-rbk.png)!important;
}


@media screen and (max-width: 800px) {
#nav{
  width:100%;
  position: absolute;
  padding:0 0 0 0;
  top:0;
  left:0;
  margin-left:0;
  z-index:10;
}

.is-animation #nav{
  padding:0 0 0 0;
}

#nav > a{
 width: 3.125em; /* 50 */
 height: 3.125em; /* 50 */
 text-align: left;
 text-indent: -9999px;
 background-color: none;
 position: relative;
}

#nav > a:before{
 position: absolute;
 border: 2px solid #C8C8C8;
 top: 40%;
 left: 25%;
 right: 25%;
 content: '';
}

#nav > a:after{
 position: absolute;
 border: 2px solid #C8C8C8;
 top: 40%;
 left: 25%;
 right: 25%;
 content: '';
}

#nav > a:after{ top: 65%;}

#nav:target > ul{display: block;}

#nav:not( :target ) > a:first-of-type,
#nav:target > a:last-of-type{
 display: block;
}

/* first level */
#nav > ul{
 background: rgba(237, 233, 217, 0.95);
 width:100%;
 height: auto;
 display: none;
 position: absolute;
 top:50px;
 left: 0;
 right: 0;
 padding-bottom:0;
 transition: .5s;
}

.is-animation #nav > ul{
	border-top: 1px solid #ccc;
}

#nav li a{ display: block;}
				
#nav > ul > li{
 width: 100%;
 float: none;
}

#nav > ul > li > a{
 color:#646464;
 height: auto;
 text-align: left;
 padding: 17px 28px; /* 20 (24) */
 background-size:5px 8px;
 background-image:url(../images/common/arrow-r.png);
 background-position:15px center;
 background-repeat:no-repeat
}

.is-animation #nav > ul > li > a{
 color:#646464;
 height: auto;
 text-align: left;
 padding: 17px 28px; /* 20 (24) */
 background-size:5px 8px;
 background-image:url(../images/common/arrow-r.png);
 background-position:15px center;
 background-repeat:no-repeat
}

#nav > ul > li > a{
 color:#646464;
 border-right: none;
 border-bottom: 1px solid #ccc;
 background-color: #FAFAFA;
}

#nav > ul > li:hover > a{
	color:#333;
	background: rgba(237, 233, 217, 0.95);

}

/* second level */

#nav li ul{
	color:#333;
	background:#F7F7F7;
	background: rgba(237, 233, 217, 0.95);
	-webkit-box-shadow: none;
	box-shadow: none;
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
}

#nav li ul{
 display: none;
 position: absolute;
 top: 100%;
 padding-bottom:0;
}

#nav li:hover ul{
 display: block;
 left: 2%;
 right:2%;
 }

.is-animation #nav li ul{
  top: 100%;
}

#nav li:not( :first-child ):hover ul{
  left: 0;
}

#nav li ul li{
  box-sizing: border-box;
  width: 100%;
  margin:0 0;
}

#nav li ul a{
 border-bottom: 1px dotted #ccc;
 padding: 10px 15px;
}

#nav li ul li:first-child  a {
	 padding: 10px 15px;
}

.is-animation #nav li ul li:first-child  a {
	 padding: 10px 15px;
}

#nav li ul li:last-child  a {
	 padding: 10px 15px;
}

.is-animation #nav li ul li:last-child  a {
	 padding: 10px 15px;
}

#nav li ul li a{
background-color: #FAFAFA;
}

#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a{
 background-color: #FFF;
}

#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a{
  color:#333;
}

#nav:not( :target ) > a:first-of-type,
#nav:target > a:last-of-type
{
 display: block;
}
				
/* second level */
#nav li ul{
 position: static;
 padding-top: 0;
}
}

/* wrapper
--------------------------------------------------*/
#wrapper {
	width: 100%;
	padding: 0 auto 1%;
	line-height:1.6;
	min-height: 60vh;
}

.bg-gr {
	background: #ECEFF1;
}

.contents {
	width: 100%;
	max-width: 950px;
	margin:0 auto 3%;
}

@media screen and (max-width: 800px) {
.contents {
  box-sizing: border-box;
  padding:60px 3% 0;
}
}

/* footer
--------------------------------------------------*/
footer{
  float:left;
  background:#F5F5F5;
  box-sizing: border-box;
  width:100%;
  margin:0 auto;
  padding:2% 3% 1.5%;
}

@media only screen and  (max-width: 800px) {
footer {
padding:4% 2%;
}
}

.footerArea {
	width:100%;
	max-width:950px;
	margin: 0 auto 0;
}

.ftr_ttl{
	font-size:1.1em;
	font-family: Roboto,Meiryo,sans-serif;
	letter-spacing:.05em;
	font-weight:700;
	text-transform: uppercase;
	text-align: center;
}

.footerArea .other {
	width:100%;
	float:left;
	margin:2% 0;
}

.footerArea .other li{
	width:20%;
	float:left;
	box-sizing: border-box;
	padding:1.5%;
}

@media only screen and  (max-width: 800px) {
.footerArea .other {
	width:92%;
	margin:3% 4%;
}

.footerArea .other li{
	width:33.3333%;
	padding:4% 3%;
}
}

@media only screen and  (max-width: 568px) {
.footerArea .other li{
	width:50%;
	padding:4% 3%;
}
}

.footerArea .other li img{
	width:100%;
	height:100%;
}

footer .copy{
	text-align: center;
	font-size:0.8em;
	margin-top:2%;
	font-family: Roboto,sans-serif;
	font-weight:300;
}

footer .copy a {
	text-decoration: none;
	color: #333;
}
footer .copy a:hover {
	color: #333;
}

#social-icon  {
	width:180px;
	margin:2% auto 0;
	font-size:0.85em;
}
#social-icon a {
  display: block;
  float: left;
  margin: 0 5px 5px 0;
  padding: 0 0 0 0;
  color: #fff;
}
#social-icon i {
  width: 24px;
  height: 24px;
  margin: 0 7px 0;
  border-radius: 50%;
  background: #B4B4B4;
  line-height: 24px;
  text-align: center;
  padding-left:1px;
  padding-bottom:1px;
}
#social-icon i:before { padding 0; line-height: 24px; }
#social-icon a:hover i { background: #CFCFCF; }


.f-menu  {
	margin:2% auto 0;
	font-family: Roboto,sans-serif;
	letter-spacing:.05em;
	font-weight:400;
	text-align: center;
}

@media only screen and  (max-width: 800px) {
.f-menu  {
	width:90%;
	margin:5% auto 3%;
}
}


.f-menu>li{font-size:0.9em;display:inline-block;padding-left:5px;padding-right:5px;color:#ccc;}

@media only screen and  (max-width: 568px) {
.f-menu>li{padding-left:3px;padding-right:3px;}
}

.f-menu a {
	text-decoration: none;
	color: #000;
}
.f-menu a:hover {
	opacity: 0.6;
}


/*---------- フッターメニュー ----------*/
.nav_bar {
	width:100%;
	padding:0;	
}

.nav_bar p{
	margin-bottom:10px;
	font-size:1em;
}


@media screen and (max-width: 800px) {
.nav_bar {
	width:96%;
	float:none;
	margin:0 auto;
}
}

@media screen and (max-width: 568px) {
.nav_bar {
	width:100%;
}
}

.nav_bar .w25{
	width:25%;
	float:left;
	padding:1% 2%;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
.nav_bar .w25{
	width:50%;
	padding:2% 3% 2% 3%;	
}
}

@media screen and (max-width: 568px) {
.nav_bar .w25{
	width:100%;
	padding:2% 4%;
}
}

.fot_ttl {
	margin-bottom:10px auto 5px;
	font-size:12px;
	background: #616161;
	padding:5px 0;
	text-align: center;
}

.nav_bar .page_nav_menu {
	margin-top:0%;
	margin-right:5%;
	margin-bottom:5px;
	font-size:12px;
	letter-spacing	: 0.1em;
	border-bottom:0.05em dotted #616161;
	padding:5px 5%;
	text-align: left;
}

@media screen and (max-width: 568px) {
.fot_ttl {
	margin-right:0%;	
}

.nav_bar .page_nav_menu {
	margin-right:0%;
}
}

.footer_nav{
	margin-top:1%;
	margin-bottom:1%;
}

@media screen and (max-width: 800px) {
.footer_nav{
	margin-top:0%;
}
}

@media screen and (max-width: 568px) {
.footer_nav{
	margin-top:0%;
	margin-bottom:1%;
}
}

.nav_bar .page_nav_menu a{
	color		: #FFF;
	}

.nav_bar .page_nav_menu a:hover{
	color		: #FFF;
	text-decoration	: underline;
	}

.f_text {
	width:635px;
	float:right;
	padding:0 0 8px 20px;
}

.f_text p{
	text-align: left;
	margin-bottom:10px;
	font-size:1em;
}

.f_text strong{
	font-size:1.1em;
	font-weight:bold;
}

@media screen and (max-width: 800px) {
.f_text {
	width:90%;
	float:none;
	margin:0 auto;
	padding:10px 0 10px 0;
}

.f_text p{
	text-align: center;
}
}

@media screen and (max-width: 568px) {
.f_text p{
	margin-bottom:10px;
	font-size:1.2em;
}
}


/* page_top
========================================================================== */
#page_top {
position: fixed;
bottom: 1.8%;
right: 1.5%;
z-index:2000;
}


.pcHide{display: none;}

/*---------------------------------タブレット---------------------------------------*/
@media screen and (max-width: 800px) {
.pcHide{display: block;}
.tbHide{display: none;}
}

/*---------------------------------スマホ---------------------------------------*/
@media screen and (max-width: 568px) {
.pcHide{display: block;}
.spHide{display: none;}
}

/* .line
-------------------------------------------------- */
hr {
	display		: none;
	}
	
.clr {
	height		: 0;
	clear		: both;
	}

.pcHide{display: none;}

/*---------------------------------タブレット---------------------------------------*/
@media screen and (max-width: 800px) {
.pcHide{display: block;}
.tbHide{display: none;}
}

/*---------------------------------スマホ---------------------------------------*/
@media screen and (max-width: 568px) {
.pcHide{display: block;}
.spHide{display: none;}
}
