@charset "UTF-8";
/*!
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display:block;
}

body {
	line-height:1;
}

ol, ul{
	list-style:none;
}

blockquote, q{
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after{
	content:'';
	content:none;
}

table{
	border-collapse:collapse;
	border-spacing:0;
}

*, *:before, *:after{
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
html {
	height: 100%;
	font-size: 62.5%;
}
body {
	color:#564b4b;
	font-size: 1rem;
	font-family: "Century Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", "Yu Gothic", YuGothic, Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.75;
	background-color: #fdfcfb;
	-webkit-text-size-adjust: 100%;
}
li img {
	vertical-align:bottom;
}
a,a:link,a:visited {
	color:#594a4a;
	text-decoration:none;
}
a:hover,a:active {
	color:#594a4a;
	text-decoration:underline;
}
small {
	font-size:82%;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:middle;
}

/* ==========================================================================================================

	 2) style

============================================================================================================*/
/* clear
--------------------------------------------------------------- */
.clear{
	clear:both;
}
.clearfix{
	zoom:1;_height:1%;
}
.clearfix:after{
	content:"";display:block;clear:both;
}

/* float
--------------------------------------------------------------- */
.floatLeft{
	float:left;
}
.floatRight{
	float:right;
}

/* text-align
--------------------------------------------------------------- */
.textLeft{
	text-align:left;
}
.textRight{
	text-align:right;
}
.textCenter{
	text-align:center;
}

/* visible
--------------------------------------------------------------- */
.visible-smp{
	display:none !important;
}
@media only screen and (max-width:768px){

	body {
		font-size: calc(28/768)*100vw;
	}
	.visible-pc{
		display:none !important;
	}
	.visible-smp{
		display:block !important;
	}
}


/* margin
--------------------------------------------------------------- */
.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mt2em {
  margin-top: 2em !important;
}

.mt3em {
  margin-top: 3em !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.fa {
	width: 1em;
	height: 1em;
	margin: 0 0.25em;
	vertical-align: -0.125em;
	fill: #fff;
	stroke: #fff;
	stroke-width: 0;
}
.fa-flip-horizontal {
	transform: scale(-1, 1);
}



/* ==========================================================================================================

	 3) layout

============================================================================================================*/
/* wrapper
--------------------------------------------------------------- */
.wrapper{
	width:100%;
	min-width:1000px;
	background:#fdfcfb url(../images/bg_wrapper.png) center 0 no-repeat;
}

@media only screen and (max-width:768px){
	.wrapper{
		min-width:0;
		background-image:none;
	}
}

/* header
--------------------------------------------------------------- */
.header{
	width:980px;
	margin:0 auto 70px;
	padding-top:20px;
}
#idx .header{
	margin-bottom:20px;
}
.header .inner{
	overflow:hidden;
	margin-bottom:30px;
}

@media only screen and (max-width:768px){
	.header{
		position:fixed;
		z-index:2000;
		width:100%;
		margin:0;
		padding:0;
		background-color:#fff;
	}
	.header .inner{
		height:60px;
		margin-bottom:0;
		padding:12px 15px;
	}
}

/*---------logo----------*/
.logo{
	float:left;
	width:322px;
	height:54px;
	margin-top:20px;
}

@media only screen and (max-width:768px){
	.logo{
		float:none;
		width:199px;
		height:33px;
		margin-top:0;
	}
}

/*---------nav-btn----------*/
.nav-btn{
	display:none;
	position:absolute;
	z-index:107;
	right:10px;
	top:15px;
	width:30px;
	height:30px;
	padding:0;
	border:none;
	outline:0;
	background-color:transparent;
	background-image:none;
	cursor:pointer;
}
.nav-btn .bar{
	position:absolute;
	top:0;
	left:0;
	width:20px;
	height:2px;
	background-color:#6f6253;
	-webkit-transition:opacity 0.3s ease-out, transform 0.3s ease-out;
	transition:opacity 0.3s ease-out, transform 0.3s ease-out;
}
.nav-btn .bar.b1{
	margin:5px 0 0 5px;
}
.nav-btn .bar.b2{
	margin:13px 0 0 5px;
}
.nav-btn .bar.b3{
	margin:21px 0 0 5px;
}
.nav-open .nav-btn .bar{
	width:26px;
}
.nav-open .nav-btn .bar.b1{
	margin:13px 0 0 2px;
	-moz-transform:rotate(135deg);
	-ms-transform:rotate(135deg);
	-webkit-transform:rotate(135deg);
	transform:rotate(135deg);
}
.nav-open .nav-btn .bar.b2{
	opacity:0;
}
.nav-open .nav-btn .bar.b3{
	margin:13px 0 0 2px;
	-moz-transform:rotate(-135deg);
	-ms-transform:rotate(-135deg);
	-webkit-transform:rotate(-135deg);
	transform:rotate(-135deg);
}

@media only screen and (max-width:768px){
	.nav-btn{
		display:block;
	}
}

/*---------infomation----------*/
.information {
	color:#695b5b;
	font-size:1.3rem;
}
.information dl{
	margin-bottom:6px;
	padding-left:24px;
	background:url(../images/marker.png) 0 2px no-repeat;
	background-size:18px 12px;
}
.information dl dt{
	font-weight:700;
}
.information p{
	padding-left:24px;
}
.header .information{
	float:right;
	position: relative;
    width: 340px;
}
.footer .information{
	display:none;
}

@media only screen and (max-width:768px){
	.header .information{
		display:none;
	}
	.footer .information{
		display:block;
		margin-bottom:30px;
		font-size: 1.3rem;
	}
}

/* nav
--------------------------------------------------------------- */
.nav{
	position:relative;
	width:980px;
	height:30px;
	margin:0 auto;
	text-align:center;
}
.nav li{
	display:inline-block;
	margin:0 30px;
}
.nav li a,.nav li span{
	display:block;
	overflow:hidden;
	height:30px;
	background-image:url(../images/gnav.png);
	background-repeat:no-repeat;
	white-space:nowrap;
	text-indent:-9999px;
	transition-duration: 0.3s;
	transition-property: all;
}
.nav li.nav01 a{
	width: 150px;
	background-position:0 0;
}
.nav li a:hover{
	opacity: 0.6;
}
.nav li.nav01 span{
	width: 150px;
	background-position:0 -30px;
}
.nav li.nav02 a{
	width:130px;
	background-position:-294px 0;
}
.nav li.nav02 span{
	width:130px;
	background-position:-294px -30px;
}
.nav li.nav03 a{
	width:156px;
	background-position:-494px 0;
}
.nav li.nav03 span{
	width:156px;
	background-position:-494px -30px;
}
.nav li.nav04 a{
	width:110px;
	background-position:-722px 0;
}
.nav li.nav04 span{
	width:110px;
	background-position:-722px -30px;
}
.container .nav{
	display:none;
}

@media only screen and (max-width:768px){
	.nav{
		overflow: hidden;
		overflow-y: auto;
		width:100%;
		height:auto;
		padding-bottom: 2rem
	}
	.nav li {
		display:block;
		margin:0 5vw;
		padding: 0;
	}
	.nav li + li{
		border-top:1px solid #cac6be;
	}
	.nav li a,.nav li span {
		width: 90vw!important;
		height: 20vw;
		background-image:url(../images/gnav_02.png);
		background-size: cover;
	}
	.nav li.nav01 a{
		background-position:center 0;
	}
	.nav li.nav01 span{
		background-position:center 0;
	}
	.nav li.nav02 a{
		background-position:center -20vw;
	}
	.nav li.nav02 span{
		background-position:center -20vw;
	}
	.nav li.nav03 a{
		background-position:center -40vw;
	}
	.nav li.nav03 span{
		background-position:center -40vw;
	}
	.nav li.nav04 a{
		background-position:center -60vw;
	}
	.nav li.nav04 span{
		background-position:center -60vw;
	}
	.header .nav{
		position:fixed;
		height:-webkit-calc(100vh - 60px);
		height:calc(100vh - 60px);
		background-color:#fff;
		opacity:0;
		visibility:hidden;
		-webkit-transition:all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
		transition:all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	}
	.nav-open .header .nav{
		opacity:1;
		visibility:visible;
	}
	.container .nav{
		display:block;
		margin-bottom:10px;
	}
	.container .nav li + li{
		border-top-color:#735b40;
	}
}

/* container
--------------------------------------------------------------- */
.container {
	display: block;
	position:relative;
	z-index:1000;
	width:980px;
	margin:0 auto;
	font-size: 1.6rem;
}
.container p{
	word-break:break-all;
}

@media only screen and (max-width:768px){
	.container{
		width:auto;
		padding-top:60px;
	}
}

/*---------mainimg----------*/
.mainimg {
	position:relative;
	width: 1040px;
	margin-left: -30px;
}
.mainimg img {
	max-width:none;
}
.mainimg ul.slides {
	position:relative;
}
.mainimg .lead {
	position:absolute;
	z-index:100;
	top: 92px;
	right: 108px;
}

@media only screen and (max-width:768px){
	.mainimg {
		width:auto;
		height:auto;
		margin-left: 0;
	}
	.mainimg img{
		max-width:100%;
	}
	.mainimg ul.slides{
		margin:0 0 24px 0;
		top:auto;
		left:auto;
	}
	.mainimg .lead{
		position: relative;
		right: 0;
		top: auto;
	}
}

/*---------title----------*/
.title {
	margin-bottom:35px;
}
.title img {
	width:350px;
}
#about .title img{
    margin-left: -52px;
}
#flow .title img{
	margin-left: -72px;
}
#access .title img{
    margin-left: -92px;
}
#menu .title img{
    margin-left: -64px;
}

@media only screen and (max-width:768px){
	.title {
		margin: 0 15px 2rem;
		padding: 2rem 1rem;
		text-align:center;
		border-bottom: #6f6253 solid .1rem;
	}
	.title img {
		width: 100%;
		margin-left: 0!important;
	}
	
}

/*---------section----------*/
.section {
	overflow:hidden;
	margin-bottom:72px;
}
.section h2{
	float:right;
	width:437px;
	margin:7px 0 35px;
}
.section h2 img{
	width:345px;
}
.section p{
	margin-bottom:1.75em;
}
.section .figure {
	float:left;
}
.section .group {
	float:right;
	width:437px;
}
.section .group-right {
	float: right;
	width: calc(50% - 5px);
}
.section .group-left {
	float: left;
	width: calc(50% - 5px);
}

@media only screen and (max-width:768px){
	.section{
		overflow:visible;
		margin:0 15px 36px;
	}
	.section h2,
	.section .figure,
	.section .group,
	.section .group-left,
	.section .group-right {
		float:none;
		width:auto;
	}
	.section h2 {
		width:auto;
		margin:0 0 15px;
	}
	.section p {
		font-size: 1.5rem;
	}
	.section .figure {
		text-align: center;
		margin-bottom: 1rem;
	}
}


/* sticky footer
--------------------------------------------------------------- */
*{
	margin:0;
}
html, body{
	height:100%;
}
.wrapper{
	width:100%;
	position:relative;
	height:100%;
	min-height:100%;
}
body > .wrapper{
	height:auto;
}
.footer{
	position:absolute;
	bottom:0;
	width:100%;
	font-size: 1.3rem;
}

@media only screen and (max-width:768px){
	.container{
		padding-bottom:0;
		font-size:1.5rem;
	}
	.footer{
		position:relative;
		bottom:auto;
	}
}

/* footer
--------------------------------------------------------------- */
.footer{
	position: relative;
	height:85px;
	margin:0 auto;
	padding-top:45px;
	background:url(../images/bg_footer.png) center 0 no-repeat;
	width:980px;
	margin:0 auto;
}
.copyright {
	float: left;
}
.link-right {
	float: right;
	text-align: right;

	a {
		&:before {
			content: '・';
			font-weight: 700;
			font-size: 1.6rem;
			line-height: 0;
		}
	}
}

@media only screen and (max-width:768px){
	.footer{
		width: auto;
		height: auto;
		padding:20px 25px 10px;
		background:#e7ddd4 url(../images/bg_footer_02.png) center bottom no-repeat;
		background-size:100% auto;
	}
	.copyright{
		width: 100%;
		text-align:center;
	}
	.link-right {
		width: 100%;
		text-align:center;
		margin-bottom: 1rem;
	}
}


.btn-shadow {
  display: inline-block;
  color: #fff!important;
  font-weight: bold;
  text-align: center;
  background-color: #564635;
  border-radius: .5rem;
  -moz-box-shadow: 0px 4px 0px 0px #211910 inset;
  -webkit-box-shadow: 0px 4px 0px 0px #211910 inset;
  box-shadow: 0px 4px 0px 0px #211910;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}
.btn-shadow a {
	color: #fff;
	text-decoration: none;
}
.btn-shadow span {
	display: block;
	padding: 12px 15px;
}
.btn-shadow span.icon-angle-right {
	background: url(../images/icon_angle_right.png) 100% 50% no-repeat;
}
.btn-shadow span.icon-radio {
	display: inline-block;
	padding: 15px 0 15px 35px;
	background: url(../images/icon_radio.png) 0 50% no-repeat;
}
.btn-shadow:hover {
	text-decoration: none;
	-moz-box-shadow: 0px 0px 0px 0 #211910 inset;
	-webkit-box-shadow: 0px 0px 0px 0 #211910 inset;
	box-shadow: 0px 0 0px 0px #211910;
	background-color: #614f3c;
	transform: translateY(4px);
}
@media only screen and (max-width:768px){
	.btn-shadow {
		width: 100%;
	}
}

.header .inner .btn-shadow {
	position: absolute;
	right: 0;
	top: .3rem;
}
.header .nav li.btn {
	border-top: none;
}
.header .nav li.btn a {
	background-image: none;
	background-size: auto;
	color: #fff!important;
	text-indent: initial;
	font-size: 1.6rem;
	height: auto;
}
.header .information .btn-shadow svg {
	width: 1.8rem;
}
.header .nav .btn-shadow svg {
	width: 2.2rem;
}