@charset "UTF-8";



/*  全体　基本設定
---------------------------------------------*/
html {
    height:100%
}

body {
	text-align: justify;
	color: #2e2e38;
	min-width: 1024px;
	position: relative;
	overflow-x: hidden;
    margin:0;
    padding:0;
    height:100%;
    width:100%;
    -webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust:100%
}
	@media screen and (max-width: 720px) {
		body {
			min-width: 0;
		}
	}

body *::selection { background: #FF0;}
body *::-moz-selection { background: #FF0;}

.bg_dust {
	background: url(../img/cream_dust.png) repeat 0 0 #fafafa;
	padding-bottom: 0px;
}
.home .bg_dust {
	padding-bottom: 80px;
}
	@media screen and (max-width: 720px) {
		.bg_dust {
			padding-bottom: 20px;
		}
	}



/*  リンク　基本設定
---------------------------------------------*/
a {
                    color: #000000;
                    text-decoration: none;
                    -webkit-transition: all 0.5s;
                    transition: all 0.5s;
                  }
a:hover {
                    color: #666666;
                  }


/*  レイアウト　基本設定
---------------------------------------------*/
.section-base {
                    width: 1024px;
					margin-right: auto;
					margin-left: auto;
                  }
                    @media screen and (max-width: 720px) {
                                        .section-base {
                                                            width: 100%;
                                                            box-sizing: border-box;
                                                            padding-left: 20px;
                                                            padding-right: 20px;
                                                          }
                    }



/*  PC SP スイッチ
---------------------------------------------*/
.pc-only { width: 100%; height: auto;}
.sp-fit { width: 100%; height: auto;}
.sp-only { display: none;}
					@media screen and (max-width: 720px) {
										.sp-only { display: block;}
										span.sp-only { display: inline;}
										.pc-only { display: none !important;}
										.nobr { display: none;}
										.sp-only-fit{width:100%;height:auto;}
					}



/*  gnv
---------------------------------------------*/
.fix-nv {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	background: #fff;
	width: 100%;
	height: 40px;
}
.fix-nv .head-logo {
	float: left;
	width: 184px;
	height: 40px;
	background: url(../img/fix-logo.svg) no-repeat 0 0;
	-webkit-background-size: 184px 40px;
	background-size: 184px 40px;
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	margin-left: 10px;
}
.fix-nv .head-logo a {
	display: block;
	width: 100%;
	height: 40px;
}
.fix-nv .head-nav {
	float: right;
	padding-right: 20px;
	padding-top: 8px;
}
.fix-nv .head-nav nav {
	float: left;
}

.fix-nv .head-nav aside {
	float: right;
	margin-left: 20px;
}

.fix-nv nav ul li {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 24px;
	font-family: 'Raleway', sans-serif;
	display: inline-block;
	letter-spacing: 2px;
	font-weight: 700;
	margin-left: 20px;
}
.fix-nv nav ul li a {
	color: #000;
}

ul.head-social li {
	margin-left: 8px;
	display: inline-block;
	content:"";
	width: 24px;
	height: 24px;
	-webkit-background-size: 24px 24px;
	background-size: 24px 24px;
	z-index: 10000;
}
ul.head-social li.head-fb { background-image: url(../img/icon/zn-fb.svg);}
ul.head-social li.head-insta { background-image: url(../img/icon/zn-insta.svg);}
ul.head-social li.head-tw { background-image: url(../img/icon/zn-tw.svg);}
ul.head-social li a {
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	display: block;
}
@media screen and (max-width:950px){
	.fix-nv .head-logo {
		margin-left: 0;
	}
	.fix-nv .head-nav {
		display: none;
	}
}
/*hover*/
.nv_hvr * {
  box-sizing: border-box;
  -webkit-transition: all 0.20s linear;
  transition: all 0.20s linear;
}
.nv_hvr li {
  overflow: hidden;
}
.nv_hvr a {
  backface-visibility: hidden;
  color: #fff;
  display: block;
  position: relative;
  text-decoration: none;
}
.nv_hvr a:after {
  -webkit-transition: all 0.20s linear;
  transition: all 0.20s linear;
  color: #c8161d;
  content: attr(data-hover);
  top: 0;
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
}
.nv_hvr li:hover a,
.nv_hvr li.current a {
  -webkit-transform: rotateY(360deg);
  transform: rotateY(360deg);
  color: transparent;
}
.nv_hvr li:hover a:after,
.nv_hvr li.current a:after {
  opacity: 1;
}




/*  hamburger
---------------------------------------------*/
.button_container,
.overlay {
    display: none;
}
@media screen and (max-width: 950px) {
    .button_container,
    .overlay {
        display: block;
    }

    .button_container {
        position: fixed;
        top: 12px;
        right: 12px;
        height: 17px;
        /*border+type3*/
        
        width: 24px;
        cursor: pointer;
        z-index: 99999;
    }
    .button_container.active .top {
        -webkit-transform: translateY(7px) translateX(0) rotate(45deg);
        transform: translateY(7px) translateX(0) rotate(45deg);
        background: #FFF;
    }
    .button_container.active .middle {
        opacity: 0;
        background: #FFF;
    }
    .button_container.active .bottom {
        -webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
        transform: translateY(-7px) translateX(0) rotate(-45deg);
        background: #FFF;
    }
    .button_container span {
        background: #C8161D;
        border: none;
        height: 3px;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
		border-radius:3px;
        cursor: pointer;
    }
    .button_container span:nth-of-type(2) {
        top: 7px;
    }
    .button_container span:nth-of-type(3) {
        top: 14px;
    }
    .overlay {
        position: fixed;
        background: rgba(20,20,20,.9);
        top: 0;
        left: 0;
        width: 100%;
        height: 0%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .35s, visibility .35s, height .35s;
        transition: opacity .35s, visibility .35s, height .35s;
        overflow: hidden;
        z-index: 99998;
    }

	.alighn-middle{width:80%;height:340px;margin:-170px auto auto;display:block;position:absolute;top:50%;left:0;right:0}

    .overlay.open {
        opacity: .9;
        visibility: visible;
        height: 100%;
    }
    .overlay.open .overlay-menu li {
        -webkit-animation: fadeInRight .5s ease forwards;
        animation: fadeInRight .5s ease forwards;
        -webkit-animation-delay: .35s;
        animation-delay: .35s;
		float: left;
		width: 50%;
		height: 40px;
		text-align: center;
    }
    .overlay.open li:nth-of-type(2) {
        -webkit-animation-delay: .4s;
        animation-delay: .4s;
    }
    .overlay.open li:nth-of-type(3) {
        -webkit-animation-delay: .45s;
        animation-delay: .45s;
    }
    .overlay.open li:nth-of-type(4) {
        -webkit-animation-delay: .50s;
        animation-delay: .50s;
    }
    .overlay.open li:nth-of-type(5) {
        -webkit-animation-delay: .55s;
        animation-delay: .55s;
    }
    .overlay.open li:nth-of-type(6) {
        -webkit-animation-delay: .60s;
        animation-delay: .60s;
    }
    .overlay.open li:nth-of-type(7) {
        -webkit-animation-delay: .65s;
        animation-delay: .65s;
    }
    .overlay.open li:nth-of-type(8) {
        -webkit-animation-delay: .70s;
        animation-delay: .70s;
    }
    .overlay.open li:nth-of-type(9) {
        -webkit-animation-delay: .75s;
        animation-delay: .75s;
    }
	.overlay.open li a:after{display: block; background: #fff; content:""; height: 2px; width: 10px; margin: 10px auto 0;}
    .overlay .overlay-menu > ul {
        list-style: none;
        padding: 0;
        margin: 0 auto;
        display: inline-block;
        position: relative;
        height: 100%;
    }
    .overlay .overlay-menu > ul > li {
        display: block;
        min-height: 40px;
        position: relative;
        opacity: 0;
		margin:10px auto;
    }
    .overlay .overlay-menu > ul > li a {
		font-weight: 700;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1;
		letter-spacing: 2px;
		font-family: 'Raleway', sans-serif;
		color: #fff;
		height: 40px;
    }

#side-nv-social{margin:30px auto 0;width:100%;text-align:center}
#side-nv-social ul li a{width:32px;height:32px;text-indent:-9999px;overflow:hidden;outline:0;display:block}
#side-nv-social ul li {
	margin: 0 8px;
	display: inline-block;
	content:"";
	width: 32px;
	height: 32px;
	-webkit-background-size: 32px 32px;
	background-size: 32px 32px;
	z-index: 99997;
}
#side-nv-social ul li.head-fb { background-image: url(../img/icon/zn-fb-w.svg);}
#side-nv-social ul li.head-insta { background-image: url(../img/icon/zn-insta-w.svg);}
#side-nv-social ul li.head-tw { background-image: url(../img/icon/zn-tw-w.svg);}
#side-nv-social ul li a {
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	display: block;
}

}
@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}
@keyframes fadeInRight {
    0% {
        opacity: 0;
        left: 20%;
    }
    100% {
        opacity: 1;
        left: 0;
    }
}




/*  map
---------------------------------------------*/
.map-wide-wrap {
	width: 100%;
	height: 460px;
	border-top: 1px solid #ffffff;
}
#map_canvas {
	width: 100%;
	height: 460px;
}
@media screen and (max-width: 720px) {
	.map-wide-wrap {
		height: 260px;
	}
	#map_canvas {
		height: 260px;
	}
}



/*  pagetop
---------------------------------------------*/
#pagetop {
	margin: 0 0 0 0;
	height: 60px;
	border-bottom: 1px solid #333333;
}
#pagetop a {
	display: block;
	box-sizing: border-box;
	padding: 34px 0 0 0;
	background: url("../img/icon/page-top.svg") no-repeat 50% 14px #141212;
	-webkit-background-size: 16px 16px;
	background-size: 16px 16px;
	text-align: center;
	font-size: 11px;
	font-size: 1.1rem;
	letter-spacing: 3px;
	color: #fff;
	width: 100%;
	height: 60px;
	font-weight: 700;

}
#pagetop a span {
	display: block;
	margin-left: 3px;
}
#pagetop a:hover {
	background-color: #1e1212;
}
@media screen and (max-width: 720px) {
	#pagetop {
		height: 40px;
		margin: 0px 0 0 0;
	}
	#pagetop a {
		padding: 18px 0 0 0;
		background: url("../img/icon/page-top.svg") no-repeat 50% 6px #141212;
		-webkit-background-size: 16px 16px;
		background-size: 16px 16px;
		height: 40px;
	}
}



/*  foot bnr
---------------------------------------------*/
.section-foot-bnr {
	background: #fafafa;
	padding: 12px 0;
	border-top: 1px solid #262626;
}
.section-foot-bnr ul li {
	float: left;
	width: 164px;
	margin-left: 8px;
}
.section-foot-bnr ul li:nth-child(6n) {
	margin-left: 0;
}
@media screen and (max-width: 720px) {
	.section-foot-bnr {
		width: auto;
		padding: 12px 0;
	}
	.section-foot-bnr ul li {
		width: 33.3333%;
		margin-left: 0;
	}
}



/*  footer
---------------------------------------------*/
#footer {
	padding: 50px 0 20px;
	margin: 0;
	background: #262626;
	color: #e5e5e5;
	font-weight: 700;
}
#footer .section-base span.foot-logo {
	width: 38px;
	height: 48px;
	display: block;
	margin: 0 auto;
}

#footer .section-base p.foot-txt {
	margin-top: 24px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 2.2;
	letter-spacing: 3px;
}
#footer #copyright {
	font-size: 11px;
	font-size: 1.1rem;
	letter-spacing: 1px;
	line-height: 1;
	text-align: center;
	margin-top: 50px;
	font-weight: 700;
}

.foot-social p.ttl-social span {
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 1px;
}
.arrow_box {
	margin-top: 14px;
	position: relative;
	background: #262626;
	border-top: 1px solid #ffffff;
	display: inline-block;
}
.arrow_box:after, .arrow_box:before {
	bottom: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
.arrow_box:after {
	border-color: rgba(38, 38, 38, 0);
	border-bottom-color: #262626;
	border-width: 6px;
	margin-left: -6px;
}
.arrow_box:before {
	border-color: rgba(255, 255, 255, 0);
	border-bottom-color: #ffffff;
	border-width: 7px;
	margin-left: -7px;
}
.foot-social ul {
	margin-top: 12px;
	display: inline-block;
}

.foot-social ul li {
	margin: 0 8px;
	display: inline-block;
	content:"";
	width: 24px;
	height: 24px;
	-webkit-background-size: 24px 24px;
	background-size: 24px 24px;
	z-index: 10000;
}
.foot-social ul li.foot-fb { background-image: url(../img/icon/zn-fb-w.svg);}
.foot-social ul li.foot-insta { background-image: url(../img/icon/zn-insta-w.svg);}
.foot-social ul li.foot-tw { background-image: url(../img/icon/zn-tw-w.svg);}
.foot-social ul li a {
	text-indent: -9999px;
	outline: none;
	overflow: hidden;
	display: block;
}

	@media screen and (max-width: 720px) {
		#footer {
			padding: 20px 0 12px 0;
			margin: 0px 0 0 0;
		}
		#footer .section-base p.foot-txt {
			margin-top: 16px;
			font-size: 12px;
			font-size: 1.2rem;
			line-height: 1.8;
			letter-spacing: 2px;
		}
		#footer #copyright {
			margin-top: 30px;
			font-size: 9px;
			font-size: .9rem;
			letter-spacing: 1px;
		}
	}



/*  共通パーツ
---------------------------------------------*/
.ttl-section {
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}
.ttl-section:after {
	display: block;
	content:"";
	background: #C8161D;
	width: 100%;
	height: 1px;
	-webkit-background-size: 1px 100%;
	background-size: 1px 100%;
	position: absolute;
	left: 50%;
	top: 18px;
	margin-left: -50%;
	z-index: 0;
}
.ttl-section span {
	font-size: 36px;
	font-size: 3.6rem;
	letter-spacing: 2px;
	color: #C8161D;
	background: url(../img/cream_dust.png) repeat 0 0 #fafafa;
	font-weight: 700;
	z-index: 1;
	position: relative;
	display: inline-block;
	padding: 0 60px;
}
@media screen and (max-width:720px){
	.ttl-section {
		margin-bottom: 20px;
	}
	.ttl-section:after {
		top: 11px;
	}
	.ttl-section span {
		font-size: 22px;
		font-size: 2.2rem;
		padding: 0 20px;
	}
}

.section-wide {
    padding: 60px 0;
}
.section-wide:last-child {
    padding: 60px 0 0;
}
.section-base p.txt-lead {
    font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.2;
	letter-spacing: 2px;
	text-align: center;
	color: #c8161d;
}
@media screen and (max-width:720px){
	.section-wide {
		padding: 12px 0;
	}
	.section-wide:last-child {
		padding: 12px 0 0;
	}
}


/*  ボタンset
---------------------------------------------*/
.btn-s {
	display: block;
	margin-top: 16px;
}
.btn-s a {
	font-family: 'Raleway', sans-serif;
	display: inline-block;
	background: #C8161D;
	color: #fff;
	padding: 2px 20px;
	border-radius: 12px;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 2 !important;
	letter-spacing: 1px !important;
}
.btn-s a:hover {
	background: #c23c2a;
}

.btn-w {
	display: block;
	margin-top: 24px;
	text-align: center;
}
.btn-w a {
	display: block;
	background: #C8161D;
	color: #fff;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 700;
}
.btn-w a:hover {
	background: #c23c2a;
}

.btn-50 {
	display: block;
	text-align: center;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}
.btn-50 a {
	display: block;
	background: #C8161D;
	color: #fff;
	padding: 12px 20px;
	border-radius: 6px;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 1px;
	font-weight: 700;
	position: relative;
}
.btn-50 a:after {
	display: block;
	content:"";
	background: url(../img/icon/zn-plane.svg) no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
	-webkit-background-size: 20px 20px;
	background-size: 20px 20px;
	margin-top: -10px;
}
.btn-50 a:hover {
	background: #c23c2a;
}
.btn-50.btn-arrow a:after {
	background: url(../img/icon/zn-blkarrow.svg) no-repeat;
	width: 16px;
	height: 12px;
	-webkit-background-size: 12px 12px;
	background-size: 12px 12px;
	margin-top: -6px;
}
@media screen and (max-width:720px){
	.btn-s {
		display: block;
		margin-top: 16px;
		width: 100%;
		text-align: center;
	}
	.btn-s a {
		display: block;
		padding: 4px 0;
		border-radius: 4px;
		font-size: 12px;
		font-size: 1.2rem;
	}

	.btn-w {
		margin-top: 16px;
	}
	.btn-w a {
		padding: 8px 20px;
		border-radius: 4px;
		font-size: 12px;
		font-size: 1.2rem;
	}

	.btn-50 {
		width: 100%;
	}
	.btn-50 a {
		display: block;
		background: #C8161D;
		color: #fff;
		padding: 8px 20px;
		border-radius: 4px;
		font-size: 12px;
		font-size: 1.2rem;
		letter-spacing: 1px;
	}
	.btn-50 a:after {
		right: 16px;
		width: 12px;
		height: 12px;
		-webkit-background-size: 12px 12px;
		background-size: 12px 12px;
		margin-top: -6px;
	}
}